[要約] RFC 5958「Asymmetric Key Packages」は、非対称鍵の構造化された表現を定義する技術仕様です。このRFCの目的は、非対称鍵ペア(公開鍵と秘密鍵)や関連するメタデータを安全に転送、保存するための一貫したフォーマットを提供することにあります。主に、鍵管理システム、認証局(CA)、セキュリティアプリケーションなどで利用されます。RFC 5958は、以前のRFC 5208を更新し、より柔軟性と拡張性を提供します。関連するRFCには、RFC 5280(X.509証明書とCRLのプロファイル)やRFC 5915(EC私有鍵のための標準フォーマット)などがあります。

Internet Engineering Task Force (IETF)                         S. Turner
Request for Comments: 5958                                          IECA
Obsoletes: 5208                                              August 2010
Category: Standards Track
ISSN: 2070-1721
        

Asymmetric Key Packages

非対称キーパッケージ

Abstract

概要

This document defines the syntax for private-key information and a content type for it. Private-key information includes a private key for a specified public-key algorithm and a set of attributes. The Cryptographic Message Syntax (CMS), as defined in RFC 5652, can be used to digitally sign, digest, authenticate, or encrypt the asymmetric key format content type. This document obsoletes RFC 5208.

このドキュメントでは、プライベートキー情報の構文とそのコンテンツタイプを定義します。プライベートキー情報には、指定されたパブリックキーアルゴリズムのプライベートキーと一連の属性が含まれています。RFC 5652で定義されている暗号化メッセージ構文(CMS)は、非対称キー形式のコンテンツタイプをデジタル的に署名、消化、認証、または暗号化するために使用できます。このドキュメントは、RFC 5208を廃止します。

Status of This Memo

本文書の位置付け

This is an Internet Standards Track document.

これは、インターネット標準トラックドキュメントです。

This document is a product of the Internet Engineering Task Force (IETF). It represents the consensus of the IETF community. It has received public review and has been approved for publication by the Internet Engineering Steering Group (IESG). Further information on Internet Standards is available in Section 2 of RFC 5741.

このドキュメントは、インターネットエンジニアリングタスクフォース(IETF)の製品です。IETFコミュニティのコンセンサスを表しています。公開レビューを受けており、インターネットエンジニアリングステアリンググループ(IESG)からの出版が承認されています。インターネット標準の詳細については、RFC 5741のセクション2で入手できます。

Information about the current status of this document, any errata, and how to provide feedback on it may be obtained at http://www.rfc-editor.org/info/rfc5958.

このドキュメントの現在のステータス、任意のERRATA、およびそのフィードバックを提供する方法に関する情報は、http://www.rfc-editor.org/info/rfc5958で取得できます。

Copyright Notice

著作権表示

Copyright (c) 2010 IETF Trust and the persons identified as the document authors. All rights reserved.

Copyright(c)2010 IETF Trustおよび文書著者として特定された人。全著作権所有。

This document is subject to BCP 78 and the IETF Trust's Legal Provisions Relating to IETF Documents (http://trustee.ietf.org/license-info) in effect on the date of publication of this document. Please review these documents carefully, as they describe your rights and restrictions with respect to this document. Code Components extracted from this document must include Simplified BSD License text as described in Section 4.e of the Trust Legal Provisions and are provided without warranty as described in the Simplified BSD License.

このドキュメントは、BCP 78およびIETFドキュメント(http://trustee.ietf.org/license-info)に関連するIETF Trustの法的規定の対象となります。この文書に関するあなたの権利と制限を説明するので、これらの文書を注意深く確認してください。このドキュメントから抽出されたコードコンポーネントには、セクション4.Eで説明されている法的規定のセクション4.Eで説明されており、単純化されたBSDライセンスで説明されているように保証なしで提供される簡略化されたBSDライセンステキストを含める必要があります。

This document may contain material from IETF Documents or IETF Contributions published or made publicly available before November 10, 2008. The person(s) controlling the copyright in some of this material may not have granted the IETF Trust the right to allow modifications of such material outside the IETF Standards Process. Without obtaining an adequate license from the person(s) controlling the copyright in such materials, this document may not be modified outside the IETF Standards Process, and derivative works of it may not be created outside the IETF Standards Process, except to format it for publication as an RFC or to translate it into languages other than English.

このドキュメントには、2008年11月10日までに公開または公開されたIETFドキュメントまたはIETFの寄付からの資料が含まれている場合があります。IETF標準プロセスの外。そのような資料の著作権を制御する人から適切なライセンスを取得せずに、このドキュメントはIETF標準プロセスの外側に変更されない場合があり、その派生作業は、ITF標準プロセスの外側で作成されない場合があります。RFCとしての出版またはそれを英語以外の言語に翻訳するため。

1. Introduction
1. はじめに

This document defines the syntax for private-key information and a Cryptographic Message Syntax (CMS) [RFC5652] content type for it. Private-key information includes a private key for a specified public-key algorithm and a set of attributes. The CMS can be used to digitally sign, digest, authenticate, or encrypt the asymmetric key format content type. This document obsoletes PKCS #8 v1.2 [RFC5208].

このドキュメントでは、プライベートキー情報の構文と暗号化メッセージの構文(CMS)[RFC5652]コンテンツタイプを定義します。プライベートキー情報には、指定されたパブリックキーアルゴリズムのプライベートキーと一連の属性が含まれています。CMSを使用して、非対称キー形式のコンテンツタイプをデジタル的に署名、消化、認証、または暗号化できます。この文書は、PKCS#8 V1.2 [RFC5208]を廃止します。

1.1. Requirements Terminology
1.1. 要件用語

The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in [RFC2119].

「必須」、「そうしない」、「必須」、「必要」、「しない」、「そうしない」、「そうではない」、「そうでない」、「推奨」、「5月」、および「オプション」は、[RFC2119]に記載されているように解釈される。

1.2. ASN.1 Syntax Notation
1.2. ASN.1構文表記

The key package is defined using ASN.1 [X.680], [X.681], [X.682], and [X.683].

キーパッケージは、asn.1 [x.680]、[x.681]、[x.682]、および[x.683]を使用して定義されます。

1.3. Summary of Updates to RFC 5208
1.3. RFC 5208への更新の概要

The following summarizes the updates to [RFC5208]:

以下は、[RFC5208]の更新をまとめたものです。

- Changed the name "PrivateKeyInfo" to "OneAsymmetricKey". This reflects the addition of the publicKey field to allow both parts of the asymmetric key to be conveyed separately. Not all algorithms will use both fields; however, the publicKey field was added for completeness.

- 「privatekeyinfo」という名前を「oneasymmetrickey」に変更しました。これは、非対称キーの両方の部分を個別に伝えることができるように、PublicKeyフィールドの追加を反映しています。すべてのアルゴリズムが両方のフィールドを使用するわけではありません。ただし、PublicKeyフィールドは完全性のために追加されました。

- Defined Asymmetric Key Package CMS content type.

- 定義された非対称キーパッケージCMSコンテンツタイプ。

- Removed redundant IMPLICIT from attributes.

- 属性から冗長暗黙の削除されました。

- Added publicKey to OneAsymmetricKey and updated the version number.

- oneasymmetrickeyにpublickeyを追加し、バージョン番号を更新しました。

- Added that PKCS #9 attributes may be supported.

- PKCS#9属性がサポートされる可能性があると付け加えました。

- Added discussion of compatibility with other private-key formats.

- 他のプライベートキー形式との互換性の議論が追加されました。

- Added requirements for encoding rule set.

- エンコードルールセットの要件が追加されました。

- Changed imports from PKCS #5 to [RFC5912] and [RFC5911].

- インポートをPKCS#5から[RFC5912]および[RFC5911]に変更しました。

- Replaced ALGORITHM-IDENTIFIER with ALGORITHM from [RFC5912].

- [RFC5912]のアルゴリズムにアルゴリズム識別子を置き換えました。

- Registers application/pkcs8 media type and .p8 file extension.

- Registers Application/PKCS8メディアタイプと.p8ファイル拡張子。

2. Asymmetric Key Package CMS Content Type
2. 非対称キーパッケージCMSコンテンツタイプ

The asymmetric key package CMS content type is used to transfer one or more plaintext asymmetric keys from one party to another. An asymmetric key package MAY be encapsulated in one or more CMS protecting content types (see Section 4). Earlier versions of this specification [RFC5208] did not specify a particular encoding rule set, but generators SHOULD use DER [X.690] and receivers MUST support BER [X.690], which also includes DER [X.690].

非対称キーパッケージCMSコンテンツタイプを使用して、1つ以上のプレーンテキスト非対称キーをあるパーティから別のパーティに転送します。非対称キーパッケージは、コンテンツタイプを保護する1つ以上のCMSでカプセル化される場合があります(セクション4を参照)。この仕様[RFC5208]の以前のバージョンでは、特定のエンコードルールセットを指定していませんでしたが、ジェネレーターはder [x.690]を使用する必要があり、受信機はder [x.690]も含まれるber [x.690]をサポートする必要があります。

The asymmetric key package content type has the following syntax:

非対称キーパッケージコンテンツタイプには、次の構文があります。

     ct-asymmetric-key-package CONTENT-TYPE ::=
       { AsymmetricKeyPackage IDENTIFIED BY id-ct-KP-aKeyPackage }
        
     id-ct-KP-aKeyPackage OBJECT IDENTIFIER ::=
       { joint-iso-itu-t(2) country(16) us(840) organization(1)
         gov(101) dod(2) infosec(1) formats(2)
         key-package-content-types(78) 5
       }
        
     AsymmetricKeyPackage ::= SEQUENCE SIZE (1..MAX) OF OneAsymmetricKey
        
     OneAsymmetricKey ::= SEQUENCE {
       version                   Version,
       privateKeyAlgorithm       PrivateKeyAlgorithmIdentifier,
       privateKey                PrivateKey,
       attributes            [0] Attributes OPTIONAL,
       ...,
       [[2: publicKey        [1] PublicKey OPTIONAL ]],
       ...
     }
          PrivateKeyInfo ::= OneAsymmetricKey
        
     -- PrivateKeyInfo is used by [P12].  If any items tagged as version
     -- 2 are used, the version must be v2, else the version should be
     -- v1.  When v1, PrivateKeyInfo is the same as it was in [RFC5208].
        
     Version ::= INTEGER { v1(0), v2(1) } (v1, ..., v2)
        
     PrivateKeyAlgorithmIdentifier ::= AlgorithmIdentifier
                                        { PUBLIC-KEY,
                                          { PrivateKeyAlgorithms } }
        
     PrivateKey ::= OCTET STRING
                        -- Content varies based on type of key.  The
                        -- algorithm identifier dictates the format of
                        -- the key.
        
     PublicKey ::= BIT STRING
                        -- Content varies based on type of key.  The
                        -- algorithm identifier dictates the format of
                        -- the key.
        
     Attributes ::= SET OF Attribute { { OneAsymmetricKeyAttributes } }
        

The AsymmetricKeyPackage contains one or more OneAsymmetricKey elements.

非対称KeyPackageには、1つ以上のOneaSymmetrickey要素が含まれています。

The syntax of OneAsymmetricKey accommodates a version number, an indication of the asymmetric algorithm to be used with the private key, a private key, optional keying material attributes (e.g., userCertificate from [X.520]), and an optional public key. In general, either the public key or the certificate will be present. In very rare cases will both the public key and the certificate be present as this includes two copies of the public key. OneAsymmetricKey renames the PrivateKeyInfo syntax defined in [RFC5208]. The new name better reflects the ability to carry both private- and public-key components. Backwards compatibility with the original PrivateKeyInfo is preserved via version number. The fields in OneAsymmetricKey are used as follows:

OneaSymmetrickeyの構文は、バージョン番号、秘密鍵で使用される非対称アルゴリズム、秘密キー、オプションのキーイングマテリアル属性([x.520]のusercertificate)、およびオプションの公開キーに対応します。一般に、公開キーまたは証明書のいずれかが存在します。非常にまれに、公開鍵と証明書の両方が存在するため、これには公開キーの2つのコピーが含まれています。oneasymmetrickeyは、[rfc5208]で定義されているprivatekeyinfo構文の名前を変更します。新しい名前は、プライベートキーコンポーネントとパブリックキーコンポーネントの両方を運ぶ機能をよりよく反映しています。元のPrivateKeyInfoとの後方互換性は、バージョン番号を介して保存されます。oneasymmetrickeyのフィールドは次のように使用されます。

- version identifies the version of OneAsymmetricKey. If publicKey is present, then version is set to v2 else version is set to v1.

- バージョンoneasymmetrickeyのバージョンを識別します。publicKeyが存在する場合、バージョンはV2に設定されています。

- privateKeyAlgorithm identifies the private-key algorithm and optionally contains parameters associated with the asymmetric key pair. The algorithm is identified by an object identifier (OID) and the format of the parameters depends on the OID, but the PrivateKeyAlgorithms information object set restricts the permissible OIDs. The value placed in privateKeyAlgorithmIdentifier is the value an originator would apply to indicate which algorithm is to be used with the private key.

- PrivateKeyAlgorithmプライベートキーアルゴリズムを識別し、オプションで非対称キーペアに関連付けられたパラメーターを含みます。アルゴリズムはオブジェクト識別子(OID)によって識別され、パラメーターの形式はOIDに依存しますが、privatekeyalgorithms情報オブジェクトセットは許容可能なOIDを制限します。privatekeyalgorithmidentifierに配置された値は、オリジネーターが適用される値であり、どのアルゴリズムが秘密鍵で使用されるかを示す値です。

- privateKey is an OCTET STRING that contains the value of the private key. The interpretation of the content is defined in the registration of the private-key algorithm. For example, a DSA key is an INTEGER, an RSA key is represented as RSAPrivateKey as defined in [RFC3447], and an Elliptic Curve Cryptography (ECC) key is represented as ECPrivateKey as defined in [RFC5915].

- PrivateKeyは、秘密鍵の値を含むオクテットの文字列です。コンテンツの解釈は、プライベートキーアルゴリズムの登録で定義されています。たとえば、DSAキーは整数であり、RSAキーは[RFC3447]で定義されているRSAprivateKeyとして表され、楕円曲線暗号化(ECC)キーは[RFC5915]で定義されているecPrivateKeyとして表されます。

- attributes is OPTIONAL. It contains information corresponding to the public key (e.g., certificates). The attributes field uses the class ATTRIBUTE which is restricted by the OneAsymmetricKeyAttributes information object set. OneAsymmetricKeyAttributes is an open ended set in this document. Others documents can constrain these values. Attributes from [RFC2985] MAY be supported.

- 属性はオプションです。公開キー(証明書など)に対応する情報が含まれています。属性フィールドは、oneasymmetrickeyattributes情報オブジェクトセットによって制限されるクラス属性を使用します。oneasymmetrickeyattributesは、このドキュメントのオープンエンドセットです。その他のドキュメントは、これらの値を制約できます。[RFC2985]の属性がサポートされる場合があります。

- publicKey is OPTIONAL. When present, it contains the public key encoded in a BIT STRING. The structure within the BIT STRING, if any, depends on the privateKeyAlgorithm. For example, a DSA key is an INTEGER. Note that RSA public keys are included in RSAPrivateKey (i.e., n and e are present), as per [RFC3447], and ECC public keys are included in ECPrivateKey (i.e., in the publicKey field), as per [RFC5915].

- PublicKeyはオプションです。存在すると、ビット文字列にエンコードされた公開キーが含まれています。ビット文字列内の構造は、もしあれば、privatekeyalgorithmに依存します。たとえば、DSAキーは整数です。RSAパブリックキーは、[RFC3447]に従って、RSAprivateKey(すなわち、NとEが存在する)に含まれており、ECCパブリックキーは[RFC5915]に従って、ecprivatekey(すなわち、パブリックキーフィールド)に含まれていることに注意してください。

3. Encrypted Private Key Info
3. 暗号化された秘密鍵情報

This section gives the syntax for encrypted private-key information, which is used by [P12].

このセクションでは、[P12]で使用される暗号化されたプライベートキー情報の構文を示します。

Encrypted private-key information shall have ASN.1 type EncryptedPrivateKeyInfo:

暗号化されたプライベートキー情報には、asn.1タイプの暗号化されたprivatekeyinfo:

     EncryptedPrivateKeyInfo ::= SEQUENCE {
       encryptionAlgorithm  EncryptionAlgorithmIdentifier,
       encryptedData        EncryptedData }
        
     EncryptionAlgorithmIdentifier ::= AlgorithmIdentifier
                                        { CONTENT-ENCRYPTION,
                                          { KeyEncryptionAlgorithms } }
        
     EncryptedData ::= OCTET STRING
        

The fields in EncryptedPrivateKeyInfo are used as follows:

暗号化されたPrivateKeyInfoのフィールドは次のように使用されます。

- encryptionAlgorithm identifies the algorithm under which the private-key information is encrypted.

- EncryptionAlgorithmは、プライベートキー情報が暗号化されているアルゴリズムを識別します。

- encryptedData is the result of encrypting the private-key information (i.e., the PrivateKeyInfo).

- 暗号化されたdataは、プライベートキー情報(つまり、privatekeyinfo)を暗号化した結果です。

The encryption process involves the following two steps:

暗号化プロセスには、次の2つのステップが含まれます。

1. The private-key information is encoded, yielding an octet string. Generators SHOULD use DER [X.690] and receivers MUST support BER [X.690], which also includes DER [X.690].

1. プライベートキー情報がエンコードされており、オクテット文字列が生成されます。ジェネレーターはder [x.690]を使用する必要があり、受信機はber [x.690]をサポートする必要があります。これにはder [x.690]も含まれます。

2. The result of step 1 is encrypted with the secret key to give an octet string, the result of the encryption process.

2. ステップ1の結果は、暗号化プロセスの結果であるOctet Stringを指定するための秘密キーで暗号化されています。

4. Protecting the AsymmetricKeyPackage
4. 非対称Keypackageの保護

CMS protecting content types, [RFC5652] and [RFC5083], can be used to provide security to the AsymmetricKeyPackage:

コンテンツの種類を保護するCMS [RFC5652]および[RFC5083]を使用して、非対称KeyPackageにセキュリティを提供できます。

- SignedData can be used to apply a digital signature to the AsymmetricKeyPackage.

- SignedDataを使用して、非対称KeyPackageにデジタル署名を適用できます。

- EncryptedData can be used to encrypt the AsymmetricKeyPackage with symmetric encryption, where the sender and the receiver already share the necessary encryption key.

- EncryptedDataを使用して、SismmetricKeypackageを対称暗号化で暗号化できます。Senderと受信者は、必要な暗号化キーを既に共有しています。

- EnvelopedData can be used to encrypt the AsymmetricKeyPackage with symmetric encryption, where the sender and the receiver do not share the necessary encryption key.

- EnvelopedDataを使用して、SismmetricKeypackageを対称暗号化で暗号化できます。これにより、送信者と受信機は必要な暗号化キーを共有しません。

- AuthenticatedData can be used to protect the AsymmetricKeyPackage with message authentication codes, where key management information is handled in a manner similar to EnvelopedData.

- AuthenticatedDataを使用して、メッセージ認証コードを使用して非対称Keypackageを保護できます。ここでは、主要な管理情報がEnvelopedDataと同様の方法で処理されます。

- AuthEnvelopedData can be used to protect the AsymmetricKeyPackage with algorithms that support authenticated encryption, where key management information is handled in a manner similar to EnvelopedData.

- AuthEnvelopedDataを使用して、認証された暗号化をサポートするアルゴリズムを使用して、非対称Keypackageを保護することができます。ここでは、主要な管理情報がEnvelopedDataと同様の方法で処理されます。

5. Other Private-Key Format Considerations
5. その他のプライベートキー形式の考慮事項

This document defines the syntax and the semantics for a content type that exchanges asymmetric private keys. There are two other formats that have been used for the transport of asymmetric private keys:

このドキュメントでは、非対称のプライベートキーを交換するコンテンツタイプの構文とセマンティクスを定義します。非対称のプライベートキーの輸送に使用されている他の2つの形式があります。

- Personal Information Exchange (PFX) Syntax Standard [P12], which is more commonly referred to as PKCS #12 or simply P12, is a transfer syntax for personal identity information, including private keys, certificates, miscellaneous secrets, and extensions. OneAsymmetricKey, PrivateKeyInfo, and EncryptedPrivateKeyInfo can be carried in a P12 message. The private key information, OneAsymmetricKey and PrivateKeyInfo, are carried in the P12 keyBag BAG-TYPE. EncryptedPrivateKeyInfo is carried in the P12 pkcs8ShroudedKeyBag BAG-TYPE. In current implementations, the file extensions .pfx and .p12 can be used interchangeably.

- 個人情報交換(PFX)構文標準[P12]は、より一般的にPKCS#12または単にP12と呼ばれ、プライベートキー、証明書、その他の秘密、拡張機能を含む個人ID情報の転送構文です。oneasymmetrickey、privatekeyInfo、および暗号化されたPrivateKeyInfoは、P12メッセージで伝えることができます。秘密のキー情報であるOneaSymmetrickeyとprivatekeyInfoは、P12キーバッグバッグタイプで運ばれます。暗号化されたpkcs8shroudedkeybagバッグタイプで運ばれます。現在の実装では、ファイル拡張子.pfxと.p12を同じ意味で使用できます。

- Microsoft's private-key proprietary transfer syntax. The .pvk file extension is used for local storage.

- Microsoftのプライベートキー独自の転送構文。.pvkファイル拡張子はローカルストレージに使用されます。

The .pvk and .p12/.pfx formats are not interchangeable; however, conversion tools exist to convert from one format to another.

.pvkおよび.p12/.pfx形式は交換可能ではありません。ただし、ある形式から別の形式に変換するための変換ツールが存在します。

To extract the private-key information from the AsymmetricKeyPackage, the encapsulating layers need to be removed. At a minimum, the outer ContentInfo [RFC5652] layer needs to be removed. If the AsymmetricKeyPackage is encapsulated in a SignedData [RFC5652], then the SignedData and EncapsulatedContentInfo layers [RFC5652] also need to be removed. The same is true for EnvelopedData, EncryptedData, and AuthenticatedData all from [RFC5652] as well as AuthEnvelopedData from [RFC5083]. Once all the outer layers are removed, there are as many sets of private-key information as there are OneAsymmetricKey structures. OneAsymmetricKey and PrivateKeyInfo are the same structure; therefore, either can be saved as a .p8 file or copied in to the P12 KeyBag BAG-TYPE. Removing encapsulating security layers will invalidate any signature and may expose the key to unauthorized disclosure.

非対称のキー情報を非対称のキー情報を抽出するには、カプセル化レイヤーを削除する必要があります。少なくとも、外側のcontentinfo [rfc5652]レイヤーを削除する必要があります。SignedData [RFC5652]に非対称KeyPackageがカプセル化されている場合、SignedDataとCongedcontentinfo層[RFC5652]も削除する必要があります。同じことは、[RFC5652]からのすべての[RFC5652]からのすべてのEnvelopedData、暗号化されたData、および認証されたDataにも当てはまります。すべての外側の層が削除されると、oneasymmetrickey構造があるのと同じくらい多くのプライベートキー情報があります。oneasymmetrickeyとprivatekeyinfoは同じ構造です。したがって、.p8ファイルとして保存するか、P12キーバッグバッグタイプにコピーすることもできます。セキュリティレイヤーのカプセル化を削除すると、署名が無効になり、不正な開示に鍵を公開する可能性があります。

.p8 files are sometimes PEM-encoded. When .p8 files are PEM encoded they use the .pem file extension. PEM encoding is either the Base64 encoding, from Section 4 of [RFC4648], of the DER-encoded EncryptedPrivateKeyInfo sandwiched between:

.p8ファイルは時々pemエンコードされます。.p8ファイルがpemエンコードされると、.pemファイル拡張子を使用します。PEMエンコーディングは、[RFC4648]のセクション4からのBase64エンコーディングのいずれかです。

   -----BEGIN ENCRYPTED PRIVATE KEY-----
   -----END ENCRYPTED PRIVATE KEY-----
        

or the Base64 encoding, see Section 4 of [RFC4648], of the DER-encoded PrivateKeyInfo sandwiched between:

または、base64エンコーディング、[RFC4648]のセクション4を参照してください。

   -----BEGIN PRIVATE KEY-----
   -----END PRIVATE KEY-----
        
6. Security Considerations
6. セキュリティに関する考慮事項

Protection of the private-key information is vital to public-key cryptography. Disclosure of the private-key material to another entity can lead to masquerades. The encryption algorithm used in the encryption process must be as 'strong' as the key it is protecting.

プライベートキー情報の保護は、パブリックキー暗号化に不可欠です。プライベートキー資料の別のエンティティへの開示は、仮面舞踏会につながる可能性があります。暗号化プロセスで使用される暗号化アルゴリズムは、保護しているキーと同じくらい「強い」ものでなければなりません。

The asymmetric key package contents are not protected. This content type can be combined with a security protocol to protect the contents of the package.

非対称キーパッケージの内容は保護されていません。このコンテンツタイプをセキュリティプロトコルと組み合わせて、パッケージのコンテンツを保護できます。

7. IANA Considerations
7. IANAの考慮事項

This document makes use of object identifiers to identify a CMS content type and the ASN.1 module found in Appendix A. The CMS content type OID is registered in a DoD arc. The ASN.1 module OID is registered in an arc delegated by RSADSI to the SMIME Working Group. No further action by IANA is necessary for this document or any anticipated updates.

このドキュメントでは、オブジェクト識別子を使用してCMSコンテンツタイプとASN.1モジュールを付録Aに識別します。CMSコンテンツタイプのOIDはDODアークに登録されています。ASN.1モジュールOIDは、RSADSIによってSMIMEワーキンググループに委任されたARCに登録されています。このドキュメントまたは予想される更新には、IANAによるさらなるアクションは必要ありません。

This specification also defines a new media subtype that IANA has registered at http://www.iana.org/.

この仕様は、IANAがhttp://www.iana.org/に登録した新しいメディアサブタイプも定義しています。

7.1. Registration of media subtype application/pkcs8
7.1. メディアサブタイプアプリケーション/PKCS8の登録

Type name: application

タイプ名:アプリケーション

Subtype name: pkcs8

サブタイプ名:PKCS8

Required parameters: None

必要なパラメーター:なし

Optional parameters: None

オプションのパラメーター:なし

Encoding considerations: binary

考慮事項のエンコード:バイナリ

Security considerations: Carries a cryptographic private key. See section 6.

セキュリティ上の考慮事項:暗号化された秘密鍵を持ちます。セクション6を参照してください。

Interoperability considerations:

相互運用性の考慮事項:

The PKCS #8 object inside this media type MUST be DER-encoded PrivateKeyInfo.

このメディアタイプ内のPKCS#8オブジェクトは、der-Encoded privatekeyinfoでなければなりません。

Published specification: RFC 5958

公開された仕様:RFC 5958

Applications which use this media type:

このメディアタイプを使用するアプリケーション:

Any MIME-compliant transport that processes asymmetric keys.

非対称キーを処理するMIME準拠の輸送。

Additional information:

追加情報:

Magic number(s): None File extension(s): .p8 Macintosh File Type Code(s):

マジック番号:なしファイル拡張子:.p8 Macintoshファイルタイプコード:.p8:

Person & email address to contact for further information:

詳細については、連絡先への個人およびメールアドレス:

     Sean Turner <turners@ieca.com>
        

Restrictions on usage: none

使用に関する制限:なし

Author:

著者:

     Sean Turner <turners@ieca.com>
        

Intended usage: COMMON

意図された使用法:共通

Change controller:

コントローラーの変更:

The IESG

IESG

8. References
8. 参考文献
8.1. Normative References
8.1. 引用文献

[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, March 1997.

[RFC2119] Bradner、S。、「要件レベルを示すためにRFCで使用するためのキーワード」、BCP 14、RFC 2119、1997年3月。

[RFC4648] Josefsson, S., "The Base16, Base32, and Base64 Data Encodings", RFC 4648, October 2006.

[RFC4648] Josefsson、S。、「Base16、Base32、およびBase64データエンコーディング」、RFC 4648、2006年10月。

[RFC5652] Housley, R., "Cryptographic Message Syntax (CMS)", STD 70, RFC 5652, September 2009.

[RFC5652] Housley、R。、「暗号化メッセージ構文(CMS)」、STD 70、RFC 5652、2009年9月。

[RFC5911] Hoffman, P. and J. Schaad, "New ASN.1 Modules for Cryptographic Message Syntax (CMS) and S/MIME", RFC 5911, June 2010.

[RFC5911] Hoffman、P。およびJ. Schaad、「暗号化メッセージ構文(CMS)およびS/MIMEの新しいASN.1モジュール」、RFC 5911、2010年6月。

[RFC5912] Hoffman, P. and J. Schaad, "New ASN.1 Modules for the Public Key Infrastructure Using X.509 (PKIX)", RFC 5912, June 2010.

[RFC5912] Hoffman、P。およびJ. Schaad、「X.509(PKIX)を使用した公開キーインフラストラクチャの新しいASN.1モジュール」、RFC 5912、2010年6月。

[X.680] ITU-T Recommendation X.680 (2002) | ISO/IEC 8824-1:2002. Information Technology - Abstract Syntax Notation One.

[X.680] ITU-T推奨X.680(2002)|ISO/IEC 8824-1:2002。情報技術 - 抽象的な構文表記1。

[X.681] ITU-T Recommendation X.681 (2002) | ISO/IEC 8824-2:2002. Information Technology - Abstract Syntax Notation One: Information Object Specification.

[X.681] ITU-T推奨X.681(2002)|ISO/IEC 8824-2:2002。情報技術 - 抽象的な構文表記1:情報オブジェクト仕様。

[X.682] ITU-T Recommendation X.682 (2002) | ISO/IEC 8824-3:2002. Information Technology - Abstract Syntax Notation One: Constraint Specification.

[X.682] ITU-T推奨X.682(2002)|ISO/IEC 8824-3:2002。情報技術 - 抽象的な構文表記1:制約仕様。

[X.683] ITU-T Recommendation X.683 (2002) | ISO/IEC 8824-4:2002. Information Technology - Abstract Syntax Notation One: Parameterization of ASN.1 Specifications.

[X.683] ITU-T推奨X.683(2002)|ISO/IEC 8824-4:2002。情報技術 - 抽象的な構文表記1:ASN.1仕様のパラメーター化。

[X.690] ITU-T Recommendation X.690 (2002) | ISO/IEC 8825-1:2002. Information Technology - ASN.1 encoding rules: Specification of Basic Encoding Rules (BER), Canonical Encoding Rules (CER) and Distinguished Encoding Rules (DER).

[X.690] ITU-T推奨X.690(2002)|ISO/IEC 8825-1:2002。情報技術-ASN.1エンコーディングルール:基本エンコードルール(BER)、標準エンコーディングルール(CER)、および区別エンコードルール(DER)の仕様。

8.2. Informative References
8.2. 参考引用

[P12] RSA Laboratories, "PKCS #12 v1.0: Personal Information Exchange Syntax", June 1999.

[P12] RSA Laboratories、「PKCS#12 V1.0:個人情報交換構文」、1999年6月。

[RFC2985] Nystrom, M. and B. Kaliski, "PKCS #9: Selected Object Classes and Attribute Types Version 2.0", RFC 2985, November 2000.

[RFC2985] Nystrom、M。およびB. Kaliski、「PKCS#9:選択されたオブジェクトクラスと属性タイプバージョン2.0」、RFC 2985、2000年11月。

[RFC3447] Jonsson, J. and B. Kaliski, "Public-Key Cryptography Standards (PKCS) #1: RSA Cryptography Specifications Version 2.1", RFC 3447, February 2003.

[RFC3447] Jonsson、J。およびB. Kaliski、「Public-Key Cryptography Standards(PKCS)#1:RSA暗号仕様バージョン2.1」、RFC 3447、2003年2月。

[RFC5083] Housley, R., "Cryptographic Message Syntax (CMS) Authenticated-Enveloped-Data Content Type", RFC 5083, November 2007.

[RFC5083] Housley、R。、「暗号化メッセージ構文(CMS)認証されたエンベロープDATAコンテンツタイプ」、RFC 5083、2007年11月。

[RFC5208] Kaliski, B., "Public-Key Cryptography Standards (PKCS) #8: Private-Key Information Syntax Specification Version 1.2", RFC 5208, May 2008.

[RFC5208] Kaliski、B。、「Public-Key Cryptography Standards(PKCS)#8:Private-Key Information Syntax Specificationバージョン1.2」、RFC 5208、2008年5月。

[X.520] ITU-T Recommendation X.520 (2005) | ISO/IEC 9594-6:2005, Information technology - Open Systems Interconnection - The Directory: Selected attribute types.

[X.520] ITU-T推奨X.520(2005)|ISO/IEC 9594-6:2005、情報技術 - オープンシステムの相互接続 - ディレクトリ:選択された属性タイプ。

[RFC5915] Turner, S. and D. Brown, "Elliptic Curve Private Key Structure", RFC 5915, June 2010.

[RFC5915] Turner、S。およびD. Brown、「楕円曲線秘密キー構造」、RFC 5915、2010年6月。

Appendix A. ASN.1 Module
付録A. ASN.1モジュール

This annex provides the normative ASN.1 definitions for the structures described in this specification using ASN.1 as defined in [X.680] through [X.683].

この付録は、[x.683]から[x.683]で定義されているASN.1を使用して、この仕様で説明されている構造の規範的ASN.1定義を提供します。

   AsymmetricKeyPackageModuleV1
     { iso(1) member-body(2) us(840) rsadsi(113549) pkcs(1) pkcs-9(9)
       smime(16) modules(0) id-mod-asymmetricKeyPkgV1(50) }
        
   DEFINITIONS IMPLICIT TAGS ::=
        

BEGIN

始める

-- EXPORTS ALL

- すべてをエクスポートします

IMPORTS

輸入

-- FROM New SMIME ASN.1 [RFC5911]

- 新しいスマイムASN.1 [RFC5911]

   Attribute{}, CONTENT-TYPE
    FROM CryptographicMessageSyntax-2009
      { iso(1) member-body(2) us(840) rsadsi(113549) pkcs(1) pkcs-9(9)
        smime(16) modules(0) id-mod-cms-2004-02(41) }
        
   -- From New PKIX ASN.1 [RFC5912]
   ATTRIBUTE
    FROM PKIX-CommonTypes-2009
      { iso(1) identified-organization(3) dod(6) internet(1)
        security(5) mechanisms(5) pkix(7) id-mod(0)
        id-mod-pkixCommon-02(57) }
        

-- From New PKIX ASN.1 [RFC5912]

- 新しいpkix asn.1 [rfc5912]

   AlgorithmIdentifier{}, ALGORITHM, PUBLIC-KEY, CONTENT-ENCRYPTION
     FROM AlgorithmInformation-2009
       { iso(1) identified-organization(3) dod(6) internet(1)
         security(5) mechanisms(5) pkix(7) id-mod(0)
         id-mod-algorithmInformation-02(58) }
        

;

;

   ContentSet CONTENT-TYPE ::= {
    ct-asymmetric-key-package,
    ... -- Expect additional content types --
   }
      ct-asymmetric-key-package CONTENT-TYPE ::=
    { AsymmetricKeyPackage IDENTIFIED BY id-ct-KP-aKeyPackage }
        
   id-ct-KP-aKeyPackage OBJECT IDENTIFIER ::=
     { joint-iso-itu-t(2) country(16) us(840) organization(1)
         gov(101) dod(2) infosec(1) formats(2)
         key-package-content-types(78) 5
     }
        
   AsymmetricKeyPackage ::= SEQUENCE SIZE (1..MAX) OF OneAsymmetricKey
        
   OneAsymmetricKey ::= SEQUENCE {
     version                   Version,
     privateKeyAlgorithm       PrivateKeyAlgorithmIdentifier,
     privateKey                PrivateKey,
     attributes            [0] Attributes OPTIONAL,
     ...,
     [[2: publicKey        [1] PublicKey OPTIONAL ]],
     ...
   }
        
   PrivateKeyInfo ::= OneAsymmetricKey
        
   -- PrivateKeyInfo is used by [P12]. If any items tagged as version
   -- 2 are used, the version must be v2, else the version should be
   -- v1. When v1, PrivateKeyInfo is the same as it was in [RFC5208].
        
   Version ::= INTEGER { v1(0), v2(1) } (v1, ..., v2)
        
   PrivateKeyAlgorithmIdentifier ::= AlgorithmIdentifier
                                      { PUBLIC-KEY,
                                        { PrivateKeyAlgorithms } }
        
   PrivateKey ::= OCTET STRING
                     -- Content varies based on type of key. The
                     -- algorithm identifier dictates the format of
                     -- the key.
        
   PublicKey ::= BIT STRING
                     -- Content varies based on type of key. The
                     -- algorithm identifier dictates the format of
                     -- the key.
        
   Attributes ::= SET OF Attribute { { OneAsymmetricKeyAttributes } }
        
   OneAsymmetricKeyAttributes ATTRIBUTE ::= {
     ... -- For local profiles
   }
        
   -- An alternate representation that makes full use of ASN.1
   -- constraints follows.  Also note that PUBLIC-KEY needs to be
   -- imported from the new PKIX ASN.1 Algorithm Information module
   -- and PrivateKeyAlgorithms needs to be commented out.
        
   -- OneAsymmetricKey ::= SEQUENCE {
   --  version                  Version,
   --  privateKeyAlgorithm      SEQUENCE {
   --   algorithm                 PUBLIC-KEY.&id({PublicKeySet}),
   --    parameters               PUBLIC-KEY.&Params({PublicKeySet}
   --                               {@privateKeyAlgorithm.algorithm})
   --                               OPTIONAL}
   --  privateKey               OCTET STRING (CONTAINING
   --                             PUBLIC-KEY.&PrivateKey({PublicKeySet}
   --                             {@privateKeyAlgorithm.algorithm})),
   --  attributes           [0] Attributes OPTIONAL,
   --  ...,
   --  [[2: publicKey       [1] BIT STRING (CONTAINING
   --                             PUBLIC-KEY.&Params({PublicKeySet}
   --                             {@privateKeyAlgorithm.algorithm})
   --                             OPTIONAL,
   --  ...
   --    }
        
   EncryptedPrivateKeyInfo ::= SEQUENCE {
     encryptionAlgorithm  EncryptionAlgorithmIdentifier,
     encryptedData        EncryptedData }
        
   EncryptionAlgorithmIdentifier ::= AlgorithmIdentifier
                                       { CONTENT-ENCRYPTION,
                                         { KeyEncryptionAlgorithms } }
        
   EncryptedData ::= OCTET STRING -- Encrypted PrivateKeyInfo
        
   PrivateKeyAlgorithms ALGORITHM ::= {
     ... -- Extensible
   }
        
   KeyEncryptionAlgorithms ALGORITHM ::= {
     ... -- Extensible
   }
        

END

終わり

Acknowledgements

謝辞

Many thanks go out to the Burt Kaliski and Jim Randall at RSA. Without the prior version of the document, this one wouldn't exist.

RSAのBurt KaliskiとJim Randallに感謝します。ドキュメントの以前のバージョンがなければ、これは存在しません。

I'd also like to thank Pasi Eronen, Roni Even, Alfred Hoenes, Russ Housley, Jim Schaad, and Carl Wallace.

また、Pasi Eronen、Roni Even、Alfred Hoenes、Russ Housley、Jim Schaad、Carl Wallaceにも感謝したいと思います。

Author's Address

著者の連絡先

Sean Turner IECA, Inc. 3057 Nutley Street, Suite 106 Fairfax, VA 22031 USA

Sean Turner IECA、Inc。3057 Nutley Street、Suite 106 Fairfax、VA 22031 USA

   EMail: turners@ieca.com