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

 

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


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部:情報オブジェクト


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進数として符号化される数値表現。 


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

による。)。 


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) 


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(暗号情報オブジェクト)の論理構造を図1に示す。暗号かぎ情報オブジェクトのオブジ

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

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

 

 

 

 

 

 


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

 

図1 CIOクラスの階層 

 

 

6.3 

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

性及びすべてのCIOに共通する属性は,図2に示しているように継承する。属性を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

属性 


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 (SIZE(1..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 


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 

概要 表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基礎ファイルへの参照ポ

インタを含むことができる基礎ファイルとする。図4で,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識別子をもっていなければならない。 

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

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値を格納するものとする。附属書Aに,すべてのCIOに対するASN.1

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

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


12 

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

 

属書Dを参照)。 

8.2 

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

8.2.1 

Identifier  

Identifier ::=OCTET STRING(SIZE(0..cia-ub-identifier)) 

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

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

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

8.2.2 

Reference  

Reference ::=INTEGER(0..cia-ub-reference) 

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

8.2.3 

Label  

Label ::=UTF8String(SIZE(0..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 STRING(SIZE(8))とする。 

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

− openPGPKeyId: OpenPGPかぎ識別子を含んだOCTET STRING(SIZE(8))とする。 

備考 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), extAuthentication(1), userAuthentication(2)} 

 

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

ぺアに複数の証明書をもっている場合などを想定している(具体的には,“銀行証明書”,“電子メール証明

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

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

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

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

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

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

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

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

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

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

なることを示している。)。カードは,例えば,“カウンタオブジェクト”(JIS X 6320-8参照)を使用する

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

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,keyDecipher,verify,verifyRecover,

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

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

フラグ,公開かぎのCIOフラグ,及びプライベートかぎのCIOフラグの対応付けを,表2に示す。 

 

 

 

 

 

 


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型に含まれるname,generalName及び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.keyInfo: 8.4.2の対応する構成要素を参照。 

8.4.4 

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

PrivateDHKeyAttributes ::= SEQUENCE { 
 

value Path, 

 

keyInfo KeyInfo {DomainParameters, PublicKeyOperations} OPTIONAL, 

 

... -- 将来の拡張のため 

 

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

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

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

もよい。 

− PrivateDHKeyAttributes.keyInfo: 8.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.keyInfo: 8.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.keyInfo: 8.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.keyInfo: 8.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.keyInfo: 8.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.keyInfo: 8.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.subject,X509CertificatesAttributes.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 (SIZE(1)) 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-1(ISO 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ニブルから構成され,任

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


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) パスワード型に従ってパスワードを変換する。 

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

ド)]。次に,case-sensitiveビットがオフである場合,xを大文字に変換する。x = NLSUPPERCASE

(x)(NLSUPPERCASE =場面依存大文字)。 

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

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

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

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

(パスワード)。 

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

を各バイトの下位半分にBCDとして符号化し,各上位ニブルを“F16”に設定する。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.bioFlags: PasswordAttributes.pwdFlagsのときと同じであるが,“パスワー

ド”を“生体認証参照データ”に置き換える。 

− BiometricAttributes.templateId: この構成要素は,カードに送るデータ構造を識別する。 

− BiometricAttributes.bioType: この構成要素は,例えば,右(right)人指し指(pointer finger)のようにカー

ドに格納する生体認証情報の種類を決定する。“chained”構成要素とは,認証が成功するためには,

連鎖する複数のコマンドを使用して,同一の検証プロセスで複数の生体認証の特徴を渡すことを意味

している。 

− BiometricAttributes.bioReference,BiometricAttributes.lastChange及び

BiometricAttributes.path: PasswordAttributesにある対応する構成要素のときと同じであるが,“パ

スワード”を“生体認証参照データ”に置き換える。 

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),v2(1)} (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.preferredLanguage: IETF 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) standard(0) 7816 15 1} 

DEFINITIONS IMPLICIT TAGS ::= 

BEGIN 
IMPORTS 
informationFramework, authenticationFramework, certificateExtensions 
 

FROM UsefulDefinitions {joint-iso-itu-t(2) ds(5) module(1) usefulDefinitions(0) 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-body(2) us(840) ansi-x962(10045) module(4) 1} 

DomainParameters 
 

FROM ANSI-X9-42 {iso(1) member-body(2) us(840) ansi-x942(10046) module(5) 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 (SIZE(0..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 nameのSHA-1ハッシュ値 

subjectNameHash KEY-IDENTIFIER ::= 
 

{SYNTAX OCTET STRING IDENTIFIED BY 7} 

 

-- DER符号化されたsubject nameのSHA-1ハッシュ値 

pgp2KeyId KEY-IDENTIFIER ::= 
 

{SYNTAX OCTET STRING (SIZE(8)) IDENTIFIED BY 8} 

openPGPKeyId KEY-IDENTIFIER ::= 
 

{SYNTAX OCTET STRING (SIZE(8)) 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-organization(3) oiw(14) secsig(3) algorithms(2) 
26 } 
 
SHA1Parameters ::= NULL 
 
DigestInfoWithDefault ::= SEQUENCE { 
 

digestAlg AlgorithmIdentifier DEFAULT alg-id-sha1, 

 

digest 

 

OCTET STRING (SIZE(8..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), extAuthentication(1), userAuthentication(2)} 
 
-- 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 (SIZE(1)) 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),v2(1)} (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 {-- AIDはISO/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.CIA1 

DF.CIA2 


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記法 

1 privateKeys : 
2  

path : { 

3  

 

efidOrPath '4401'H 

}, 
4 certificates : 
5  

path : { 

6  

 

efidOrPath '4402'H 

}, 
7 dataContainerObjects : 
8  

path : { 

9  

 

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 
1 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符号化  
1 A0 06 
2     30 04 
3  

  04 02 

 

      44 01 

4 A4 06 
5     30 04 
6  

  04 02 

 

      44 02 

7 A7 06 
8     30 04 
9  

  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 

 

 

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 

 

 

 

01 

 

30 07 

 

 

04 01 

 

 

 

45 

 

 

03 02 

 

 

 

02 64 

 

A0 13 


61 

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

 

 

 

30 11 

 

 

 

A0 0F 

 

 

 

 

30 0D 

 

 

 

 

 

02 01 

 

 

 

 

 

 

04 

 

 

 

 

 

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 

 

 

 

02 

 

30 08 

 

 

04 01 

 

 

 

46 

 

 

03 03 

 

 

 

06 20 40 

 

A0 13 

 

 

30 11 

 

 

 

A0 0F 

 

 

 

 

30 0D 

 

 

 

 

 

02 01 

 

 

 

 

 

 

04 

 

 

 

 

 

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 00 

 

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 

 

 

 

00 

 

30 03 

 

 

04 01 

 

 

 

45 

 

A1 08 

 

 

30 06 

 

 

 

30 04 

 

 

 

 

04 02 

 

 

 

 

 

43 31 

30 1B 
 

30 0A 

 

 

0C 05 

 

 

 

43 45 52 54 32 

 

 

03 01 

 

 

 

00 

 

30 03 

 

 

04 01 

 

 

 

46 

 

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 

 

 

 

01 

 

A1 12 

 

 

30 10 

 

 

 

03 02 

 

 

 

 

02 2C 

 

 

 

0A 01 

 

 

 

 

00 

 

 

 

02 01 

 

 

 

 

04 

 

 

 

02 01 

 

 

 

 

08 

 

 

 

04 01 

 

 

 

 

FF 

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 

 

 

 

02 

 

A1 1C 

 

 

30 1A 

 

 

 

03 02 

 

 

 

 

02 2C 

 

 

 

0A 01 

 

 

 

 

00 

 

 

 

02 01 

 

 

 

 

04 

 

 

 

02 01 

 

 

 

 

08 

 

 

04 01 

 

 

 

FF 

 

 

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 

 

 

 

02 

 

30 05 

 

 

0C 03 

 

 

 

41 50 50 

 

A1 0C 

 

 

30 0A 

 

 

 

04 02 

 

 

 

 

44 31 

 

 

 

02 01 

 

 

 

 

40 

 

 

 

80 01 

 

 

 

 

30 

 

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