[要約] RFC 6031は、Cryptographic Message Syntax (CMS)を使用して対称鍵を安全に包装(パッケージング)し、転送するための方法を定義しています。この文書の目的は、対称鍵の配布と管理を効率化し、セキュアな方法で行うための標準化されたフォーマットを提供することです。利用場面としては、企業や組織が内部的に、または信頼できるパートナー間で、対称鍵を安全に交換する必要がある場合に適しています。関連するRFCには、RFC 5652(CMSの使用を定義する基本的なRFC)、RFC 5280(公開鍵証明書のプロファイルを定義)、RFC 5751(メッセージのセキュリティとCMSの使用を更新する)などがあります。

Internet Engineering Task Force (IETF)                         S. Turner
Request for Comments: 6031                                          IECA
Category: Standards Track                                     R. Housley
ISSN: 2070-1721                                           Vigil Security
                                                           December 2010
        

Cryptographic Message Syntax (CMS) Symmetric Key Package Content Type

暗号化メッセージ構文(CMS)対称キーパッケージコンテンツタイプ

Abstract

概要

This document defines the symmetric key format content type. It is transport independent. The Cryptographic Message Syntax (CMS) can be used to digitally sign, digest, authenticate, or encrypt this content type.

このドキュメントでは、対称キー形式のコンテンツタイプを定義します。トランスポートに依存しません。暗号化メッセージ構文(CMS)は、このコンテンツタイプのデジタル署名、ダイジェスト、認証、または暗号化に使用できます。

Status of This Memo

本文書の状態

This is an Internet Standards Track document.

これはInternet Standards Trackドキュメントです。

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(Internet Engineering Task Force)の製品です。これは、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/rfc6031.

このドキュメントの現在のステータス、エラッタ、およびフィードバックの提供方法に関する情報は、http://www.rfc-editor.org/info/rfc6031で入手できます。

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文書に関するIETFトラストの法的規定(http://trustee.ietf.org/license-info)の対象となります。これらのドキュメントは、このドキュメントに関するあなたの権利と制限を説明しているため、注意深く確認してください。このドキュメントから抽出されたコードコンポーネントには、Trust Legal Provisionsのセクション4.eに記載されているSimplified BSD Licenseのテキストが含まれている必要があり、Simplified BSD Licenseに記載されているように保証なしで提供されます。

Table of Contents

目次

   1. Introduction...................................................3
      1.1. Requirements Terminology..................................3
      1.2. ASN.1 Syntax Notation.....................................3
   2. Symmetric Key Package Content Type.............................3
   3. PSKC Attributes................................................4
      3.1. PSKC Key Package Attributes...............................5
         3.1.1. Device Information Attributes........................5
         3.1.2. Cryptographic Module Information Attributes..........8
      3.2. PSKC Key Attributes.......................................8
         3.2.1. Key Identifier.......................................8
         3.2.2. Algorithm............................................9
         3.2.3. Issuer...............................................9
         3.2.4. Key Profile Identifier...............................9
         3.2.5. Key Reference Identifier.............................9
         3.2.6. Friendly Name.......................................10
         3.2.7. Algorithm Parameters................................10
         3.2.8. Counter.............................................12
         3.2.9. Time................................................13
         3.2.10. Time Interval......................................13
         3.2.11. Time Drift.........................................13
         3.2.12. Value MAC..........................................13
         3.2.13. Key User Id........................................14
      3.3. Key Policy Attributes....................................14
         3.3.1. Key Start Date......................................14
         3.3.2. Key Expiry Date.....................................15
         3.3.3. Number of Transactions..............................15
         3.3.4. Key Usage...........................................15
         3.3.5. PIN Policy..........................................16
   4. Key Encoding..................................................18
      4.1. AES Key Encoding.........................................18
      4.2. Triple-DES Key Encoding..................................18
   5. Security Considerations.......................................19
   6. IANA Considerations...........................................19
   7. References....................................................19
      7.1. Normative References.....................................19
      7.2. Informative References...................................21
   Appendix A. ASN.1 Module.........................................22
      A.1. Symmetric Key Package ASN.1 Module.......................22
      A.2. PSKC ASN.1 Module........................................23
        
1. Introduction
1. はじめに

This document defines the symmetric key format content type. It is transport independent. The Cryptographic Message Syntax (CMS) [RFC5652] can be used to digitally sign, digest, authenticate, or encrypt this content type.

このドキュメントでは、対称キー形式のコンテンツタイプを定義します。トランスポートに依存しません。暗号化メッセージ構文(CMS)[RFC5652]を使用して、このコンテンツタイプのデジタル署名、ダイジェスト、認証、または暗号化を行うことができます。

The use cases that motivated the attributes in this work are elaborated in [RFC6030]. They are omitted to avoid duplication.

この作業で属性を動機付けた使用例は、[RFC6030]で詳しく説明されています。重複を避けるために省略されています。

This document also includes ASN.1 definitions of the Extensible Markup Language (XML) element and attributes defined in [RFC6030].

このドキュメントには、[RFC6030]で定義されているExtensible Markup Language(XML)要素と属性のASN.1定義も含まれています。

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].

このドキュメントのキーワード「MUST」、「MUST NOT」、「REQUIRED」、「SHALL」、「SHALL NOT」、「SHOULD」、「SHOULD NOT」、「RECOMMENDED」、「MAY」、および「OPTIONAL」は、 [RFC2119]で説明されているように解釈されます。

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

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

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

2. Symmetric Key Package Content Type
2. 対称鍵パッケージのコンテンツタイプ

The symmetric key package content type is used to transfer one or more plaintext symmetric keys from one party to another. A symmetric key package MAY be encapsulated in one or more CMS protecting content types. This content type MUST be Distinguished Encoding Rules (DER) encoded [X.690].

対称鍵パッケージのコンテンツタイプは、1つのパーティから別のパーティに1つ以上の平文対称鍵を転送するために使用されます。対称鍵パッケージは、コンテンツタイプを保護する1つ以上のCMSにカプセル化できます。このコンテンツタイプは、Distinguished Encoding Rules(DER)でエンコードされている必要があります[X.690]。

The symmetric key package content type has the following syntax:

対称キーパッケージのコンテンツタイプの構文は次のとおりです。

     ct-symmetric-key-package CONTENT-TYPE ::=
         { TYPE SymmetricKeyPackage IDENTIFIED BY id-ct-KP-sKeyPackage }
        
     id-ct-KP-sKeyPackage OBJECT IDENTIFIER ::=
        { iso(1) member-body(2) us(840) rsadsi(113549) pkcs(1) pkcs9(9)
          smime(16) ct(1) 25 }
        
     SymmetricKeyPackage ::= SEQUENCE {
       version           KeyPkgVersion DEFAULT v1,
       sKeyPkgAttrs  [0] SEQUENCE SIZE (1..MAX) OF Attribute
                                      {{ SKeyPkgAttributes }} OPTIONAL,
       sKeys             SymmetricKeys,
       ... }
        
     SymmetricKeys ::= SEQUENCE SIZE (1..MAX) OF OneSymmetricKey
        
     OneSymmetricKey ::= SEQUENCE {
       sKeyAttrs  SEQUENCE SIZE (1..MAX) OF Attribute
                                      {{ SKeyAttributes }}  OPTIONAL,
       sKey       OCTET STRING OPTIONAL }
       ( WITH COMPONENTS { ..., sKeyAttrs PRESENT } |
         WITH COMPONENTS { ..., sKey PRESENT } )
        
     KeyPkgVersion ::= INTEGER  { v1(1) } ( v1, ... )
        

The SymmetricKeyPackage fields are used as follows:

SymmetricKeyPackageフィールドは次のように使用されます。

- version identifies the version of the symmetric key package content structure. For this version of the specification, the default value, v1, MUST be used.

- versionは、対称鍵パッケージのコンテンツ構造のバージョンを識別します。このバージョンの仕様では、デフォルト値のv1を使用する必要があります。

- sKeyPkgAttrs optionally provides attributes that apply to all of the symmetric keys in the package. The SKeyPkgAttributes information object set restricts the attributes allowed in sKeyPkgAttrs. If an attribute appears here, then it MUST NOT also be included in sKeyAttrs.

- sKeyPkgAttrsはオプションで、パッケージ内のすべての対称鍵に適用される属性を提供します。 SKeyPkgAttributes情報オブジェクトセットは、sKeyPkgAttrsで許可される属性を制限します。ここに属性が表示される場合は、sKeyAttrsにも含めることはできません。

- sKeys contains a sequence of OneSymmetricKey values. This structure is discussed below.

- sKeysには、OneSymmetricKey値のシーケンスが含まれています。この構造については、以下で説明します。

The OneSymmetricKey fields are used as follows:

OneSymmetricKeyフィールドは次のように使用されます。

- sKeyAttrs optionally provides attributes that apply to one symmetric key. The SKeyAttributes information object set restricts the attributes permitted in sKeyAttrs. If an attribute appears here, then it MUST NOT also be included in sKeyPkgAttrs.

- sKeyAttrsは、1つの対称鍵に適用される属性をオプションで提供します。 SKeyAttributes情報オブジェクトセットは、sKeyAttrsで許可される属性を制限します。ここに属性が表示される場合は、sKeyPkgAttrsにも含めることはできません。

- sKey optionally contains the key value encoded as an OCTET STRING.

- sKeyはオプションで、OCTET STRINGとしてエンコードされたキー値を含みます。

The OneSymmetricKey field MUST include sKeyAttrs, sKey, or sKeyAttrs and sKey.

OneSymmetricKeyフィールドには、sKeyAttrs、sKey、またはsKeyAttrsとsKeyを含める必要があります。

3. PSKC Attributes
3. PSKC属性

The following attributes are defined to assist those using the symmetric key package defined in this document as part of a Dynamic Symmetric Key Provision Protocol (DSKPP) [RFC6063] with Portable Symmetric Key Container (PSKC) attributes. [RFC6030] should be consulted for the definitive attribute descriptions. The attributes fall into three categories. The first category includes attributes that apply to a key package, and these attributes will generally appear in sKeyPkgAttrs. The second category includes attributes that apply to a particular key, and these attributes will generally appear in sKeyAttrs. The third category includes attributes that apply to a key policy. Of the attributes defined, only the Key Identifier (Section 3.2.1) and Algorithm (Section 3.2.2) key attributes MUST be included. All other attributes are OPTIONAL.

次の属性は、ポータブル対称キーコンテナー(PSKC)属性を持つ動的対称キー提供プロトコル(DSKPP)[RFC6063]の一部として、このドキュメントで定義されている対称キーパッケージを使用するユーザーを支援するために定義されています。明確な属性の説明については、[RFC6030]を参照してください。属性は3つのカテゴリに分類されます。最初のカテゴリには、キーパッケージに適用される属性が含まれ、これらの属性は通常、sKeyPkgAttrsに表示されます。 2番目のカテゴリには、特定のキーに適用される属性が含まれ、これらの属性は通常、sKeyAttrsに表示されます。 3番目のカテゴリには、キーポリシーに適用される属性が含まれます。定義された属性のうち、キー識別子(セクション3.2.1)およびアルゴリズム(セクション3.2.2)のキー属性のみを含める必要があります。他のすべての属性はオプションです。

Like PSKC, the Symmetric Key Content Type supports extensibility. Primarily, this is accomplished through the definition and inclusion of new attributes, but in some instances in which the attribute contains more than one type, the ASN.1 "..." extensibility mechanism is employed.

PSKCと同様に、対称キーコンテンツタイプは拡張性をサポートします。これは主に、新しい属性の定義と組み込みによって実現されますが、属性に複数のタイプが含まれる場合には、ASN.1 "..."拡張メカニズムが使用されます。

A straightforward approach to conversion from XML types to ASN.1 is employed. The <xs:string> type converts to UTF8String; the XML <xs:dateTime> type converts to GeneralizedTime; and the XML integer types convert to INTEGER or BinaryTime [RFC6019].

XMLタイプからASN.1への変換には、単純なアプローチが採用されています。 <xs:string>タイプはUTF8Stringに変換されます。 XML <xs:dateTime>タイプはGeneralizedTimeに変換されます。 XML整数型はINTEGERまたはBinaryTime [RFC6019]に変換されます。

3.1. PSKC Key Package Attributes
3.1. PSKCキーパッケージの属性

PSKC key package attributes apply to an entire key package. These attributes can be categorized by two different attribute collections: device information and cryptographic module attributes. All of these key package attributes are OPTIONAL.

PSKC鍵パッケージ属性は、鍵パッケージ全体に適用されます。これらの属性は、デバイス情報と暗号モジュール属性という2つの異なる属性コレクションによって分類できます。これらの主要なパッケージ属性はすべてオプションです。

3.1.1. Device Information Attributes
3.1.1. デバイス情報属性

Device Information attributes, when taken together, MUST uniquely identify a device to which the Symmetric Key Package is provisioned.

デバイス情報属性は、まとめて、対称鍵パッケージがプロビジョニングされるデバイスを一意に識別しなければなりません(MUST)。

3.1.1.1. Manufacturer
3.1.1.1. メーカー

The Manufacturer attribute indicates the manufacturer of the device. Values for Manufacturer MUST be taken from either [OATHMAN] prefixes (i.e., the left column) or from the IANA Private Enterprise Number Registry [IANAPENREG], using the Organization value. When the value is taken from [OATHMAN] "oath." MUST be prepended to the value (e.g., "oath.<values from [OATHMAN]>"). When the value is taken from [IANAPENREG], "iana." MUST be prepended to the value (e.g., "iana.<Organization value from [IANAPENREG]>"). The attribute definition is as follows:

Manufacturer属性は、デバイスの製造元を示します。製造元の値は、[OATHMAN]接頭辞(つまり、左の列)またはIANA Private Enterprise Number Registry [IANAPENREG]のいずれかから、組織の値を使用して取得する必要があります。 [OATHMAN]の「誓い」から値を取得した場合。値の前に付加する必要があります(例: "oath。<values from [OATHMAN]>")。 [IANAPENREG]から値を取得する場合、「iana」。値の前に付加する必要があります(例:「iana。<[IANAPENREG]からの組織値>」)。属性の定義は次のとおりです。

   at-pskc-manufacturer ATTRIBUTE ::= {
     TYPE UTF8String IDENTIFIED BY id-pskc-manufacturer }
        
   id-pskc-manufacturer OBJECT IDENTIFIER ::= { id-pskc 1 }
        
3.1.1.2. Serial Number
3.1.1.2. シリアルナンバー

The Serial Number attribute indicates the serial number of the device. The attribute definition is as follows:

シリアル番号属性は、デバイスのシリアル番号を示します。属性の定義は次のとおりです。

   at-pskc-serialNo ATTRIBUTE ::= {
     TYPE UTF8String IDENTIFIED BY id-pskc-serialNo }
        
   id-pskc-serialNo OBJECT IDENTIFIER ::= { id-pskc 2 }
        
3.1.1.3. Model
3.1.1.3. 型番

The Model attribute indicates the model of the device. The attribute definition is as follows:

モデル属性は、デバイスのモデルを示します。属性の定義は次のとおりです。

   at-pskc-model ATTRIBUTE ::= {
     TYPE UTF8String IDENTIFIED BY id-pskc-model }
        
   id-pskc-model OBJECT IDENTIFIER ::= { id-pskc 3 }
        
3.1.1.4. Issue Number
3.1.1.4. 発行番号

The Issue Number attribute contains an issue number to distinguish between two devices with the same serial number. The attribute definition is as follows:

Issue Number属性には、同じシリアル番号を持つ2つのデバイスを区別するための問題番号が含まれています。属性の定義は次のとおりです。

   at-pskc-issueNo ATTRIBUTE ::= {
     TYPE UTF8String IDENTIFIED BY id-pskc-issueNo }
        
   id-pskc-issueNo OBJECT IDENTIFIER ::= { id-pskc 4 }
        
3.1.1.5. Device Binding
3.1.1.5. デバイスのバインド

The Device Binding attribute provides an opaque identifier that allows keys to be bound to the device or to a class of devices.

デバイスバインディング属性は、デバイスまたはデバイスのクラスにキーをバインドできるようにする不透明な識別子を提供します。

When loading keys into a device, the attribute's value MUST be checked against information provided to the user via out-of-band mechanisms. The implementation then ensures that the correct device or class of device is being used with respect to the provisioned key.

キーをデバイスにロードするとき、属性の値は、帯域外メカニズムを介してユーザーに提供される情報と照合して確認する必要があります。次に、実装は、プロビジョニングされたキーに関して正しいデバイスまたはデバイスのクラスが使用されていることを確認します。

   at-pskc-deviceBinding ATTRIBUTE ::= {
     TYPE UTF8String IDENTIFIED BY id-pskc-deviceBinding }
        
   id-pskc-deviceBinding OBJECT IDENTIFIER ::= { id-pskc 5 }
        
3.1.1.6. Device Start Date
3.1.1.6. デバイスの開始日

When included in sKeyPkgAttrs, the Device Start Date attribute indicates the start date for a device. The date MUST be represented in a form that matches the dateTime production in "canonical representation" [XMLSCHEMA]. Implementations SHOULD NOT rely on time resolution finer than milliseconds and MUST NOT generate time instants that specify leap seconds. Keys that are on the device SHOULD only be used when the current date is on or after the device start date. The attribute definition is as follows:

sKeyPkgAttrsに含まれている場合、デバイス開始日属性はデバイスの開始日を示します。日付は、 "正規表現" [XMLSCHEMA]のdateTime生成と一致する形式で表現する必要があります。実装はミリ秒よりも細かい時間分解能に依存してはならず(SHOULD NOT)、うるう秒を指定する時刻を生成してはなりません(MUST NOT)。デバイスにあるキーは、現在の日付がデバイスの開始日以降の場合にのみ使用してください。属性の定義は次のとおりです。

   at-pskc-deviceStartDate ATTRIBUTE ::= {
     TYPE GeneralizedTime IDENTIFIED BY id-pskc-deviceStartDate }
        
   id-pskc-deviceStartDate OBJECT IDENTIFIER ::= { id-pskc 6 }
        

Note that usage enforcement of the keys with respect to the dates MAY only happen on the validation server as some devices, such as smart cards, do not have an internal clock. Systems thus SHOULD NOT rely upon the device to enforce key usage date restrictions.

日付に関するキーの使用の強制は、スマートカードなどの一部のデバイスには内部クロックがないため、検証サーバーでのみ発生する場合があることに注意してください。したがって、システムは、キーの使用日の制限を実施するためにデバイスに依存するべきではありません。

3.1.1.7. Device Expiry Date
3.1.1.7. デバイスの有効期限

When included in sKeyPkgAttrs, the Device Expiry Date attribute indicates the expiry date for a device. The date MUST be represented in a form that matches the dateTime production in "canonical representation" [XMLSCHEMA]. Implementations SHOULD NOT rely on time resolution finer than milliseconds and MUST NOT generate time instants that specify leap seconds. Keys that are on the device SHOULD only be used when the current date is before the device expiry date. The attribute definition is as follows:

sKeyPkgAttrsに含まれている場合、デバイスの有効期限属性はデバイスの有効期限を示します。日付は、 "正規表現" [XMLSCHEMA]のdateTime生成と一致する形式で表現する必要があります。実装はミリ秒よりも細かい時間分解能に依存してはならず(SHOULD NOT)、うるう秒を指定する時刻を生成してはなりません(MUST NOT)。デバイスにあるキーは、現在の日付がデバイスの有効期限より前である場合にのみ使用してください。属性の定義は次のとおりです。

   at-pskc-deviceExpiryDate ATTRIBUTE ::= {
     TYPE GeneralizedTime IDENTIFIED BY id-pskc-deviceExpiryDate }
        
   id-pskc-deviceExpiryDate OBJECT IDENTIFIER ::= { id-pskc 7 } Note
   that usage enforcement of the keys with respect to the dates MAY only
   happen on the validation server as some devices, such as smart cards,
   do not have an internal clock.  Systems thus SHOULD NOT rely upon the
   device to enforce key usage date restrictions.
        
3.1.1.8. Device User Id
3.1.1.8. デバイスユーザーID
   The Device User Id attribute indicates the user with whom the device
   is associated using a distinguished name, as defined in [RFC4514].
   For example: UID=jsmith,DC=example,DC=net.  The attribute definition
   is as follows:
   at-pskc-deviceUserId ATTRIBUTE ::= {
     TYPE UTF8String IDENTIFIED BY id-pskc-deviceUserId }
        
   id-pskc-deviceUserId OBJECT IDENTIFIER ::= { id-pskc 26 }
        

As specified in [RFC6030], there are no semantics associated with this element, i.e., there are no checks enforcing that only a specific user can use this device. As such, this element is for informational purposes only.

[RFC6030]で指定されているように、この要素に関連付けられているセマンティクスはありません。つまり、特定のユーザーだけがこのデバイスを使用できることを強制するチェックはありません。そのため、この要素は情報提供のみを目的としています。

3.1.2. Cryptographic Module Information Attributes
3.1.2. 暗号モジュール情報属性

Cryptographic Module attributes uniquely identify a cryptographic module. This is useful when the device contains more than one cryptographic module. At this time, only one attribute is defined.

暗号モジュール属性は、暗号モジュールを一意に識別します。これは、デバイスに複数の暗号化モジュールが含まれている場合に役立ちます。現時点では、1つの属性のみが定義されています。

3.1.2.1. Cryptographic Module Identifier
3.1.2.1. 暗号化モジュール識別子

When included in sKeyPkgAttrs, the Cryptographic Module Identifier attribute uniquely identifies the cryptographic module to which the key is being or was provisioned. The attribute definition is as follows:

sKeyPkgAttrsに含まれる場合、Cryptographic Module Identifier属性は、キーの提供先またはプロビジョニング先の暗号化モジュールを一意に識別します。属性の定義は次のとおりです。

   at-pskc-moduleId ATTRIBUTE ::= {
     TYPE UTF8String IDENTIFIED BY id-pskc-moduleId }
        
   id-pskc-moduleId OBJECT IDENTIFIER ::= { id-pskc 8 }
        
3.2. PSKC Key Attributes
3.2. PSKCキー属性

PSKC key attributes apply to a specific key. As noted earlier, the Key Identifier (Section 3.2.1) and Algorithm (Section 3.2.2) key attributes are REQUIRED. All other attributes are OPTIONAL.

PSKCキー属性は特定のキーに適用されます。前述のように、キー識別子(セクション3.2.1)およびアルゴリズム(セクション3.2.2)のキー属性が必要です。他のすべての属性はオプションです。

3.2.1. Key Identifier
3.2.1. キー識別子
   When included in sKeyAttrs, the Key Identifier attribute identifies
   the key in the context of key provisioning exchanges between two
   parties.  This means that if PSKC is used in multiple interactions
   between a sending and receiving party, using different containers
   referencing the same keys, the KeyId MUST use the same KeyId values
   (e.g., after initial provisioning, if a system wants to update key
   metadata values in the other system, the KeyId value of the key where
   the metadata is to be updates MUST be the same as the original KeyId
   value provisioned).  The attribute definition is as follows:
   at-pskc-keyId ATTRIBUTE ::= {
     TYPE UTF8String IDENTIFIED BY id-pskc-keyId }
        
   id-pskc-keyId OBJECT IDENTIFIER ::= { id-pskc 9 }
        
3.2.2. Algorithm
3.2.2. アルゴリズム

The Algorithm attribute uniquely identifies the PSKC algorithm profile. [RFC6030] defines two algorithm profiles "HOTP" and "PIN". The attribute definition is as follows:

Algorithm属性は、PSKCアルゴリズムプロファイルを一意に識別します。 [RFC6030]は、2つのアルゴリズムプロファイル「HOTP」と「PIN」を定義しています。属性の定義は次のとおりです。

   at-pskc-algorithm ATTRIBUTE ::= {
     TYPE UTF8String IDENTIFIED BY id-pskc-algorithm }
        
   id-pskc-algorithm OBJECT IDENTIFIER ::= { id-pskc 10 }
        
3.2.3. Issuer
3.2.3. 発行者

The Issuer attribute names the entity that issued the key. The attribute definition is as follows:

Issuer属性は、キーを発行したエンティティに名前を付けます。属性の定義は次のとおりです。

   at-pskc-issuer ATTRIBUTE ::= {
     TYPE UTF8String IDENTIFIED BY id-pskc-issuer }
        
   id-pskc-issuer OBJECT IDENTIFIER ::= { id-pskc 11 }
        
3.2.4. Key Profile Identifier
3.2.4. 鍵プロファイル識別子

The Key Profile Identifier attribute carries a unique identifier used between the sending and receiving parties to establish a set of key attribute values that are not transmitted within the container but are agreed upon between the two parties out of band. This attribute will then represent the unique reference to a set of key attribute values.

Key Profile Identifier属性は、送信側と受信側の間で使用される一意の識別子を保持し、コンテナ内では送信されないが、帯域外で2つの当事者間で合意される一連のキー属性値を確立します。この属性は、キー属性値のセットへの一意の参照を表します。

   at-pskc-keyProfileId ATTRIBUTE ::= {
     TYPE UTF8String IDENTIFIED BY id-pskc-keyProfileId }
        
   id-pskc-keyProfileId OBJECT IDENTIFIER ::= { id-pskc 12 }
        
3.2.5. Key Reference Identifier
3.2.5. キー参照識別子

The Key Reference attribute refers to an external key to be used with a key derivation scheme and no specific key value (secret) is transported; only the reference to the external master key is used (e.g., the PKCS #11 key label).

キー参照属性は、キー導出スキームで使用される外部キーを参照し、特定のキー値(シークレット)は転送されません。外部マスターキーへの参照のみが使用されます(例:PKCS#11キーラベル)。

   at-pskc-keyReference ATTRIBUTE ::= {
     TYPE UTF8String IDENTIFIED BY id-pskc-keyReference }
        
   id-pskc-keyReference OBJECT IDENTIFIER ::= { id-pskc 13 }
        
3.2.6. Friendly Name
3.2.6. 分かりやすい名前

The Friendly Name attribute contains a human-readable name for the secret key. The attribute definition is as follows:

フレンドリ名属性には、人間が読める形式の秘密鍵の名前が含まれています。属性の定義は次のとおりです。

   at-pskc-friendlyName ATTRIBUTE ::= {
     TYPE FriendlyName IDENTIFIED BY id-pskc-friendlyName }
        
   id-pskc-friendlyName OBJECT IDENTIFIER ::= { id-pskc 14 }
        

The Friendly Name attribute has the following syntax:

フレンドリ名属性の構文は次のとおりです。

   FriendlyName ::= SEQUENCE {
     friendlyName        UTF8String,
     friendlyNameLangTag UTF8String OPTIONAL }
        

The text is encoded in UTF-8 [RFC3629], which accommodates most of the world's writing systems. The friendlyNameLangTag field identifies the language used to express the friendlyName. When the friendlyNameLangTag field is absent, English, whose associated language tag is "en", is used. The value of the friendlyNameLangTag field MUST be a language tag, as described in [RFC5646].

テキストはUTF-8 [RFC3629]でエンコードされており、世界のほとんどの書記体系に対応しています。 friendlyNameLangTagフィールドは、friendlyNameを表すために使用される言語を識別します。 friendlyNameLangTagフィールドが存在しない場合、関連する言語タグが「en」である英語が使用されます。 [RFC5646]で説明されているように、friendlyNameLangTagフィールドの値は言語タグでなければなりません。

3.2.7. Algorithm Parameters
3.2.7. アルゴリズムパラメータ

The Algorithm Parameters attribute contains parameters that influence the result of the algorithmic computation, for example, response truncation and format in One-Time Password (OTP) and Challenge/Response (CR) algorithms.

アルゴリズムパラメータ属性には、アルゴリズム計算の結果に影響を与えるパラメータが含まれます。たとえば、ワンタイムパスワード(OTP)アルゴリズムやチャレンジ/レスポンス(CR)アルゴリズムでの応答の切り捨てやフォーマットなどです。

   at-pskc-algorithmParameters ATTRIBUTE ::= {
     TYPE PSKCAlgorithmParameters
     IDENTIFIED BY id-pskc-algorithmParams }
        
   id-pskc-algorithmParams OBJECT IDENTIFIER ::= { id-pskc 15 }
        

The Algorithm Parameters attribute has the following syntax:

Algorithm Parameters属性の構文は次のとおりです。

   PSKCAlgorithmParameters ::= CHOICE {
     suite                UTF8String,
     challengeFormat  [0] ChallengeFormat,
     responseFormat   [1] ResponseFormat,
     ... }
        
   ChallengeFormat ::= SEQUENCE {
     encoding    Encoding,
     checkDigit  BOOLEAN DEFAULT FALSE,
     min         INTEGER (0..MAX),
     max         INTEGER (0..MAX),
     ... }
        
   Encoding ::= UTF8STRING ("DECIMAL" | "HEXADECIMAL" |
                "ALPHANUMERIC" |"BASE64" |"BINARY")
        
   ResponseFormat ::= SEQUENCE {
     encoding     Encoding,
     length       INTEGER (0..MAX),
     checkDigit   BOOLEAN DEFAULT FALSE,
     ... }
        

The fields in PSKCAlgorithmParameters have the following meanings:

PSKCAlgorithmParametersのフィールドには次の意味があります。

o Suite defines additional characteristics of the algorithm used, which are algorithm specific. For example, in an HMAC-based (Hashed Message Authentication Code) OTP algorithm it could designate the strength of the hash algorithm used (SHA1, SHA256, etc.). Please refer to the algorithm profile specification [RFC6030] for the exact semantics of the value for each algorithm profile.

o スイートは、アルゴリズム固有の、使用されるアルゴリズムの追加の特性を定義します。たとえば、HMACベースの(ハッシュメッセージ認証コード)OTPアルゴリズムでは、使用するハッシュアルゴリズム(SHA1、SHA256など)の強度を指定できます。各アルゴリズムプロファイルの値の正確なセマンティクスについては、アルゴリズムプロファイル仕様[RFC6030]を参照してください。

o ChallengeFormat defines the characteristics of the challenge in a CR usage scenario, whereby the following fields are defined:

o ChallengeFormatは、CR使用シナリオでのチャレンジの特性を定義します。これにより、以下のフィールドが定義されます。

o encoding specifies the encoding of the challenge accepted by the device and MUST be one of the following values: DECIMAL, HEXADECIMAL, ALPHANUMERIC, BASE64, or BINARY. The BASE64 encoding is done as in Section 4 of [RFC4648].

o encodingは、デバイスが受け入れるチャレンジのエンコーディングを指定し、DECIMAL、HEXADECIMAL、ALPHANUMERIC、BASE64、またはBINARYのいずれかの値である必要があります。 BASE64エンコードは、[RFC4648]のセクション4と同様に行われます。

o checkDigit indicates whether a device needs to check the appended Luhn check digit, as defined in [ISOIEC7812], contained in a challenge. The checkDigit MUST NOT be present if the encoding value is anything other than 'DECIMAL'. A value of TRUE indicates that the device will check the appended Luhn check digit in a provided challenge. A value of FALSE indicates that the device will not check the appended Luhn check digit in the challenge.

o checkDigitは、チャレンジに含まれる、[ISOIEC7812]で定義されている、追加されたLuhnチェックデジットをデバイスがチェックする必要があるかどうかを示します。エンコーディング値が 'DECIMAL'以外の場合、checkDigitは存在してはなりません(MUST NOT)。 TRUEの値は、デバイスが提供されたチャレンジで追加されたLuhnチェックディジットをチェックすることを示します。値FALSEは、デバイスがチャレンジに追加されたLuhnチェックデジットをチェックしないことを示します。

o min defines the minimum size of the challenge accepted by the device for CR mode. If encoding is 'DECIMAL', 'HEXADECIMAL', or 'ALPHANUMERIC', this value indicates the minimum number of digits/characters. If encoding is 'BASE64' or 'BINARY', this value indicates the minimum number of bytes of the unencoded value.

o minは、デバイスがCRモードで受け入れるチャレンジの最小サイズを定義します。 encodingが 'DECIMAL'、 'HEXADECIMAL'、または 'ALPHANUMERIC'の場合、この値は最小桁数/文字数を示します。エンコードが「BASE64」または「BINARY」の場合、この値はエンコードされていない値の最小バイト数を示します。

o max defines the maximum size of the challenge accepted by the device for CR mode. If encoding is 'DECIMAL', 'HEXADECIMAL', or 'ALPHANUMERIC', this value indicates the maximum number of digits/characters. If the encoding is 'BASE64' or 'BINARY', this value indicates the maximum number of bytes of the unencoded value.

o maxは、CRモードでデバイスが受け入れるチャレンジの最大サイズを定義します。 encodingが 'DECIMAL'、 'HEXADECIMAL'、または 'ALPHANUMERIC'の場合、この値は最大桁数/文字数を示します。エンコードが「BASE64」または「BINARY」の場合、この値は、エンコードされていない値の最大バイト数を示します。

o ResponseFormat defines the characteristics of the result of a computation and defines the format of the OTP or the response to a challenge. For cases where the key is a personal identification number (PIN) value, this element contains the format of the PIN itself (e.g., DECIMAL, length 4 for a 4 digit PIN). The following fields are defined:

o ResponseFormatは、計算結果の特性を定義し、OTPまたはチャレンジへの応答のフォーマットを定義します。キーが個人識別番号(PIN)の値である場合、この要素にはPIN自体の形式が含まれます(例:10進数、4桁のPINの場合は長さ4)。以下のフィールドが定義されています。

o encoding specifies the encoding of the response generated by the device and MUST be one of the following values: DECIMAL, HEXADECIMAL, ALPHANUMERIC, BASE64, or BINARY. BASE64 is defined as in Section 4 of [RFC4648].

o encodingは、デバイスによって生成される応答のエンコーディングを指定し、DECIMAL、HEXADECIMAL、ALPHANUMERIC、BASE64、またはBINARYのいずれかの値である必要があります。 BASE64は[RFC4648]のセクション4で定義されています。

o length defines the length of the response generated by the device. If encoding is 'DECIMAL', 'HEXADECIMAL', or 'ALPHANUMERIC', this value indicates the number of digits/characters. If encoding is 'BASE64' or 'BINARY', this value indicates the number of bytes of the unencoded value.

o lengthは、デバイスによって生成される応答の長さを定義します。 encodingが 'DECIMAL'、 'HEXADECIMAL'、または 'ALPHANUMERIC'の場合、この値は桁数/文字数を示します。 encodingが 'BASE64'または 'BINARY'の場合、この値はエンコードされていない値のバイト数を示します。

o checkDigit indicates whether the device needs to append a Luhn check digit, as defined in [ISOIEC7812], to the response. This is only valid if the encoding attribute is 'DECIMAL'. If the value is TRUE, then the device will append a Luhn check digit to the response. If the value is FALSE, then the device will not append a Luhn check digit to the response.

o checkDigitは、デバイスが[ISOIEC7812]で定義されているLuhnチェックデジットを応答に追加する必要があるかどうかを示します。これは、エンコーディング属性が「DECIMAL」の場合にのみ有効です。値がTRUEの場合、デバイスはLuhnチェックディジットを応答に追加します。値がFALSEの場合、デバイスはLuhnチェックディジットを応答に追加しません。

3.2.8. Counter
3.2.8. カウンター

The Counter attribute contains the event counter for event-based OTP algorithms. The attribute definition is as follows:

Counter属性には、イベントベースのOTPアルゴリズムのイベントカウンターが含まれます。属性の定義は次のとおりです。

   at-pskc-counter ATTRIBUTE ::= {
     TYPE INTEGER(0..MAX) IDENTIFIED BY id-pskc-counter }
        
   id-pskc-counter OBJECT IDENTIFIER ::= { id-pskc 16 }
        
3.2.9. Time
3.2.9. 時間

The Time attribute conveys the time for time-based OTP algorithms. If the Time Interval attribute is included, then this element carries the number of time intervals passed for a specific start point. If the time interval is used, then this element carries the number of time intervals passed from a specific start point, normally it is algorithm dependent. It uses the BinaryTime syntax from [RFC6019]. The attribute definition is as follows:

時間属性は、時間ベースのOTPアルゴリズムの時間を伝えます。時間間隔属性が含まれている場合、この要素には、特定の開始点に対して渡された時間間隔の数が含まれます。時間間隔が使用される場合、この要素は特定の開始点から渡された時間間隔の数を運びます。通常、これはアルゴリズムに依存します。 [RFC6019]のBinaryTime構文を使用します。属性の定義は次のとおりです。

   at-pskc-time ATTRIBUTE ::= {
     TYPE BinaryTime IDENTIFIED BY id-pskc-time }
        
   id-pskc-time OBJECT IDENTIFIER ::= { id-pskc 17 }
        
3.2.10. Time Interval
3.2.10. 時間間隔

The Time Interval attribute conveys the time interval value for time-based OTP algorithms in seconds (e.g., a value of 30 for this would indicate a time interval of 30 seconds). It is an integer. The attribute definition is as follows:

時間間隔属性は、時間ベースのOTPアルゴリズムの時間間隔値を秒単位で示します(たとえば、この値が30の場合、30秒の時間間隔を示します)。整数です。属性の定義は次のとおりです。

   at-pskc-timeInterval ATTRIBUTE ::= {
     TYPE INTEGER (0..MAX) IDENTIFIED BY id-pskc-timeInterval }
        
   id-pskc-timeInterval OBJECT IDENTIFIER ::= { id-pskc 18 }
        
3.2.11. Time Drift
3.2.11. 時間ドリフト

The Time Drift attribute contains the device clock drift value for time-based OTP algorithms. It is an integer, either positive or negative, that indicates the number of time intervals that a validation server has established that the device clock drifted after the last successful authentication. The attribute definition is as follows:

時間ドリフト属性には、時間ベースのOTPアルゴリズムのデバイスクロックドリフト値が含まれています。これは正または負の整数であり、最後に成功した認証の後でデバイスのクロックがずれていることを検証サーバーが確立した時間間隔の数を示します。属性の定義は次のとおりです。

   at-pskc-timeDrift ATTRIBUTE ::= {
     TYPE INTEGER (0..MAX) IDENTIFIED BY id-pskc-timeDrift }
        
   id-pskc-timeDrift OBJECT IDENTIFIER ::= { id-pskc 19 }
        
3.2.12. Value MAC
3.2.12. バリューMAC
   The Value MAC attribute is a Message Authentication Code (MAC)
   generated from the encrypted value in the case that the encryption
   algorithm does not support integrity checks (e.g., AES-CBC does not
   provide integrity while AES Key Wrap with a message length indicator
   (MLI) does).  The attribute definition is as follows:
   at-pskc-valueMAC ATTRIBUTE ::= {
     TYPE ValueMac IDENTIFIED BY id-pskc-valueMAC }
        
   id-pskc-valueMAC OBJECT IDENTIFIER ::= { id-pskc 20 }
        
   ValueMac ::= SEQUENCE {
     macAlgorithm UTF8String,
     mac          UTF8String }
        

The fields in ValueMac have the following meanings:

ValueMacのフィールドには次の意味があります。

o macAlgorithm identifies the MAC algorithm used to generate the value placed in digest.

o macAlgorithmは、ダイジェストに配置される値を生成するために使用されるMACアルゴリズムを識別します。

o mac is the base64-encoded, as specified in Section 4 of [RFC4648], mac value.

o [RFC4648]のセクション4で指定されているように、macはbase64でエンコードされたmac値です。

3.2.13. Key User Id
3.2.13. キーユーザーID

The Key User Id attribute indicates the user with whom the key is associated using a distinguished name, as defined in [RFC4514]. For example, UID=jsmith,DC=example,DC=net. The attribute definition is as follows:

鍵ユーザーID属性は、[RFC4514]で定義されているように、識別名を使用して鍵が関連付けられているユーザーを示します。たとえば、UID = jsmith、DC = example、DC = netなどです。属性の定義は次のとおりです。

   at-pskc-keyUserId ATTRIBUTE ::= {
     TYPE UTF8String IDENTIFIED BY id-pskc-keyUserId }
        
   id-pskc-keyUserId OBJECT IDENTIFIER ::= { id-pskc 27 }
        

As specified in [RFC6030], there are no semantics associated with this element, i.e., there are no checks enforcing that only a specific user can use this key. As such, this element is for informational purposes only.

[RFC6030]で指定されているように、この要素に関連付けられているセマンティクスはありません。つまり、特定のユーザーだけがこのキーを使用できることを強制するチェックはありません。そのため、この要素は情報提供のみを目的としています。

3.3. Key Policy Attributes
3.3. 主要なポリシー属性

Key policy attributes indicate a policy that can be attached to a key. These attributes are defined in the subsections that follow.

鍵ポリシー属性は、鍵に付加できるポリシーを示します。これらの属性は、以下のサブセクションで定義されています。

3.3.1. Key Start Date
3.3.1. キーの開始日
   When included in sKeyAttrs, the Key Start Date attribute indicates
   the start of the key's validity period.  The date MUST be represented
   in a form that matches the dateTime production in "canonical
   representation" [XMLSCHEMA].  Implementations SHOULD NOT rely on time
   resolution finer than milliseconds and MUST NOT generate time
   instants that specify leap seconds.  The attribute definition is as
   follows:
   at-pskc-keyStartDate ATTRIBUTE ::= {
       TYPE GeneralizedTime IDENTIFIED BY id-pskc-keyStartDate }
        
   id-pskc-keyStartDate OBJECT IDENTIFIER ::= { id-pskc 21 }
        
3.3.2. Key Expiry Date
3.3.2. キーの有効期限

When included in sKeyAttrs, the Key Expiry Date attribute indicates the end of the key's validity period. The date MUST be represented in a form that matches the dateTime production in "canonical representation" [XMLSCHEMA]. Implementations SHOULD NOT rely on time resolution finer than milliseconds and MUST NOT generate time instants that specify leap seconds. The attribute definition is as follows:

sKeyAttrsに含まれる場合、Key Expiry Date属性はキーの有効期間の終了を示します。日付は、 "正規表現" [XMLSCHEMA]のdateTime生成と一致する形式で表現する必要があります。実装はミリ秒よりも細かい時間分解能に依存してはならず(SHOULD NOT)、うるう秒を指定する時刻を生成してはなりません(MUST NOT)。属性の定義は次のとおりです。

   at-pskc-keyExpiryDate ATTRIBUTE ::= {
     TYPE GeneralizedTime IDENTIFIED BY id-pskc-keyExpiryDate }
        
   id-pskc-keyExpiryDate OBJECT IDENTIFIER ::= { id-pskc 22 }
        
3.3.3. Number of Transactions
3.3.3. トランザクション数

The Number of Transactions attribute indicates the maximum number of times a key carried within the package can be used. When this element is omitted, there is no restriction regarding the number of times a key can be used. The attribute definition is as follows:

トランザクション数属性は、パッケージ内に保持されているキーを使用できる最大回数を示します。この要素を省略した場合、キーの使用回数に制限はありません。属性の定義は次のとおりです。

   at-pskc-noOfTransactions ATTRIBUTE ::= {
     TYPE INTEGER (0..MAX) IDENTIFIED BY id-pskc-noOfTransactions }
        
   id-pskc-noOfTransactions OBJECT IDENTIFIER ::= { id-pskc 23 }
        
3.3.4. Key Usage
3.3.4. 主な用途

The Key Usage attribute constrains the intended usage of the key. The recipient MUST enforce the key usage. The attribute definition is as follows:

キー使用法属性は、キーの使用目的を制限します。受信者は鍵の使用法を強制しなければなりません。属性の定義は次のとおりです。

   at-pskc-keyUsage ATTRIBUTE ::= {
     TYPE PSKCKeyUsages IDENTIFIED BY id-pskc-keyUsages }
        
   id-pskc-keyUsages OBJECT IDENTIFIER ::= { id-pskc 24 }
        
   PSKCKeyUsages ::= SEQUENCE OF PSKCKeyUsage
        
   PSKCKeyUsage ::= UTF8String ("OTP" | "CR" | "Encrypt" |
                    "Integrity" | "Verify" | "Unlock" | "Decrypt" |
                    "KeyWrap" | "Unwrap" | "Derive" | "Generate")
        

The fields in PSKCKeyUsage have the following meanings:

PSKCKeyUsageのフィールドには次の意味があります。

o OTP: The key MUST only be used for OTP generation.

o OTP:キーはOTP生成にのみ使用する必要があります。

o CR: The key MUST only be used for Challenge/Response purposes.

o CR:キーは、チャレンジ/レスポンスの目的でのみ使用する必要があります。

o Encrypt: The key MUST only be used for data encryption purposes.

o 暗号化:キーは、データの暗号化目的でのみ使用する必要があります。

o Integrity: The key MUST only be used to generate a keyed message digest for data integrity or authentication purposes.

o 完全性:キーは、データの完全性または認証の目的でキー付きメッセージダイジェストを生成するためにのみ使用する必要があります。

o Verify: The key MUST only be used to verify a keyed message digest for data integrity or authentication purposes (is the converse of Integrity).

o 検証:キーは、データの整合性または認証のためにキー付きメッセージダイジェストを検証するためにのみ使用する必要があります(整合性の逆です)。

o Unlock: The key MUST only be used for an inverse Challenge/Response in the case in which a user has locked the device by entering an incorrect PIN too many times (for devices with PIN-input capability).

o ロック解除:キーは、ユーザーが誤ったPINを何度も入力してデバイスをロックした場合(PIN入力機能を備えたデバイスの場合)、逆チャレンジ/レスポンスにのみ使用する必要があります。

o Decrypt: The key MUST only be used for data decryption purposes.

o 復号化:キーは、データの復号化目的でのみ使用する必要があります。

o KeyWrap: The key MUST only be used for key wrap purposes.

o KeyWrap:キーは、キーラップの目的でのみ使用する必要があります。

o Unwrap: The key MUST only be used for key unwrap purposes.

o Unwrap:キーは、キーのラップ解除の目的でのみ使用する必要があります。

o Derive: The key MUST only be used with a key derivation function to derive a new key (see also Section 8.2.4 of [NIST800-57]).

o 導出:鍵は、新しい鍵を導出するための鍵導出関数でのみ使用する必要があります([NIST800-57]のセクション8.2.4も参照)。

o Generate: The key MUST only be used to generate a new key based on a random number and the previous value of the key (see also Section 8.1.5.2.1 of [NIST800-57]).

o 生成:キーは、乱数とキーの以前の値に基づいて新しいキーを生成するためにのみ使用する必要があります([NIST800-57]のセクション8.1.5.2.1も参照)。

3.3.5. PIN Policy
3.3.5. PINポリシー

The PIN Policy attribute allows policy about the PIN usage to be associated with the key. The attribute definition is as follows:

PINポリシー属性を使用すると、PINの使用に関するポリシーをキーに関連付けることができます。属性の定義は次のとおりです。

   at-pskc-pinPolicy ATTRIBUTE ::= {
     TYPE PINPolicy IDENTIFIED BY id-pskc-pinPolicy }
        
   id-pskc-pinPolicy OBJECT IDENTIFIER ::= { id-pskc 25 }
   PINPolicy ::= SEQUENCE {
     pinKeyId          [0] UTF8String OPTIONAL,
     pinUsageMode      [1] PINUsageMode,
     maxFailedAttempts [2] INTEGER (0..MAX) OPTIONAL,
     minLength         [3] INTEGER (0..MAX) OPTIONAL,
     maxLength         [4] INTEGER (0..MAX) OPTIONAL,
     pinEncoding       [5] Encoding OPTIONAL }
        
   PINUsageMode ::= UTF8String ("Local" | "Prepend" | "Append" |
                    "Algorithmic")
        

The fields in PIN Policy have the following meanings:

PINポリシーのフィールドには次の意味があります。

o pinKeyId uniquely identifies the key held within this container that contains the value of the PIN that protects the key.

o pinKeyIdは、キーを保護するPINの値を含むこのコンテナ内に保持されているキーを一意に識別します。

o pinUsageMode indicates the way the PIN is used during the usage of the key. The following values are defined in [RFC6030]: Local, Prepend, Append, and Algorithmic.

o pinUsageModeは、キーの使用中にPINが使用される方法を示します。次の値は[RFC6030]で定義されています:ローカル、プリペンド、追加、およびアルゴリズム。

o maxFailedAttempts indicates the maximum number of times the PIN may be entered incorrectly before it MUST NOT be possible to use the key anymore (reasonable values are in the positive integer range of at least 2 and no more than 10).

o maxFailedAttemptsは、PINが誤って入力される最大回数を示します。この回数を超えると、キーを使用できなくなります(妥当な値は、2以上、10以下の正の整数の範囲です)。

o minLength indicates the minimum length of a PIN that can be set to protect the associated key. It MUST NOT be possible to set a PIN shorter than this value. If pinEncoding is 'DECIMAL', 'HEXADECIMAL', or 'ALPHANUMERIC', this value indicates the number of digits/ characters. If pinEncoding is 'BASE64' or 'BINARY', this value indicates the number of bytes of the unencoded value.

o minLengthは、関連付けられたキーを保護するために設定できるPINの最小の長さを示します。この値より短いPINを設定することはできません。 pinEncodingが 'DECIMAL'、 'HEXADECIMAL'、または 'ALPHANUMERIC'の場合、この値は桁数/文字数を示します。 pinEncodingが 'BASE64'または 'BINARY'の場合、この値はエンコードされていない値のバイト数を示します。

o maxLength indicates the maximum length of a PIN that can be set to protect this key. It MUST NOT be possible to set a PIN longer than this value. If pinEncoding is 'DECIMAL', 'HEXADECIMAL', or 'ALPHANUMERIC', this value indicates the number of digits/characters. If the pinEncoding is 'BASE64' or 'BINARY', this value indicates the number of bytes of the unencoded value.

o maxLengthは、このキーを保護するために設定できるPINの最大長を示します。この値よりも長いPINを設定することはできません。 pinEncodingが 'DECIMAL'、 'HEXADECIMAL'、または 'ALPHANUMERIC'の場合、この値は桁数/文字数を示します。 pinEncodingが「BASE64」または「BINARY」の場合、この値は、エンコードされていない値のバイト数を示します。

o pinEncoding is based on Encoding, which is defined in Section 3.2.7, and specifies encoding of the PIN and MUST be one of the following values: DECIMAL, HEXADECIMAL, ALPHANUMERIC, BASE64, or BINARY.

o pinEncodingは、セクション3.2.7で定義されているEncodingに基づいており、PINのエンコーディングを指定し、DECIMAL、HEXADECIMAL、ALPHANUMERIC、BASE64、またはBINARYのいずれかの値である必要があります。

If pinUsageMode is set to "Local", then the device MUST enforce the restriction indicated in maxFailedAttempts, minLength, maxLength, and pinEncoding; otherwise, it MUST be enforced on the server side.

pinUsageModeが "Local"に設定されている場合、デバイスはmaxFailedAttempts、minLength、maxLength、およびpinEncodingで示される制限を適用する必要があります。それ以外の場合は、サーバー側で強制する必要があります。

4. Key Encoding
4. キーエンコーディング

Two parties receiving the same key as an sKey OCTET STRING must make use of the key in exactly the same way in order to interoperate. To ensure that this occurs, it is necessary to define a correspondence between the abstract syntax of sKey and the notation in the standard algorithm description that defines how the key is used. The next sections establish that correspondence for the AES algorithm [FIPS197] and the Triple Data Encryption Algorithm (TDEA or Triple DES) [SP800-67].

sKey OCTET STRINGと同じキーを受け取る2つのパーティは、相互運用するために、まったく同じ方法でキーを使用する必要があります。これが確実に行われるようにするには、sKeyの抽象的な構文と、キーの使用方法を定義する標準アルゴリズムの説明の表記法との間の対応を定義する必要があります。次のセクションでは、AESアルゴリズム[FIPS197]とトリプルデータ暗号化アルゴリズム(TDEAまたはトリプルDES)[SP800-67]の対応を確立します。

4.1. AES Key Encoding
4.1. AESキーエンコーディング

[FIPS197], Section 5.2, titled "Key Expansion", uses the input key as an array of bytes indexed starting at 0. The first octet of sKey SHALL become the key byte in the AES, labeled index 0 in [FIPS197]; the succeeding octets of sKey SHALL become key bytes in AES, in increasing index order.

[FIPS197]、セクション5.2、「Key Expansion」では、入力キーを0から始まるインデックス付きのバイトの配列として使用します。sKeyの最初のオクテットは、[FIPS197]でインデックス0とラベル付けされたAESのキーバイトになります。 sKeyの後続のオクテットは、インデックスの昇順で、AESのキーバイトになります。

Proper parsing and key load of the contents of sKey for AES SHALL be determined by using the following sKey OCTET STRING to generate and match the key expansion test vectors in [FIPS197], Appendix A, for AES Cipher Key: 2b 7e 15 16 28 ae d2 a6 ab f7 15 88 09 cf 4f 3c

AESのsKeyのコンテンツの適切な解析とキーの読み込みは、次のsKey OCTET STRINGを使用して決定され、[FIPS197]のAES暗号鍵の付録Aのキー拡張テストベクトルを生成および照合します。2b 7e 15 16 28 ae d2 a6 ab f7 15 88 09 cf 4f 3c

Tag Length Value 04 16 2b 7e 15 16 28 ae d2 a6 ab f7 15 88 09 cf 4f 3c

タグの長さの値04 16 2b 7e 15 16 28 ae d2 a6 ab f7 15 88 09 cf 4f 3c

4.2. Triple-DES Key Encoding
4.2. Triple-DESキーエンコーディング

A Triple-DES key consists of three keys for the cryptographic engine (Key1, Key2, and Key3) that are each 64 bits (56 key bits and 8 parity bits); the three keys are also collectively referred to as a key bundle [SP800-67]. A key bundle may employ either two or three independent keys. When only two independent keys are employed (called two-key Triple DES), the same value is used for Key1 and Key3.

Triple-DES鍵は、暗号化エンジン用の3つの鍵(Key1、Key2、Key3)で構成され、それぞれ64ビット(56キービットと8パリティビット)です。 3つのキーは、まとめてキーバンドルとも呼ばれます[SP800-67]。キーバンドルでは、2つまたは3つの独立したキーを使用できます。 2つの独立したキーのみが使用されている場合(2キーのTriple DESと呼ばれます)、同じ値がKey1とKey3に使用されます。

Each key in a Triple-DES key bundle is expanded into a key schedule according to a procedure defined in [SP800-67], Appendix A. That procedure numbers the bits in the key from 1 to 64, with number 1 being the leftmost, or most significant bit (MSB). The first octet of sKey SHALL be bits 1 through 8 of Key1 with bit 1 being the MSB. The second octet of sKey SHALL be bits 9 through 16 of Key1, and so forth, so that the trailing octet of sKey SHALL be bits 57 through 64 of Key3 (or Key2 for two-key Triple DES).

Triple-DES鍵バンドルの各鍵は、[SP800-67]の付録Aで定義されている手順に従って、鍵スケジュールに拡張されます。この手順では、鍵のビットに1から64までの番号が付けられます。または最上位ビット(MSB)。 sKeyの最初のオクテットは、Key1のビット1から8であり、ビット1がMSBです。 sKeyの2番目のオクテットは、Key1のビット9〜16である必要があり、以下同様です。したがって、sKeyの後続オクテットは、Key3(または2キーのトリプルDESの場合はKey2)のビット57〜64である必要があります。

Proper parsing and key load of the contents of sKey for Triple DES SHALL be determined by using the following sKey OCTET STRING to generate and match the key expansion test vectors in [SP800-67], Appendix B, for the key bundle:

トリプルDESのsKeyのコンテンツの適切な解析とキーの読み込みは、次のsKey OCTET STRINGを使用して、キーバンドルの[SP800-67]、付録Bのキー拡張テストベクトルを生成および照合することによって決定する必要があります。

   Key1 = 0123456789ABCDEF
        
   Key2 = 23456789ABCDEF01
        
   Key3 = 456789ABCDEF0123
        

Tag Length Value 04 24 0123456789ABCDEF 23456789ABCDEF01 456789ABCDEF0123

タグの長さの値04 24 0123456789ABCDEF 23456789ABCDEF01 456789ABCDEF0123

5. Security Considerations
5. セキュリティに関する考慮事項

Implementers of this protocol are strongly encouraged to consider generally accepted principles of secure key management when integrating this capability within an overall security architecture.

このプロトコルの実装者は、この機能をセキュリティアーキテクチャ全体に統合する際に、一般に認められている安全な鍵管理の原則を検討することを強くお勧めします。

The symmetric key package contents are not protected. This content type can be combined with a security protocol to protect the contents of the package. One possibility is to include this content type in place of a PSKC package in [RFC6063] exchanges. In this case, the algorithm requirements are found in those documents. Another possibility is to encapsulate this content type in a CMS [RFC5652] protecting content type.

対称鍵パッケージの内容は保護されていません。このコンテンツタイプをセキュリティプロトコルと組み合わせて、パッケージのコンテンツを保護できます。 1つの可能性は、[RFC6063]交換でPSKCパッケージの代わりにこのコンテンツタイプを含めることです。この場合、アルゴリズム要件はそれらのドキュメントに記載されています。別の可能性は、このコンテンツタイプをCMS [RFC5652]保護コンテンツタイプにカプセル化することです。

6. IANA Considerations
6. IANAに関する考慮事項

This document makes use of object identifiers to identify a CMS content type (Appendix A.1), the ASN.1 version of the PSKC attributes (Appendix A.2), and the ASN.1 modules found in Appendix A.1 and A.2.

このドキュメントでは、オブジェクト識別子を使用して、CMSコンテンツタイプ(付録A.1)、PSKC属性のASN.1バージョン(付録A.2)、および付録A.1とAにあるASN.1モジュールを識別します。 .2。

All OIDs are registered in an arc delegated by RSADSI to the SMIME Working Group.

すべてのOIDは、RSADSIによってSMIMEワーキンググループに委任された弧に登録されます。

7. References
7. 参考文献
7.1. Normative References
7.1. 引用文献

[FIPS197] National Institute of Standards. "FIPS Pub 197: Advanced Encryption Standard (AES)", 26 November 2001.

[FIPS197]国立標準研究所。 「FIPS Pub 197:Advanced Encryption Standard(AES)」、2001年11月26日。

[IANAPENREG] IANA, "Private Enterprise Numbers", <http://www.iana.org>.

[IANAPENREG] IANA、「Private Enterprise Numbers」、<http://www.iana.org>。

[ISOIEC7812] ISO, "ISO/IEC 7812-1:2006 Identification cards -- Identification of issuers -- Part 1: Numbering system", October 2006, <http://www.iso.org/iso/iso_catalogue/ catalogue_tc/catalogue_detail.htm?csnumber=39698>.

[ISOIEC7812] ISO、「ISO / IEC 7812-1:2006識別カード-発行者の識別-パート1:ナンバリングシステム」、2006年10月、<http://www.iso.org/iso/iso_catalogue/ catalogue_tc / catalogue_detail.htm?csnumber = 39698>。

[OATHMAN] OATH, "List of OATH Manufacturer Prefixes (omp)", April 2009, <http://www.openauthentication.org/ oath-id/prefixes>.

[OATHMAN] OATH、「List of OATH Manufacturer Prefixes(omp)」、2009年4月、<http://www.openauthentication.org/ oath-id / prefixes>。

[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月。

[RFC3629] Yergeau, F., "UTF-8, a transformation format of ISO 10646", STD 63, RFC 3629, November 2003.

[RFC3629] Yergeau、F。、「UTF-8、ISO 10646の変換フォーマット」、STD 63、RFC 3629、2003年11月。

[RFC4514] Zeilenga, K., Ed., "Lightweight Directory Access Protocol (LDAP): String Representation of Distinguished Names", RFC 4514, June 2006.

[RFC4514] Zeilenga、K。、編、「ライトウェイトディレクトリアクセスプロトコル(LDAP):識別名の文字列表現」、RFC 4514、2006年6月。

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

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

[RFC5646] Phillips, A., Ed., and M. Davis, Ed., "Tags for Identifying Languages", BCP 47, RFC 5646, September 2009.

[RFC5646] Phillips、A.、Ed。およびM. Davis、Ed。、「Tags for Identificationing Languages」、BCP 47、RFC 5646、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月。

[RFC6019] Housley, R., "BinaryTime: An Alternate Format for Representing Date and Time in ASN.1", RFC 6019, September 2010.

[RFC6019] Housley、R。、「BinaryTime:ASN.1で日付と時刻を表すための代替フォーマット」、RFC 6019、2010年9月。

[RFC6030] Hoyer, P., Pei, M., and S. Machani, "Portable Symmetric Key Container (PSKC)", RFC 6030, October 2010.

[RFC6030] Hoyer、P.、Pei、M。、およびS. Machani、「Portable Symmetric Key Container(PSKC)」、RFC 6030、2010年10月。

[SP800-67] National Institute of Standards and Technology, "NIST Special Publication 800-67 Version 1.1: Recommendation for the Triple Data Encryption Algorithm (TDEA) Block Cipher", NIST Special Publication 800-67, May 2008.

[SP800-67]米国国立標準技術研究所、「NIST Special Publication 800-67 Version 1.1:Recommendation for the Triple Data Encryption Algorithm(TDEA)Block Cipher」、NIST Special Publication 800-67、May 2008。

[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 Recommendation X.683 (2002) | ISO/IEC 8824- 4:2002. Information Technology - Abstract Syntax Notation One: Parameterization of ASN.1 Specifications.

[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エンコーディングルール:Basic Encoding Rules(BER)、Canonical Encoding Rules(CER)、Distinguished Encoding Rules(DER)の仕様。

[XMLSCHEMA] Malhotra, A. and P. Biron, "XML Schema Part 2: Datatypes Second Edition", World Wide Web Consortium Recommendation REC-xmlschema-2-20041082, October 2004, <http://www.w3.org/TR/2004/REC-xmlschema-2-20041028>.

[XMLSCHEMA] Malhotra、A。およびP. Biron、「XML Schema Part 2:Datatypes Second Edition」、World Wide Web Consortium Recommendation REC-xmlschema-2-20041082、2004年10月、<http://www.w3.org/ TR / 2004 / REC-xmlschema-2-20041028>。

7.2. Informative References
7.2. 参考引用

[NIST800-57] National Institute of Standards and Technology, "NIST Special Publication 800-57, Recommendation for Key Management - Part 1: General (Revised)", NIST Special Publication 800-57, March 2007.

[NIST800-57]米国国立標準技術研究所、「NIST Special Publication 800-57、Recommendation for Key Management-Part 1:General(revised)」、NIST Special Publication 800-57、March 2007。

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

[RFC5652] Housley、R。、「Cryptographic Message Syntax(CMS)」、STD 70、RFC 5652、2009年9月。

[RFC6063] Doherty, A., Pei, M., Machani, S., and M. Nystrom, "Dynamic Symmetric Key Provisioning Protocol (DSKPP)", RFC 6063, December 2010.

[RFC6063] Doherty、A.、Pei、M.、Machani、S。、およびM. Nystrom、「Dynamic Symmetric Key Provisioning Protocol(DSKPP)」、RFC 6063、2010年12月。

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

This appendix provides the normative ASN.1 definitions for the structures described in this specification using ASN.1 as defined in [X.680], [X.681], [X.682], and [X.683].

この付録では、[X.680]、[X.681]、[X.682]、および[X.683]で定義されているASN.1を使用して、この仕様で説明されている構造の規範的なASN.1定義を提供します。

A.1. Symmetric Key Package ASN.1 Module
A.1. 対称鍵パッケージASN.1モジュール
   SymmetricKeyPackageModulev1
     { iso(1) member-body(2) us(840) rsadsi(113549) pkcs(1) pkcs-9(9)
       smime(16) modules(0) id-mod-symmetricKeyPkgV1(33) }
        
   DEFINITIONS IMPLICIT TAGS ::=
        

BEGIN

ベギン

-- EXPORTS ALL

-すべてエクスポート

IMPORTS

輸入

-- From New PKIX ASN.1 [RFC5912]

-新しい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 SMIME ASN.1 [RFC5911]

-新しいSMIME ASN.1 [RFC5911]から

   CONTENT-TYPE, Attribute{}
     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) }
        

;

    ContentSet CONTENT-TYPE ::= {
       ct-symmetric-key-package,
       ... -- Expect additional content types --
     }
        
     ct-symmetric-key-package CONTENT-TYPE ::=
       { TYPE SymmetricKeyPackage IDENTIFIED BY id-ct-KP-sKeyPackage }
        
     id-ct-KP-sKeyPackage OBJECT IDENTIFIER ::=
       { iso(1) member-body(2) us(840) rsadsi(113549) pkcs(1) pkcs9(9)
         smime(16) ct(1) 25 }
        
     SymmetricKeyPackage ::= SEQUENCE {
       version           KeyPkgVersion DEFAULT v1,
       sKeyPkgAttrs  [0] SEQUENCE SIZE (1..MAX) OF Attribute
                                      {{ SKeyPkgAttributes }} OPTIONAL,
       sKeys             SymmetricKeys,
       ... }
        
     SymmetricKeys ::= SEQUENCE SIZE (1..MAX) OF OneSymmetricKey
        
     OneSymmetricKey ::= SEQUENCE {
       sKeyAttrs  SEQUENCE SIZE (1..MAX) OF Attribute
                                         {{ SKeyAttributes }} OPTIONAL,
       sKey       OCTET STRING OPTIONAL }
       ( WITH COMPONENTS { ..., sKeyAttrs PRESENT } |
         WITH COMPONENTS { ..., sKey PRESENT } )
        
     KeyPkgVersion ::= INTEGER  { v1(1) } ( v1, ... )
        
     SKeyPkgAttributes ATTRIBUTE ::= { ... }
        
     SKeyAttributes ATTRIBUTE ::= { ... }
        

END

END

A.2. PSKC ASN.1 Module
A.2. PSKC ASN.1 Module
   PSKCAttributesModule
     { iso(1) member-body(2) us(840) rsadsi(113549) pkcs(1) pkcs-9(9)
       smime(16) modules(0) id-mod-pskcAttributesModule(53) }
        
   DEFINITIONS IMPLICIT TAGS ::=
        

BEGIN

ベギン

-- EXPORTS ALL

-すべてエクスポート

IMPORTS

輸入

-- From New PKIX ASN.1 [RFC5912]

-新しい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 BinaryTime [RFC6019]

-BinaryTimeから[RFC6019]

   BinaryTime
     FROM BinarySigningTimeModule
       { iso(1) member-body(2) us(840) rsadsi(113549) pkcs(1) pkcs-9(9)
         smime(16) modules(0) id-mod-binarySigningTime(27) }
        

-- From New SMIME ASN.1 [RFC5911]

-新しいSMIME ASN.1 [RFC5911]から

   id-smime
     FROM SecureMimeMessageV3dot1-2009
       { iso(1) member-body(2) us(840) rsadsi(113549) pkcs(1) pkcs-9(9)
         smime(16) modules(0) id-mod-msg-v3dot1-02(39) }
        

;

-- -- PSKC Attributes OIDs are taken from the SMIME Arc. --

--PSKC属性OIDはSMIMEアークから取得されます。 -

   id-pskc OBJECT IDENTIFIER ::= { id-smime 12 }
        

-- -- Merge SKeyPKGAttributes to the set of attributes for sKeyPkgAttrs --

--SKeyPKGAttributesをsKeyPkgAttrsの属性セットにマージします-

   SKeyPkgAttributes ATTRIBUTE ::= {
     at-pskc-manufacturer | at-pskc-serialNo | at-pskc-model |
     at-pskc-issueNo | at-pskc-deviceBinding |
     at-pskc-deviceStartDate | at-pskc-deviceExpiryDate |
     at-pskc-moduleId | at-pskc-deviceUserId, ... }
        

-- -- Merge SKeyAttributes to the set of attributes for sKeyAttrs --

--SKeyAttributesをsKeyAttrsの属性セットにマージします-

   SKeyAttributes ATTRIBUTE ::= {
     at-pskc-keyId | at-pskc-algorithm | at-pskc-issuer |
     at-pskc-keyProfileId | at-pskc-keyReference |
     at-pskc-friendlyName | at-pskc-algorithmParameters |
     at-pskc-counter | at-pskc-time | at-pskc-timeInterval |
     at-pskc-timeDrift | at-pskc-valueMAC | at-pskc-keyUserId  |
     at-pskc-keyStartDate | at-pskc-keyExpiryDate |
     at-pskc-numberOfTransactions | at-pskc-keyUsage |
     at-pskc-pinPolicy, ... }
        
   at-pskc-manufacturer ATTRIBUTE ::= {
     TYPE UTF8String IDENTIFIED BY id-pskc-manufacturer }
        
   id-pskc-manufacturer OBJECT IDENTIFIER ::= { id-pskc 1 }
        
   at-pskc-serialNo ATTRIBUTE ::= {
     TYPE UTF8String IDENTIFIED BY id-pskc-serialNo }
        
   id-pskc-serialNo OBJECT IDENTIFIER ::= { id-pskc 2 }
        
   at-pskc-model ATTRIBUTE ::= {
     TYPE UTF8String IDENTIFIED BY id-pskc-model }
        
   id-pskc-model OBJECT IDENTIFIER ::= { id-pskc 3 }
        
   at-pskc-issueNo ATTRIBUTE ::= {
     TYPE UTF8String IDENTIFIED BY id-pskc-issueNo }
        
   id-pskc-issueNo OBJECT IDENTIFIER ::= { id-pskc 4 }
        
   at-pskc-deviceBinding ATTRIBUTE ::= {
     TYPE UTF8String IDENTIFIED BY id-pskc-deviceBinding }
        
   id-pskc-deviceBinding OBJECT IDENTIFIER ::= { id-pskc 5 }
        
   at-pskc-deviceStartDate ATTRIBUTE ::= {
     TYPE GeneralizedTime IDENTIFIED BY id-pskc-deviceStartDate }
        
   id-pskc-deviceStartDate OBJECT IDENTIFIER ::= { id-pskc 6 }
        
   at-pskc-deviceExpiryDate ATTRIBUTE ::= {
     TYPE GeneralizedTime IDENTIFIED BY id-pskc-deviceExpiryDate }
        
   id-pskc-deviceExpiryDate OBJECT IDENTIFIER ::= { id-pskc 7 }
        
   at-pskc-moduleId ATTRIBUTE ::= {
     TYPE UTF8String IDENTIFIED BY id-pskc-moduleId }
        
   id-pskc-moduleId OBJECT IDENTIFIER ::= { id-pskc 8 }
        
   at-pskc-deviceUserId ATTRIBUTE ::= {
     TYPE UTF8String IDENTIFIED BY id-pskc-deviceUserId }
        
   id-pskc-deviceUserId OBJECT IDENTIFIER ::= { id-pskc 26 }
        
   at-pskc-keyId ATTRIBUTE ::= {
     TYPE UTF8String IDENTIFIED BY id-pskc-keyId }
        
   id-pskc-keyId OBJECT IDENTIFIER ::= { id-pskc 9 }
   at-pskc-algorithm ATTRIBUTE ::= {
     TYPE UTF8String IDENTIFIED BY id-pskc-algorithm }
        
   id-pskc-algorithm OBJECT IDENTIFIER ::= { id-pskc 10 }
        
   at-pskc-issuer ATTRIBUTE ::= {
     TYPE UTF8String IDENTIFIED BY id-pskc-issuer }
        
   id-pskc-issuer OBJECT IDENTIFIER ::= { id-pskc 11 }
        
   at-pskc-keyProfileId ATTRIBUTE ::= {
     TYPE UTF8String IDENTIFIED BY id-pskc-keyProfileId }
        
   id-pskc-keyProfileId OBJECT IDENTIFIER ::= { id-pskc 12 }
        
   at-pskc-keyReference ATTRIBUTE ::= {
     TYPE UTF8String IDENTIFIED BY id-pskc-keyReference }
        
   id-pskc-keyReference OBJECT IDENTIFIER ::= { id-pskc 13 }
        
   at-pskc-friendlyName ATTRIBUTE ::= {
     TYPE FriendlyName IDENTIFIED BY id-pskc-friendlyName }
        
   id-pskc-friendlyName OBJECT IDENTIFIER ::= { id-pskc 14 }
        
   FriendlyName ::= SEQUENCE {
     friendlyName        UTF8String,
     friendlyNameLangTag UTF8String OPTIONAL }
        
   at-pskc-algorithmParameters ATTRIBUTE ::= {
     TYPE PSKCAlgorithmParameters
     IDENTIFIED BY id-pskc-algorithmParameters }
        
   id-pskc-algorithmParameters OBJECT IDENTIFIER ::= { id-pskc 15 }
        
   PSKCAlgorithmParameters ::= CHOICE {
     suite                UTF8String,
     challengeFormat  [0] ChallengeFormat,
     responseFormat   [1] ResponseFormat,
     ... }
        
   ChallengeFormat ::= SEQUENCE {
     encoding    Encoding,
     checkDigit  BOOLEAN DEFAULT FALSE,
     min         INTEGER (0..MAX),
     max         INTEGER (0..MAX),
     ... }
        
   Encoding ::= UTF8String ("DECIMAL" | "HEXADECIMAL" |
                "ALPHANUMERIC" | "BASE64" | "BINARY" )
        
   ResponseFormat ::= SEQUENCE {
     encoding     Encoding,
     length       INTEGER (0..MAX),
     checkDigit   BOOLEAN DEFAULT FALSE,
     ... }
        
   at-pskc-counter ATTRIBUTE ::= {
     TYPE INTEGER (0..MAX) IDENTIFIED BY id-pskc-counter }
        
   id-pskc-counter OBJECT IDENTIFIER ::= { id-pskc 16 }
        
   at-pskc-time ATTRIBUTE ::= {
     TYPE BinaryTime IDENTIFIED BY id-pskc-time }
        
   id-pskc-time OBJECT IDENTIFIER ::= { id-pskc 17 }
        
   at-pskc-timeInterval ATTRIBUTE ::= {
     TYPE INTEGER (0..MAX) IDENTIFIED BY id-pskc-timeInterval }
        
   id-pskc-timeInterval OBJECT IDENTIFIER ::= { id-pskc 18 }
        
   at-pskc-timeDrift ATTRIBUTE ::= {
     TYPE INTEGER (0..MAX) IDENTIFIED BY id-pskc-timeDrift }
        
   id-pskc-timeDrift OBJECT IDENTIFIER ::= { id-pskc 19 }
        
   at-pskc-valueMAC ATTRIBUTE ::= {
     TYPE ValueMac IDENTIFIED BY id-pskc-valueMAC }
        
   id-pskc-valueMAC OBJECT IDENTIFIER ::= { id-pskc 20 }
        
   ValueMac ::= SEQUENCE {
     macAlgorithm UTF8String,
     mac          UTF8String }
        
   at-pskc-keyUserId ATTRIBUTE ::= {
     TYPE UTF8String IDENTIFIED BY id-pskc-keyUserId }
        
   id-pskc-keyUserId OBJECT IDENTIFIER ::= { id-pskc 27 }
        
   at-pskc-keyStartDate ATTRIBUTE ::= {
     TYPE GeneralizedTime IDENTIFIED BY id-pskc-keyStartDate }
        
   id-pskc-keyStartDate OBJECT IDENTIFIER ::= { id-pskc 21 }
   at-pskc-keyExpiryDate ATTRIBUTE ::= {
     TYPE GeneralizedTime IDENTIFIED BY id-pskc-keyExpiryDate }
        
   id-pskc-keyExpiryDate OBJECT IDENTIFIER ::= { id-pskc 22 }
        
   at-pskc-numberOfTransactions ATTRIBUTE ::= {
     TYPE INTEGER (0..MAX) IDENTIFIED BY id-pskc-numberOfTransactions }
        
   id-pskc-numberOfTransactions OBJECT IDENTIFIER ::= { id-pskc 23 }
        
   at-pskc-keyUsage ATTRIBUTE ::= {
     TYPE PSKCKeyUsages IDENTIFIED BY id-pskc-keyUsages }
        
   id-pskc-keyUsages OBJECT IDENTIFIER ::= { id-pskc 24 }
        
   PSKCKeyUsages ::= SEQUENCE OF PSKCKeyUsage
        
   PSKCKeyUsage ::= UTF8String ("OTP" | "CR" | "Encrypt" |
                    "Integrity" | "Verify" | "Unlock" | "Decrypt" |
                    "KeyWrap" | "Unwrap" | "Derive" | "Generate")
        
   at-pskc-pinPolicy ATTRIBUTE ::= {
     TYPE PINPolicy IDENTIFIED BY id-pskc-pinPolicy }
        
   id-pskc-pinPolicy OBJECT IDENTIFIER ::= { id-pskc 25 }
        
   PINPolicy ::= SEQUENCE {
     pinKeyId          [0] UTF8String OPTIONAL,
     pinUsageMode      [1] PINUsageMode,
     maxFailedAttempts [2] INTEGER (0..MAX) OPTIONAL,
     minLength         [3] INTEGER (0..MAX) OPTIONAL,
     maxLength         [4] INTEGER (0..MAX) OPTIONAL,
     pinEncoding       [5] Encoding OPTIONAL }
        
   PINUsageMode ::= UTF8String ("Local" | "Prepend" | "Append"|
                    "Algorithmic")
        

END

終わり

Authors' Addresses

著者のアドレス

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
        

Russell Housley Vigil Security, LLC 918 Spring Knoll Drive Herndon, VA 20170 USA

Russell Housley Vigil Security, LLC 918 Spring Knoll Drive Herndon, VA 20170 USA

   EMail: housley@vigilsec.com