>サイトトップへ >このカテゴリの一覧へ

X 6320-15

:2006 (ISO/IEC 7816-15:2004)

(1)

まえがき

この規格は,工業標準化法第 12 条第 1 項の規定に基づき,社団法人ビジネス機械・情報システム産業協

会(JBMIA)/財団法人日本規格協会(JSA)から,工業標準原案を具して日本工業規格を制定すべきとの申出

があり,日本工業標準調査会の審議を経て,経済産業大臣が制定した日本工業規格である。

制定に当たっては,日本工業規格と国際規格との対比,国際規格に一致した日本工業規格の作成及び日

本工業規格を基礎にした国際規格原案の提案を容易にするために,ISO/IEC 7816-15:2004,Identification

cards

−Integrated circuit cards−Part 15:Cryptographic information application を基礎として用いた。

この規格の一部が,技術的性質をもつ特許権,出願公開後の特許出願,実用新案権,又は出願公開後の

実用新案登録出願に抵触する可能性があることに注意を喚起する。経済産業大臣及び日本工業標準調査会

は,このような技術的性質をもつ特許権,出願公開後の特許出願,実用新案権,又は出願公開後の実用新

案登録出願にかかわる確認について,責任をもたない。

JIS X 6320-15

には,次に示す附属書がある。

附属書 A(規定)ASN.1 モジュール

附属書 B(参考)ディジタル署名及び認証機能のあるカードの CIA の例

附属書 C(参考)ファイル構成例及びファイル参照例

附属書 D(参考)CIO 値及びその符号化の例

JIS X 6320

の規格群には,次に示す部編成が予定されている。

JIS

X

6320-1

第 1 部:物理的特性(予定)

JIS

X

6320-2

第 2 部:端子の寸法及び位置(予定)

JIS

X

6320-3

第 3 部:電気インタフェース及び伝送プロトコル(予定)

JIS

X

6320-4

第 4 部:交換のための構成,セキュリティ及びコマンド(予定)

JIS

X

6320-5

第 5 部:アプリケーション提供者識別子の登録

JIS

X

6320-6

第 6 部:交換のための産業間共通データ要素

JIS

X

6320-8

第 8 部:セキュリティ処理コマンド

JIS

X

6320-9

第 9 部:カード管理共通コマンド

JIS

X

6320-11

第 11 部:生体認証手法を用いた個人照合(予定)

JIS

X

6320-12

第 12 部:USB 電気インタフェース及びオペレーティング手順(予定)

JIS

X

6320-13

第 13 部:マルチアプリケーション環境におけるアプリケーション管理用コマンド(予

定)

JIS

X

6320-15

第 15 部:暗号情報アプリケーション


X 6320-15

:2006 (ISO/IEC 7816-15:2004)

目  次

ページ

序文

1

1.

  適用範囲

1

2.

  引用規格

2

3.

  定義

3

4.

  記号及び略語

5

4.1

  記号

5

4.2

  略語

5

5.

  記法

6

6.

  暗号情報オブジェクト

6

6.1

  はじめに

6

6.2

  CIO クラス

6

6.3

  属性

7

6.4

  アクセス制約

7

7.

  CIO ファイル

7

7.1

  概要

7

7.2

  IC カード要件

8

7.3

  カードのファイル構造

8

7.4

  EF.DIR

8

7.5

  DF.CIA の内容

9

8.

  ASN.1 の情報構文

11

8.1

  指針及び符号化規約

11

8.2

  基本型の ASN.1 記法での定義

12

8.3

  CIOChoice 

20

8.4

  プライベートかぎ情報オブジェクト

21

8.5

  公開かぎ情報オブジェクト

23

8.6

  秘密かぎ情報オブジェクト

25

8.7

  証明書情報オブジェクト

25

8.8

  データコンテナ情報オブジェクト

27

8.9

  認証情報オブジェクト

28

8.10

  暗号情報ファイル EF.CIAInfo 

33

附属書 A(規定)ASN.1 モジュール

36

附属書 B(参考)ディジタル署名及び認証機能のあるカードの CIA の例

51

附属書 C(参考)ファイル構成例及びファイル参照例

54

附属書 D(参考)CIO 値及びその符号化の例

56

関連規格

69


日本工業規格

JIS

 X

6320-15

:2006

(ISO/IEC 7816-15

:2004

)

IC

カード−第 15 部:暗号情報アプリケーション

Identification cards

−Integrated circuit cards−

Part 15:Cryptographic information application

序文  この規格は,2004 年に第 1 版として発行された ISO/IEC 7816-15,Identification cards−Integrated circuit

cards

−Part 15:Cryptographic information application を翻訳し,技術的内容及び規格票の様式を変更するこ

となく作成した日本工業規格である。原国際規格 ISO/IEC 7816-15 は,PKCS #15 V1.1  を基としている(関

連規格参照)

なお,この規格で点線の下線を施してある“参考”は,原国際規格にはない事項である。

1.

適用範囲  この規格は,カード内のアプリケーションを規定する。このアプリケーションは,暗号機

能に関する情報を含む。この規格は,暗号情報に共通する構文及び形式を定義し,適応可能な場合にこの

情報を共有する機構を定義する。

  この規格の目的は,次のとおりとする。

−  様々なプラットフォームで動作する構成要素間の相互運用性を促進する(プラットフォーム独立)

−  外部のアプリケーションが多くの製造業者からの製品及び構成要素を利用できるようにする

(製造業

者独立)

−  アプリケーションレベルのソフトウェアを書き直さずに技術の進歩を利用できるようにする

(アプリ

ケーション独立)

−  必要で実際的な場合だけに既存規格を基に拡大しながら,

既存の関係する規格との整合性を維持する。

この規格は,次の機能を提供する。

−  1 枚のカードへの暗号情報の複数インスタンスの格納

−  暗号情報の利用

−  暗号情報の検索。検索のための要点は,

“ディレクトリファイル”の概念であり,これは,カード内

のオブジェクトとこれらのオブジェクトの実形式との間の間接参照層を提供する。

−  適切なときには,JIS X 6320-6 で定義されている DO (Data Object)との暗号情報の相互参照

−  異なる認証機構

−  複数の暗号アルゴリズム(適切か否かは,この規格の適用範囲外とする。

  この規格は,カードの内部及び/又は外部の実装を規定しない。この規格を遵守する実装が記述されてい

るすべての任意選択の機能を具備することは必す(須)ではない。

本体の ASN.1 定義と

附属書 A(規定)のモジュールとの間に矛盾がある場合,附属書 A(規定)が優先

する。

備考  この規格の対応国際規格を,次に示す。

なお,対応の程度を表す記号は,ISO/IEC Guide 21 に基づき,IDT(一致している)

,MOD


2

X 6320-15

:2006 (ISO/IEC 7816-15:2004)

(修正している)

,NEQ(同等でない)とする。

ISO/IEC 7816-15:2004

, Identification cards − Integrated circuit cards − Part 15 : Cryptographic

information application

(IDT)

2.

引用規格  次に掲げる規格は,この規格に引用されることによって,この規格の規定の一部を構成す

る。これらの引用規格のうちで,発効年又は発行年を付記してあるものは,記載の年の版だけがこの規格

の規定を構成するものであって,その後の改正版・追補には適用しない。

JIS X 0221-1:2001

  国際符号化文字集合 (UCS) −第 1 部:体系及び基本多言語面

備考  ISO/IEC 10646-1:2000  Information technology−Universal Multiple-Octet Coded Character Set

(UCS)

−Part 1: Architecture and Basic Multilingual Plane が,この規格と一致している。

JIS X 5606-1:1998

  情報技術−ASN.1 符号化規則−第 1 部:基本符号化規則 (BER),標準符号化規則

(CER)

及び識別符号化規則 (DER) の仕様

備考  ISO/IEC 8825-1:1995  Information technology−ASN.1 encoding rules Part 1: Specification of

Basic Encoding Rules (BER)

,Canonical Encoding Rules (CER) and Distinguished Encoding Rules

(DER)が,この規格と一致している。ただし,最新の国際標準は,ISO/IEC 8825-1:2002

となっている。

JIS X 5731-8:2003

  開放型システム間相互接続−ディレクトリ−第 8 部:認証の枠組み

備考  ISO/IEC 9594-8:2001  Information technology−Open Systems Interconnection−The Directory:

Public-key and attribute certificate frameworks

が,この規格と一致している。

JIS X 6320-6:2006  IC

カード−第 6 部:交換のための産業間共通データ要素

備考  ISO/IEC 7816-6:2004  Identification cards−Integrated circuit cards−Part 6: Interindustry data

elements for interchange

が,この規格に一致する。

JIS X 6320-8:2006  IC

カード−第 8 部:セキュリティ処理コマンド

備考  ISO/IEC 7816-8:2004   Identification cards−Integrated circuit cards−Part 8: Commands for

security operations

が,この規格に一致する。

ISO/IEC 7816-4:2005

,Identification cards−Integrated circuit cards−Part 4: Organization,security and

commands for interchange

備考  JIS としては,ISO/IEC 7816-4:1994 Identification cards−Integrated circuit(s) cards with contacts

−Part 4: Interindustry commands for interchange の MOD として“JIS X 6306:1995  外部端子付

き IC カード−共通コマンド”が存在するが,ISO/IEC 7816-4:2005 に対応していない。

ISO/IEC 7816-11:2004

,Identification cards−Integrated circuit cards−Part 11: Personal verfication through

biometric methods

ISO/IEC 8824-1:1998

,Information technology−Abstract Syntax Notation One (ASN.1) : Specification of

basic notation

備考  “JIS X 5605-1:1998  情報技術−抽象構文記法 1 (ASN.1)  仕様−第 1 部:基本記法の仕様”

が ISO/IEC 8824-1:1995,Information technology−Abstract Syntax Notation One (ASN.1) Part 1:

Specification of basic notation

と一致する。

ISO/IEC 8824-2:1998

,Information technology−Abstract Syntax Notation One (ASN.1): Information object

specification

備考  “JIS X 5605-2:1998  情報技術−抽象構文記法 1 (ASN.1)  仕様−第 2 部:情報オブジェクト


3

X 6320-15

:2006 (ISO/IEC 7816-15:2004)

仕様”が ISO/IEC 8824-2:1995,Information technology−Abstract Syntax Notation One (ASN.1)

Part 2: Information object specification

と一致している。

ISO/IEC 8824-3:1998

, Information technology − Abstract Syntax Notation One (ASN.1): Constraint

specification

備考  “JIS X 5605-3:1998  情報技術−抽象構文記法 1 (ASN.1) 仕様−第 3 部:制約仕様”が

ISO/IEC 8824-3:1995

,Information technology−Abstract Syntax Notation One (ASN.1) Part 3:

Constraint specification

と一致している。

ISO/IEC 8824-4:1998

,Information technology−Abstract Syntax Notation One (ASN.1): Parameterization of

ASN.1 specifications

備考  “JIS X 5605-4:1998  情報技術−抽象構文記法 1 (ASN.1)  仕様−第 4 部:ASN.1 仕様のパラ

メータ化”が ISO/IEC 8824-4:1995,Information technology−Abstract Syntax Notation One

(ASN.1) Part 4: Parameterization of ASN.1 specifications

と一致している。

ISO/IEC 8825-2:1998

,ITU-T Recommendation X.691 (1997),Information technology−ASN.1 encoding

rules: Specification of Packed Encoding Rules (PER)

ISO 9564-1:2002

,Banking−Personal Identification Number (PIN) management and security−Part 1: Basic

principles and requirements for online PIN handling in ATM and POS systems

ISO/IEC 9594-6:1998

,ITU-T Recommendation X.520 (1997),Information technology−Open Systems

Interconnection

−The Directory: Selected attribute types

ANSI X3.4: 1986

,Coded Character Sets−7-Bit American National Standard Code for InformationInterchange

ANSI X9.42:2003

,Public Key Cryptography for the Financial Services Industry: Agreement of Symmetric

Keys Using Discrete Logarithm Cryptography

ANSI X9.62:1998

,Public Key Cryptography for the Financial Services Industry: The Elliptic Curve Digital

Signature Algorithm (ECDSA)

ANSI X9.68-2:2001

,Digital Certificates for Mobile/Wireless and High Transaction Volume Financial Systems:

Part 2: Domain Certificate Syntax

3.

定義  この規格で用いる主な用語の定義は,次による。

3.1

絶対パス(absolute path)  ファイル識別子‘3F00’から始まるパス。

3.2

アプリケーション(application)  特定機能の実行に必要なデータ構造,データ要素及びプログラム

モジュール(ISO/IEC 7816-4 による。

3.3

アプリケーション識別子(application identifier)  カード内のアプリケーションを識別するデータ要

素(ISO/IEC 7816-4 による。

3.4

アプリケーション提供者(application provider)  カード内のアプリケーションを実行するために必要

な構成要素を提供するエンティティ(ISO/IEC 7816-4による。

3.5

認証情報オブジェクト(authentication information object)  認証関係データについての情報を提供す

る暗号情報オブジェクト(例えば,パスワード)

3.6

認証オブジェクトディレクトリファイル(authentication object directory file)  認証情報オブジェクト

を含む基礎ファイル。

3.7

  2

進化 10 進数(binary coded decimal)  数値が一連の 10 進数として表現され,各 10 進数字が 4 ビッ

トの 2 進数として符号化される数値表現。


4

X 6320-15

:2006 (ISO/IEC 7816-15:2004)

3.8

カード保有者(card holder)  カードを発行された人。

3.9

カード発行者(card issuer)  カードを発行する組織又はエンティティ。

3.10

証明書ディレクトリファイル(certificate directory file)  証明書情報オブジェクトを含む基礎ファイ

ル。

3.11

証明書情報オブジェクト(certificate information object)  証明書についての情報を提供する暗号情報

オブジェクト。

3.12

コマンド(command)  カードに対して動作を開始し,応答を求めるメッセージ。

3.13

暗号情報アプリケーション(cryptographic information application)  暗号情報オブジェクト,暗号以

外のセキュリティデータ要素及びそれらの用途に関する情報を含むカード内のアプリケーション。

3.14

暗号情報オブジェクト(cryptographic information object)  暗号データ要素。例えば,公開かぎ又は

証明書を記述する CIA(Cryptographic Information Application)に含まれている構造化された情報。

3.15

データコンテナ情報オブジェクト(data container information object)  データコンテナ(例えば,フ

ァイル)についての情報を提供する暗号情報オブジェクト。

3.16

データコンテナオブジェクトディレクトリファイル(data container object directory file)  データコ

ンテナ情報オブジェクトを含む基礎ファイル。

3.17

専用ファイル(dedicated file: DF)  ファイル制御情報及び任意選択で割当てに使用可能なメモリを

含む構造体(ISO/IEC 7816-4 による)

3.18

ディレクトリファイル[directory(DIR)file]  カードによって支援されているアプリケーションのリ

スト及び付加的な関連データ要素を含むオプションの基礎ファイル(ISO/IEC 7816-4 による。

3.19

基礎ファイル(elementary file: EF)  同じファイル識別子と同じセキュリティ属性を共有するデータ

ユニット,レコード又はデータオブジェクトのセット(ISO/IEC 7816-4 による。

3.20

ファイル識別子(file identifier)  ファイルに位置づけるために用いられるデータ要素(2バイト)

ISO/IEC 7816-4による。

3.21

機能(function)  一つ以上のコマンド及び実行結果に伴う動作によって達成されるプロセス。

3.22

マスタファイル(master file: MF)  専用ファイルの階層に用いるカード内のルートを表す唯一の専

用ファイル(ISO/IEC 7816-4による。

備考  マスタファイルはファイル識別子“3F00”をもつ。

3.23

メッセージ(message)  伝送用文字を除いた,接続装置からカードに,又はその反対に送られるバ

イト列。

3.24

オブジェクトディレクトリファイル(object directory file)  他のCIAディレクトリファイルについて

の情報を含む必す基礎ファイル。

3.25

パスワード(password)  アプリケーションによって要求する認証のために利用者が提示する情報

ISO/IEC 7816-4による。

3.26

パス(path)  区切りのないファイル識別子の連結(ISO/IEC 7816-4による。)。

3.27

プライベートかぎ(鍵)ディレクトリファイル(private key directory file)  プライベートかぎ情報

オブジェクトを含む基礎ファイル。

3.28

プライベートかぎ(鍵)情報オブジェクト(private key information object)  プライベートかぎにつ

いての情報を提供する暗号情報オブジェクト。

3.29

プロバイダ(provider)  カード内に専用ファイルを作成する権利を取得した機関(ISO/IEC 7816-4

による。


5

X 6320-15

:2006 (ISO/IEC 7816-15:2004)

3.30

公開かぎ(鍵)ディレクトリファイル(public key directory file)  公開かぎ情報オブジェクトを含む

基礎ファイル。

3.31

公開かぎ(鍵)情報オブジェクト(public key information object)  公開かぎについての情報を提供

する暗号情報オブジェクト。

3.32

レコード(record)  レコード構造の基礎ファイル内にあり,カードによって参照処理されるバイト

列(ISO/IEC 7816-4による。

3.33

相対パス(relative path)  カレントのDFのファイル識別子で始まるパス。

3.34

秘密かぎ(鍵)ディレクトリファイル(secret key directory file)  秘密かぎ情報オブジェクトを含む

基礎ファイル。

3.35 

秘密かぎ(鍵)情報オブジェクト(secret key information object)  秘密かぎについての情報を提供す

る暗号情報オブジェクト。

3.36

テンプレート(template)  構造化データオブジェクトの値フィールドを構成するデータオブジェク

トのセット(JIS X 6320-6による。

4.

記号及び略語

4.1

記号  この規格では,次の記号を用いる。

DF.

x

専用ファイル

x

x

は,ファイルの頭字語である。

EF.

x

      基礎ファイル

x

x

は,ファイルの頭字語である。

“0”

∼ “F”  16 進数

4.2

略語  この規格では,次の略語を用いる。

AID 

アプリケーション識別子(Application identifier)

AOD 

認証オブジェクト  ディレクトリ(Authentication object directory)

BCD     2

進符号化10進数(Binary-coded decimal)

CD

証明書ディレクトリ(Certificate directory)

CDE 

暗号データ要素(Cryptographic data element)

CIA 

暗号情報アプリケーション(Cryptographic information application)

CIO

暗号情報オブジェクト(Cryptographic information object)

CV 

検証可能カード(Card-verifiable)

DCOD

データコンテナオブジェクトディレクトリ(Data container object directory)

DDO

任意のデータオブジェクト(Discretionary data object)

DF

専用ファイル(Dedicated file)

DH

ディフィ  ヘルマン(Diffie-Hellman)

DSA 

ディジタル署名アルゴリズム(Digital Signature Algorithm)

EC 

だ円曲線(Elliptic Curve)

EF 

基礎ファイル(Elementary file)

IDO

JIS X 6320-6

によって定義されている共通データオブジェクト(Interindustry data object)

IFD

インタフェースデバイス(Interface device)

KEA 

かぎ交換アルゴリズム(Key Exchange Algorithm)

MF

マスタファイル(Master file)

OD

オブジェクトディレクトリ(Object directory)


6

X 6320-15

:2006 (ISO/IEC 7816-15:2004)

PKCS 

公開かぎ暗号規格(Public-key cryptography standard)

PrKD

プライベートかぎディレクトリ(Private key directory)

PuKD

公開かぎディレクトリ(Public key directory)

RSA

ライベスト-シャマール-アドレマン(Rivest-Shamir-Adleman)

SKD

秘密かぎディレクトリ(Secret key directory)

SPKI

単純公開かぎ基盤(Simple Public Key Infrastructure)

UCS

国際符号化文字集合(Universal multiple-octet coded character set)

JIS X 0221-1参照)

URL 

統一リソースロケータ(Uniform resource locator)

UTC

協定世界時(Coordinated universal time)

UTF-8   UCS

変換形式8(UCS transformation format 8)

WTLS

ワイヤレスアプリケーションプロトコルトランスポート層セキュリティ(Wireless Application

Protocol transport layer security

5.

記法  この規格は,ASN.1 記法を太字体で示している。ASN.1 型及び値が通常文章で参照されている

場合,それらを太字体で示すことによって通常文章から区別する。英字アルファベット又は“−”(細別符

号)とせず,アラビア数字を細別符号としている場合,各事項は,手順のステップを表す。

6.

暗号情報オブジェクト

6.1

はじめに  この規格は,次の内容を提示する。

−  カード内に含まれている暗号情報を記述するオブジェクトの記法

−  この情報の意図した用途の記法

−  この情報を取り出すことが可能な場合の取出し方

−  抽象構文記法の基本符号化規則

−  情報のオブジェクトモデル

情報は,CIO の型で記述する。その情報は,アクセス制御情報を含んでもよい。

6.2

CIO

クラス  この規格は,次の四つの CIO クラスを定義する。

−  暗号かぎ情報オブジェクト

−  証明書情報オブジェクト

−  データコンテナ情報オブジェクト

−  認証情報オブジェクト

これらの CIO(暗号情報オブジェクト)の論理構造を

図 に示す。暗号かぎ情報オブジェクトのオブジ

ェクトクラスは,プライベートかぎ,秘密かぎ及び公開かぎ情報オブジェクトという三つのサブクラスを

もつ。CIO は,属性を上位レベルのクラスから継承し,CIO をカード上にインスタンス化してもよい。


7

X 6320-15

:2006 (ISO/IEC 7816-15:2004)

図 1  CIO クラスの階層

6.3

属性  すべての CIO は,幾つかの属性をもつ。タイプ固有属性は,常に存在する。グループ固有属

性及びすべての CIO に共通する属性は,

図 に示しているように継承する。属性を 8.で定義する。

図 2  属性継承の概念

6.4

アクセス制約  CDE は,プライベート(これは,CDE が不正アクセスに対して保護されることを意

味している。

)又はパブリックであることができる。プライベート CDE へのアクセス(読取り,書込みな

ど)は,認証情報オブジェクトのメソッドによって記述する。

(カード保有者の観点からの)条件付きアク

セスは,事前登録された保有者情報,生体認証情報又は暗号手段で行う。パブリック CDE は,読取動作か

ら保護しない。

7.

CIO

ファイル

7.1

概要  CIO は,基礎ファイルに格納する。CIO は,一般には CDE を参照するが,CDE を直接含めて

もよい。専用ファイル(DF.CIA)は,CIO 基礎ファイルを含む。CIO は,他の専用ファイルの下に存在し

てもよい。その場合には,DF.CIA から参照する。

暗号情報

オブジェクト

暗号かぎ情報

オブジェクト

証明書情報

オブジェクト

データコンテナ

情報オブジェクト

認証情報

オブジェクト

秘密かぎ

情 報 オ

ブ ジ ェ

クト

X509

証明書情

報オブジ

ェク

デー タ オ ブ

ジェ ク ト 情

報オ ブ ジ ェ

クト

その他の

証明書情

報オブジ

ェク

公開かぎ

情報オブ

ジェクト

CV 証明

書情報オ

ブジェク

デ ー タ ・

ファイル

情報オブ

ジェクト

パスワー

ド情報オ

ブジェク

生体認証

データ情

報オブジ

ェクト

外部認証

情報オブ

ジェクト

プライベ

ートかぎ

情報オブ

ジェクト

共通 CIO 属性

クラス固有 CIO

属性

サブクラス固有

CIO

属性

タイプ固有 CIO

属性


8

X 6320-15

:2006 (ISO/IEC 7816-15:2004)

7.2

IC

カード要件  カードは,次の内容を使用するときは,JIS X 6320 規格群の適切な部を遵守しなけ

ればならない。

−  階層論理ファイルシステム

−  直接又は間接アプリケーション選択

−  アクセス制御機構

−  読取り処理

−  暗号処理

7.3

カードのファイル構造  この規格に準じる典型的なカードは,次のファイル構造をもつ。

図 3  DF.CIA の構造例

備考  この規格の目的に関する限り,EF.DIR が必要となるのは, ISO/IEC 7816-4 に定義されている

DF

名として AID を使用したアプリケーション選択機能のないカードの場合,又は 1 枚のカー

ドに複数の CIA が存在する場合である。

他のファイル構造例を

附属書 C(参考)に示す。各ファイル及びディレクトリの内容と目的を次に説明

する。

7.4

EF.DIR

  MF の下にあるこのファイル(ファイル識別子: “2F00”)が存在する場合,ISO/IEC 7816-4

に定義されている一つ又は複数のアプリケーションテンプレートを含んでいなければならない。CIA 用の

アプリケーションテンプレート(タグ“61”)は,少なくとも次の IDO を含んでいなければならない。

−  アプリケーション識別子(タグ“4F”)

7.5.5 で定義されている値

−  パス(タグ“51”)

,アプリケーション提供者によって提供される値

  ISO/IEC 7816-4 で規定されている他の IDO も,アプリケーション提供者の自由裁量で,存在していもよ

い。特に,アプリケーション提供者に“付加的なデータオブジェクト”データオブジェクト(タグ“73”)

及び“アプリケーションラベル”データオブジェクト(タグ“50”)の両方を含めることを推奨する。この

アプリケーションラベルには,アプリケーション提供者がそのアプリケーションにつけたラベルを UTF-8

で符号化したものがはいっていなければならない。

“自由裁量データオブジェクト”

データオブジェクトは,

存在する場合,ASN.1 データ型 CIODDO の DER 符号化  (JIS X 5606-1)  値を含んでいなければならない。

CIODDO ::= SEQUENCE { 

providerId  

OBJECT IDENTIFIER OPTIONAL,

odfPath  

Path OPTIONAL,

ciaInfoPath

[0] Path OPTIONAL,

aid

[APPLICATION 15] OCTET STRING 

SIZE1..16

,

CONSTRAINED BY {-- ISO/IEC 7816-4に従ったAIDとする--}

OPTIONAL,

EF.OD

EF.AOD

EF.PrKD

EF.CD

EF.PuKD

EF.SKD

EF.DCOD

EF.CIAInfo

DF.CIA

EF.DIR

MF


9

X 6320-15

:2006 (ISO/IEC 7816-15:2004)

... -- 

将来の拡張のため

 

コンテキストタグ 1 は,歴史的理由によって使用してはならない。

備考1. PKCS#15 は,コンテキストタグ 1 を使用する。

2.

ISO/IEC 7816-4

に従ったアプリケーションテンプレートが存在するときに,CIODDO 

SEQUENCE

(“30”)タグを,暗黙のタグ付与によってタグ[APPLICATION 19](“73”)に置

き換える。例については,

附属書 D.8 を参照されたい。

  providerId 構成要素が存在する場合,CIA プロバイダを一意に識別するオブジェクト識別子を含んでい

なければならない。odfPath 及び ciaInfoPath 構成要素が存在する場合,それぞれ基礎ファイル EF.OD 及

び EF.CIAInfo へのパスを含んでいなければならない。これは,発行者が相互運用性を損なうことなしにこ

れらの基礎ファイルに非標準ファイル識別子を使用する手段を提供する。また,複数の CIA が 1 枚のカー

ドに存在しているときに,CIA 間で CIAInfo ファイルを共有する機会をカード発行者に提供する。aid 

成要素が存在する場合,この CIA を適用するアプリケーションを示さなければならない。

  DIR ファイルを使用すると,複数の CIA が 1 枚のカードに存在しているときに,アプリケーション選択

が簡単になる。その使用方法は,ISO/IEC 7816-4 に説明されている。

7.5

DF.CIA

の内容

7.5.1

概要  表 は,DF.CIA にある基礎(必す及び任意選択)ファイルを,その予約ファイル識別子と

ともに示している。ファイル構造(順編成レコード又は透過)を最後の列に示している。

表 1  DF.CIA にある基礎ファイル

ファイル

必す

(省略時の)ファ

イル識別子

短縮 EF 識別子

ファイル構造

CIAInfo

“5032” “12”

透過

OD

“5031” “11”

順編成レコード又は透過

AODs

順編成レコード又は透過

PrKDs

順編成レコード又は透過

PuKDs

順編成レコード又は透過

SKDs

順編成レコード又は透過

CDs

順編成レコード又は透過

DCODs

順編成レコード又は透過

--

“5033”

(この規格の制定以前に予約されている値)

7.5.2

EF.CIAInfo

  CIAInfo EF は,CIO の使用に関係して,カード及びその能力についての情報を含んで

いなければならない。次の情報が常に存在していなければならない。

−  版番号

−  カード特性

次の情報は,存在してもよい。

−  CIA シリアル番号

−  製造業者識別

−  カードラベル

−  割り当てられているセキュリティ環境

−  ファイル構造

−  支援されているアルゴリズム

−  発行者識別


10

X 6320-15

:2006 (ISO/IEC 7816-15:2004)

−  保有者認証

−  最終更新の時間

7.5.3

EF.OD

  オブジェクトディレクトリファイル(EF.OD)は,他の CIO.EF 基礎ファイルへの参照ポ

インタを含むことができる基礎ファイルとする。

図 で,EF.OD と他の CIO EF との関係を示す(簡単に

するため,各タイプの一つの参照ファイルだけを示す。

)。EF.OD の内容の ASN.1 構文を 8.3 で規定する。

図 4  EF.OD を用いた CIO の間接検索

7.5.4

CIO

ディレクトリファイル  各 CIO ディレクトリファイルは,次の種類の CIO を含む。

−プライベートかぎディレクトリファイルは,プライベートかぎ情報オブジェクトを含む。

−公開かぎディレクトリファイルは,公開かぎ情報オブジェクトを含む。

−秘密かぎディレクトリファイルは,秘密かぎ情報オブジェクトを含む。

−証明書ディレクトリファイルは,証明書情報オブジェクトを含む。

−データコンテナオブジェクトディレクトリファイルは,データコンテナ情報オブジェクトを含む。

−認証オブジェクトディレクトリファイルは,認証情報オブジェクトを含む。

同じ種類の複数の CIO ディレクトリファイルが一つの DF.CIA に存在してもよい。

オブジェクトディレクトリファイル EF.OD は,一意であり,CIO ディレクトリファイルへの参照ポイン

タを含む。

備考1.  上記の種類の CIO ディレクトリファイルが DF.CIA に存在している場合,そのファイルは,

通常は空ではない。

2. CIO

ディレクトリファイルは,カードの他の DF に存在してもよい。

3. CIO

は,

(間接参照でなく)

直接に EF.OD 又は CIO ディレクトリファイルに格納してもよい。

同様に,CDE は,直接に CIO に格納するか,又は CIO によって参照してもよい。

4.

間接参照を使用すると,パーソナリゼーションが簡単になり,より柔軟なアクセス規則を使

用できるので,その使用を推奨する。

  CIO が論理的にリンクされている CDE(例えば,プライベートかぎ CIO 及び対応する公開かぎ CIO)を

参照するときは,CDE は,同じ CIO 識別子をもっていなければならない。

図 で,これらのファイルの一般構造を説明する。

PuKD

参照

PrKD

参照

SKD

参照

CD

参照

AOD

参照

DCOD

参照

EF.PuKD

EF.PrKD

EF.SKD

EF.DCOD

EF.CD

EF.AOD

EF.OD


11

X 6320-15

:2006 (ISO/IEC 7816-15:2004)

CIO[x]#1

CDE[x]#1

CIO[x]#2

CIO[x]#n

CDE[x]#2

CDE[x]#n

図 5  CIO を用いた CDE の間接検索

備考  図の中で,文字 x は情報を保持している情報オブジェクトの種類を表している。

7.5.5

DF.CIA

選択  DF.CIA の AID は,標準識別子“E8 28 BD 08 0F”(必す)及び任意選択でその後に続

く次のいずれかの二つのフィールドで構成する。

−  1 バイトの範囲“00”∼“7F”のインデックス及びその後に続く個別アプリケーション識別子拡張部  (PIX)

−  登録カテゴリ“A”又は“D”(JIS X 6320-5 を参照)で始まる登録済みアプリケーション提供者識別子を使

用した AID。例えば,この CIA を使用するアプリケーションの AID で,11 バイトを超える部分は切り

捨てられる。

  AID の長さは,16 バイトを超えてはならない。したがって,AID のフォーマットは,次のようになる。

<---------------------------------------------アプリケーション識別子------------------------------------------------->

E8 28BD080F

インデックス (00-7F)

個別アプリケーション識別子拡張部

又は

E8 28BD080F

Ax/Dx

カテゴリ“A”又は“D”  の AID の残余部分

<-------5 バイト-----><---------------------------------------11 バイトまで---------------------------------------->

図 6  AID のフォーマット

DF.CIA

は,直接アプリケーション選択機能があるカードがその AID を使用して選択してもよい。

備考  検討の経緯から,AID: “A0 00 00 00 63 50 4B 43 53 2D 31 35”を使用して DF.CIA を選択してもよ

い。

  直接アプリケーションを選択できない場合,7.4 で指定した内容を含む EF.DIR ファイルを用いなければ

ならない。

  複数の DF.CIA が 1 枚のカードに存在している場合,EF.DIR のアプリケーションテンプレートにある情

報によってそれらを区別してもよい。マンマシンインタフェースを簡単にするため,アプリケーションラ

ベル(タグ“50”)を存在させることを推奨する(例えば,短縮形式のベンダ名)

8.

ASN.1

の情報構文

8.1

指針及び符号化規約  この規格は,ASN.1 (ISO/IEC 8824 のすべての部)を用いて CIO を記述する。

カードには,DER 符号化した CIO 値を格納するものとする。

附属書 に,すべての CIO に対する ASN.1

による定義を示す。この項は説明を目的とする。

CIO

ディレクトリファイルの内容は,0 個又は一つ以上の同じタイプの DER 符号化値の連結とする(


12

X 6320-15

:2006 (ISO/IEC 7816-15:2004)

属書 を参照)。

8.2

基本型の ASN.1 記法での定義

8.2.1

Identifier

Identifier ::=OCTET STRING

SIZE0..cia-ub-identifier

Identifier

型は,CIO の識別子として使用する。相互参照の目的のため,二つ以上の CIO が同じ Idnetifier

値をもってもよい。この一例として,一つのプライベートかぎと対応する一つ又は複数の対応する証明書

が相互参照のため,同じ Identifier 値をもつ場合がある。

8.2.2

Reference

Reference ::=INTEGER

0..cia-ub-reference

この型は,はん(汎)用的な参照目的に使用する。

8.2.3

Label

Label ::=UTF8String

SIZE0..cia-ub-label

この型は,すべてのラベルに使用する。すなわち,使用者割当オブジェクト名とする。

8.2.4

CredentialIdentifier

CredentialIdentifier {KEY-IDENTIFIER : IdentifierSet} ::= SEQUENCE { 

idType KEY-IDENTIFIER.&id 

{IdentifierSet},

idValue KEY-IDENTIFIER.&Value 

{IdentifierSet}{@idType}

}

KeyIdentifiers KEY-IDENTIFIER ::= { 

issuerAndSerialNumber |

issuerAndSerialNumberHash |

subjectKeyId |

subjectKeyHash |

issuerKeyHash |

issuerNameHash |

subjectNameHash |

pgp2KeyId |

openPGPKeyId,

...

}

KEY-IDENTIFIER ::= CLASS { 

&id INTEGER UNIQUE,

&Value

} WITH SYNTAX {

SYNTAX &Value IDENTIFIED BY &id

}

  CredentialIdentifier 型は,特定のかぎ又は証明書を識別する目的に使用する。プライベートかぎ又は証

明書の識別子のデータ群である KeyIdentifier には,現在九つの識別子が含まれている。

−  issuerAndSerialNumber:  この型の値は,発行者を区別する名前及びプライベートかぎに対応した公

開かぎを含む証明書のシリアル番号から構成される SEQUENCE でなければならない。

−  issuerAndSerialNumberHash:  この型の値は,issuerAndSerialNumber に関する情報であり,その

値は,メモリ資源を節約する目的で,issureAndSerialNumber の SHA-1 ハッシュ値である OCTET 

STRING

とする。

−  subjectKeyId:  この型の値は,プライベートかぎに関連する公開かぎを含んだ JIS X 5731-8 で規定され

ている subjectKeyIdentifier 証明書拡張と同じ値である OCTET STRING でなければならない。

この識

別子は,証明書連鎖の確認に使用できる。

−  subjectKeyHash:  プライベートかぎに対応する公開かぎの SHA-1 によるハッシュ値を含んだ OCTET 

STRING

とする。


13

X 6320-15

:2006 (ISO/IEC 7816-15:2004)

−  issuerKeyHash:  要求された証明書の署名に使用する公開かぎの SHA-1 によるハッシュ値を含んだ

OCTET STRING

とする。

−  issuerNameHash:  証明書に現れる発行者名の SHA-1 によるハッシュ値を含んだ OCTET STRING 

する。

備考  この識別子を,subjectNameHash 識別子とともに証明書の連鎖構造に用いてもよい。

−  subjectNameHash:  証明書に現れるサブジェクト名の SHA-1 によるハッシュ値を含んだ OCTET 

STRING

とする。

−  pgp2KeyId: PGP2 かぎ識別子を含んだ OCTET STRINGSIZE8

)とする。

備考  PGP 2 かぎ識別子は,IETF RFC 2440 で定義されている(関連規格参照)。

−  openPGPKeyId: OpenPGP かぎ識別子を含んだ OCTET STRINGSIZE8

)とする。

備考  OpenPGP かぎ識別子は,IETF RFC 2440 で定義されている(関連規格参照)。

8.2.5

ReferencedValue

及び Path

ReferencedValue ::= CHOICE { 

path  

Path,

url  

URL

} -- The syntax of the object is determined by the context

URL ::= CHOICE { 

url  

CHOICE {printable PrintableString, ia5 IA5String},

urlWithDigest [3] SEQUENCE {

url  

IA5String,

digest  

DigestInfoWithDefault

}

    } 
Path ::= SEQUENCE { 

efidOrPath  

OCTET STRING,

index

INTEGER 

0..cia-ub-index OPTIONAL,

length  

[0] INTEGER 

0..cia-ub-index OPTIONAL

}

  WITH COMPONENTS {..., index PRESENT, length PRESENT}|

WITH COMPONENTS {..., index ABSENT, length ABSENT}

  ReferencedValue は,ある種類の CIO 値に対する参照情報とする。これは,url 選択によって得られた

外部参照,又はカード上のファイルに対する参照(path 識別子)のいずれかとする。値の表現は,内容に

よって決定される。

  path を使用する場合,識別子 index 及び length によってファイル内の位置を指定してもよい。ファイ

ルが順編成レコードファイルで index が存在する場合,index は,ISO/IEC 7816-4 で定義されたレコード

番号を指定しなければならず,かつ,カードのオペレーティングシステムが READ RECORD コマンドの Le

パラメータを“00”とすることを認めているのであれば,length を 0 に設定することができる。固定レコー

ドの長さは,CIAInfo ファイルで見つけてもよい(8.10 参照)

。ファイルが透過ファイルで index が存在す

る場合,ファイル内のオフセット及びセグメントの長さを表す length を指定しなければならない。この場

合,index はパラメタ P1 及び/又は P2 になり,length は,READ BINARY コマンドでのパラメタ Le であ

る。index 及び length を使用することによって,複数のオブジェクトを同じ透過ファイル内に格納しても

よい。

備考  上の規定によって,length が 0 であることは,efidOrPath によって指されているファイルが

順編成レコードファイルであることになる。

  efidOrPath の状態及び参照ファイルの関係について次に示す。

−  空であるときは,参照するファイルはない。


14

X 6320-15

:2006 (ISO/IEC 7816-15:2004)

−  1 バイト長である場合,上位 5 ビットで短縮 EF 識別子を参照している(ビット b3,b2,b1 をゼロに設

定しなければならない)

−  2 バイト長である場合,ファイル識別子によってファイルを参照する。

−  2 バイトより長く,偶数バイト数で構成されている場合,絶対又は相対パスによってファイルを参照す

る(すなわち,ファイル識別子の連結とする。

−  2 バイトより長く,奇数バイト数で構成されている場合,修飾パスを参照する(ISO/IEC 7816-4 参照)

  url の場合,URL は,単純な URL,又は定められた位置に格納されたオブジェクトの暗号ハッシュを組

み合わせた URL であってもよい。CIO カードが完全性を保証する場合,digest は,外部に存在するオブ

ジェクトを保護する。

備考 URL 構文は,IETF RFC 2396 で定義されている(関連規格参照)。

8.2.6

ObjectValue

ObjectValue { Type } ::= CHOICE { 

indirect    ReferencedValue,

direct  

[0] Type,

... -- 

将来の拡張のため

}

ObjectValue

型のオブジェクト値は,特に指定がない場合,間接参照によって格納しなければならない。

すなわち,実際の値が存在している別の位置を指す。

8.2.7

PathOrObjects

PathOrObjects {ObjectType} ::= CHOICE { 

path  

Path,

objects    [0] SEQUENCE OF ObjectType,

... -- 

将来の拡張のため

}

  PathOrObjects 型は,OD 内又は別のファイルに存在しているオブジェクトのシーケンスを参照するた

めに用いる。path を指定する場合,参照しているファイルは,所与の型の 0,1 又は複数の DER 符号化値

の連結を含まなければならない。意味をもたない任意数の“FF”オクテットが値の前後,又は値の中間に存

在してもよい。すなわち,それらは未使用スペース又は削除された値のパディング(ビットを所定の長さ

にすること。

)とみなされる。

8.2.8

CommonObjectAttributes

備考  この型は,すべての CIO に共通する属性のコンテナである。

CommonObjectAttributes ::= SEQUENCE { 

label  

Label OPTIONAL,

flags  

CommonObjectFlags OPTIONAL,

authId  

Identifier OPTIONAL,

userConsent

INTEGER 

1..cia-ub-userConsent OPTIONAL,

accessControlRules 

  SEQUENCE SIZE  1..MAX OF AccessControlRule OPTIONAL,

...

   -- 将来の拡張のため

CONSTRAINED BY {-- flags.private  がセットされている場合

authId 

は存在しなければならない。

-- It shall equal an authID in one authentication object in the AOD -- }

CommonObjectFlags ::= BIT STRING { 

private  

0,

modifiable  

1,

internal  

2

} -- Bit 

2  は,歴史的理由で存在しているが

使用しないほうがよい。

AccessControlRule ::= SEQUENCE { 

accessMode

 AccessMode,

securityCondition   SecurityCondition,

... -- 

将来の拡張のため


15

X 6320-15

:2006 (ISO/IEC 7816-15:2004)

}

AccessMode ::= BIT STRING { 

read  

0,

update  

1,

execute

2,

delete  

3

}

SecurityCondition ::= CHOICE { 

always

NULL,

authId

Identifier,

authReference

AuthReference,

not  

[0] SecurityCondition,

and

[1] SEQUENCE SIZE 

2..cia-ub-securityConditions OF SecurityCondition,

or

[2] SEQUENCE SIZE 

2..cia-ub-securityConditions OF SecurityCondition,

... -- For future extensions

}

AuthReference ::= SEQUENCE { 

authMethod AuthMethod,

seIdentifier Reference OPTIONAL

}

AuthMethod ::= BIT STRING {secureMessaging

0, extAuthentication1, userAuthentication2}

  label は,純粋に表示目的(マンマシンインタフェース)のために示す。例えば,使用者が一つのかぎ

ぺアに複数の証明書をもっている場合などを想定している

(具体的には,

“銀行証明書”

“電子メール証明

書”が一つのかぎペアに対応しており,証明書を使い分ける必要がある場合である。

  flags は,特定のオブジェクトがプライベートであるか否か,及びそれが読取専用のものであるか否か

を示す。private オブジェクトは,適切な認証(例えば,パスワード認証)の後にだけアクセスされる。

オブジェクトが modifiable の場合だけ,そのオブジェクトの値を変更することができる。オブジェクトが

private

及び modifiable の両方である場合,値の変更は,認証が成功した後でだけ許される。

  authId は,プライベートオブジェクトの場合,このオブジェクトの保護に使用される認証オブジェクト

への相互参照を与える(認証オブジェクトの説明については,8.9 を参照。

  userConsent は,プライベートオブジェクト(又は,それに対するアクセス条件が指定されているオブ

ジェクト)の場合,アプリケーションが使用者から明示的な同意要求なしにそのオブジェクトをアクセス

できる回数を示す(例えば,値が 3 なら,1 回目,4 回目,7 回目などのアクセス前に新しい認証が必要と

なることを示している。

。カードは,例えば,

“カウンタオブジェクト”

JIS X 6320-8 参照)を使用する

ことで,この値を実現してもよい。値が の場合,毎回のアクセス前に新たな認証が必要とされる。

accessControlRules

は,当該オブジェクトにアクセスする様々な方法に対するセキュリティ条件をホス

ト側アプリケーションに通知するよりきめ細かい別の方法を与える。使用可能な認証に関する任意のブー

ル表記が認められる。

  いずれかの AccessMode が認められない場合,それに対するアクセス制御規則があってはならない(す

なわち,

それはアプリケーションによって暗黙に決められている。

この構成要素が存在していない場合,

アクセス制御規則を他の手段によって推定することになる。authReference オプションは,セキュリティ

環境の参照及び認証方法(authMethod)のクラス識別を通じて JIS X 6320 の他の部とより緊密な関係を

実現可能にする。

備考1.  accessControlRules 及び authID の両方が存在している場合,accessControlRules にある

情報が優先する。この状況は,下位互換性の理由で発生する可能性がある。

2.

アクセス制御に関係するプロパティは,例えば,EF の FCI を調べることによって推定する


16

X 6320-15

:2006 (ISO/IEC 7816-15:2004)

ことができるので,これらの状況が適用されるときでも,そのような情報はオプションであ

り,必ずしも必要ではない(ISO/IEC 7816-4 参照)

3.

これらの構造体で表現されるアクセス制御情報は,カード内のアクセス制御規則を反映して

いるが,カード自体によって必ずしも使用されるとは限らない。

8.2.9

CommonKeyAttributes

CommonKeyAttributes ::= SEQUENCE { 

iD Identifier,

usage KeyUsageFlags,

native BOOLEAN DEFAULT TRUE,

accessFlags KeyAccessFlags OPTIONAL,

keyReference KeyReference OPTIONAL,

startDate GeneralizedTime OPTIONAL,

endDate [0] GeneralizedTime OPTIONAL,

algReference [1] SEQUENCE OF Reference OPTIONAL,

... -- For future extensions

}

KeyUsageFlags ::= BIT STRING { 

encipher  

0,

decipher    

1,

sign

2,

signRecover

3,

keyEncipher

4,

keyDecipher

5,

verify

6,

verifyRecover

7,

derive

8,

nonRepudiation

9

}

KeyAccessFlags ::= BIT STRING { 

sensitive    

0,

extractable

1,

alwaysSensitive  

2,

neverExtractable  

3,

cardGenerated  

4

}

KeyReference ::= INTEGER

  iD は,公開かぎ情報オブジェクト及び対応するプライベートかぎ情報オブジェクトが同じカードに格納

されているときを除き,かぎ情報オブジェクトごとに一意でなければならない。この場合,情報オブジェ

クトは,

(一つ又は複数の証明書情報オブジェクトとも共有することができる。

)同じ識別子を共有しなけ

ればならない(8.2.15 参照)

  usage encipher

decipher

sign

signRecover

keyEncipher

keyDecipherverify

verifyRecover

derive

及び nonRepudiation)は,かぎの可能な用途を表す。これらの操作に使用される実際のアルゴリ

ズム及び方法は,明示的に示すことはなく,この規格では定義しない。公開かぎの JIS X 5731-8 keyUsage

フラグ,公開かぎの CIO フラグ,及びプライベートかぎの CIO フラグの対応付けを,

表 に示す。

 
 
 
 
 


17

X 6320-15

:2006 (ISO/IEC 7816-15:2004)

表 2  CIO かぎ用途フラグと JIS X 5731-8 かぎ用途フラグとの対応付け

JIS X 5731-8

公開かぎ証明書にある公

開かぎのかぎ用途フラグ

公開かぎの対応する CIO かぎ
用途フラグ

プライベートかぎの対応する
CIO

かぎ用途フラグ

DataEnciphement

Encipher

Decipher

digitalSignature

, keyCertSign 

cRLSign

(メッセージ復旧のない署名

アルゴリズム)

Verify

Sign

digitalSignature

, keyCertSign 

cRLSign

(メッセージ復旧のある署名

アルゴリズム) 

VerifyRecover

 signRecover

KeyAgreement

Derive

Derive

KeyEnciphement

KeyEncipher

keyDecipher

NonRepudiation

NonRepudiation

nonRepudiation

備考 1.

実装においては,特定のかぎペアに対するすべてのかぎ用途フラグが整合していることを検証し
なくてはならない。

2.

この規格に関係する JIS X 5731-8 のかぎ用途フラグだけを対応付けに示している。

native

は,かぎに関連する暗号アルゴリズムがカードハードウェアに実装されているか否かを識別する。

KeyAccessFlags

ビットの解釈は,次のようでなければならない。

−  sensitive は,

かぎの元になる情報をカードの外側では平文で明らかにすることができないことを示す。

−  extractable がセットされていない場合,

(平文はもちろん)暗号化された型であっても,かぎの元にな

る情報をカードから取り出すことはできない。

−  alwaysSensitive は,かぎが常に sensitive であることを示す。

−  neverExtractable は,かぎが extractable には決してならないことを示す。

−  cardGenerated は,かぎがカード上でランダムに生成されたことを示す。

  accessFlags は,その値を他の手段によって推定できる場合,存在しなくてもよい。

  keyReference は,暗号処理能力のあるカードだけに適用することができる。存在する場合,これは当

該かぎに対するカード固有の参照を含む(詳細については,ISO/IEC 7816-4 及び JIS X 6320-8 を参照。)

備考  keyReference の値は,かぎ参照 DO (ISO/IEC 7816-4 参照)で使用することを意図しており,

負値を含めた任意の値が考えられる。

  startDate 及び endDate が存在する場合,かぎが使用できる有効期間を示す。

  algReference は,EF.CIAInfo ファイルからの supportedAlgorithm 値を参照することによって,かぎ

で使用できるアルゴリズムを識別する。

8.2.10  CommonPrivateKeyAttributes

CommonPrivateKeyAttributes ::= SEQUENCE { 

name

Name OPTIONAL,

keyIdentifiers

[0] SEQUENCE OF CredentialIdentifier {{KeyIdentifiers}} OPTIONAL,

generalName  

[1] GeneralNames OPTIONAL,

... --

将来の拡張のため

}

  name が存在する場合,対応する証明書の subject で指定されているかぎの所有者の名前を示す。

  keyIdentifiers の値は,決められた操作に適切なかぎを選択するため,外部メッセージ又はプロトコル

からの識別子に一致させることができる。受信側当事者にどのかぎが使用されたかを示す目的でその値を

送信することもできる。かぎを識別する複数の機構が支援される(8.2.4 参照)

generalName

が存在する場合,かぎの所有者を識別する他の手段を提供する。


18

X 6320-15

:2006 (ISO/IEC 7816-15:2004)

8.2.11  CommonPublicKeyAttributes

CommonPublicKeyAttributes ::= SEQUENCE { 

name  

Name OPTIONAL,

trustedUsage

[0] Usage OPTIONAL,

generalName  

[1] GeneralNames OPTIONAL,

keyIdentifiers

[2] SEQUENCE OF CredentialIdentifier {{KeyIdentifiers}} OPTIONAL,

... -- For future extensions

}

  CommonPublicKeyAttributes 型に含まれる namegeneralName 及び keyIdentifiers の解釈は,

CommonPrivateKeyAttributes

型に含まれる対応構成要素と同じでなければならない。

  trustedUsage は,公開かぎがカード保有者によって信頼されて使用される一つ又は複数の目的を表す

8.2.15 参照)

備考  信頼された使用の条件については,この規格の範囲外とする。

8.2.12  CommonSecretKeyAttributes

CommonSecretKeyAttributes ::= SEQUENCE { 

keyLen    INTEGER OPTIONAL, -- keylength 

in bits

... -- 

将来の拡張のため

}

任意選択になっている keyLen は,使われているアルゴリズムが可変のかぎ長を取ることができる場合,

使用されているかぎ長を示す。

8.2.13  GenericKeyAttributes

GenericKeyAttributes ::= SEQUENCE { 

keyType   CIO-ALGORITHM.&objectIdentifier 

{AllowedAlgorithms},

keyAttr    CIO-ALGORITHM.&Parameters 

{AllowedAlgorithms}{@keyType}

}

AllowedAlgorithms CIO-ALGORITHM ::= {...}

  この型は,与えられた種類のかぎに固有な情報を含んでいることを意図する。AllowedAlogorithms 

報オブジェクト集合(情報オブジェクトセット)の定義は,標準化されたプロファイル又はプロトコル実

装に関する適合すべき文書に従うことになる。この組合せ(セット)は,GenericKeyAttributes の構成

要素に対するテーブル構造を特定するために必要となる。

8.2.14  KeyInfo

KeyInfo {ParameterType, OperationsType} ::= CHOICE { 

paramsAndOps SEQUENCE {

parameters ParameterType,

operations OperationsType OPTIONAL

},

reference  Reference 

歴史的理由のため使用しない。

}

備考 PKCS#15 は,reference オプションを使用する。

この型は,各プライベートかぎ型及び公開かぎ型の任意選択部分であり,カードによって具備されてい

るかぎ及び操作のパラメタに関するアルゴリズム固有の詳細又はそのような情報への参照に関する情報を

含 む 。 ア ル ゴ リ ズ ム 固 有 の 値 が 存 在 し て い る 場 合 , ア ル ゴ リ ズ ム 固 有 値 は ,

CommonKeyAttributes.algReference

によって参照される値に優先する。

8.2.15  CommonCertificateAttributes

CommonCertificateAttributes ::= SEQUENCE { 

iD  

Identifier,

authority

BOOLEAN DEFAULT FALSE,

identifier  

CredentialIdentifier {{KeyIdentifiers}} OPTIONAL,

certHash  

[0] CertHash OPTIONAL,

trustedUsage

[1] Usage OPTIONAL,


19

X 6320-15

:2006 (ISO/IEC 7816-15:2004)

identifiers

[2] SEQUENCE OF CredentialIdentifier {{KeyIdentifiers}} OPTIONAL,

validity

[4] Validity OPTIONAL,

...

} -- Context tag [3] 

歴史的理由によって使用してはならない。

備考  PKCS#15 は,コンテキストタグ[3]を使用する。

Usage ::= SEQUENCE { 

keyUsage KeyUsage OPTIONAL,

extKeyUsage SEQUENCE SIZE 

1..MAX  OF OBJECT IDENTIFIER OPTIONAL,

...

WITH COMPONENTS {..., keyUsage PRESENT} | WITH COMPONENTS {..., extKeyUsage 

PRESENT}

  証明書情報オブジェクトが参照する証明書の公開かぎがプライベートかぎ情報オブジェクトによって参

照されているプライベートかぎと対応している場合,それらの情報オブジェクトは,iD 構成要素に同じ値

を共有していなければならない。この要求事項は,特定の証明書に対応するプライベートかぎ又はその反

対の検索を単純化する。同じかぎの複数の証明書は,iD 構成要素に同じ値を共有しなければならない。

  authority は,証明書が機関(例えば,認証機関)向けであるか否かを示す。

  identifier は,歴史的理由のためだけに存在しているが,代わりに identifers を使用しなければならない。

  certHash は,証明書がカードの外部にあるとき(ReferencedValue が url 選択の場合)に証明書を改

ざん(竄)していないことを使用者が検証可能とする。

  trustedUsage は,証明される公開かぎがカード保有者によって信頼されている一つ又は複数の目的を

表す。extKeyUsage のオブジェクト識別子は,必要性をもつ任意の組織が定義することができる。実際

の用途については,この構成要素に示されている用途及び証明書自体にある keyUsage 拡張が存在してい

る場合,共通部分を採用するとよい。trustedUsage が存在していない場合,すべての用途が可能である。

備考1. “trust”の条件は,JIS X 6320 のこのパートの適用範囲外とする。

2.

特定用途のカード保有者証明書を見つけるには,commonKeyAttributes.usage を使用し,

適切な証明書への相互参照(commonKeyAttributes.ID)に従う。

  identifiers は,要求者が要求する証明書を区別するための何らかの情報を知っている(及び伝える)と

きに特定の証明書の検索を容易化する。これは,例えば,使用者の証明書を使用者認証の一部として選択

し,サーバに送らなければならず,サーバが特定の証明書を区別するための情報をクライアントに提供する

ときに,使用することができる。subjectNameHash 及び issuerNameHash 代替の使用も,高速な証明

書連鎖の再構築(ファーストチェーンビルディング)を容易にすることができる。

  validity は,証明書の有効期間についての情報を提供する。

8.2.16  GenericCertificateAttributes

GenericCertificateAttributes ::= SEQUENCE { 

certType  CIO-OPAQUE.&id 

{AllowedCertificates},

certAttr  CIO-OPAQUE.&Type 

{AllowedCertificates}{@certType}

}

AllowedCertificates CIO-OPAQUE ::= {...}

  この型は,任意の種類の証明書に固有な情報を含んでいることを意図する。AllowedCertificates 情報

オブジェクト集合の定義は,標準化されたプロファイル又はプロトコル実装に関する適合する文書に従う

ことになる。この組合せは,GenericCertificateAttributes の構成要素に対するテーブル構造を特定する

ために必要である。

GenericCertificateAttributes ::= SEQUENCE { 

certType CIO-OPAQUE.&id 

{AllowedCertificates},

certAttr CIO-OPAQUE.&Type 

{AllowedCertificates}{@certType}

}


20

X 6320-15

:2006 (ISO/IEC 7816-15:2004)

AllowedCertificates CIO-OPAQUE ::= {...}

8.2.17  CommonDataContainerObjectAttributes

CommonDataContainerObjectAttributes ::= SEQUENCE { 

applicationName    Label OPTIONAL,

applicationOID  

OBJECT IDENTIFIER OPTIONAL,

iD  

Identifier OPTIONAL,

... -- For future extensions

WITH COMPONENTS {..., applicationName PRESENT}

| WITH COMPONENTS {..., applicationOID PRESENT}

  applicationName は,当該データコンテナオブジェクトが属しているアプリケーションの名前を含んで

いることを意図する。

  applicationOID は,当該データコンテナオブジェクトのオブジェクト識別子を含んでいることを意図す

る。

  アプリケーション名の重複を避けるには,

少なくとも applicationOID を変えて入れることを推奨する。

ASN.1

に示されているように,少なくとも一つの構成要素が CommonDataContainerObjectAttributes

型の値に存在していなければならない。

  iD は,ある決まったデータコンテナオブジェクトを,幾つかの他の CIO(例えば,プライベートかぎ情

報オブジェクト)と関連付けるために使用してもよい。

8.2.18  CommonAuthenticationObjectAttributes

CommonAuthenticationObjectAttributes ::= SEQUENCE { 

authId

  

Identifier OPTIONAL,

authReference  

Reference OPTIONAL,

seIdentifier

[0] Reference OPTIONAL,

... -- 

将来の拡張のため

}

  authId は,一意な識別子でなければならない。また,非公開(プライベート)CIO からの相互参照の目

的に使用する。

  authReference が存在する場合,セキュリティ環境において,参照すべきかぎを示すかぎ参照オブジェ

クト(ISO/IEC 7816-4 参照)の値を含んでいなければならない。

seIdentifier

が存在する場合,認証オブジェクトが属しているセキュリティ環境を識別する。

8.2.19  CIO

型  この型は,すべての種類の CIO のテンプレートである。オブジェクトクラス属性,オブ

ジェクトサブクラス属性及びオブジェクト型属性を用いてパラメタ化される。

CIO {ClassAttributes, SubClassAttributes, TypeAttributes} ::= SEQUENCE { 

commonObjectAttributes

CommonObjectAttributes,

classAttributes  

ClassAttributes,

subClassAttributes

[0] SubClassAttributes OPTIONAL,

typeAttributes  

[1] TypeAttributes

}

8.3

CIOChoice

CIOChoice ::= CHOICE { 

privateKeys

  

[0] PrivateKeys,

publicKeys  

[1] PublicKeys,

trustedPublicKeys

[2] PublicKeys,

secretKeys  

[3] SecretKeys,

certificates

[4] Certificates,

trustedCertificates  

[5] Certificates,

usefulCertificates  

[6] Certificates,

dataContainerObjects

[7] DataContainerObjects,

authObjects

[8] AuthObjects,

... -- 

将来の拡張のため


21

X 6320-15

:2006 (ISO/IEC 7816-15:2004)

}

PrivateKeys ::=  

PathOrObjects {PrivateKeyChoice}

PublicKeys ::=  

PathOrObjects {PublicKeyChoice}

SecretKeys ::=  

PathOrObjects {SecretKeyChoice}

Certificates ::=

PathOrObjects {CertificateChoice}

DataContainerObjects ::= PathOrObjects {DataContainerObjectChoice} 
AuthObjects ::=  

PathOrObjects {AuthenticationObjectChoice}

  EF.OD は,0 個又は一つ以上の DER 符号化した CIOChoice 値の連結を含まなければならない。意味を

もたない任意数の“FF”オクテットが値の前後又は値の中間に存在してもよい。すなわち,それらは,未使

用領域(スペース)又は削除された値のパディングとみなされる。特定の選択肢をファイル内で何度も使

用してもよい。これは,例えば,異なるアクセス制御規則を同じ型の個別のオブジェクト集合に適用する

ためである。

  EF.OD エントリは,通常は,PathOrObjects の path を使用して明示された型の CIO を含んだ個別ファ

イルを参照する。しかし,オブジェクト及び EF.OD ファイルが同じアクセス制御要求事項をもつ場合,

PathOrObjects

の objects を使用して,エントリは,CIO を直接に保持してもよい。

  trustedPublicKeys は,証明書パス処理の信頼点(ルート)であるなど一部の目的のためにカード保有

者によって信頼されている公開かぎが記述されている公開かぎ情報オブジェクトを参照する。

  certificates 選択肢は,カード又はカード保有者へ発行されている証明書が記述されている証明書情報

オブジェクトを参照する。

  trustedCertificates は,明示された目的に対してカード保有者が信頼する証明書を記述する証明書情報

オブジェクトを参照する。例えば,この構成要素によって参照される CA 証明書は,証明書パス処理の間

に信頼点(ルート)として使用してもよい。

備考  決 め ら れ た 証 明 書 及 び / 又 は 公 開 か ぎ で 必 要 と す る 信 頼 性 を 維 持 す る た め に ,

trustedCertificates

及び/又は trustedPublicKeys 構成要素内の関連 CIO は,変更に対する適

切な保護,すなわち適切なアクセス制御を必要とする。この保護は,EF.OD ファイル,

trustedCertificates

,又は trustedPublicKeys 構成要素によって参照されている CIO ファイル

及び個別 CIO から参照されている実際のかぎ,又は証明書ファイルに適用すること。

usefulCertificates

は,

trustedCertificates

又は certificates 構成要素に属していない証明書が記述され

ている証明書情報オブジェクトを参照する。この構成要素は,有用であるかもしれないエンドエンティテ

ィ(例えば,同僚の暗号化かぎの証明書)又は CA 証明書(証明書パス処理を単純化するための中間 CA

証明書)の格納に使用してもよい。

8.4

プライベートかぎ情報オブジェクト

8.4.1

PrivateKeyChoice

PrivateKeyChoice ::= CHOICE { 

privateRSAKey

  

PrivateKeyObject {PrivateRSAKeyAttributes},

privateECKey  

[0] PrivateKeyObject {PrivateECKeyAttributes},

privateDHKey  

[1] PrivateKeyObject {PrivateDHKeyAttributes},

privateDSAKey  

[2] PrivateKeyObject {PrivateDSAKeyAttributes},

privateKEAKey

[3] PrivateKeyObject {PrivateKEAKeyAttributes},

genericPrivateKey   [4] PrivateKeyObject {GenericKeyAttributes},

... -- 

将来の拡張のため

}

PrivateKeyObject {KeyAttributes} ::= CIO { 

CommonKeyAttributes, CommonPrivateKeyAttributes, KeyAttributes}

この型は,プライベートかぎに関係する情報を含む。各値は,オブジェクト,かぎ及びプライベートか

ぎに共通する属性並びにかぎに特有な属性から構成される。


22

X 6320-15

:2006 (ISO/IEC 7816-15:2004)

8.4.2

プライベート RSA かぎ属性

PrivateRSAKeyAttributes ::= SEQUENCE { 

value  

Path,

modulusLength  

INTEGER, -- modulus length in bits, e.g. 1024

keyInfo  

KeyInfo {NULL, PublicKeyOperations} OPTIONAL,

... -- 

将来の拡張のため

}

  この構成要素の解釈は,次のとおりとする。

−  PrivateRSAKeyAttributes.value:  この値は,プライベート RSA かぎを含むファイルへのパスでなけ

ればならない。ファイルへのパスを指定する必要がない場合,パス値を空のパスに設定してもよい。

−  PrivateRSAKeyAttributes.modulusLength:  多くのカードでは,データをカードに送る前に署名する

データを書式化する必要がある。データを正しく書式化できるようにするには,かぎの長さが既知でな

ければならない。長さは,例えば 1024 のようにビット数で表現しなければならない。

−  PrivateRSAKeyAttriutes.keyInfo:  このかぎに適用されるパラメタ及びカードがそれで実行できる処

理についての情報。この値は,CommonKeyAttributes.algReference 構成要素によって参照される

CIAInfo.supportedAlgorithms

値に優先する。他の手段によって情報を入手できる場合,この構成要

素は必要ない。

8.4.3

プライベートだ円曲線かぎ属性

PrivateECKeyAttributes ::= SEQUENCE { 

value Path,

keyInfo KeyInfo {Parameters, PublicKeyOperations} OPTIONAL,

... -- 

将来の拡張のため

}

  この構成要素の解釈は,次のとおりとする。

−  PrivateECKeyAttributes.value:  この値は,プライベートだ円曲線かぎを含むファイルへのパスでなけ

ればならない。ファイルへのパスを指定する必要がない場合,パス値を空のパスに設定してもよい。

−  PrivateECKeyAttributes.keyInfo8.4.2 の対応する構成要素を参照。

8.4.4

プライベートディフィ  ヘルマンかぎ属性

PrivateDHKeyAttributes ::= SEQUENCE { 

value Path,

keyInfo KeyInfo {DomainParameters, PublicKeyOperations} OPTIONAL,

... -- 

将来の拡張のため

}

  この構成要素の解釈は,次のとおりとする。

−  PrivateDHKeyAttributes.value:  この値は,プライベートディフィ  ヘルマンかぎをもつファイルへの

パスでなければならない。ファイルへのパスを指定する必要がない場合,パス値を空のパスに設定して

もよい。

−  PrivateDHKeyAttributes.keyInfo8.4.2 の対応する構成要素を参照。

8.4.5

プライベート DSA かぎ属性

PrivateDSAKeyAttributes ::= SEQUENCE { 

value Path,

keyInfo KeyInfo {DomainParameters, PublicKeyOperations} OPTIONAL,

... -- 

将来の拡張のため

}

  この構成要素の解釈は,次のとおりとする。

−  PrivateDSAKeyAttributes.value:  この値は,プライベート DSA かぎを含むファイルへのパスでなけ

ればならない。ファイルへのパスを指定する必要がない場合,パス値を空のパスに設定してもよい。


23

X 6320-15

:2006 (ISO/IEC 7816-15:2004)

−  PrivateDSAKeyAttributes.keyInfo: 8.4.2 の対応する構成要素を参照。

8.4.6

プライベート KEA かぎ属性

PrivateKEAKeyAttributes ::= SEQUENCE { 

value  

Path,

keyInfo KeyInfo {DomainParameters, PublicKeyOperations} OPTIONAL,

... -- 

将来の拡張のため

}

  この構成要素の解釈は,次のとおりとする。

−  PrivateKEAKeyAttributes.value:  この値は,プライベート KEA かぎを含むファイルへのパスでなけ

ればならない。ファイルへのパスを指定する必要がない場合,パス値を空のパスに設定してもよい。

−  PrivateKEAKeyAttributes.keyInfo8.4.2 の対応する構成要素を参照。

8.4.7

はん(汎)用プライベートかぎ情報オブジェクト  この型は,任意の種類のプライベートかぎに固

有な情報を含むことを意図している(8.2.13 参照)

8.5

公開かぎ情報オブジェクト

8.5.1

PublicKeyChoice

PublicKeyChoice ::= CHOICE { 

publicRSAKey  

PublicKeyObject {PublicRSAKeyAttributes},

publicECKey  

[0] PublicKeyObject {PublicECKeyAttributes},

publicDHKey  

[1] PublicKeyObject {PublicDHKeyAttributes},

publicDSAKey

[2] PublicKeyObject {PublicDSAKeyAttributes},

publicKEAKey  

[3] PublicKeyObject {PublicKEAKeyAttributes},

genericPublicKey  [4] PublicKeyObject{GenericKeyAttributes},

... -- 

将来の拡張のため

}

PublicKeyObject {KeyAttributes} ::= CIO { 

CommonKeyAttributes, CommonPublicKeyAttributes, KeyAttributes}

この型は,公開かぎに関係する情報を含む。各値は,オブジェクト,かぎ及び公開かぎに共通する属性

並びにかぎに特有な属性から構成する。

8.5.2

公開 RSA かぎ属性

PublicRSAKeyAttributes ::= SEQUENCE { 

value  

ObjectValue {RSAPublicKeyChoice},

modulusLength  

INTEGER, -- 

ビット長で示す。例えば1024

keyInfo  

KeyInfo {NULL, PublicKeyOperations} OPTIONAL,

... -- 

将来の拡張のため

}

RSAPublicKeyChoice ::= CHOICE { 

raw  

RSAPublicKey,

spki  

[1] SubjectPublicKeyInfo, -- See JIS X 5731-8

参照。RSA公開かぎは必す。

...

}

RSAPublicKey ::= SEQUENCE { 

modulus  

INTEGER,

publicExponent  

INTEGER

}

  この構成要素の解釈は,次のとおりとする。

−  PublicRSAKeyAttributes.value:  この値は,RSAPublicKeyChoice 値,又は公開 RSA かぎを含むフ

ァイルへのパスでなければならない。

−  PublicRSAKeyAttributes.modulusLength:  多くのカードでは,データをカードに送る前に暗号化す

るデータを書式化しなければならない。データを正しく書式化するためには,かぎの長さが既知でなけ

ればならない。長さは,例えば 1024 のようにビット数で表現しなければならない。


24

X 6320-15

:2006 (ISO/IEC 7816-15:2004)

−  PublicRSAKeyAttributes.keyInfo: 8.4.2 の対応する構成要素を参照。

8.5.3

公開だ円曲線かぎ属性

PublicECKeyAttributes ::= SEQUENCE { 

value  

ObjectValue {ECPublicKeyChoice},

keyInfo    KeyInfo {Parameters, PublicKeyOperations} OPTIONAL,

... -- 

将来の拡張のため

}

ECPublicKeyChoice ::= CHOICE { 

raw  

ECPoint, -- ANSI X9.62

参照,

spki  

SubjectPublicKeyInfo, -- JIS X 5731-8

参照  。公開だ円曲線かぎは必す。

...

}

  この構成要素の解釈は,次のとおりとする。

−  PublicECKeyAttributes.value:  この値は,ECPublicKeyChoice 値,又は公開だ円曲線かぎを含むフ

ァイルへのパスでなければならない。

−  PublicECKeyAttributes.keyInfo8.4.2 の対応する構成要素参照。

8.5.4

公開ディフィ  ヘルマンかぎ属性

PublicDHKeyAttributes ::= SEQUENCE { 

value  

ObjectValue {DHPublicKeyChoice},

keyInfo    KeyInfo {DomainParameters, PublicKeyOperations} OPTIONAL,

... -- 

将来の拡張のため

}

DHPublicKeyChoice ::= CHOICE { 

raw  

DHPublicNumber,

spki  

SubjectPublicKeyInfo, -- JIS X 5731-8

参照。公開ディフィ  ヘルマンかぎは必す。

...

}

DHPublicNumber ::= INTEGER

  この構成要素の解釈は,次のとおりとする。

−  PublicDHKeyAttributes.value:  この値は,DHPublicKeyChoice 値,又は公開ディフィ  ヘルマンかぎ

を含むファイルへのパスでなければならない。

−  PublicDHKeyAttributes.keyInfo8.4.2 の対応する構成要素参照。

8.5.5

公開 DSA かぎ属性

PublicDSAKeyAttributes ::= SEQUENCE { 

value  

ObjectValue {DSAPublicKeyChoice},

keyInfo    KeyInfo {DomainParameters, PublicKeyOperations} OPTIONAL,

... -- 

将来の拡張のため

}

DSAPublicKeyChoice ::= CHOICE { 

raw DSAPublicKey,

spki SubjectPublicKeyInfo, -- JIS X 5731-8

参照。公開DSAかぎは必す。

...

}

DSAPublicKey ::= INTEGER

  この構成要素の解釈は,次のとおりとする。

−  PublicDSAKeyAttributes.value:  この値は,DSAPublicKeyChoice 値,又は公開 DSA かぎを含むフ

ァイルへのパスでなければならない。

−  PublicDSAKeyAttributes.keyInfo8.4.2 の対応する構成要素参照。

8.5.6

公開 KEA かぎ属性

PublicKEAKeyAttributes ::= SEQUENCE { 

value  

ObjectValue {KEAPublicKeyChoice},

keyInfo    KeyInfo {DomainParameters, PublicKeyOperations} OPTIONAL,


25

X 6320-15

:2006 (ISO/IEC 7816-15:2004)

... -- 

将来の拡張のため

}

KEAPublicKeyChoice ::= CHOICE { 

raw

KEAPublicKey,

spki  

SubjectPublicKeyInfo, -- JIS X 5731-8

参照。公開KEAかぎは必す。  

...

}

KEAPublicKey ::= INTEGER

  この構成要素の解釈は,次のとおりとする。

−  PublicKEAKeyAttributes.value:  この値は,KEAPublicKeyChoice 値,又は公開 KEA かぎを含むフ

ァイルへのパスでなければならない。

−  PublicKEAKeyAttributes.keyInfo8.4.2 の対応する構成要素参照。

8.5.7

はん(汎)用公開かぎ情報オブジェクト  この型は,任意の種類の公開かぎに固有な情報を含むこ

とを意図している(8.2.13 参照)

8.6

秘密かぎ情報オブジェクト

8.6.1

SecretKeyChoice

SecretKeyChoice ::= CHOICE { 

algIndependentKey  

SecretKeyObject {SecretKeyAttributes},

genericSecretKey

[15] SecretKeyObject {GenericKeyAttributes},

... -- 

将来の拡張のため

備考:  コンテキストタグ [0]  [14]はこの規格の制定以前に予約されているので使えない。

備考 PKCS

#15

は,予約されたタグを使用する。

SecretKeyObject {KeyAttributes} ::= CIO { 

CommonKeyAttributes, CommonSecretKeyAttributes, KeyAttributes}

この型は,秘密かぎに関係する情報を含む。各値は,オブジェクト,かぎ及び秘密かぎに共通する属性

並びにかぎに特有な属性から構成される。

8.6.2

アルゴリズム独立かぎ属性  これらのオブジェクトは,様々なアルゴリズムでの使用可能な,又は

他の秘密かぎの派生を可能にする秘密かぎを表している。

SecretKeyAttributes ::= SEQUENCE { 

value

  ObjectValue { OCTET STRING },

... -- 

将来の拡張のため

}

  この構成要素の解釈は,次のとおりとする。

−  SecretKeyAttributes.value:  この値は, OCTET STRING を含むファイル,又は秘密かぎ演算(オ

ペレーション)を実行できるカードの場合には秘密かぎを含むファイルへのパスでなければなら

ない。

8.6.3

GenericSecretKey

型  この型は,任意の種類の秘密かぎに固有な情報を含む。8.2.13 参照。

8.7

証明書情報オブジェクト

8.7.1

CertificateChoice

CertificateChoice ::= CHOICE { 

x509Certificate

  

CertificateObject {X509CertificateAttributes},

x509AttributeCertificate  

[0] CertificateObject {X509AttributeCertificateAttributes},

spkiCertificate

[1] CertificateObject {SPKICertificateAttributes},

pgpCertificate

[2] CertificateObject {PGPCertificateAttributes},

wtlsCertificate

[3] CertificateObject {WTLSCertificateAttributes},

x9-68Certificate

[4] CertificateObject {X9-68CertificateAttributes},

cvCertificate

[5] CertificateObject {CVCertificateAttributes},

genericCertificateObject  

[6] CertificateObject {GenericCertificateAttributes},

... -- 

将来の拡張のため

} --  


26

X 6320-15

:2006 (ISO/IEC 7816-15:2004)

CertificateObject {CertAttributes} ::= CIO { 

CommonCertificateAttributes, NULL, CertAttributes}

この型は,証明書に関係する情報を含む。各値は,オブジェクト,証明書に共通する属性及び証明書に

特有な属性から構成される。

8.7.2

X.509

証明書属性

X509CertificateAttributes ::= SEQUENCE { 

value  

ObjectValue { Certificate },

subject  

Name OPTIONAL,

issuer  

[0] Name OPTIONAL,

serialNumber  

CertificateSerialNumber OPTIONAL,

... -- 

将来の拡張のため

}

  この構成要素の解釈は,次のとおりとする。

−  X509CertificateAttributes.value:  この値は,決められた場所にある DER 符号化証明書を含むファイ

ル,又は証明書のある場所を指している URL を識別する ReferencedValue でなければならない。

−  X509CertificateAttributes.subjectX509CertificatesAttributes.issuer 及び

X509CertificateAttributes.serialNumber:

これらの構成要素の条件は,JIS X 5731-8 に含まれる対応構成

要素と同じである。これらの構成要素の値は,証明書自体に含まれる対応構成要素とまったく同じでなけ

ればならない。オプションにする理由は,それらは,既に証明書自体に存在しているので領域(スペース)

効率をよくするためである。

8.7.3

X.509

属性証明書属性

X509AttributeCertificateAttributes ::= SEQUENCE { 

value  

ObjectValue { AttributeCertificate },

issuer  

GeneralNames OPTIONAL,

serialNumber  

CertificateSerialNumber OPTIONAL,

attrTypes

[0] SEQUENCE OF OBJECT IDENTIFIER OPTIONAL,

... -- 

将来の拡張のため

}

  この構成要素の解釈は,次のとおりとする。

−  X509AttributeCertificateAttributes.value:  この値は,決められた場所にある DER 符号化属性証明書

を含むファイル,又は属性証明書のある場所を指している URL を識別する ReferecedValue でなけれ

ばならない。

−  X509AttributeCertificateAttributes.issuer 及び X509AttributeCertificateAttributes.serialNumber:

これらの構成要素の値は,属性証明書自体に含まれる対応構成要素とまったく同じでなければならない。

より容易な検索のために,これらを明示的に格納してもよい。

−  X509AttributeCertificateAttributes.attrTypes:  このオプションの構成要素は,存在している場合,こ

の属性証明書にある属性のオブジェクト識別子のリストを含んでいなければならない。これは,証明書

自体を読み取って構文解析することなしに,アプリケーションが特定の属性証明書を検索する方法を提

供する。

8.7.4

SPKI

証明書属性

備考 PKI の証明書は IETF RFC 2693 で定義されている(関連規格参照)。

SPKICertificateAttributes ::= SEQUENCE { 

value ObjectValue { CIO-OPAQUE.&Type },

... -- 

将来の拡張のため

}

  この構成要素の解釈は,次のとおりとする。

−  SPKICertificateAttributes.value:  この値は,決められた場所にある SPKI 証明書を含むファイル,又


27

X 6320-15

:2006 (ISO/IEC 7816-15:2004)

は証明書のある場所を指している URL を識別する ReferencedValue でなければならない。

8.7.5

PGP

Pretty Good Privacy

証明書属性

備考 PGP 証明書は,IETF RFC 2440 で定義されている(関連規格参照)。

PGPCertificateAttributes ::= SEQUENCE { 

value ObjectValue { CIO-OPAQUE.&Type },

... -- 

将来の拡張のため

}

  この構成要素の解釈は,次のとおりとする。

−  PGPCertificateAttributes.value:  この値は,決められた場所にある PGP 証明書を含むファイル,又は

証明書のある場所を指している URL を識別する ReferencedValue でなければならない。

8.7.6

WTLS

証明書属性

備考 WTLS 証明書は,“Wierless Transport Layer Security Protocol Specification”  で定義されている(参

考文献参照)

WTLSCertificateAttributes ::= SEQUENCE { 

value ObjectValue { CIO-OPAQUE.&Type },

... -- 

将来の拡張のため

}

  この構成要素の解釈は,次のとおりとする。

−  WTLSCertificateAttributes.value:  この値は,決められた場所にある WTLS 符号化証明書を含むファ

イル,又は証明書のある場所を指している URL を識別する ReferencedValue でなければならない。

8.7.7

ANSI X9.68

ドメイン証明書属性

備考 X9.68 ドメイン証明書は,ANSI X9.68:2 で定義されている。

X9-68CertificateAttributes ::= SEQUENCE { 

value ObjectValue { CIO-OPAQUE.&Type },

... -- 

将来の拡張のため

}

  この構成要素の解釈は,次のとおりとする。

−  X9-68CertificateAttributes.value:  この値は,決められた場所にある DER 又は PER(ISO/IEC 

8825-2:1998

)符号化 ANSI X9.68 ドメイン証明書を含むファイル,又は証明書のある場所を指している URL

を識別する ReferencedValue でなければならない。

8.7.8

カード検証可能証明書属性

備考  カード検証可能証明書は,JIS X 6320-8 で定義されている。その主たる用途は,公開かぎによ

るカード認証方法にある。

CVCertificateAttributes ::= SEQUENCE { 

value ObjectValue { CIO-OPAQUE.&Type},

... -- 

将来の拡張のため

}

  この構成要素の解釈は,次のとおりとする。

−  CVCertificateAttributes.value:  この値は,決められた場所にある JIS X 6320-8  カード検証可能証明書

を含むファイル,又は証明書のある場所を指している URL を識別する ReferencedValue でなければ

ならない。

8.7.9

はん(汎)用証明書属性  この型は,任意の種類の証明書に固有な情報を含むことを意図している

8.2.16 参照)

8.8

データコンテナ情報オブジェクト

8.8.1

DataContainerObjectChoice

DataContainerObjectChoice ::= CHOICE {


28

X 6320-15

:2006 (ISO/IEC 7816-15:2004)

opaqueDO  

DataContainerObject {OpaqueDOAttributes},

iso7816DO  

[0] DataContainerObject {ISO7816DOAttributes},

oidDO

[1] DataContainerObject {OidDOAttributes},

... -- 

将来の拡張のため

}

DataContainerObject {DataObjectAttributes} ::= CIO { 

CommonDataContainerObjectAttributes, NULL, DataObjectAttributes}

この型は,データコンテナオブジェクトに関係する情報を含む。各値は,オブジェクト,データコンテ

ナオブジェクトに共通する属性及びデータコンテナオブジェクトに特有な属性で構成する。

8.8.2

オパークデータコンテナオブジェクト属性(opaqueDO)  これらのオブジェクトの解釈は,アク

セスするアプリケーションに従う。

OpaqueDOAttributes ::= ObjectValue {CIO-OPAQUE.&Type}

8.8.3

ISO/IEC 7816 

データオブジェクト属性(iso7816DO)  EF.DCOD  は,一つ又は複数の IDO の情

報を含んでもよい。これらのオブジェクトは,ISO/IEC 7816-4 に定義されている互換タグ割当スキームに

従っていなければならない。

ISO7816DOAttributes ::= ObjectValue {CIO-OPAQUE.&Type}

CONSTRAINED BY {--すべてのデータコンテナオブジェクトは

 ISO/IEC 7816-4

によって定義される --}

EF.DCOD

にある各 iso7816DO エントリは,ISO/IEC 7816-4 に従っているファイルを参照する。これら

のデータコンテナオブジェクトを使用することによって,アプリケーションは相互運用性を高める。

参照されている CDE が,例えば,GET DATA コマンドで検索するデータオブジェクトであるとき,

ObjectValue

の direct 選択肢を使用しなければならず,CIO-OPAQUE.&Type 値は,データオブジェクト

のタグでなければならない。

8.8.4

オブジェクト識別子によって識別されるデータコンテナ情報オブジェクト  この型は,オブジェク

ト識別子を割り当てられているデータコンテナオブジェクトを格納,検索及び取得する手段を提供する。

この情報の型の例は,任意の ASN.1 属性とする(ISO/IEC 9594-6 参照)

OidDOAttributes ::= SEQUENCE { 

id  

CIO-OPAQUE.&id 

{AllowedOidDOs},

value  

CIO-OPAQUE.&Type 

{AllowedOidDOs}{@id}

}

AllowedOidDOs CIO-OPAQUE ::= {...}

8.9

認証情報オブジェクト

8.9.1

AuthenticationobjectChoice

AuthenticationObjectChoice ::= CHOICE { 

pwd  

AuthenticationObject { PasswordAttributes },

biometricTemplate  [0] AuthenticationObject{ BiometricAttributes},

authKey  

[1] AuthenticationObject {AuthKeyAttributes},

external  

[2] AuthenticationObject {ExternalAuthObjectAttributes},

... -- 

将来の拡張のため

}

AuthenticationObject {AuthObjectAttributes} ::= CIO {

CommonAuthenticationObjectAttributes, NULL, AuthObjectAttributes}

こ の 型 は , 使 わ れ て い る 認 証 方 法 の 情 報 を 含 む 。 各 認 証 オ ブ ジ ェ ク ト は , 個 別 の

CommonAuthenticationObjectAttributes.authID

をもっていなければならない。これによって,プライ

ベートオブジェクトのための明確な認証オブジェクトの検索が可能となる。

8.9.2

パスワード属性

PasswordAttributes ::= SEQUENCE { 

pwdFlags  

PasswordFlags,

pwdType  

PasswordType,


29

X 6320-15

:2006 (ISO/IEC 7816-15:2004)

minLength

INTEGER 

cia-lb-minPasswordLength..cia-ub-minPasswordLength,

storedLength

INTEGER 

0..cia-ub-storedPasswordLength,

maxLength  

INTEGER OPTIONAL,

pwdReference  

[0] Reference DEFAULT 0,

padChar  

OCTET STRING 

SIZE1

 OPTIONAL,

lastPasswordChange GeneralizedTime OPTIONAL,

path  

Path OPTIONAL,

... -- 

将来の拡張のため

}

PasswordFlags ::= BIT STRING { 

case-sensitive  

0,

local

1,

change-disabled

2,

unblock-disabled  

3,

initialized  

4,

needs-padding  

5,

unblockingPassword  

6,

soPassword

7,

disable-allowed  

8,

integrity-protected

9,

confidentiality-protected  

10,

exchangeRefData

11

CONSTRAINED BY { --    unblockingPassword及びsoPasswordは,同時に設定できない。-- }

PasswordType ::= ENUMERATED {bcd, ascii-numeric, utf8, ..., half-nibble-bcd, iso9564-1}

  これらの型の解釈は,次のとおりとする。

−  PasswordAttributes.pwdFlags:  この構成要素は,パスワードが次の各特性を備えているかを通知す

る。

−  case-sensitive:  このパスワードは,大文字・小文字を区別する。この場合,カードに渡す前に利

用者が入力したパスワードをすべての大文字に変換してはならない。

−  local:  このパスワードは,ローカル,すなわち,属しているアプリケーションに固有とする。

備考  “ローカル”でないパスワードは,グローバルと見なされる。ローカルパスワードは,決め

られたアプリケーション内のデータだけを保護するために使用してもよい。ローカルパスワ

ードの場合には,検証の有効期間は保証されないので,使用するたびに再検証することもあ

る。これに対して,グローバルパスワードの検証が成功すると,カードが取り外されるか又

はリセットされるまで,又は同じパスワードの新しい検証が失敗するまで,検証は,有効と

なる。グローバルパスワードを検証しているアプリケーションは,他のアプリケーションが

その独自のローカルパスワードを検証する。他の DF を選択するなどの場合であっても,パ

スワードは,有効なままであると想定することができる。

−  change-disabled:  このパスワードは,変更不能である。この場合,パスワードを変更することは

できない。

−  unblock-disabled:  このパスワードは,閉そく(塞)解除不能である。この場合,パスワードを閉

そく(塞)解除することはできない。

−  initialized:  このパスワードは,初期設定済みである。

−  needs-padding:  このパスワードは,パディングが必要である。この場合,指定されたパスワード

の長さと格納されている長さに応じて,カードに渡す前にパスワードにパディングすることが必要

になる場合がある。

−  unblockingPassword:  このパスワードは,パスワード閉そく(塞)解除目的に使用してもよい


30

X 6320-15

:2006 (ISO/IEC 7816-15:2004)

ISO/IEC 7816-4 リセッティングコード)

。すなわち,関連認証オブジェクトの再試行リトライカ

ウンタをその初期値にリセットする。

−  soPassword:  このパスワードは,セキュリティ管理者(セキュリティオフィサ)のパスワードと

する。

備考  パスワードは CIO によって記述されるので,他の認証オブジェクトはそれらを保護してもよ

い。このことは,別のパスワードのリトライカウンタをリセットし,閉そく(塞)解除する

ために使用できるパスワードを指定する手段を提供する。パスワード情報オブジェクトの

authID

で閉そく(塞)解除パスワード認証オブジェクトを指示する。

−  disable-allowed:  このパスワードは,無効にすることができる。

−  integrity-protected:  このパスワードは,セキュアメッセージングでカードに渡さなければならな

い。

−  confidentiality-protected:  このパスワードは,暗号化されてカードに渡さなければならない。

−  exchangeRefData:  このパスワードは,新しい参照データをカードに渡すだけで,又は新旧両方の

参照データを必要とする場合に両方を渡すことで,変更することができる。ビットがセットされて

いると,新旧両方の参照データを渡さなければならない。クリアされている場合,新しい参照デー

タだけを渡す必要がある。

−  PasswordAttributes.pwdType:  この構成要素は,パスワードの型を次の 5 種類のうちの一つに決定す

る。

−  bcd[2進化10進数,バイトの各ニブル(4ビットかたまり)は,パスワードの1けたの数字を含んで

いなければならない。

−  ascii-numeric[パスワードの各バイトは,ASCII符号化数字を含む(ANSI X3.4参照)

−  utf8(各文字は,UTF-8 に従って符号化する。

−  half-nibble-bcd(バイトの下位ニブルは,パスワードの 1 けたの数字とし,上位ニブルは,“F”と

する。

−  iso9564-1ISO 9564-1 に従った符号化)

−  PasswordAttributes.minLength:  変更が許容される場合,新しいパスワードの最短文字長。

参考  採用する符号化方法の違いによって,文字数及びバイト数は,異なる場合がある。

−  PasswordAttributes.storedLength:  カード上に格納されている長さ(バイト単位)

。必要なパディン

グ文字数の推定に使用される。pwdFlagsが,パディングが必要ない,すなわち,パディング文字がカ

ードに送られないことを示している場合,値を0に設定して無視することができる。

−  PasswordAttributes.maxLength:  カードによっては,パスワードにパディングされないので,許容さ

れる最大パスワード文字長を知る必要がある。

参考  採用する符号化方法の違いによって,文字数とバイト数とは,異なる場合がある。

−  PasswordAttributes.pwdReference:  この構成要素は,パスワードに対するカード固有の参照要素で

ある。適用できる場合には,これをISO/IEC 7816-4 VERIFYコマンドのP2パラメタとして使用すること

が想定される。存在しない場合,省略時の値0とする。

−  PasswordAttributes.padChar:  使用するパディング文字(通常は“FF”又は“00”)

。このカードにパディ

ングが必要ないことをpwdFlagsが示している場合,パディング文字は,必要ない。

PasswordAttributes.pwdType

bcd型である場合,padCharは,同じ値の2ニブルから構成され,任

意のニブルを“パディングニブル”として使用することができる。例えば,‘0101

2

のパディングを意味


31

X 6320-15

:2006 (ISO/IEC 7816-15:2004)

する“55”は許されるが,“34”は誤とする。

−  PasswordAttributes.lastPasswordChange:  この構成要素は,パスワード有効期限方針を執行するた

めにパスワードが最後に変更された日付を必要とするアプリケーションで使用するためのものである。

パスワードが設定されていない,又は変更されることがなかったとき,値はISO/IEC 8824-1で定義され

ている記法を使用して  ‘000000000000Z’でなければならない。例として,1999年1月6日1934(午後7時

34

分)UTCに変更されたパスワードは,‘19990106193400Z’のlastPasswordChange値をもつ。

−  PasswordAttributes.path:  パスワードが存在しているDFへのパス。パスワード照合(オペレーション)

に適切な認証コンテキストを可能にするには,パスワード照合を行う前に,パスがホストアプリケーシ

ョンによって選択されなければならない。PasswordAttributes.pathを指定しない場合,事前のSELECT

操作なしに実行するために,カード保有者照合が常に可能でなければならない。

8.9.2.1

指定されたパスワードの符号化  使用者指定パスワードをカードに渡すために符号化するとき,

ホスト側アプリケーションが行う手順は,次の a)  から d)  のとおりとする。

a)

パスワード型に従ってパスワードを変換する。

1

パスワードが utf8 パスワードである場合,パスワードを UTF-8 に変換する[x = UTF8(パスワー

ド)

。次に,

case-sensitive

ビットがオフである場合,x を大文字に変換する。

x = NLSUPPERCASE

(x)

(NLSUPPERCASE =場面依存大文字)

2

パスワードが bcd パスワードである場合,各文字が数字であることを確認し,文字を BCD 数字

として符号化する。x = BCD(パスワード)

3

パスワードが ascii-numeric 又は iso9564-1 パスワードである場合,必要ならば各文字が有効な

コード表に存在する数字であることを確認し,文字を ASCII 数字として符号化する。x = ASCII

(パスワード)

4

パスワードが half-nibble-bcd パスワードである場合,各文字が数字であることを確認し,文字

を各バイトの下位半分に BCD として符号化し,各上位ニブルを“F

16

に設定する。x = Half-BCD

(パスワード)

b)  pwdFlags

構成要素に示されている場合,x の右側にパディング文字 padChar を詰めて格納長を

storedLength

にする。x = PAD(x, padChar, storedLength)

c)

pwdFlags.integrity-protected

又は pwdFlags.confidentiality-protected ビットが設定されている場

合,適切なアルゴリズム及びかぎを変換して書式化したパスワードに適用する。

d)

パスワードをカードに渡す。

例  数字(ascii-numeric)パスワードが 1234,格納長さ 8 バイト,パディング文字が“FF”である場合,カ

ードに渡される値は“31323334FFFFFFFF”になる。

8.9.3

生体認証参照データ属性  この型は,格納されている生体認証参照データと渡された生体認証確認

データとを比較することによって認証を実行できるカードだけに関係し,格納されている生体認証参照デ

ータ(

“テンプレート”

)の情報を含む。

BiometricAttributes ::= CHOICE { 

biometricTemplateAttributes  BiometricTemplateAttributes,

bit

  

  [APPLICATION 96] BiometricInformationTemplate,

bitGroup  

  [APPLICATION 97] BiometricInformationTemplateGroup

}

BiometricInformationTemplate ::= OCTET STRING --    ISO/IEC 7816-11 BiometricInformationTemplate

値を含む。

BiometricInformationTemplateGroup ::= OCTET STRING 
--  ISO/IEC 7816-11 BiometricInformationTemplate

グループテンプレート値を含む。

BiometricTemplateAttributes ::= SEQUENCE {


32

X 6320-15

:2006 (ISO/IEC 7816-15:2004)

bioFlags   BiometricFlags,

templateId  

BiometricTemplateIdentifier,

bioType    BiometricType,

bioReference  

Reference DEFAULT 0,

lastChange  

GeneralizedTime OPTIONAL,

path  

Path OPTIONAL,

... -- 

将来の拡張のため

}

BiometricTemplateIdentifier ::= CHOICE { 

oid OBJECT IDENTIFIER,

issuerId OCTET STRING,

... -- 

将来の拡張のため

}

BiometricFlags ::= BIT STRING { 

local 

1,

change-disabled 

2,

unblock-disabled 

3,

initialized 

4,

disable-allowed 

8,

integrity-protected 

9,

confidentiality-protected 

10

}

BiometricType ::= CHOICE { 

fingerPrint  

FingerPrintInformation,

iris  

[0] IrisInformation,

chained    [1] SEQUENCE SIZE 

2..cia-ub-biometricTypes OF BiometricType,

... -- 

将来の拡張のため

}

FingerPrintInformation ::= SEQUENCE { 

hand  

ENUMERATED {left, right},

finger  

ENUMERATED {thumb, pointerFinger, middleFinger, ringFinger, littleFinger},

}

IrisInformation ::= SEQUENCE { 

eye  

ENUMERATED {left, right},

... -- 

将来の拡張のため

}

  BiometricAttributes型は,格納されている生体認証参照データの情報を渡す次に示す二つの異なる手段

を提供する。

−この規格に規定される情報を通じて渡す(biometricTemplateAttributes構成要素)

−  ISO/IEC 7816-11で定義されている情報を通じて渡す(bit構成要素及びbitGroup構成要素)

BiometricTemplateAttributes

型の構成要素の意味は,次による。

−  BiometricAttributes.bioFlagsPasswordAttributes.pwdFlagsのときと同じであるが,

“パスワー

ド”を“生体認証参照データ”に置き換える。

−  BiometricAttributes.templateId:  この構成要素は,カードに送るデータ構造を識別する。

−  BiometricAttributes.bioType:  この構成要素は,例えば,右(right)人指し指(pointer finger)のようにカー

ドに格納する生体認証情報の種類を決定する。

chained”構成要素とは,認証が成功するためには,

連鎖する複数のコマンドを使用して,同一の検証プロセスで複数の生体認証の特徴を渡すことを意味

している。

−  BiometricAttributes.bioReferenceBiometricAttributes.lastChange 及び

BiometricAttributes.pathPasswordAttributes

にある対応する構成要素のときと同じであるが,

“パ

スワード”を“生体認証参照データ”に置き換える。

8.9.4

外部認証のための認証オブジェクト


33

X 6320-15

:2006 (ISO/IEC 7816-15:2004)

備考  この項はカードに対して認証する方法を説明しているだけで,内部認証及び相互認証について

は,論じていない。

ExternalAuthObjectAttributes ::= CHOICE { 

authKeyAttributes  

AuthKeyAttributes,

certBasedAttributes

[0] CertBasedAuthenticationAttributes,

... -- 

将来の拡張のため

}

AuthKeyAttributes ::= SEQUENCE { 

derivedKey  

BOOLEAN DEFAULT TRUE,

authKeyId  

Identifier,

... -- 

将来の拡張のため

}

CertBasedAuthenticationAttributes ::= SEQUENCE { 

cha  

OCTET STRING,

...

}

  これらの型の解釈は,次による。

−  AuthKeyAttributes.derivedKey:  この構成要素は,カードに格納されている認証かぎが,個別かぎを

導き出すために使用される導出かぎ(例えば,個別かぎ)

,グループかぎ,又はマスターかぎのいずれ

かを規定する。

−   AuthKeyAttributes.authKeyId:  こ の 構 成 要 素 は , EF.SKD に 記 述 さ れ て い る 認 証 か ぎ の 識 別 子

CommonKeyAttribute.iD)を規定する。

−  CertBasedAuthenticationAttributes.cha:  この構成要素は,カード検証可能証明書(JIS X 6320-8 

照)

で提示される証明書保持者権限を規定する。

この値を含んでいるカード検証可能証明書が検証され,

対応するかぎペアでの認証手続きが正常に完了していると,cha は,有効と設定され,この証明書保持

者権限内で保護されているプライベートオブジェクトへアクセスできる。

8.10

暗号情報ファイル EF.CIAInfo  この型は,DF.CIA 及びカードの一般情報を含む。

CIAInfo ::= SEQUENCE { 

version

  

INTEGER {v1

0,v21}  v1|v2,...,

serialNumber

  

OCTET STRING OPTIONAL,

manufacturerID  

Label OPTIONAL,

label

  

[0] Label OPTIONAL,

cardflags  

CardFlags,

seInfo  

SEQUENCE OF SecurityEnvironmentInfo OPTIONAL,

recordInfo

  

[1] RecordInfo OPTIONAL,

supportedAlgorithms  

[2] SEQUENCE OF AlgorithmInfo OPTIONAL,

issuerId  

[3] Label OPTIONAL,

holderId

[4] Label OPTIONAL,

lastUpdate

[5] LastUpdate OPTIONAL,

preferredLanguage

PrintableString OPTIONAL, -- IETF RFC 1766

に従って

profileIndication

[6] SEQUENCE OF ProfileIndication OPTIONAL,

...

CONSTRAINED BY { --  AlgorithmInfo.reference値は,唯一でなければならない。--}

CardFlags ::= BIT STRING { 

readonly

0,

authRequired  

1,

prnGeneration  

2

} -- Bit 

3    は歴史上の理由で留保する。

SecurityEnvironmentInfo ::= SEQUENCE { 

se

INTEGER,

owner  

OBJECT IDENTIFIER OPTIONAL,

aid

OCTET STRING

CONSTRAINED BY {-- ISO/IEC 7816-4に従って符号化される。 --} OPTIONAL,

... -- 

将来の拡張のため


34

X 6320-15

:2006 (ISO/IEC 7816-15:2004)

}

RecordInfo ::= SEQUENCE { 

oDRecordLength  

[0] INTEGER 

0..cia-ub-recordLength OPTIONAL,

prKDRecordLength  

[1] INTEGER 

0..cia-ub-recordLength OPTIONAL,

puKDRecordLength

[2] INTEGER 

0..cia-ub-recordLength OPTIONAL,

sKDRecordLength

[3] INTEGER 

0..cia-ub-recordLength OPTIONAL,

cDRecordLength

[4] INTEGER 

0..cia-ub-recordLength OPTIONAL,

dCODRecordLength

[5] INTEGER 

0..cia-ub-recordLength OPTIONAL,

aODRecordLength

[6] INTEGER 

0..cia-ub-recordLength OPTIONAL

}

AlgorithmInfo ::= SEQUENCE { 

reference  

Reference,

algorithm  

CIO-ALGORITHM.&id

{AlgorithmSet},

parameters

  

CIO-ALGORITHM.&Parameters

{AlgorithmSet}{@algorithm},

supportedOperations  

CIO-ALGORITHM.&Operations

{AlgorithmSet}{@algorithm},

objId  

CIO-ALGORITHM.&objectIdentifier 

{AlgorithmSet}{@algorithm},

algRef  

Reference OPTIONAL

}

LastUpdate ::= CHOICE { 

generalizedTime  

GeneralizedTime,

referencedTime

  

ReferencedValue,

... -- 

将来の拡張のため

}

CONSTRAINED BY {-- GeneralizedTime referencedValueは,GeneralizedTime型でなければならない。

--}

ProfileIndication ::= CHOICE { 

profileOID  

OBJECT IDENTIFIER,

profileName  

UTF8String,

... -- 

将来の拡張のため

}

  EF.CIAInfoは,CIAInfo型の一つのDER符号化値を含んでいなければならない。

CIAInfo

型の解釈は,次による。

−  CIAInfo.version:  この構成要素は,この規格(2006年版)では,v2に設定しなければならない。将来,

この規格が改正されれば,他の値が使用されることもありうる。CIAInfo値は,未知の版番号のためだ

けで拒否してはならない。

備考  版番号 v1 は,PKCS #15 で使用している。

−  CIAInfo.serialNumber:  この構成要素は,アプリケーション提供者によって選択されているCIAの一意

なシリアル番号を含んでいなければならない。

−  CIAInfo.manufacturerID:  この任意選択の構成要素が存在しているとき,UTF-8で符号化されたカード

製造業者識別情報を含んでいなければならない。

−  CIAInfo.label:  この任意選択の構成要素が存在しているとき,アプリケーションの識別情報を含んでい

なければならない。

−  CIAInfo.cardflags:  この構成要素は,カード自体の情報を含む。フラグは,カードが読取り専用である

場合(readonly),使用者に認証されることを要求する暗号機能が存在する場合(authRequired)及びカード

が擬似乱数生成を具備している場合(prnGeneration)を含む。

−  CIAInfo.seInfo:  この任意選択の構成要素は,カードに事前設定されているセキュリティ環境及びこれ

ら環境の所有者についての情報を伝えることを意図する。これらの環境の定義は,現在はこの規格の

適用範囲外である(詳細は,ISO/IEC 7816-4参照。

aid構成要素は,セキュリティ環境を適用できる

カードアプリケーションを示す。

−  CIAInfo.recordInfo:  この任意選択の構成要素は,次の二つの目的をもつ。

−  基礎ファイルEF.OD,EF.PrKD,EF.PuKD,EF.SKD,EF.CD,EF.DCOD及びEF.AODが,順編成レコ


35

X 6320-15

:2006 (ISO/IEC 7816-15:2004)

ードファイル又は透過ファイルのいずれであるかを示す。構成要素が存在している場合,それらは

順編成レコードファイルとし,存在していない場合,透過ファイルとする。

−  それらが順編成レコードファイルである場合,それらが固定長であるかどうかを示す。固定長であ

る場合,RecordInfoの対応する値は,存在していてゼロ(零)に等しくなく,レコード長を示して

いる。ファイルが順編成レコードファイルであるが固定長でない場合,RecordInfoの対応する値は

ゼロ(零)に設定する。

−  CIAInfo.supportedAlgorithms:  この任意選択の構成要素は,カードが支援している,暗号アルゴリ

ズム,関連パラメタ,操作及びアルゴリズム入力フォーマットを示すことを意図する。AlgorithmInfo

reference構成要素は,PrKD及びPuKDからの相互参照の目的に使用される一意な参照とする。

algorithm

構 成 要 素 の 値 は , 私 的 使 用 の た め に 用 い る 。 supportedOperations 構 成 要 素 の 値

( compute-checksum , compute-signature , verify-checksum , verify-signature , encipher 

decipher

hash及びderive-key)は,カードが特定のアルゴリズムで実行できる操作を識別する。objId

構成要素は,アルゴリズムのオブジェクト識別子を示す。algRef構成要素は,例えば,“EXTERNAL

AUTHENTICATE

”コマンドのパラメタとしてカードインタフェースに設定するような  アルゴリズムを

指定するためにカードによって使用される識別子を示す。

備考  algorithm 構成要素の値は,PKCS #11(関連規格参照)の機構番号と解釈され,その番号とし

て選択してもよい。

−  CIAInfo.issuerId:  この任意選択の構成要素が存在しているとき,カード発行者の識別情報を含んでい

る。

−  CIAInfo.holderId:  この任意選択の構成要素が存在しているとき,カード保有者の識別情報を含んでい

る。

−  CIAInfo.lastUpdate:  この任意選択の構成要素が存在しているとき,CIAにあるファイルの最終更新日

を含むか,又はそれを参照していなければならない。この構成要素の存在は,ホスト側アプリケーシ

ョンが,CIAInfo.serialNumber構成要素とともに,EF.OD,EF.CDなどを読む必要があるか,又はホス

ト側アプリケーションが保持している情報が有効であるか否かを速やかに判断することを可能にする。

LastUpdate

型の代替であるrefetencedTimeは,EF.CIAInfoを書き込み保護する必要がある場合を意図

する。

−  CIAInfo.preferredLanguageIETF RFC 1766に従って符号化されているカード保有者の優先言語。

−  CIAInfo.profileIndication:  この任意選択の構成要素が存在しているとき,カードがそれに従って発行

されているJIS X 6320-15のプロファイルを示す。

備考  JIS X 6320-15 の標準化されたプロファイルを定義することは,他の仕様による。


36

X 6320-15

:2006 (ISO/IEC 7816-15:2004)

附属書 A(規定)ASN.1 モジュール

この附属書では,

JIS X 6320-15

にあるすべての ASN.1 データ型,値及び情報オブジェクトクラス定義が,

ASN.1

モジュール CryptographicInformationFramework の型で含んでいる。

CryptographicInformationFramework {iso

1 standard0 7816 15 1}

DEFINITIONS IMPLICIT TAGS ::=

BEGIN 
IMPORTS 
informationFramework, authenticationFramework, certificateExtensions 

FROM UsefulDefinitions {joint-iso-itu-t

2 ds5 module1 usefulDefinitions0 3}

Name 

FROM InformationFramework informationFramework

Certificate, AttributeCertificate, CertificateSerialNumber, SubjectPublicKeyInfo, AlgorithmIdentifier, Validity 

FROM AuthenticationFramework authenticationFramework

GeneralName, GeneralNames, KeyUsage 

FROM CertificateExtensions certificateExtensions

ECPoint, Parameters 

FROM ANSI-X9-62 {iso

1 member-body2 us840 ansi-x96210045 module4 1}

DomainParameters 

FROM ANSI-X9-42 {iso

1 member-body2 us840 ansi-x94210046 module5 1};

 
-- A.1 

上限及び下限

cia-ub-identifier

INTEGER ::= 255

cia-ub-reference  

INTEGER ::= 255

cia-ub-index

INTEGER ::= 65535

cia-ub-label  

INTEGER ::= cia-ub-identifier

cia-lb-minPasswordLength

INTEGER ::= 4

cia-ub-minPasswordLength

INTEGER ::= 8

cia-ub-storedPasswordLength  

INTEGER ::= 64

cia-ub-recordLength

INTEGER ::= 16383

cia-ub-userConsent  

INTEGER ::= 15

cia-ub-securityConditions  

INTEGER ::= 255

cia-ub-biometricTypes

INTEGER ::= 127

 
-- A.2 

基本型

 
-- A.2.1 
 
Identifier ::= OCTET STRING 

SIZE  0..cia-ub-identifier

 
-- A.2.2 
 
Reference ::= INTEGER 

0..cia-ub-reference

 
-- A.2.3 
 
Label ::= UTF8String 

SIZE0..cia-ub-label

 
-- A.2.4 
 
CredentialIdentifier {KEY-IDENTIFIER : IdentifierSet} ::= SEQUENCE { 

idType KEY-IDENTIFIER.&id 

{IdentifierSet},

idValue KEY-IDENTIFIER.&Value 

{IdentifierSet}{@idType}

}

KeyIdentifiers KEY-IDENTIFIER ::= { 

issuerAndSerialNumber

|


37

X 6320-15

:2006 (ISO/IEC 7816-15:2004)

issuerAndSerialNumberHash   

|

subjectKeyId

|

subjectKeyHash

|

issuerKeyHash

|

issuerNameHash

  

|

subjectNameHash

  

|

pgp2KeyId

|

openPGPKeyId,

...

}

KEY-IDENTIFIER ::= CLASS { 

&id INTEGER UNIQUE,

&Value

} WITH SYNTAX {

SYNTAX &Value IDENTIFIED BY &id

}

IssuerAndSerialNumber ::= SEQUENCE { 

issuer Name,

serialNumber CertificateSerialNumber

}

issuerAndSerialNumber KEY-IDENTIFIER::= 

{SYNTAX IssuerAndSerialNumber IDENTIFIED BY 1}

issuerAndSerialNumberHash KEY-IDENTIFIER ::= 

{SYNTAX OCTET STRING IDENTIFIED BY 3}

-- IssuerAndSerialNumber

DER符号化のハッシュをSHA-1と仮定する

subjectKeyId KEY-IDENTIFIER ::= 

{SYNTAX OCTET STRING IDENTIFIED BY 2}

-- JIS X 5731-8 

証明書拡張から

subjectKeyHash KEY-IDENTIFIER ::= 

{SYNTAX OCTET STRING IDENTIFIED BY 4}

issuerKeyHash KEY-IDENTIFIER ::= 

{SYNTAX OCTET STRING IDENTIFIED BY 5}

issuerNameHash KEY-IDENTIFIER ::= 

{SYNTAX OCTET STRING IDENTIFIED BY 6}

-- DER

符号化されたissuer nameSHA-1ハッシュ値

subjectNameHash KEY-IDENTIFIER ::= 

{SYNTAX OCTET STRING IDENTIFIED BY 7}

-- DER

符号化されたsubject nameSHA-1ハッシュ値

pgp2KeyId KEY-IDENTIFIER ::= 

{SYNTAX OCTET STRING 

SIZE8

 IDENTIFIED BY 8}

openPGPKeyId KEY-IDENTIFIER ::= 

{SYNTAX OCTET STRING 

SIZE8

 IDENTIFIED BY 9}

-- A.2.5 
 
ReferencedValue ::= CHOICE { 

path  

Path,

url  

URL

} --

オブジェクトの記述は,内容によって決定される。

URL ::= CHOICE { 

url  

CHOICE {printable PrintableString, ia5 IA5String},

urlWithDigest [3] SEQUENCE {

url

IA5String,

digest  

DigestInfoWithDefault

}

}

 
alg-id-sha1 AlgorithmIdentifier ::= { 

algorithm

id-sha1,

parameters  

SHA1Parameters : NULL

}


38

X 6320-15

:2006 (ISO/IEC 7816-15:2004)

id-sha1 OBJECT IDENTIFIER ::= {iso

1 identified-organization3 oiw14 secsig3 algorithms2

26 } 
 
SHA1Parameters ::= NULL 
 
DigestInfoWithDefault ::= SEQUENCE { 

digestAlg AlgorithmIdentifier DEFAULT alg-id-sha1,

digest

OCTET STRING 

SIZE8..128

} 
Path ::= SEQUENCE { 

efidOrPath  

OCTET STRING,

index

INTEGER 

0..cia-ub-index OPTIONAL,

length  

[0] INTEGER 

0..cia-ub-index OPTIONAL

}

  WITH COMPONENTS {..., index PRESENT, length PRESENT}|

  WITH COMPONENTS {..., index ABSENT, length ABSENT}

 
-- A.2.6 
 
ObjectValue { Type } ::= CHOICE { 

indirect    ReferencedValue,

direct  

[0] Type

}

 
-- A.2.7 
 
PathOrObjects {ObjectType} ::= CHOICE { 

path  

Path,

objects    [0] SEQUENCE OF ObjectType,

... -- 

将来の拡張のため

}

 
-- A.2.8 
CommonObjectAttributes ::= SEQUENCE { 

label

Label OPTIONAL,

flags  

CommonObjectFlags OPTIONAL,

authId  

Identifier OPTIONAL,

userConsent  

INTEGER 

1..cia-ub-userConsent OPTIONAL,

accessControlRules  

SEQUENCE SIZE 

1..MAX OF AccessControlRule OPTIONAL,

... 

将来の拡張のため

CONSTRAINED BY {-- flags.private  がセットされているときauthIdは,存在しなければならない  

-- AOD

内の一つの認証オブジェクト内のauthIDと等しいものとする-- }

 
CommonObjectFlags ::= BIT STRING { 

private

  

0,

modifiable  

1,

internal  

2

} -- Bit 

2  は,歴史的理由で存在しているが,使用しないほうがよい。

 
AccessControlRule ::= SEQUENCE { 

accessMode  

AccessMode,

securityCondition  SecurityCondition,

... 

将来の拡張のため

}

 
AccessMode ::= BIT STRING { 

read  

0,

update

1,

execute  

2,

delete  

3

}


39

X 6320-15

:2006 (ISO/IEC 7816-15:2004)

SecurityCondition ::= CHOICE { 

always  

NULL,

authId  

Identifier,

authReference  

AuthReference,

not

[0] SecurityCondition,

and

[1] SEQUENCE SIZE 

2..cia-ub-securityConditions OF SecurityCondition,

or  

[2] SEQUENCE SIZE 

2..cia-ub-securityConditions OF SecurityCondition,

... 

将来の拡張のため

}

AuthReference ::= SEQUENCE { 

authMethod  

AuthMethod,

seIdentifier  

INTEGER OPTIONAL

}

AuthMethod ::= BIT STRING {secureMessaging

0, extAuthentication1, userAuthentication2}

 
-- A.2.9 
CommonKeyAttributes ::= SEQUENCE { 
 

iD

  

Identifier,

usage  

KeyUsageFlags,

native  

BOOLEAN DEFAULT TRUE,

accessFlags  

KeyAccessFlags OPTIONAL,

keyReference

KeyReference OPTIONAL,

startDate  

GeneralizedTime OPTIONAL,

endDate  

[0] GeneralizedTime OPTIONAL,

algReference

[1] SEQUENCE OF Reference OPTIONAL,

... -- 

将来の拡張のため

}

 
KeyUsageFlags ::= BIT STRING { 

encipher  

0,

decipher  

1,

sign

2,

signRecover  

3,

keyEncipher  

4,

keyDecipher  

5,

verify  

6,

verifyRecover

7,

derive

8,

nonRepudiation  

9

}

 
KeyAccessFlags ::= BIT STRING { 

sensitive

0,

extractable

1,

alwaysSensitive

2,

neverExtractable  

3,

cardGenerated

4

}

 
KeyReference ::= INTEGER 
 
-- A.2.10 
 
CommonPrivateKeyAttributes ::= SEQUENCE { 

name  

Name OPTIONAL,

keyIdentifiers  

[0] SEQUENCE OF CredentialIdentifier {{KeyIdentifiers}} OPTIONAL,

generalName  

[1] GeneralNames OPTIONAL,

... -- 

将来の拡張のため

}


40

X 6320-15

:2006 (ISO/IEC 7816-15:2004)

-- A.2.11 
 
CommonPublicKeyAttributes ::= SEQUENCE { 

name

  

Name OPTIONAL,

trustedUsage

[0] Usage OPTIONAL,

generalName

[1] GeneralNames OPTIONAL,

keyIdentifiers

[2] SEQUENCE OF CredentialIdentifier {{KeyIdentifiers}} OPTIONAL,

... -- 

将来の拡張のため

}

 
-- A.2.12 
 
CommonSecretKeyAttributes ::= SEQUENCE { 

keyLen INTEGER OPTIONAL, -- 

かぎ長  (ビット)

... -- 

将来の拡張のため

}

 
-- A.2.13 
 
GenericKeyAttributes ::= SEQUENCE {

keyType   CIO-ALGORITHM.&objectIdentifier 

{AllowedAlgorithms},

keyAttr    CIO-ALGORITHM.&Parameters 

{AllowedAlgorithms}{@keyType}

}

AllowedAlgorithms CIO-ALGORITHM ::= {...} 
 
-- A.2.14 
 
KeyInfo {ParameterType, OperationsType} ::= CHOICE { 

paramsAndOps  

SEQUENCE {

parameters  

ParameterType,

operations  

OperationsType OPTIONAL

},

reference Reference 

歴史的理由のため使用しない。

}

 
-- A.2.15 
 
CommonCertificateAttributes ::= SEQUENCE { 

iD  

Identifier,

authority  

BOOLEAN DEFAULT FALSE,

identifier  

CredentialIdentifier {{KeyIdentifiers}} OPTIONAL,

certHash  

[0] CertHash OPTIONAL,

trustedUsage

[1] Usage OPTIONAL,

identifiers

[2] SEQUENCE OF CredentialIdentifier {{KeyIdentifiers}} OPTIONAL,

validity

[4] Validity OPTIONAL,

...

} -- Context tag

[3] 

歴史的理由のため使用しない。

 
Usage ::= SEQUENCE { 

keyUsage KeyUsage OPTIONAL,

extKeyUsage SEQUENCE SIZE 

1..MAX  OF OBJECT IDENTIFIER OPTIONAL,

...

WITH COMPONENTS {..., keyUsage PRESENT} | WITH COMPONENTS {..., extKeyUsage 

PRESENT}

 
CertHash ::= SEQUENCE { 

hashAlg [0] EXPLICIT AlgorithmIdentifier OPTIONAL,

certId [1] EXPLICIT CertId OPTIONAL,

hashVal BIT STRING

}

CONSTRAINED BY {-- hashVal  DER符号化された証明書全体から計算する --}


41

X 6320-15

:2006 (ISO/IEC 7816-15:2004)

 
CertId ::= SEQUENCE { 

issuer  

GeneralName,

serialNumber  

CertificateSerialNumber

}

 
-- A.2.16 
GenericCertificateAttributes ::= SEQUENCE { 

certType  CIO-OPAQUE.&id 

{AllowedCertificates},

certAttr    CIO-OPAQUE.&Type 

{AllowedCertificates}{@certType}

}

AllowedCertificates CIO-OPAQUE ::= {...} 
 
-- A.2.17 
 
CommonDataContainerObjectAttributes ::= SEQUENCE { 

applicationName    Label OPTIONAL,

applicationOID  

OBJECT IDENTIFIER OPTIONAL,

iD  

Identifier OPTIONAL,

... -- 

将来の拡張のため

WITH COMPONENTS {..., applicationName PRESENT}| WITH COMPONENTS {..., applicationOID 

PRESENT}

 
-- A.2.18 
CommonAuthenticationObjectAttributes ::= SEQUENCE { 

authId  

Identifier OPTIONAL,

authReference  

Reference OPTIONAL,

seIdentifier

[0] Reference OPTIONAL,

... -- 

将来の拡張のため

}

-- A.2.19 
CIO {ClassAttributes, SubClassAttributes, TypeAttributes} ::= SEQUENCE { 

commonObjectAttributes

CommonObjectAttributes,

classAttributes  

ClassAttributes,

subClassAttributes  

[0] SubClassAttributes OPTIONAL,

typeAttributes  

[1] TypeAttributes

}

 
-- A.3 CIOs 
 
CIOChoice ::= CHOICE { 

privateKeys  

[0] PrivateKeys,

publicKeys

  

[1] PublicKeys,

trustedPublicKeys

[2] PublicKeys,

secretKeys

[3] SecretKeys,

certificates

[4] Certificates,

trustedCertificates  

[5] Certificates,

usefulCertificates

[6] Certificates,

dataContainerObjects

[7] DataContainerObjects,

authObjects  

[8] AuthObjects,

... -- 

将来の拡張のため

}

 
PrivateKeys ::= PathOrObjects {PrivateKeyChoice} 
 
PublicKeys ::= PathOrObjects {PublicKeyChoice} 
 
SecretKeys ::= PathOrObjects {SecretKeyChoice} 
 
Certificates ::= PathOrObjects {CertificateChoice}


42

X 6320-15

:2006 (ISO/IEC 7816-15:2004)

 
DataContainerObjects ::= PathOrObjects {DataContainerObjectChoice} 
 
AuthObjects ::= PathOrObjects {AuthenticationObjectChoice} 
-- A.4 

プライベートかぎ情報オブジェクト

 
-- A.4.1 
 
PrivateKeyChoice ::= CHOICE { 

privateRSAKey  

PrivateKeyObject {PrivateRSAKeyAttributes},

privateECKey  

[0] PrivateKeyObject {PrivateECKeyAttributes},

privateDHKey  

[1] PrivateKeyObject {PrivateDHKeyAttributes},

privateDSAKey  

[2] PrivateKeyObject {PrivateDSAKeyAttributes},

privateKEAKey

[3] PrivateKeyObject {PrivateKEAKeyAttributes},

genericPrivateKey

[4] PrivateKeyObject {GenericKeyAttributes},

... -- 

将来の拡張のため

}

 
PrivateKeyObject {KeyAttributes} ::= CIO { 
 
CommonKeyAttributes, CommonPrivateKeyAttributes, KeyAttributes} 
 
-- A.4.2 
 
PrivateRSAKeyAttributes ::= SEQUENCE { 

value

 Path,

modulusLength  

INTEGER, --

ビット長で示す。例えば1024

keyInfo  

KeyInfo {NULL, PublicKeyOperations} OPTIONAL,

... -- 

将来の拡張のため

}

 
-- A.4.3 
PrivateECKeyAttributes ::= SEQUENCE { 

value  

Path,

keyInfo    KeyInfo {Parameters, PublicKeyOperations} OPTIONAL,

... -- 

将来の拡張のため

}

 
-- A.4.4 
PrivateDHKeyAttributes ::= SEQUENCE { 

value  

Path,

keyInfo    KeyInfo {DomainParameters, PublicKeyOperations} OPTIONAL,

... -- 

将来の拡張のため

}

 
-- A.4.5 
PrivateDSAKeyAttributes ::= SEQUENCE { 

value  

Path,

keyInfo    KeyInfo {DomainParameters, PublicKeyOperations} OPTIONAL,

... -- 

将来の拡張のため

}

 
-- A.4.6 
PrivateKEAKeyAttributes ::= SEQUENCE { 

value Path,

keyInfo KeyInfo {DomainParameters, PublicKeyOperations} OPTIONAL,

... -- 

将来の拡張のため

}

 
-- A.5 

公開かぎ情報オブジェクト


43

X 6320-15

:2006 (ISO/IEC 7816-15:2004)

-- A.5.1 
 
PublicKeyChoice ::= CHOICE { 

publicRSAKey

  

PublicKeyObject {PublicRSAKeyAttributes},

publicECKey

  

[0] PublicKeyObject {PublicECKeyAttributes},

publicDHKey

[1] PublicKeyObject {PublicDHKeyAttributes},

publicDSAKey

  

[2] PublicKeyObject {PublicDSAKeyAttributes},

publicKEAKey  

[3] PublicKeyObject {PublicKEAKeyAttributes},

genericPublicKey  [4] PublicKeyObject{GenericKeyAttributes},

... -- 

将来の拡張のため

}

 
PublicKeyObject {KeyAttributes} ::= CIO { 

CommonKeyAttributes, CommonPublicKeyAttributes, KeyAttributes}

 
-- A.5.2 
 
PublicRSAKeyAttributes ::= SEQUENCE { 

value  

ObjectValue {RSAPublicKeyChoice},

modulusLength  

INTEGER, -- 

ビット長で示す。例えば1024

keyInfo  

KeyInfo {NULL, PublicKeyOperations} OPTIONAL,

... -- 

将来の拡張のため

}

 
RSAPublicKeyChoice ::= CHOICE { 

raw  

RSAPublicKey,

spki  

[1] SubjectPublicKeyInfo, -- JIS X 5731-8

参照。.公開RSAかぎを含む。

...

}

 
RSAPublicKey ::= SEQUENCE { 

modulus    

INTEGER,

publicExponent  

INTEGER

}

 
-- A.5.3 
 
PublicECKeyAttributes ::= SEQUENCE { 

value  

ObjectValue {ECPublicKeyChoice},

keyInfo    KeyInfo {Parameters, PublicKeyOperations} OPTIONAL,

... -- 

将来の拡張のため

}

 
ECPublicKeyChoice ::= CHOICE { 

raw  

ECPoint, -- ANSI X9.62

参照

spki  

SubjectPublicKeyInfo, -- JIS X 5731-8

参照。公開だ円暗号かぎを含む。

...

}

 
-- A.5.4 
PublicDHKeyAttributes ::= SEQUENCE { 

value  

ObjectValue {DHPublicKeyChoice},

keyInfo    KeyInfo {DomainParameters, PublicKeyOperations} OPTIONAL,

... -- 

将来の拡張のため

}

 
DHPublicKeyChoice ::= CHOICE { 

raw  

DHPublicNumber,

spki  

SubjectPublicKeyInfo, -- JIS X 5731-8

参照。公開D-H暗号かぎを含む。

...

}


44

X 6320-15

:2006 (ISO/IEC 7816-15:2004)

 
DHPublicNumber ::= INTEGER 
 
-- A.5.5 
 
PublicDSAKeyAttributes ::= SEQUENCE { 

value  

ObjectValue {DSAPublicKeyChoice},

keyInfo    KeyInfo {DomainParameters, PublicKeyOperations} OPTIONAL,

... -- 

将来の拡張のため

}

 
DSAPublicKeyChoice ::= CHOICE { 

raw  

DSAPublicKey,

spki  

SubjectPublicKeyInfo, -- JIS X 5731-8

参照。公開DSA暗号かぎを含む。

...

}

 
DSAPublicKey ::= INTEGER 
 
-- A.5.6 
 
PublicKEAKeyAttributes ::= SEQUENCE { 

value  

ObjectValue {KEAPublicKeyChoice},

keyInfo    KeyInfo {DomainParameters, PublicKeyOperations} OPTIONAL,

... -- 

将来の拡張のため

}

 
KEAPublicKeyChoice ::= CHOICE { 

raw  

KEAPublicKey,

spki

SubjectPublicKeyInfo, -- JIS X 5731-8

参照。公開KEA暗号かぎ。

...

}

 
KEAPublicKey ::= INTEGER 
 
-- A.6 

秘密かぎ情報オブジェクト

 
-- A.6.1 
 
SecretKeyChoice ::= CHOICE { 

algIndependentKey  

SecretKeyObject {SecretKeyAttributes},

genericSecretKey  

[15] SecretKeyObject {GenericKeyAttributes},

... -- 

将来の拡張のため

 

: Context tags [0]  [14]は,歴史的理由よって使用しないようがよい。

 
SecretKeyObject {KeyAttributes} ::= CIO { 

CommonKeyAttributes, CommonSecretKeyAttributes, KeyAttributes}

 
-- A.6.2 
 
SecretKeyAttributes ::= SEQUENCE { 

value  

ObjectValue { OCTET STRING },

... -- 

将来の拡張のため

}

 
-- A.7 

認証情報オブジェクト

 
-- A.7.1 
 
CertificateChoice ::= CHOICE { 

x509Certificate  

CertificateObject {X509CertificateAttributes},


45

X 6320-15

:2006 (ISO/IEC 7816-15:2004)

x509AttributeCertificate  

[0] CertificateObject {X509AttributeCertificateAttributes},

spkiCertificate

[1] CertificateObject {SPKICertificateAttributes},

pgpCertificate

[2] CertificateObject {PGPCertificateAttributes},

wtlsCertificate

[3] CertificateObject {WTLSCertificateAttributes},

x9-68Certificate  

[4] CertificateObject {X9-68CertificateAttributes},

cvCertificate  

[5] CertificateObject {CVCertificateAttributes},

genericCertificateObject

[6] CertificateObject {GenericCertificateAttributes},

... -- 

将来の拡張のため

} -- Context tag 4 

は,将来のANSI X9.68証明書のために確保する。

 
CertificateObject {CertAttributes} ::= CIO { 

CommonCertificateAttributes, NULL, CertAttributes}

 
-- A.7.2 
X509CertificateAttributes ::= SEQUENCE { 

value

ObjectValue { Certificate },

subject  

Name OPTIONAL,

issuer  

[0] Name OPTIONAL,

serialNumber  

CertificateSerialNumber OPTIONAL,

... -- 

将来の拡張のため

}

 
-- A.7.3 
X509AttributeCertificateAttributes ::= SEQUENCE { 

value  

ObjectValue { AttributeCertificate },

issuer  

GeneralNames OPTIONAL,

serialNumber  

CertificateSerialNumber OPTIONAL,

attrTypes  

[0] SEQUENCE OF OBJECT IDENTIFIER OPTIONAL,

... -- 

将来の拡張のため

}

 
-- A.7.4 
 
SPKICertificateAttributes ::= SEQUENCE { 

value  

ObjectValue { CIO-OPAQUE.&Type },

... -- 

将来の拡張のため

}

 
-- A.7.5 
 
PGPCertificateAttributes ::= SEQUENCE { 

value  

ObjectValue { CIO-OPAQUE.&Type },

... -- 

将来の拡張のため

}

 
-- A.7.6 
 
WTLSCertificateAttributes ::= SEQUENCE { 

value  

ObjectValue { CIO-OPAQUE.&Type },

... -- 

将来の拡張のため

}

 
-- A.7.7 
 
X9-68CertificateAttributes ::= SEQUENCE { 

value  

ObjectValue { CIO-OPAQUE.&Type },

... -- 

将来の拡張のため

}

 
-- A.7.8


46

X 6320-15

:2006 (ISO/IEC 7816-15:2004)

 
CVCertificateAttributes ::= SEQUENCE { 

value  

ObjectValue { CIO-OPAQUE.&Type},

... -- 

将来の拡張のため

}

 
-- A.8 

データコンテナ情報オブジェクト

 
-- A.8.1 
 
DataContainerObjectChoice ::= CHOICE { 

opaqueDO  

DataContainerObject {OpaqueDOAttributes},

iso7816DO  

[0] DataContainerObject {ISO7816DOAttributes},

oidDO  

[1] DataContainerObject {OidDOAttributes},

... -- 

将来の拡張のため

}

DataContainerObject {DataObjectAttributes} ::= CIO {

CommonDataContainerObjectAttributes, NULL, DataObjectAttributes}

 
-- A.8.2 
 
OpaqueDOAttributes ::= ObjectValue {CIO-OPAQUE.&Type} 
 
-- A.8.3 
 
ISO7816DOAttributes ::= ObjectValue {CIO-OPAQUE.&Type} 

CONSTRAINED BY {--  すべてのデータコンテナオブジェクトは,ISO/IEC 7816-4に従って定義する --}

 
-- A.8.4 
 
OidDOAttributes ::= SEQUENCE { 

id  

CIO-OPAQUE.&id 

{AllowedOidDOs},

value  

CIO-OPAQUE.&Type 

{AllowedOidDOs}{@id}

}

 
AllowedOidDOs CIO-OPAQUE ::= {...} 
 
-- A.9 Authentication information objects 
-- A.9.1 
 
AuthenticationObjectChoice ::= CHOICE { 

pwd  

AuthenticationObject { PasswordAttributes },

biometricTemplate   [0] AuthenticationObject{ BiometricAttributes},

authKey

[1] AuthenticationObject {AuthKeyAttributes},

external

[2] AuthenticationObject {ExternalAuthObjectAttributes},

... -- 

将来の拡張のため

}

 
AuthenticationObject {AuthObjectAttributes} ::= CIO { 

CommonAuthenticationObjectAttributes, NULL, AuthObjectAttributes}

 
-- A.9.2 
PasswordAttributes ::= SEQUENCE { 

pwdFlags  

PasswordFlags,

pwdType

PasswordType,

minLength

INTEGER 

cia-lb-minPasswordLength..cia-ub-minPasswordLength,

storedLength

INTEGER 

0..cia-ub-storedPasswordLength,

maxLength

INTEGER OPTIONAL,

pwdReference

[0] Reference DEFAULT 0,

padChar  

OCTET STRING 

SIZE1

 OPTIONAL,

lastPasswordChange GeneralizedTime OPTIONAL,


47

X 6320-15

:2006 (ISO/IEC 7816-15:2004)

path  

Path OPTIONAL,

... -- 

将来の拡張のため

}

 
PasswordFlags ::= BIT STRING { 

case-sensitive  

0,

local  

1,

change-disabled  

2,

unblock-disabled  

3,

initialized  

4,

needs-padding

5,

unblockingPassword

6,

soPassword

7,

disable-allowed  

8,

integrity-protected

9,

confidentiality-protected  

10,

exchangeRefData  

11

CONSTRAINED BY { -- unblockingPassword  及び  soPassword  は両方設定できない -- }

 
PasswordType ::= ENUMERATED {bcd, ascii-numeric, utf8, ..., half-nibble-bcd, iso9564-1} 
 
-- A.9.3 
 
BiometricAttributes ::= CHOICE { 

biometricTemplateAttributes BiometricTemplateAttributes,

bit

[APPLICATION 96] BiometricInformationTemplate,

bitGroup

[APPLICATION 97] BiometricInformationTemplateGroup

}

BiometricInformationTemplate ::= OCTET STRING -- ISO/IEC 7816-11 

ビット値を含む。

 
BiometricInformationTemplateGroup ::= OCTET STRING 
-- ISO/IEC 7816-11 

ビットグループテンプレート値を含む。

 
BiometricTemplateAttributes ::= SEQUENCE { 

bioFlags  

BiometricFlags,

templateId  

BiometricTemplateIdentifier,

bioType  

BiometricType,

bioReference  

Reference DEFAULT 0,

lastChange  

GeneralizedTime OPTIONAL,

path  

Path OPTIONAL,

... -- 

将来の拡張のため

}

 
BiometricTemplateIdentifier ::= CHOICE { 

oid  

OBJECT IDENTIFIER,

issuerId   OCTET STRING,

... -- 

将来の拡張のため

}

 
BiometricFlags ::= BIT STRING { 

local  

1,

change-disabled  

2,

unblock-disabled

3,

initialized  

4,

disable-allowed  

8,

integrity-protected  

9,

confidentiality-protected  

10

}

 
BiometricType ::= CHOICE { 

fingerPrint  

FingerPrintInformation,


48

X 6320-15

:2006 (ISO/IEC 7816-15:2004)

iris  

[0] IrisInformation,

chained

[1] SEQUENCE SIZE 

2..cia-ub-biometricTypes OF BiometricType,

... -- 

将来の拡張のため

}

 
FingerPrintInformation ::= SEQUENCE { 

hand  

ENUMERATED {left, right},

finger  

ENUMERATED {thumb, pointerFinger, middleFinger, ringFinger, littleFinger}

}

IrisInformation ::= SEQUENCE { 

eye

  ENUMERATED {left, right},

... -- 

将来の拡張のため

}

 
-- A.9.4 
 
ExternalAuthObjectAttributes ::= CHOICE { 

authKeyAttributes  

AuthKeyAttributes,

certBasedAttributes

[0] CertBasedAuthenticationAttributes,

... -- 

将来の拡張のため

}

 
AuthKeyAttributes ::= SEQUENCE { 

derivedKey  

BOOLEAN DEFAULT TRUE,

authKeyId  

Identifier,

... -- 

将来の拡張のため

}

 
CertBasedAuthenticationAttributes ::= SEQUENCE { 

cha  

OCTET STRING,

... -- 

将来の拡張のため

}

 
-- A.10 

暗号及びカード情報

 
CIAInfo ::= SEQUENCE { 

version

INTEGER {v1

0,v21}  v1|v2,...,

serialNumber  

OCTET STRING OPTIONAL,

manufacturerID

Label OPTIONAL,

label

[0] Label OPTIONAL,

cardflags  

CardFlags,

seInfo  

SEQUENCE OF SecurityEnvironmentInfo OPTIONAL,

recordInfo

[1] RecordInfo OPTIONAL,

supportedAlgorithms

[2] SEQUENCE OF AlgorithmInfo OPTIONAL,

issuerId  

[3] Label OPTIONAL,

holderId  

[4] Label OPTIONAL,

lastUpdate

[5] LastUpdate OPTIONAL,

preferredLanguage  

PrintableString OPTIONAL, -- IETF RFC 1766

に従う。

profileIndication    [6] SEQUENCE OF ProfileIndication OPTIONAL,

...

CONSTRAINED BY { --  お互いのAlgorithmInfo.reference  値は独自である --}

 
CardFlags ::= BIT STRING { 

readonly  

0,

authRequired  

1,

prnGeneration  

2

} -- Bit 

3)は,歴史的理由によって予約されている。

 
SecurityEnvironmentInfo ::= SEQUENCE { 

se  

INTEGER,


49

X 6320-15

:2006 (ISO/IEC 7816-15:2004)

owner  

OBJECT IDENTIFIER OPTIONAL,

aid  

OCTET STRING

CONSTRAINED BY {-- ISO/IEC 7816-4に従ってエンコードする。 --} OPTIONAL,

... -- 

将来の拡張のため

}

 
RecordInfo ::= SEQUENCE { 

oDRecordLength

  

[0] INTEGER 

0..cia-ub-recordLength OPTIONAL,

prKDRecordLength   

[1] INTEGER 

0..cia-ub-recordLength OPTIONAL,

puKDRecordLength

[2] INTEGER 

0..cia-ub-recordLength OPTIONAL,

sKDRecordLength    

[3] INTEGER 

0..cia-ub-recordLength OPTIONAL,

cDRecordLength

  

[4] INTEGER 

0..cia-ub-recordLength OPTIONAL,

dCODRecordLength

[5] INTEGER 

0..cia-ub-recordLength OPTIONAL,

aODRecordLength    

[6] INTEGER 

0..cia-ub-recordLength OPTIONAL

}

 
AlgorithmInfo ::= SEQUENCE { 

reference

Reference,

algorithm  

CIO-ALGORITHM.&id

{AlgorithmSet},

parameters

CIO-ALGORITHM.&Parameters

{AlgorithmSet}{@algorithm},

supportedOperations  

CIO-ALGORITHM.&Operations

{AlgorithmSet}{@algorithm},

objId  

CIO-ALGORITHM.&objectIdentifier 

{AlgorithmSet}{@algorithm},

algRef  

Reference OPTIONAL

}

CIO-ALGORITHM ::= CLASS { 

&id INTEGER UNIQUE,

&Parameters,

&Operations Operations,

&objectIdentifier OBJECT IDENTIFIER OPTIONAL

} WITH SYNTAX {

PARAMETERS &Parameters OPERATIONS &Operations ID &id [OID &objectIdentifier]

}

 
CIO-OPAQUE ::= TYPE-IDENTIFIER 
 
PublicKeyOperations ::= Operations 
 
Operations ::= BIT STRING { 

compute-checksum  

0, -- H/W計算によるチェックサム

compute-signature

1, -- H/W計算による署名

verify-checksum  

2, -- H/W検証によるチェックサム

verify-signature

3, -- H/W検証による署名

encipher  

4, -- H/W暗号化データ

decipher  

5, -- H/W復号化データ

hash  

6, -- H/Wによるハッシュ値生成

generate-key  

7 -- H/Wによるかぎ生成

}

cia-alg-null CIO-ALGORITHM ::= { 

PARAMETERS NULL OPERATIONS {{generate-key}} ID -1}

 
AlgorithmSet CIO-ALGORITHM ::= { 

cia-alg-null,

...  

取り得るid構成要素及びパラメタは,PKCS #11  Annex E  を参照

}

 
LastUpdate ::= CHOICE { 

generalizedTime GeneralizedTime,

referencedTime ReferencedValue ,

... -- 

将来の拡張のため

}

CONSTRAINED BY {-- referencedTime  の値はGeneralizedTime型である。 --}


50

X 6320-15

:2006 (ISO/IEC 7816-15:2004)

ProfileIndication ::= CHOICE { 

profileOID OBJECT IDENTIFIER,

profileName UTF8String,

... -- 

将来の拡張のため

}

 
-- A.11 CIO DDO 
 
CIODDO ::= SEQUENCE { 

providerId  

OBJECT IDENTIFIER OPTIONAL,

odfPath  

Path OPTIONAL,

ciaInfoPath [0] Path OPTIONAL,

aid

[APPLICATION 15] OCTET STRING

CONSTRAINED BY {-- AIDISO/IEC 7816-4に従う--} OPTIONAL,

... -- 

将来の拡張のため

} -- Context tag 1

は,歴史的理由によって使用してはならない。

END


51

X 6320-15

:2006 (ISO/IEC 7816-15:2004)

附属書 B(参考)ディジタル署名及び認証機能のあるカードの CIA の例

この附属書は,本体及び附属書(規定)に関連する事柄を補足するもので,規定の一部ではない。

B.1

はじめに  この附属書では,電子的識別の目的に適している CIA の例及びそれに対する要求事項につ

いて説明する。例は,カード及びカードを利用するホスト側アプリケーションの両方に対する要求事項を

含んでいる。

B.2  CIO

−  プライベートかぎ:CIOカードは,少なくとも二つのプライベートかぎを含むべきであり,そのうち一

つは , ディ ジタ ル 署名 の 目的 だ けに 使用 さ れる べ きで あ る。 その か ぎの 用 途フ ラ グは ,sign

signRecover

及びnonRepudiationの任意の組合せである。残りのかぎの少なくとも一つは,クライア

ントとサーバとの間の認証用に使用し,かぎ用途フラグにsign及び/又はdeciherを設定することがで

きる。認証CDE又は暗号化は,すべてのプライベートかぎを保護しなければならない。署名専用かぎの

使用は,このかぎだけに使用される認証CDEを用いたカード保有者検証を必要とする。かぎ長は,意図

した目的に十分でなければならない。

  この例でのプライベートかぎの型は,RSAかぎ,だ円曲線かぎ(この例は,上のもの以外のドメイン

パラメタに制約を課していない。

)及びDSAかぎである。

−  秘密かぎ:この型のCDEは,アプリケーションプロバイダの自由裁量に応じて,カード上に存在するか

否かは問わない。

−  公開かぎ:この型の CDE は,アプリケーションプロバイダの自由裁量に応じて,カード上に存在する

か否かは問わない。これらのかぎを取り扱うホスト側アプリケーションに対する要求事項はない。

−  証明書:プライベートかぎごとに,少なくとも一つの対応する証明書をカードに格納すべきである。証

明書は,X509Certificate型のものでなければならない。ISO/IEC 7816-4論理ファイル構造を支援し,

適切なファイルアクセス機構をもっているカードにアプリケーション提供者がCA証明書を格納する場

合,それらを保護されたファイルに格納することが推奨される。このファイルは,カード発行者だけが

修 正 可 能 な , 又 は 修 正 で き な い CD フ ァ イ ル に よ っ て 参 照 さ れ る 。 こ れ は , CIOChoice 型 の

trustedCertificates

選択肢の使用を意味している。

−  データコンテナオブジェクト:この型の CDE は,アプリケーションプロバイダの自由裁量に応じて,

カード上に存在若しくは存在していない場合もある。

これらのオブジェクトを取り扱うホスト側アプリ

ケーションに対する要求事項はない。

−  認証オブジェクト:少なくとも一つの認証 CDE がカード上に存在し,保護された CDE へのアクセスを

制御しなければならない。署名専用かぎが存在しているとき,そのようなかぎに別個の認証 CDE を使

用するのがよい。署名専用プライベートかぎの使用は,新しい使用者認証を必要とする。パスワードの

ときには,一つのパスワードの直接検証は,別のパスワードに関連するセキュリティサービスの使用を

可能にしてはならない。

  パスワードは,少なくとも 4 文字(BCD,UTF-8 又は ASCII)長でなければならない。

  連続不正パスワード照合後にパスワードが閉そく(塞)されたときは,そのパスワードは,カード発

行者によって定義されている閉そく(塞)解除符号(リセットコード)又は特別な閉そく(塞)解除手


52

X 6320-15

:2006 (ISO/IEC 7816-15:2004)

順によって閉そく解除することができる。

 
 
 
 
 
 
 
 
 
 
 
 
 
 

図 B.1  DF.CIA のファイル関係(破線の矢印は相互参照を示す。)

B.3

アクセス制御  プライベートかぎは,プライベートオブジェクトでなければならず,sensitive と位

置づけるべきである。プライベートかぎをもっているファイルは,削除及び上書きに対して保護されるべ

きである。DF.CIA 及びその中の基礎ファイルに対して次のアクセス条件を設定する。

AOD

PrKD

CD

Key 1 info

Key 2 info

EF.PrKD

Password 1 info

Password 2 info

Cert 1 info

Cert 2 info

EF.OD

EF.AOD

プライベートかぎ 1

プライベートかぎ 2

証明書 2

EF.CD

証明書 1


53

X 6320-15

:2006 (ISO/IEC 7816-15:2004)

表 B.1  推奨ファイルアクセス条件

ファイル

アクセス条件

DF.CIA

創生:  使用者認証又は外部認証 
削除:  外部認証

EF.CIAInfo

読取り:  常に可 
更新:  使用者認証,外部認証又は不可 
追記:  不可

EF.OD

読取り:  常に可 
更新:  外部認証 
追記:  外部認証

EF.AOD

読取り:  常に可 
更新:  不可 
追記:  使用者認証又は外部認証

EF.PrKD, EF.PuKD, EF.SKD, EF.CD

及び

EF.DCOD

読取り:  常に可又は使用者認証 
更新:  使用者認証,外部認証又は不可 
追記:  使用者認証,外部認証又は不可

信頼されている証明書の参照を含んで
いる EF.CD

読取り:  常に可 
更新:  外部認証又は不可 
追記:  外部認証又は不可

DF.CIA

にあるその他の EFs

読取り:  常に可又は使用者認証 
更新:  使用者認証,外部認証又は不可 
追記:  使用者認証,外部認証又は不可

備考

1.

外部認証は,ISO/IEC 7816-4 で説明されている。

2.

外部認証は,ISO/IEC 7816-4 で説明されているセキュアメッセージングを含むべきである。

備考  アプリケーション提供者が認証オブジェクトで CIO ディレクトリファイルを保護したい場合,

省略時は,EF.AOD にある最初の認証オブジェクトを使用する。EF.OD 及び EF.AOD をこのよ

うに保護することはできない。


54

X 6320-15

:2006 (ISO/IEC 7816-15:2004)

附属書 C(参考)ファイル構成例及びファイル参照例

この附属書は,本体及び附属書に関連する事柄を補足するもので,規定の一部ではない。

 

 
 
 
 
 
 
 
 
 
 
 

図 C.1  三つのアプリケーションのある例(暗号データ要素は,CIA の外側に格納される。)

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

図 C.2  三つのアプリケーションのある例(DF.CIA には,EF.OD 及び CIAInfo だけがある。)

 

MF

EF.OD

EF.PrKD

EF.CD

EF.AOD

EF.CIAInfo

EF.DIR

DF.CIA

DF1

DF2

CDEs

CDEs

EF.PrKD

EF.CD

EF.PrKD

EF.CD

EF.AOD

EF.DIR

DF2

EF.AOD

DF.CIA

DF1

MF

EF.OD

EF.CIAInfo


55

X 6320-15

:2006 (ISO/IEC 7816-15:2004)

 
 
 

 
 
 
 

図 C.3  EF.DIR の用途の例

EF.DIR

は,DF.CIAx と DF.x

との 関係 に つい ての 情 報 を

含む。

MF

EF.DIR

DF.1

DF.2

DF.CIA

1

DF.CIA

2


56

X 6320-15

:2006 (ISO/IEC 7816-15:2004)

附属書 D(参考)CIO 値及びその符号化の例

この附属書は,本体及び附属書に関連する事柄を補足するもので,規定の一部ではない。

D.1

はじめに  この附属書の各節,例えば D.x は,カードのファイル構造に定義されている EF の一つに

ついて説明する。各節は,三つの項から構成する。

−  最初の項,例えば D.x.1 は,ISO/IEC 8824-1 に定義されている ASN.1 記法にある DER 構成に関係する

DE

の名前とサンプル値を示す。

−  2 番目の項,例えば,D.x.2 は,ASN.1 構文を構造型又は基本型,サンプル値及びその長さと組み合わ

せている。

−  3 番目の項,例えば,D.x.3 は,ファイルから読み取った実際の 16 進 DER 符号化を示す。

  三つの項は,値がこの規格に基づいた仕様で表される可能性のある様々な

型を示すため,値を異なる形

式で示す。

  最初の項では,一重引用符は,通常のJIS X 6320記法である16進文字列を指定する。その後には‘H’が

続いており,これも一般的な記法であり,例えば‘0202’Hとなる。二重引用符は,UTF-8文字列(印刷可

能)を指定し,例えば“CIA application”である。中括弧は,オブジェクト識別子を指定し,例えば{1 2 840

113549 1 15 4 1}

である。16進文字列への変換については,例えば,ISO/IEC 7816-4  の

附属書Bを参照。

2

番目の項では,接頭辞0xが16進文字列を指定し,これは,通常のプログラミング記法であり,例えば,

0x3f005015

は,通常の7816記法での‘3F005015’に同等である。この接頭辞のない数字は,それが10進数

であることを意味しており,例えば,12の値は,その16進符号化0x0c又は‘0C’に同等である。タグは,

大括弧[ ]の間に指定される。タグ番号は,10進で指定される。タグクラスは,大括弧の中に示されるが,

コンテキスト固有タグクラスは,除かれ,これが省略時の値である。基本型・構造型情報は,3番目の項で

使用される実際のタグにb6の値を示す。字下げの各位置は,カプセル化の階層を示す。

  3番目の項では,16進符号化バイトは,空白で区切られ,引用符は,使用されない。字下げの各位置は,

DO

ヘッダ(タグ・長さ)で始まるが,最終階層は,例外であり,これは,基本型DOの値である。字下げ

規則は,2番目の項の場合と同じである。したがって,同じテンプレートに属しているDOのすべてのヘッ

ダは,字下げの同じ位置に現れる。

理解しやすくするため,行番号付与をD.2で加えている。

D.2

  EF.OD

D.2.1  ASN.1

記法

privateKeys :

path : {

efidOrPath '4401'H

}, 

certificates :

path : {

efidOrPath '4402'H

}, 

dataContainerObjects :

path : {

efidOrPath '4403'H

},


57

X 6320-15

:2006 (ISO/IEC 7816-15:2004)

10 

authObjects :

11 

path : {

12 

efidOrPath '4404'H

}

D.2.2

  ANS.1の表記,タグ,長さ及び値

CIOChoice CHOICE 

privateKeys : tag = [0] constructed; length = 6

    PrivateKeys  CHOICE 
2    

path Path SEQUENCE: tag = [UNIVERSAL 16] constructed; length = 4

3      

efidOrPath OCTET STRING: tag = [UNIVERSAL 4] primitive; length = 2

          0x4401 
 
   CIOChoice  CHOICE 
4   

certificates : tag = [4] constructed; length = 6

       Certificates  CHOICE 
5        

path Path SEQUENCE: tag = [UNIVERSAL 16] constructed; length = 4

6          

efidOrPath OCTET STRING: tag = [UNIVERSAL 4] primitive; length = 2

             0x4402 
 
  CIOChoice  CHOICE 
7   

dataContainerObjects : tag = [7] constructed; length = 6

      DataContainerObjects  CHOICE 
8       

path Path SEQUENCE: tag = [UNIVERSAL 16] constructed; length = 4

9         

efidOrPath OCTET STRING: tag = [UNIVERSAL 4] primitive; length = 2

            0x4403 
 
   CIOChoice  CHOICE 
10   

authObjects : tag = [8] constructed; length = 6

       AuthObjects  CHOICE 
11      

path Path SEQUENCE: tag = [UNIVERSAL 16] constructed; length = 4

12       

efidOrPath OCTET STRING: tag = [UNIVERSAL 4] primitive; length = 2

            0x4404 

D.2.3

  16

進 DER 符号化

A0 06

2     

30 04

  

04 02

      44  01

A4 06

5     

30 04

  

04 02

      44  02

A7 06

8     

30 04

  

04 02

      44  03

10 

A8 06

11    

30 04

12 

  

04 02

      44 04

D.3

  EF.CIAInfo

D.3.1

  ASN.1

記法

ciaInfoExample CIAInfo ::= { 

version

v2,

serialNumber  

'159752222515401240'H,

manufacturerID  

"Acme, Inc.",


58

X 6320-15

:2006 (ISO/IEC 7816-15:2004)

cardflags {

prnGeneration

}

}

D.3.2

  ASN.1

の表記,タグ,長さ及び値

CIAInfo SEQUENCE: tag = [UNIVERSAL 16] constructed; length = 30 

version INTEGER: tag = [UNIVERSAL 2] primitive; length = 1

1

serialNumber OCTET STRING: tag = [UNIVERSAL 4] primitive; length = 9 
 0x159752222515401240 
manufacturerID Label UTF8String: tag = [UNIVERSAL 12] primitive; length = 10 
 0x41636d652c20496e632e 
cardflags CardFlags BIT STRING: tag = [UNIVERSAL 3] primitive; length = 2 
 0x0520

D.3.3

  16

進 DER 符号化

30 1E 
 02

01

  01 
 04

09

15 97 52 22 25 15 40 12 40

 0C

0A

41 63 6D 65 2C 20 49 6E 63 2E

 03

02

  05

20

D.4

  EF.PrKD  この例では,二つのプライベートかぎを説明する。他のかぎ関連ファイル,すなわち

EF.PuKD

及び EF.SKD は,同じ構造をもつ。関係する公開かぎも,同じラベルで EF.PuKD の中で参照して

もよい。

D.4.1

  ASN.1 記法

privateRSAKey : { 

commonObjectAttributes {

label "KEY1",

flags { private },

authId '01'H

},

classAttributes {

iD '45'H,

usage { decipher, sign, keyDecipher }

},

subClassAttributes {

keyIdentifiers {

{

idType 4,

idValue ParameterString : '4321567890ABCDEF'H

}

}

},

typeAttributes {

value {

efidOrPath '4B01'H

},

modulusLength 1024

}

},


59

X 6320-15

:2006 (ISO/IEC 7816-15:2004)

privateRSAKey : { 

commonObjectAttributes {

label "KEY2",

flags { private },

authId '02'H

},

classAttributes {

iD '46'H,

usage { sign, nonRepudiation }

},

subClassAttributes {

keyIdentifiers {

      {

idType 4,

idValue ParameterString : '1234567890ABCDEF'H

}

        }

},

typeAttributes {

value {

      efidOrPath '4B02'H

            },

modulusLength 1024

}

}

D.4.2

  ASN.1 の表記,タグ,長さ及び値

PrivateKeyChoice CHOICE 
  privateRSAKey SEQUENCE: tag = [UNIVERSAL 16] constructed; length = 59 
    commonObjectAttributes CommonObjectAttributes SEQUENCE: tag = [UNIVERSAL 
16] 
    constructed;  length  =  13 
      label Label UTF8String: tag = [UNIVERSAL 12] primitive; length = 4 
        0x4b455931 
      flags CommonObjectFlags BIT STRING: tag = [UNIVERSAL 3] primitive; 
length=2 
        0x0780 
      authId Identifier OCTET STRING: tag = [UNIVERSAL 4] primitive; length = 1 
        0x01 
    classAttributes CommonKeyAttributes SEQUENCE: tag = [UNIVERSAL 16] con- 
    structed;  length  =  7 
      iD Identifier OCTET STRING: tag = [UNIVERSAL 4] primitive; length = 1 
        0x45 
      usage KeyUsageFlags BIT STRING: tag = [UNIVERSAL 3] primitive; length = 2 
      0x0264 
  subClassAttributes : tag = [0] constructed; length = 19 
    CommonPrivateKeyAttributes SEQUENCE: tag = [UNIVERSAL 16] constructed; 
    length  =  17 
      keyIdentifiers SEQUENCE OF: tag = [0] constructed; length = 15 
        SEQUENCE:  tag  =  [UNIVERSAL  16]  constructed;  length  =  13 
          idType INTEGER: tag = [UNIVERSAL 2] primitive; length = 1 
            4

          idValue  OpenType 
            0x4321567890abcdef 
    typeAttributes : tag = [1] constructed; length = 12 
      PrivateRSAKeyAttributes  SEQUENCE:  tag  =  [UNIVERSAL  16]  constructed; 
      length  =  10 
        value Path SEQUENCE: tag = [UNIVERSAL 16] constructed; length = 4 
              efidOrPath  OCTET  STRING:  tag  =  [UNIVERSAL  4]  primitive;  length  =  2 
                 0x4b01


60

X 6320-15

:2006 (ISO/IEC 7816-15:2004)

        modulusLength INTEGER: tag = [UNIVERSAL 2] primitive; length = 2 
           1024 
PrivateKeyChoice CHOICE 
  privateRSAKey SEQUENCE: tag = [UNIVERSAL 16] constructed; length = 60 
    commonObjectAttributes CommonObjectAttributes SEQUENCE: tag = [UNIVERSAL 
16] 
    constructed;  length  =  13 
       label Label UTF8String: tag = [UNIVERSAL 12] primitive; length = 4 
          0x4b455932 
        flags  CommonObjectFlags  BIT  STRING:  tag  =  [UNIVERSAL  3]  primitive; 
length=2 
          0x0780 
        authId Identifier OCTET STRING: tag = [UNIVERSAL 4] primitive; length = 1 
          0x02 
    classAttributes CommonKeyAttributes SEQUENCE: tag = [UNIVERSAL 16] con- 
    structed;  length  =  8 
        iD Identifier OCTET STRING: tag = [UNIVERSAL 4] primitive; length = 1 
         0x46 
        usage KeyUsageFlags BIT STRING: tag = [UNIVERSAL 3] primitive; length = 3 
          0x062040 
      subClassAttributes : tag = [0] constructed; length = 19 
        CommonPrivateKeyAttributes  SEQUENCE:  tag  =  [UNIVERSAL  16]  constructed; 
        length  =  17 
          keyIdentifiers  SEQUENCE  OF:  tag  =  [0]  constructed;  length  =  15 
            SEQUENCE:  tag  =  [UNIVERSAL  16]  constructed;  length  =  13 
              idType  INTEGER:  tag  =  [UNIVERSAL  2]  primitive;  length  =  1 
                4 
              idValue  OpenType 
                0x1234567890abcdef 
      typeAttributes : tag = [1] constructed; length = 12 
        PrivateRSAKeyAttributes  SEQUENCE:  tag  =  [UNIVERSAL  16]  constructed; 
        length  =  10 
          value Path SEQUENCE: tag = [UNIVERSAL 16] constructed; length = 4 
            efidOrPath  OCTET  STRING:  tag  =  [UNIVERSAL  4]  primitive;  length  =  2 
               0x4b02 
          modulusLength INTEGER: tag = [UNIVERSAL 2] primitive; length = 2 
            1024

D.4.3

  16 進 DER 符号化

30 3B

 30

0D

  0C

04

   4B

45

59

31

  03

02

   07

80

  04

01

0

 30

07

  04

01

4

  03

02

   02

64

 A0

13


61

X 6320-15

:2006 (ISO/IEC 7816-15:2004)

  30

11

   A0

0F

    30

0D

     02

01

0

     04

08

43 21 56 78 90 AB CD EF

 A1

0C

  30

0A

   30

04

    04

02

     4B

01

   02

02

    04

00

30 3C

 30

0D

  0C

04

   4B

45

59

32

  03

02

   07

80

  04

01

0

 30

08

  04

01

4

  03

03

   06

20

40

 A0

13

  30

11

   A0

0F

    30

0D

     02

01

0

     04

08

12 34 56 78 90 AB CD EF

 A1

0C

  30

0A

   30

04

    04

02

     4B

02


62

X 6320-15

:2006 (ISO/IEC 7816-15:2004)

     02

02

04 0

D.5

  EF.CD

D.5.1

  ASN.1 記法

x509Certificate : { 

commonObjectAttributes {

label "CERT1",

flags { }

},

classAttributes {

iD '45'H

},

typeAttributes {

value indirect :

path : {

efidOrPath '4331'H

}

}

},

x509Certificate : { 

commonObjectAttributes {

label "CERT2",

flags { }

},

classAttributes {

iD '46'H

    },

typeAttributes { 

value indirect :

path : {

efidOrPath '4332'H

}

}

}

D.5.2

  ASN.1 の表記,タグ,長さ及び値

CertificateChoice CHOICE 
  x509Certificate SEQUENCE: tag = [UNIVERSAL 16] constructed; length = 27 
    commonObjectAttributes CommonObjectAttributes SEQUENCE: tag = [UNIVERSAL 
16] 
    constructed;  length  =  10 
      label Label UTF8String: tag = [UNIVERSAL 12] primitive; length = 5 
        0x4345525431 
      flags CommonObjectFlags BIT STRING: tag = [UNIVERSAL 3] primitive; 
length=1 
        0x00 
    classAttributes CommonCertificateAttributes SEQUENCE: tag = [UNIVERSAL 16] 
    constructed;  length  =  3 
      iD Identifier OCTET STRING: tag = [UNIVERSAL 4] primitive; length = 1 
        0x45 
    typeAttributes : tag = [1] constructed; length = 8 
      X509CertificateAttributes SEQUENCE: tag = [UNIVERSAL 16] constructed; 
      length  =  6 
        value  CHOICE 
          indirect  ReferencedValue  CHOICE 
            path  Path  SEQUENCE:  tag  =  [UNIVERSAL  16]  constructed;  length  =  4 
              efidOrPath  OCTET  STRING:  tag  =  [UNIVERSAL  4]  primitive;  length  =


63

X 6320-15

:2006 (ISO/IEC 7816-15:2004)


                0x4331 
  CertificateChoice  CHOICE 
    x509Certificate SEQUENCE: tag = [UNIVERSAL 16] constructed; length = 27 
      commonObjectAttributes  CommonObjectAttributes  SEQUENCE:  tag  =  [UNIVERSAL 
16] 
      constructed;  length  =  10 
        label Label UTF8String: tag = [UNIVERSAL 12] primitive; length = 5 
          0x4345525432 
        flags  CommonObjectFlags  BIT  STRING:  tag  =  [UNIVERSAL  3]  primitive; 
length=1 
          0x00 
      classAttributes CommonCertificateAttributes SEQUENCE: tag = [UNIVERSAL 16] 
      constructed;  length  =  3 
        iD Identifier OCTET STRING: tag = [UNIVERSAL 4] primitive; length = 1 
          0x46 
      typeAttributes : tag = [1] constructed; length = 8 
        X509CertificateAttributes  SEQUENCE:  tag  =  [UNIVERSAL  16]  constructed; 
        length  =  6

              value  CHOICE 
                indirect  ReferencedValue  CHOICE 
                  path Path SEQUENCE: tag = [UNIVERSAL 16] constructed; length = 4 
                    efidOrPath OCTET STRING: tag = [UNIVERSAL 4] primitive; length 


                      0x4332 

D.5.3

  16 進 DER 符号化

30 1B 
 30

0A

  0C

05

43 45 52 54 31

  03

01

0

 30

03

  04

01

4

 A1

08

  30

06

   30

04

    04

02

     43

31

30 1B 
 30

0A

  0C

05

43 45 52 54 32

  03

01

0

 30

03

  04

01

4

 A1

08

  30

06

   30

04

    04

02

43

32

D.6

  EF.AOD

D.6.1

  ASN.1 記法

pwd : {


64

X 6320-15

:2006 (ISO/IEC 7816-15:2004)

commonObjectAttributes {

label "PIN1",

flags { private }

},

classAttributes {

authId '01'H

},

typeAttributes {

pwdFlags { change-disabled, initialized, needs-padding },

pwdType bcd,

minLength 4,

storedLength 8,

padChar 'FF'H

}

},

pwd : { 

commonObjectAttributes {

label "PIN2",

flags { private }

},

classAttributes { 

authId '02'H

},

typeAttributes { 

pwdFlags { change-disabled, initialized, needs-padding },

pwdType bcd,

minLength 4,

storedLength 8,

padChar 'FF'H,

path {

efidOrPath '3F0050150100'H

}

}

} 

D.6.2

  ASN.1 の表記,タグ,長さ及び値

AuthenticationObjectChoice CHOICE 
  pwd SEQUENCE: tag = [UNIVERSAL 16] constructed; length = 37 
    commonObjectAttributes CommonObjectAttributes SEQUENCE: tag = [UNIVERSAL 
16] 
    constructed;  length  =  10 
      label Label UTF8String: tag = [UNIVERSAL 12] primitive; length = 4 
        0x50494e31 
      flags CommonObjectFlags BIT STRING: tag = [UNIVERSAL 3] primitive; 
length=2 
        0x0780 
    classAttributes  CommonAuthenticationObjectAttributes  SEQUENCE: 
    tag = [UNIVERSAL 16] constructed; length = 3 
      authId Identifier OCTET STRING: tag = [UNIVERSAL 4] primitive; length = 1 
        0x01 
    typeAttributes : tag = [1] constructed; length = 18 
      PasswordAttributes SEQUENCE: tag = [UNIVERSAL 16] constructed; length = 
16 
        pwdFlags PasswordFlags BIT STRING: tag = [UNIVERSAL 3] primitive; 
        length  =  2 
          0x022c 
        pwdType  PasswordType  ENUMERATED:  tag  =  [UNIVERSAL  10]  primitive; 
length=1 
        0 
      minLength INTEGER: tag = [UNIVERSAL 2] primitive; length = 1 
        4


65

X 6320-15

:2006 (ISO/IEC 7816-15:2004)

      storedLength INTEGER: tag = [UNIVERSAL 2] primitive; length = 1 
        8 
      padChar OCTET STRING: tag = [UNIVERSAL 4] primitive; length = 1 
        0xff 
  AuthenticationObjectChoice  CHOICE 
    pwd SEQUENCE: tag = [UNIVERSAL 16] constructed; length = 47 
       commonObjectAttributes CommonObjectAttributes SEQUENCE: tag = [UNIVERSAL 16] 
       constructed;  length  =  10 
         label Label UTF8String: tag = [UNIVERSAL 12] primitive; length = 4 
            0x50494e32 
         flags  CommonObjectFlags  BIT  STRING:  tag  =  [UNIVERSAL  3]  primitive; 
length=2 
            0x0780 
        classAttributes  CommonAuthenticationObjectAttributes  SEQUENCE: 
        tag  =  [UNIVERSAL  16]  constructed;  length  =  3 
          authId Identifier OCTET STRING: tag = [UNIVERSAL 4] primitive; length = 

            0x02

        typeAttributes : tag = [1] constructed; length = 28 
          PasswordAttributes SEQUENCE: tag = [UNIVERSAL 16] constructed; length = 
26 
            pwdFlags  PasswordFlags  BIT  STRING:  tag  =  [UNIVERSAL  3]  primitive; 
            length  =  2 
               0x022c 
            pwdType  PasswordType  ENUMERATED:  tag  =  [UNIVERSAL  10]  primitive; 
length=1 
                0 
            minLength  INTEGER:  tag  =  [UNIVERSAL  2]  primitive;  length  =  1 
                4 
            storedLength  INTEGER:  tag  =  [UNIVERSAL  2]  primitive;  length  =  1 
                8 
            padChar  OCTET  STRING:  tag  =  [UNIVERSAL  4]  primitive;  length  =  1 
                0xff 
            path  Path  SEQUENCE:  tag  =  [UNIVERSAL  16]  constructed;  length  =  8 
              efidOrPath  OCTET  STRING:  tag  =  [UNIVERSAL  4]  primitive;  length  =  6 
                0x3f0050150100 

D.6.3

  16 進 DER 符号化

30 25 
 30

0A

  0C

04

   50

49

4E

31

  03

02

   07

80

 30

03

  04

01

0

 A1

12

  30

10

   03

02

    02

2C

   0A

01

0

   02

01

0

   02

01

0

   04

01

F

30 2F 
 30

0A


66

X 6320-15

:2006 (ISO/IEC 7816-15:2004)

  0C

04

   50

49

4E

32

 03

02

  07

80

 30

03

  04

01

0

 A1

1C

  30

1A

   03

02

    02

2C

   0A

01

0

   02

01

0

   02

01

0

  04

01

F

  30

08

   04

06

3F 00 50 15 01 00

D.7

  EF.DCOD

D.7.1

  ASN.1 記法

opaqueDO : { 
    commonObjectAttributes { 

label "OBJECT1",

flags { private, modifiable },

authId '02'H

},

    classAttributes { 

applicationName "APP"

},

    typeAttributes indirect : 

path : {

efidOrPath '4431'H,

index 64,

length 48

}

        }

D.7.2

  ASN.1 の表記,タグ,長さ及び値

  DataContainerObjectChoice  CHOICE 
    opaqueDO SEQUENCE: tag = [UNIVERSAL 16] constructed; length = 39 
      commonObjectAttributes CommonObjectAttributes SEQUENCE: tag = [UNIVERSAL 16] 
    constructed;  length  =  16 
      label Label UTF8String: tag = [UNIVERSAL 12] primitive; length = 7 
        0x4f424a45435431 
      flags CommonObjectFlags BIT STRING: tag = [UNIVERSAL 3] primitive; 
length=2 
        0x06c0 
      authId Identifier OCTET STRING: tag = [UNIVERSAL 4] primitive; length = 1 
        0x02 
    classAttributes  CommonDataContainerObjectAttributes  SEQUENCE: 
    tag = [UNIVERSAL 16] constructed; length = 5 
      applicationName Label UTF8String: tag = [UNIVERSAL 12] primitive; length= 

        0x415050 
    typeAttributes : tag = [1] constructed; length = 12


67

X 6320-15

:2006 (ISO/IEC 7816-15:2004)

      OpaqueDOAttributes  CHOICE 
        indirect  ReferencedValue  CHOICE 
          path Path SEQUENCE: tag = [UNIVERSAL 16] constructed; length = 10 
            efidOrPath  OCTET  STRING:  tag  =  [UNIVERSAL  4]  primitive;  length  =  2 
              0x4431 
            index  INTEGER:  tag  =  [UNIVERSAL  2]  primitive;  length  =  1 
              64 
            length  INTEGER:  tag  =  [0]  primitive;  length  =  1 
              48 

D.7.3

  DCOD の 16 進 DER 符号化

30 27 
 30

10

  0C

07

4F 42 4A 45 43 54 31

  03

02

   06

C0

  04

01

0

 30

05

  0C

03

   41

50

50

 A1

0C

  30

0A

   04

02

    44

31

   02

01

4

   80

01

3

D.8

  アプリケーションテンプレート(EF.DIR 内)  この例では,一つだけのアプリケーションテンプレ

ート IDO,例えば,Application Template を示す。

D.8.1

  ASN.1 記法

applicationTemplateExample ApplicationTemplate ::= {

aid 'A000000063504B43532D3135'H,

label "RSA DSI",

path '3F005015'H,

ddo {

          providerId { 1 2 840 113549 1 15 4 1 },

     aid 'FAB123456789'H

          }

}

D.8.2

  ASN.1 の表記,タグ,長さ及び値

  ApplicationTemplate SET: tag = [APPLICATION 1] constructed; length = 53 
    aid OCTET STRING: tag = [APPLICATION 15] primitive; length = 12 
      0xa000000063504b43532d3135 
    label UTF8String: tag = [APPLICATION 16] primitive; length = 7 
      0x52534120445349 
    path OCTET STRING: tag = [APPLICATION 17] primitive; length = 4 
      0x3f005015 
    ddo : tag = [APPLICATION 19] constructed; length = 12


68

X 6320-15

:2006 (ISO/IEC 7816-15:2004)

      DDOTemplate  OpenType 
        providerId OBJECT IDENTIFIER: tag = [UNIVERSAL 6] primitive; length = 10 
        { 1 2 840 113549 1 15 4 1 } 
        aid OCTET STRING: tag = [APPLICATION 15] primitive; length = 6

D.8.3

  Application Template の 16 進 DER 符号化

61 33 
 4F

0C

A0 00 00 00 63 50 4B 43 53 2D 31 35

50 07 

52 53 41 20 44 53 49

51 04 

3F 00 50 15

73 14 
 06

0A

2A 86 48 86 F7 0D 01 0F 04 01

 4F

06

FA B1 23 45 67 89

 
 


69

X 6320-15

:2006 (ISO/IEC 7816-15:2004)

関連規格

[1]

  H. ALVESTRAND, “Tags for the Identification of Languages,” IETF RFC 1766, March 1995

[2]

  T. BERNERS-LEE, R. FIELDING, L. MASINTER, “Uniform Resource Identifiers (URI): Generic Syntax”,

IETF RFC 2396, August 1998

[3]

  J. CALLAS, L. DONNERHACKE, H. FINNEY, R. THAYER, “OpenPGP Message”, IETF RFC 2440,

November 1998

[4]

  C. ELLISON, B. FRANTZ, B. LAMPSON, R. RIVEST, B. THOMAS, T. YLONEN, “SPKI Certificate

Theory”, IETF RFC 2693, September 1999

[5]

  RSA Laboratories, PKCS #11 v2.11: Cryptographic Token Interface Standard

[6]

  RSA Laboratories, PKCS #15 v1.1: Cryptographic Token Information Syntax Standard

[7]

  WAP Forum, Wireless Application Protocol−Wireless Transport Layer Security Protocol Specification,

Version 06-Apr-2001

[8]

  JIS X 5606-2:1998  情報技術−ASN.1 符号化規則−第 2 部:圧縮符号化規則(PER)  の仕様

備考  ISO/IEC 8825-2:1996  Information technology−ASN.1 encoding rules Part 2: Specification of

Packed Encoding Rules (PER)

が,この規格と一致している。ただし,最新の国際標準は,

ISO/IEC 8825-2:2002

となっている。

[9]

  JIS X 5731-6:2003  開放型システム間相互接続−ディレクトリ―第 6 部:代表的な属性型

備考  ISO/IEC 9594-6:2001  Information technology−Open Systems Interconnection−The Directory:

Selected attribute types

が,この規格と一致している。

[10]

  JIS X 6303:2000    外部端子付き IC カード−物理的特性及び端子位置

備考  ISO/IEC 7816-1:1998  Identification cards−Integrated circuit(s) cards with contacts−Part 1:

Physical characteristics (MOD)

,及び ISO/IEC 7816-2:1999 Identification cards−Integrated circuit

cards

−Part 2: Cards with contacts−Dimensions and location of the contacts (MOD)が,この規格に

対応する。

[11]

  JIS X 6304:2000    外部端子付き IC カード−電気信号及び伝送プロトコル

備考  ISO/IEC 7816-3:1997  Information technology−Identification cards−Integrated circuit(s) cards

with contacts

−Part 3: Electronic signals and transmission protocols (MOD)が,この規格に対応す

る。

[12]

  JIS X 6320-5:2006    IC カード−第 5 部:アプリケーション提供者識別子の登録

備考  ISO/IEC 7816-5:2004  Identification cards−Integrated circuit cards−Part 5: Registration of

application providers (IDT)

が,この規格に一致する。

[13]

  JIS X 6320-9:2006    IC カード−第 9 部:カード管理共通コマンド

備考  ISO/IEC 7816-9:2004  Identification cards−Integrated circuit cards−Part 9: Commands for card

management (IDT)

が,この規格に一致する。

[14]

  ISO 7816-7:1999,Identification cards−Integrated circuit(s) cards with contacts−Part 7: Interindustry

commands for Structured Card Query Language (SCQL)

[15]

  ISO 7816-10:1999,Identification cards−Integrated circuit(s) cards with contacts−Part 10: Electronic

signals and answer to reset for synchronous cards