TR-31 エクスポート (CSNBT31X および CSNET31X)
TR-31 エクスポート呼び出し可能サービスは、CCA トークンを相手側にエクスポートするために TR-31 フォーマットに変換する場合に使用します。 TR-31 によって定義されている鍵属性と、CCA によって定義されている鍵属性は、必ずしも 1 対 1 のマッピングにはならないため、 呼び出し側は、規則配列によってエクスポート対象の鍵に付与する属性を指定しなければならない場合があります。
AMODE(64) の呼び出し可能サービス名は CSNET31X です。
形式
CALL CSNBT31X(
return_code,
reason_code,
exit_data_length,
exit_data,
rule_array_count,
rule_array,
key_version_number,
key_field_length,
source_key_identifier_length,
source_key_identifier,
unwrap_kek_identifier_length,
unwrap_kek_identifier,
wrap_kek_identifier_length,
wrap_kek_identifier,
opt_blks_length,
opt_blocks,
tr31_key_block_length,
tr31_key_block)
パラメーター
- return_code
-
方向 タイプ 出力 整数 戻りコードは、呼び出し可能サービスの一般的な結果を示しています。 ICSF および暗号化コプロセッサーの戻りコードおよび理由コードに、戻りコードがリストされています。
- reason_code
-
方向 タイプ 入出力 整数 理由コードは、アプリケーション・プログラムに返される、呼び出し可能サービスの結果を示しています。 戻りコードにはそれぞれ、特定の処理問題を示すさまざまな理由コードが割り当てられています。 ICSF および暗号化コプロセッサーの戻りコードおよび理由コード に、理由コードがリストされています。
- exit_data_length
-
方向 タイプ 出力 整数 インストール・システム出口に渡されるデータの長さ。 データは exit_data パラメーターで識別されます。
- exit_data
-
方向 タイプ 入出力 ストリング このデータはインストール出口に渡されます。
- rule_array_count
-
方向 タイプ 入力 整数 rule_array パラメーターで指定するキーワード数。 rule_array_count パラメーターは 3、4、または 5 でなければなりません。
- rule_array
-
方向 タイプ 入力 ストリング rule_array には、制御情報をこの呼び出し可能サービスに提供するキーワードが含まれます。 このキーワードの長さは 8 バイトです。 このキーワードは左寄せにして、右側にスペース文字を埋め込む必要があります。 下表に、この呼び出し可能サービスの rule_array キーワードを示します。 用途とモードの有効な組み合わせについては、表 2 を参照してください。
表 1. TR-31 エクスポート規則配列制御情報のキーワード キーワード 意味 TR-31 鍵ブロック保護方式 - いずれかが必須 VARXOR-A これは、TR-31 鍵ブロック・バージョン ID「A」(0x41) に対応する変種作成方式を使用します。 VARDRV-B これは、TR-31 鍵ブロック・バージョン ID「B」(0x42) に対応する鍵導出方式を使用します。 VARXOR-C これは、TR-31 鍵ブロック・バージョン ID「C」(0x43) に対応する変種作成方式を使用します。 出力鍵用の TR-31 鍵用途値 - いずれかが必須 注: 制御ベクトル・トランスポート・グループから ATTR-CV が指定される場合は、用途キーワードは指定してはなりません。 専有用途「10」が使用されます。BDK ベース導出鍵 (BDK) - ( B0 ) CVK カード検証鍵 (CVK) - ( C0 ) ENC データ暗号鍵 - ( D0 ) EMVACMK EMV アプリケーション暗号文マスター鍵 - ( E0 ) EMVSCMK 機密性マスター鍵の EMV セキュア・メッセージング - ( E1 ) EMVSIMK 保全性マスター鍵の EMV セキュア・メッセージング - ( E2 ) EMVDAMK EMV データ認証コード鍵 - ( E3 ) EMVDNMK EMV 動的数マスター鍵 - ( E4 ) EMVCPMK EMV カード個別設定マスター鍵 - ( E5 ) KEK 鍵暗号鍵 - ( K0 ) KEK-WRAP TR-31 ブロックをラップするための鍵暗号鍵 (TR-31 鍵ブロック・バージョン ID「B」および「C」の場合のみ) - ( K1 ) ISOMAC0 TDES を使用する ISO 16609 MAC アルゴリズム 1 の鍵 - ( M0 ) ISOMAC1 ISO 9797-1 MAC アルゴリズム 1 の鍵 - ( M1 ) ISOMAC3 ISO 9797-1 MAC アルゴリズム 3 の鍵 - ( M3 ) PINENC PIN 暗号鍵 - ( P0 ) PINVO PIN 検査鍵、「その他」のアルゴリズム - ( V0 ) PINV3624 IBM 3624 アルゴリズムの PIN 検査鍵 - ( V1 ) VISAPVV PIN 検査鍵、VISA PVV アルゴリズム - ( V2 ) 鍵用途の TR-31 モード - いずれかが必須 注: 制御ベクトル・トランスポート・グループから ATTR-CV が指定される場合は、モード・キーワードは指定してはなりません。 専有モード「1」が使用されます。ENCDEC 暗号化および暗号化解除 - ( B ) DEC-ONLY 暗号化解除のみ - ( D ) ENC-ONLY 暗号化のみ - ( E ) GENVER MAC または PIN の生成および検査 - ( C ) - MAC 鍵では生成ビットおよび検証ビットがオンになっていなければなりません
- PIN 鍵では PINGEN ビットおよび EPINVER ビットがオンになっていなければなりません
GEN-ONLY MAC または PIN の生成のみ - ( G ) - MAC 鍵では生成ビットのみがオンになっていなければなりません
- PIN 鍵では PINGEN ビットがすべてオンになっていて EPINVER ビットがすべてオフになっていなければなりません
VER-ONLY MAC または PIN の検査のみ ( V ) - MAC 鍵では検証ビットのみがオンになっていなければなりません
- PIN 鍵では PINGEN ビットがすべてオフになっていて EPINVER ビットがすべてオンになっていなければなりません
DERIVE 鍵導出 (TR-31 鍵ブロック・バージョン ID「B」および「C」の場合のみ) - ( X ) ANY すべてのモードを許可 - ( N ) TR-31 鍵ブロック内のエクスポート・フィールドを設定するためのエクスポート制御 - オプション EXP-ANY エクスポートで任意の鍵暗号鍵を使用できます。 これがデフォルトです。 EXP-TRST エクスポートで、TR-31 に定義されているように、トラステッド鍵暗号鍵を使用できます。 注: X9.24 準拠の CCA 鍵ブロックでラップされた CCA 鍵はトラステッド鍵とみなされます。EXP-NONE エクスポートが禁止されます。 制御ベクトル・トランスポート制御 - オプション 注: このグループのキーワードが指定されない場合、source_key_identifier 内の CV は、 上記のグループから指定された「鍵用途」キーワードおよび「用途モード」キーワードに適合するように引き続き検証されます。INCL-CV これは、CCA 制御ベクトルを TR-31 鍵ブロック・ヘッダーのオプション・フィールドに組み込みます。 TR-31 用途フィールドおよび用途モード・フィールドでは鍵属性が示されます。 その属性 (上記のグループから渡されたキーワードから導出) は、組み込まれた制御ベクトル内の属性と両立するように呼び出し可能サービスによって検証されます。 ATTR-CV これは、CCA 制御ベクトルを TR-31 鍵ブロック・ヘッダーのオプション・フィールドに組み込みます。 TR-31 用途は組み込まれた CV に用途情報が指定されていることを示す専有 ASCII 値「10」(‘3130’x) に設定されます。 用途モードは、同様に CV にモードが指定されていることを示す専有 ASCII 値「1」(‘ 31’x) に設定されます。 注: このキーワードが指定されている場合は、前のグループからの用途キーワードやモード・キーワードを指定してはなりません。 専有値が使用されます。 - key_version_number
- このパラメーターにある 2 つのバイトは、 出力 TR-31 鍵ブロックの「Key Version Number」フィールドにコピーされます。 鍵バージョン番号が不要な場合は、値を EBCDIC (「00」) にする必要があります。 パラメーター source_key_identifier に含まれる CCA 鍵が鍵パーツの 場合 (CV ビット 44 が 1 の場合)、TR-31 鍵ブロックに含まれる鍵バージョン番号は、TR-31 標準に従って「c0」(0x6330) に設定されます。 これは、TR-31 ブロックに鍵パーツが含まれることを示します。 この場合、key_version_number パラメーターで呼び出し可能サービスに渡される値は無視されます。
方向 タイプ 入力 ストリング - key_field_length
- このパラメーターは、TR-31 ブロックにおいて暗号化される鍵フィールドの長さを指定します。 この長さは、8 (DES 暗号ブロックのサイズ) の倍数でなければなりません。 また、この長さは、パラメーター source_key_identifier で渡される非暗号化テキスト鍵の 長さに、TR-31 ブロックにおいてこの鍵の前にある 2 バイトの鍵の長さを加えたものと同じが、それより長くなければなりません。 例えば、ソース鍵が長さ 16 バイトの倍長 TDES 鍵の場合、鍵フィールドの長さは (16+2) バイトより長い 8 の倍数でなければなりません。 つまり、この場合、key_field_length の最小値は 24 です。 TR-31 では非暗号化テキスト鍵の後に任意の数のバイトを埋め込むことができるため、 呼び出し側は、8 の倍数のブロックを形成するために必要とされるだけの数のバイトで埋め込みを行うことを選択できます。 通常、これを行うのは、非暗号化テキスト鍵の長さを、その鍵を復号できない第三者から隠すためです。 多くの場合、暗号化ブロックを調べることで TR-31 ブロックで保持されている長さを判断することができないように、 すべての鍵 (単一長、倍長、3 倍長) に対して同じ長さに埋め込みが行われます。
方向 タイプ 入力 整数 このパラメーターでは、TR-31 の仕様に従って鍵フィールドに保管された暗号化データを ASCII でエンコードできるようにすることは 想定されていないことに注意してください。 例えば、ここで値 24 をユーザーが渡すと、上記の最小の例に従って、出力 TR-31 鍵ブロック内の鍵フィールドにおける 最終的な ASCII エンコード暗号化データの長さは 48 バイトになります。
- source_key_identifier_length
- このパラメーターは、source_key_identifier パラメーターの 長さ (バイト) を指定します。 現在、ソース鍵パラメーターに対してサポートされているのは CCA 鍵トークンのみであるため、 このパラメーターの値は 64 でなければなりません。
方向 タイプ 入力 整数 - source_key_identifier
- このパラメーターには、 エクスポート対象の鍵のラベルまたは鍵トークンが含まれます。 その鍵は CCA 内部/外部トークンでなければなりません。 ソース鍵が内部トークンの場合、ソース鍵をラップする KEK の ID は unwrap_kek_identifier パラメーターで 渡されなければなりません。 サポートされる鍵は DES/TDES 鍵のみです。 古いマスター鍵でラップされた鍵トークンが渡されると、その鍵トークンは現行マスター鍵でラップされるように出力で更新されます。
方向 タイプ 入出力 ストリング - unwrap_kek_identifier_length
- このパラメーターは、unwrap_kek_identifier パラメーターの 長さ (バイト) を指定します。 source_key_identifier が外部 CCA トークンの場合、このパラメーターは 64 でなければなりません。 それ以外の場合、このパラメーターは 0 でなければなりません。
方向 タイプ 入力 整数 - unwrap_kek_identifier
- source_key_identifier が 外部 CCA トークンの場合、このパラメーターには、現在の source_key_identifier のラップに 使用された KEK のラベルまたは鍵トークンが含まれます。 これはタイプ EXPORTER または OKEYXLAT の CCA 内部 DES KEK トークンでなければなりません。 source_key_identifier が外部 CCA トークンでない場合、このパラメーターは無視されます。 古いマスター鍵でラップされた鍵トークンが渡されると、その鍵トークンは現行マスター鍵でラップされるように出力で更新されます。
方向 タイプ 入出力 ストリング - wrap_kek_identifier_length
- このパラメーターは、wrap_kek_identifier パラメーターの 長さ (バイト) を指定します。 出力 TR-31 鍵ブロックをラップするために unwrap_kek_identifier も使用する場合は、 このパラメーターに対して 0 を指定します。 それ以外の場合、このパラメーターは 64 でなければなりません。
方向 タイプ 入力 整数 - wrap_kek_identifier
- wrap_kek_identifier_length が 0 の場合、 このパラメーターは無視されて、出力 TR-31 鍵ブロックをラップするために unwrap_kek_identifier も使用されます。 それ以外の場合、このパラメーターには、出力 TR-31 鍵ブロックをラップするために KEK で使用されるラベルまたは鍵トークンが含まれます。 これは KEK EXPORTER/OKEYXLAT タイプの CCA 内部トークンでなければならず、unwrap_kek_identifier と同じ非暗号化鍵が必要です。 古いマスター鍵でラップされた鍵トークンが渡されると、その鍵トークンは現行マスター鍵でラップされるように出力で更新されます。
方向 タイプ 入出力 ストリング 注: 「E」エクスポート可能性を持っているか、または持つことになる TR-31 バージョン「B」/「C」鍵ブロックを ラップ/ラップ解除するために、ECB モードでラップされた DES 鍵 (CCA レガシー・ラップ・モード) は使用できません。 これは、ECB モードが ANSI X9.24 Part 1 に準拠していないためです。このパラメーターは KEK を分離できるようするために用意されています。 CCA 外部鍵をラップするための KEK を TR-31 外部鍵のラップに使用できないようにしたり、その逆を行ったりするために、KEK で ラップできる項目に関して KEK を制限できます。 - opt_blks_length
- このパラメーターは、 パラメーター opt_blocks の長さ (バイト) を指定します。 オプション・データを TR-31 鍵ブロックに含めない場合は、このパラメーターをゼロに設定する必要があります。
方向 タイプ 入力 整数 - opt_blocks
- このパラメーターには、出力 TR-31 鍵ブロックに組み込まれる オプション・ブロック・データが含まれます。 オプション・ブロック・データは、TR-31 オプション・データ作成呼び出し可能サービスを使用して作成されます。 また、オプション・ブロック・データは ASCII になっていなければなりません。 opt_blks_length がゼロの場合、このパラメーターは無視されます。
方向 タイプ 入力 ストリング - TR31_key_block_length
- このパラメーターは、TR31_key_block パラメーターの 長さ (バイト) を指定します。 入力では、このパラメーターには、出力 TR-31 鍵ブロックに使用できるバッファーのサイズを指定しなければなりません。 戻りでは、返される鍵ブロックの実際の長さを含むように、このパラメーターが更新されます。 指定されたバッファーが出力 TR-31 鍵ブロックに十分な大きさでない場合は、エラーが返されます。 出力 TR-31 鍵ブロックの最大サイズは 9992 バイトです。
方向 タイプ 入出力 整数 - TR31_key_block
- この パラメーターは、wrap_kek_identifier パラメーターで指定されるエクスポート鍵でラップされたエクスポート TR-31 鍵ブロックの 位置を指定します。
方向 タイプ 出力 ストリング
制約事項
この呼び出し可能サービスでは、DES 鍵および TDES 鍵のみがエクスポートされます。
TR-31 ヘッダー・フィールドの専用値は、ヘッダー内のオプション・ブロックに制御ベクトルを指定する場合に IBM CCA で使用される専用値を除いて、 この呼び出し可能サービスではサポートされません。
使用上の注意
特にほかで注記されていない限り、TR-31 鍵ブロックとの間で読み書きが行われるストリング・パラメーターはすべて EBCDIC フォーマットになります。 入力パラメーターは TR-31 鍵ブロックに書き込まれる前に ASCII に変換され、 出力パラメーターは返される前に EBCDIC に変換されます (EBCDIC および ASCII のデフォルト変換テーブルを参照してください)。 TR-31 鍵ブロック自体は、ANSI TR-31 の仕様で要求されているとおり、必ず印刷可能な ASCII フォーマットになります。
キーワード INCL-CV または ATTR-CV が指定されている場合、このサービスでは、CCA 制御ベクトルがソース鍵から TR-31 ヘッダー内の オプション・データ・フィールドに挿入されます。 TR-31 インポート呼び出し可能サービスでは、この CV を抽出して、TR-31 ブロックのインポート時に作成される CCA 鍵の CV として使用できます。 これにより、CCA 鍵の移送に TR-31 を使用したり、送受信ノードで CCA 鍵が同じ制御ベクトルを持つようにしたりできるようになります。 INCL-CV と ATTR-CV の違いは、INCL-CV が通常の TR-31 エクスポートであるということです。 INCL-CV では、TR-31 鍵属性は、指定された規則配列キーワードに基づいて設定されますが、 詳細情報を追加するために CV も TR-31 ブロックに組み込まれます。 これに対して ATTR-CV では、このサービスによって、CV が組み込まれますが、TR-31 用途フィールドおよび用途モード・フィールドが、 用途およびモードの情報が TR-31 ヘッダーにではなく CV に指定されることを示す専有値に設定されます。 オプション INCL-CV の場合、エクスポート操作は、関連アクセス制御点の設定によって課せられる制限を引き続き受けます。 オプション ATTR CV の場合、そのアクセス制御点は検査されず、CV 内のエクスポート制御フィールドで許可される限り、 いずれの CCA 鍵もエクスポートできます。
呼び出し側がこの呼び出し可能サービス、鍵ラベル、または CKDS に保管された内部セキュア鍵トークンの使用を許可されているかを検査するために、SAF が呼び出される場合があります。
オプション・データがある場合、そのデータに埋め込みブロック (ID「PB」) があらかじめ組み込まれていてはなりません。 必要に応じて、適切なサイズの埋め込みブロックが TR-31 鍵ブロックの作成時に追加されます。 この呼び出し可能サービスでオプション・ブロック・データに埋め込みブロックが検出されると、エラーが発生します。
アクセス制御点
- TR31 Export - Permit version A TR-31 key blocks
- TR31 Export - Permit version B TR-31 key blocks
- TR31 Export - Permit version C TR-31 key blocks
- 「Prohibit weak wrapping - Transport keys」アクセス制御点が有効になっている場合、サービスは失敗します。
- 「Warn when weak wrap - Transport keys」アクセス制御点が有効になっている場合、サービスは正常に完了し、警告戻りコードが返されます。
次の表は、TR-31 鍵ブロックに CCA 鍵をエクスポートするための有効な属性変換を、その属性変換を管理するアクセス制御点とともにリストしたものです。 ここにリストされていない変換はすべてエラーになります。 ブランクになっている個別のセルは、値がすぐ上の値と同じであることを示しています。
エクスポート CCA タイプ (CSNBCVG キーワード) | CSNBCVG キーワードでの CCA 用途 | ここで CSNBT31X キーワードはすべて「使用」+「モード」。それ以外はエラー | T31 用途 | T31 鍵ブロック・バージョン | T31 モード | T31 アルゴリズム | 「TR31 エクスポート」必須 ACP |
---|---|---|---|---|---|---|---|
任意のエクスポート可能鍵 | |||||||
これは、TR-31 鍵ブロックにオプション・ブロックとして CCA 制御ベクトル (CV) が
組み込まれる (呼び出し可能サービスで INCL-CV キーワードが提供された) 場合に、
任意の CCA 鍵を (この表に定義されているとおりの許容エクスポート・シナリオに関して) エクスポートできるようにします。
通常、TR-31 鍵ブロックに CCA 鍵をエクスポートする処理は、詳細に制御するために、変換または小規模の変換セットに固有の ACP によって制御されます。 この ACP では、CV が組み込まれる限りは、許可されるすべてのエクスポートを実行できるため、特定の ACP が指定変更されます。 注:
|
|||||||
DUKPT ベース導出鍵 | |||||||
KEYGENKY | UKPT | BDK + ANY | B0 | A | N | T | KEYGENKY:UKPT を B0 に対して許可 |
KEYGENKY | UKPT | BDK + DERIVE | B0 | B,C | X | T | |
注: PIN パッドなどの個別の装置には、DUKPT 初期鍵の導出元の基本鍵があります。
|
|||||||
カード検証鍵 | |||||||
MAC | AMEX-CSC、生成ビット (20)=1 | CVK + GEN-ONLY | C0 | A,B,C | G | D,T | MAC/MACVER:AMEX-CSC を C0:G/C/V に対して許可 |
AMEX-CSC、生成ビット (20)=0、検証ビット (21)=1 | CVK + VER-ONLY | A,B,C | V | D,T | |||
AMEX-CSC、生成ビット (20)=1、検証ビット (21)=1 | CVK + GENVER | A,B,C | C | D,T | |||
CVVKEY-A、生成ビット (20)=1 | CVK + GEN-ONLY | A,B,C | G | T | MAC/MACVER:CVV-KEYA を C0:G/C/V に対して許可 | ||
CVVKEY-A、生成ビット (20)=0、検証ビット (21)=1 | CVK + VER-ONLY | A,B,C | V | T | |||
CVVKEY-A、生成ビット (20)=1、検証ビット (21)=1 | CVK + GENVER | A,B,C | C | T | |||
ANY-MAC、生成ビット (20)=1 | CVK + GEN-ONLY | A,B,C | G | T | MAC/MACVER:ANY-MAC を C0:G/C/V に対して許可 | ||
ANY-MAC、生成ビット (20)=0、検証ビット (21)=1 | CVK + VER-ONLY | A,B,C | V | T | |||
ANY-MAC、生成ビット (20)=1、検証ビット (21)=1 | CVK + GENVER | A,B,C | C | T | |||
DATA | 生成ビット (20)=1 または zeroCV | CVK + GEN-ONLY | A,B,C | G | T | DATA を C0:G/C に対して許可 | |
生成ビット (20)=1、検証ビット (21)=1 または zeroCV | CVK + GENVER | A,B,C | C | T | |||
注:
|
|||||||
データ暗号鍵 | |||||||
ENCIPHER | (なし) | ENC + ENC-ONLY | D0 | A,B,C | E | D, T | ENCIPHER/DECIPHER/CIPHER を D0:E/D/B に対して許可 |
DECIPHER | (なし) | ENC + DEC-ONLY | A,B,C | D | D, T | ||
CIPHER | (なし) | ENC + ENCDEC | A,B,C | B | D, T | ||
DATA | 暗号化ビット (18)=1、復号ビット (19)=1 または zeroCV | ENC + ENCDEC | A,B,C | B | D, T | DATA を D0:B に対して許可 | |
注: TR-31 から CCA への変換および CCA から TR-31 への変換は非対称です。
CCA 鍵は、CCA タイプ ENCIPHER、DECIPHER、または CIPHER から、または適切な暗号化 CV ビットと復号 CV ビットがオンになった
タイプ DATA から、TR-31「D0」鍵にエクスポートできます。
TR-31「D0」鍵は、CCA タイプ ENCIPHER、DECIPHER、または CIPHER にのみインポートできます。
それらよりセキュリティー強度が低い DATA 鍵タイプにはインポートできません。
このため、エクスポート/再インポートで、セキュリティー強度が低い DATA タイプへの変換は行われません。
|
|||||||
鍵暗号鍵 | |||||||
EXPORTER または OKEYXLAT | KEK + ENC-ONLY | K0 | A,B,C | E | T | EXPORTER/OKEYXLAT を K0:E に対して許可 | |
IMPORTER または IKEYXLAT | KEK + DEC-ONLY | K0 | A,B,C | D | T | IMPORTER/IKEYXLAT を K0:D に対して許可 | |
EXPORTER または OKEYXLAT | KEK-WRAP + ENC-ONLY | K1 | B,C | E | T | EXPORTER/OKEYXLAT を K1:E に対して許可 | |
IMPORTER または IKEYXLAT | KEK-WRAP + DEC-ONLY | K1 | B,C | D | T | IMPORTER/IKEYXLAT を K1:D に対して許可 | |
注:
|
|||||||
MAC 鍵 | |||||||
MAC | gen bit(20)=1 | ISOMAC0 + GEN-ONLY | M0 | A,B,C | G | T | MAC/DATA/DATAM を M0:G/C に対して許可 |
DATA | 生成ビット (20)=1 または zeroCV | ISOMAC0 + GEN-ONLY | A,B,C | G | T | ||
MAC | 生成ビット (20)=1、検証ビット (21)=1 | ISOMAC0 + GENVER | A,B,C | C | T | ||
DATAM | 生成ビット (20)=1、検証ビット (21)=1 | ISOMAC0 + GENVER | A,B,C | C | T | ||
DATA | 生成ビット (20)=1、検証ビット (21)=1 または zeroCV | ISOMAC0 + GENVER | A,B,C | C | T | ||
MACVER | 生成ビット (20)=0、検証ビット (21)=1 | ISOMAC0 + VER-ONLY | A,B,C | V | T | MACVER/DATAMV を M0:V に対して許可 | |
DATAMV | 生成ビット (20)=0、検証ビット (21)=1 | ISOMAC0 + VER-ONLY | A,B,C | V | T | ||
MAC | gen bit(20)=1 | ISOMAC1 + GEN-ONLY | M1 | A,B,C | G | D,T | MAC/DATA/DATAM を M1:G/C に対して許可 |
DATA | 生成ビット (20)=1 または zeroCV | ISOMAC1 + GEN-ONLY | A,B,C | G | D,T | ||
MAC | 生成ビット (20)=1、検証ビット (21)=1 | ISOMAC1 + GENVER | A,B,C | C | D,T | ||
DATAM | 生成ビット (20)=1、検証ビット (21)=1 | ISOMAC1 + GENVER | A,B,C | C | D,T | ||
DATA | 生成ビット (20)=1、検証ビット (21)=1 または zeroCV | ISOMAC1 + GENVER | A,B,C | C | D,T | ||
MACVER | 生成ビット (20)=0、検証ビット (21)=1 | ISOMAC1 + VER-ONLY | A,B,C | V | D,T | MACVER/DATAMV を M1:V に対して許可 | |
DATAMV | 生成ビット (20)=0、検証ビット (21)=1 | ISOMAC1 + VER-ONLY | A,B,C | V | D,T | ||
MAC | gen bit(20)=1 | ISOMAC3 + GEN-ONLY | M3 | A,B,C | G | D,T | MAC/DATA/DATAM を M3:G/C に対して許可 |
DATA | 生成ビット (20)=1 または zeroCV | ISOMAC3 + GEN-ONLY | A,B,C | G | D,T | ||
MAC | 生成ビット (20)=1、検証ビット (21)=1 | ISOMAC3 + GENVER | A,B,C | C | D,T | ||
DATAM | 生成ビット (20)=1、検証ビット (21)=1 | ISOMAC3 + GENVER | A,B,C | C | D,T | ||
DATA | 生成ビット (20)=1、検証ビット (21)=1 または zeroCV | ISOMAC3 + GENVER | A,B,C | C | D,T | ||
MACVER | 生成ビット (20)=0、検証ビット (21)=1 | ISOMAC3 + VER-ONLY | A,B,C | V | D,T | MACVER/DATAMV を M3:V に対して許可 | |
DATAMV | 生成ビット (20)=0、検証ビット (21)=1 | ISOMAC3 + VER-ONLY | A,B,C | V | D,T | ||
注:
|
|||||||
PIN 鍵 | |||||||
OPINENC | (なし) | PINENC + ENC-ONLY | P0 | A,B,C | E | T | OPINENC を P0:E に対して許可 |
IPINENC | (なし) | PINENC + DEC-ONLY | A,B,C | D | T | IPINENC を P0:D に対して許可 | |
(なし) | (なし) | (なし) | (なし) | A,B,C | B | T | (なし) |
PINVER | NO-SPEC | PINVO + ANY | V0 | A | N | T | PINVER:NO-SPEC を V0 に対して許可、PINGEN/PINVER を V0/V1/V2:N に対して許可 |
[CV において生成ビットがオンではない] | PINVO + VER-ONLY | A,B,C | V | PINVER:NO-SPEC を V0 に対して許可 | |||
PINGEN | NO-SPEC | PINVO + ANY | A | N | T | PINGEN:NO-SPEC を V0 に対して許可、PINGEN/PINVER を V0/V1/V2:N に対して許可 | |
[CV において EPINVER ビットがオフ] | PINVO + GEN-ONLY | A,B,C | G | PINGEN:NO-SPEC を V0 に対して許可 | |||
[CV において EPINVER ビットがオン] | PINVO + GENVER | A,B,C | C | PINGEN:NO-SPEC を V0 に対して許可 | |||
PINVER | IBM または NO-SPEC | PINV3624 + ANY | V1 | A | N | T | PINVER:NO-SPEC/IBM-PIN/IBM-PINO を V1 に対して許可、PINGEN/PINVER を V0/V1/V2:N に対して許可 |
[CV において生成ビットがオンではない] | PINV3624 + VER-ONLY | A,B,C | V | PINVER:NO-SPEC/IBM-PIN/IBM-PINO を V1 に対して許可 | |||
PINGEN | IBM または NO-SPEC | PINV3624 + ANY | A | N | T | PINGEN:NO-SPEC/IBM-PIN/IBM-PINO を V1 に対して許可、PINGEN/PINVER を V0/V1/V2:N に対して許可 | |
[CV において EPINVER ビットがオフ] | PINV3624 + GEN-ONLY | A,B,C | G | PINGEN:NO-SPEC/IBM-PIN/IBM-PINO を V1 に対して許可 | |||
[CV において EPINVER ビットがオン] | PINV3624 + GENVER | A,B,C | C | PINGEN:NO-SPEC/IBM-PIN/IBM-PINO を V1 に対して許可 | |||
PINVER | VISAPVV または NO-SPEC | VISAPVV + ANY | V2 | A | N | T | PINVER:NO-SPEC/VISA-PVV を V2 に対して許可、PINGEN/PINVER を V0/V1/V2:N に対して許可 |
[CV において生成ビットがオンではない] | VISAPVV + VER-ONLY | A,B,C | V | PINVER:NO-SPEC/VISA-PVV を V2 に対して許可 | |||
PINGEN | VISAPVV または NO-SPEC | VISAPVV + ANY | A | N | T | PINGEN:NO-SPEC/VISA-PVV を V2 に対して許可、PINGEN/PINVER を V0/V1/V2:N に対して許可 | |
[CV において EPINVER ビットがオフ] | VISAPVV + PINGEN | A,B,C | G | PINGEN:NO-SPEC/VISA-PVV を V2 に対して許可 | |||
[CV において EPINVER ビットがオン] | VISAPVV + PINGEN | A,B,C | C | PINGEN:NO-SPEC/VISA-PVV を V2 に対して許可 | |||
注: TR-31 V0 モードと CCA「NO-SPEC」サブタイプはわずかに異なります。
V0 モードでは 3224 方式または PVV 方式の鍵が禁止されます。
一方、CCA「NO-SPEC」では、すべての方式が許可されます。
PINVER を用途:モード V*:N にエクスポートする処理と、V*:N を PINGEN にインポートする処理を同時に制御する ACP を オンにすると、PINVER 鍵を PINGEN 鍵に変更できるようになります。 これは推奨されません。 これが可能になっているのは、レガシー (TR-31 2005 ベース) の実装で PINGEN 鍵に対しても PINVER 鍵に対しても同じモード「N」が使用されていたためです。 |
|||||||
EMV チップ/発行者マスター鍵 | |||||||
DKYGENKY | DKYL0 + DMAC | EMVACMK + ANY | E0 | A | N | T | DKYGENKY:DKYL0+DMAC を E0 に対して許可 |
EMVACMK + DERIVE | B,C | X | T | ||||
DKYL0 + DMV | EMVACMK + ANY | A | N | T | DKYGENKY:DKYL0+DMV を E0 0x019A に対して許可 | ||
EMVACMK + DERIVE | B,C | X | T | ||||
DKYL0 + DALL | EMVACMK + ANY | A | N | T | DKYGENKY:DKYL0+DALL を E0 0x019B に対して許可 | ||
EMVACMK + DERIVE | B,C | X | T | ||||
DKYL1 + DMAC | EMVACMK + ANY | A | N | T | DKYGENKY:DKYL1+DMAC を E0 に対して許可 | ||
EMVACMK + DERIVE | B,C | X | T | ||||
DKYL1 + DMV | EMVACMK + ANY | A | N | T | DKYGENKY:DKYL1+DMV を E0 に対して許可 | ||
EMVACMK + DERIVE | B,C | X | T | ||||
DKYL1 + DALL | EMVACMK + ANY | A | N | T | DKYGENKY:DKYL1+DALL を E0 に対して許可 | ||
EMVACMK + DERIVE | B,C | X | T | ||||
DKYGENKY | (DKYL0 + DDATA) | EMVSCMK + ANY | E1 | A | N | T | DKYGENKY:DKYL0+DDATA を E1 に対して許可 |
EMVSCMK + DERIVE | B,C | X | T | ||||
(DKYL0 + DMPIN) | EMVSCMK + ANY | A | N | T | DKYGENKY:DKYL0+DMPIN を E1 に対して許可 | ||
EMVSCMK + DERIVE | B,C | X | T | ||||
DKYL0 + DALL | EMVACMK + ANY | A | N | T | DKYGENKY:DKYL0+DALL を E1 に対して許可 | ||
EMVACMK + DERIVE | B,C | X | T | ||||
(DKYL1 + DDATA) | EMVSCMK + ANY | A | N | DKYGENKY:DKYL1+DDATA を E1 に対して許可 | |||
EMVSCMK + DERIVE | B,C | X | |||||
(DKYL1 + DMPIN) | EMVSCMK + ANY | A | N | DKYGENKY:DKYL1+DMPIN を E1 に対して許可 | |||
EMVSCMK + DERIVE | B,C | X | |||||
DKYL1 + DALL | EMVACMK + ANY | A | N | T | DKYGENKY:DKYL1+DALL を E1 に対して許可 | ||
EMVACMK + DERIVE | B,C | X | T | ||||
DKYGENKY | DKYL0 + DMAC | EMVSIMK + ANY | E2 | A | N | T | DKYGENKY:DKYL0+DMAC を E2 に対して許可 |
EMVSIMK + DERIVE | B,C | X | T | ||||
DKYL0 + DALL | EMVACMK + ANY | A | N | T | DKYGENKY:DKYL0+DALL を E2 に対して許可 | ||
EMVACMK + DERIVE | B,C | X | T | ||||
DKYL1 + DMAC | EMVSIMK + ANY | A | N | T | DKYGENKY:DKYL1+DMAC を E2 に対して許可 | ||
EMVSIMK + DERIVE | B,C | X | T | ||||
DKYL1 + DALL | EMVACMK + ANY | A | N | T | DKYGENKY:DKYL1+DALL を E2 に対して許可 | ||
EMVACMK + DERIVE | B,C | X | T | ||||
DATA | (なし) | EMVDAMK + ANY | E3 | A | N | T | DATA/MAC/CIPHER/ENCIPHER を E3 に対して許可 |
EMVDAMK + DERIVE | B,C | X | |||||
MAC (MACVER ではない) | (なし) | EMVDAMK + ANY | A | N | |||
EMVDAMK + MACGEN | A | G | |||||
EMVDAMK + DERIVE | B,C | X | |||||
CIPHER | (なし) | EMVDAMK + ANY | A | N | |||
EMVDAMK + DERIVE | B,C | X | |||||
ENCIPHER | EMVDAMK + ENC-ONLY | A | E | ||||
EMVDAMK + DERIVE | B,C | X | |||||
DKYGENKY | DKYL0 +DDATA | EMVDNMK + ANY | E4 | A | N | T | DKYGENKY:DKYL0+DDATA を E4 に対して許可 |
EMVDNMK + DERIVE | B,C | X | |||||
DKYL0 +DALL | EMVDNMK + ANY | A | N | T | DKYGENKY:DKYL0+DALL を E4 に対して許可 | ||
EMVDNMK + DERIVE | B,C | X | |||||
DKYGENKY | DKYL0 + DEXP | EMVCPMK + ANY | E5 | A | N | T | DKYGENKY:DKYL0+DEXP を E5 に対して許可 |
EMVCPMK + DERIVE | B,C | X | |||||
DKYL0 + DMAC | EMVCPMK + ANY | A | N | DKYGENKY:DKYL0+DMAC を E5 に対して許可 | |||
EMVCPMK + DERIVE | B,C | X | |||||
DKYL0 +DDATA | EMVCPMK + ANY | A | N | DKYGENKY:DKYL0+DDATA を E5 に対して許可 | |||
EMVCPMK + DERIVE | B,C | X | |||||
DKYL0 +DALL | EMVDNMK + ANY | A | N | T | DKYGENKY:DKYL0+DALL を E5 に対して許可 | ||
EMVDNMK + DERIVE | B,C | X | |||||
注: EMV チップ・カード・マスター鍵は、暗号操作を実行するためにチップ・カードによって使用されます。
場合によっては、EMV チップ・カード・マスター鍵は、操作の実行に使用される鍵を導出するためにチップ・カードによって使用されます。
CCA では、EMV チップ・カード・マスター鍵は以下のいずれかの鍵です。
|
必須ハードウェア
下表に、各サーバー・タイプに必要な暗号化ハードウェアを示し、この呼び出し可能サービスの制約事項について説明します。
サーバー | 必須暗号化ハードウェア | 制約事項 |
---|---|---|
IBM eServer zSeries 990 |
このサービスはサポートされていません。 | |
IBM System z9 EC |
このサービスはサポートされていません。 | |
IBM System z10 EC |
このサービスはサポートされていません。 | |
IBM zEnterprise 196 |
Crypto Express3 コプロセッサー | TR-31 鍵サポートには 2011 年 9 月以降の LIC が必要です。 |
IBM zEnterprise EC12 |
Crypto Express3 コプロセッサー Crypto Express4 CCA コプロセッサー |
|
IBM z13 |
Crypto Express5 CCA コプロセッサー |