変形鍵の生成 2 呼び出し可能サービス (CSNBDKG2 および CSNEDKG2)
変形鍵の生成 2 呼び出し可能サービスでは、鍵生成鍵の機能、処理規則、および指定されたデータに基づいて AES 鍵が生成されます。
- 変形プロセスを選択するための規則配列キーワード。
- 変形鍵の生成元となる操作可能 AES 鍵生成鍵。
- 鍵用途フィールド 1 は、生成される鍵のタイプを決定し、その鍵の用途を鍵変形処理に制限します。
- 鍵用途フィールド 2 には、生成対象鍵の鍵用途フィールドが鍵用途フィールド 3 から鍵用途フィールド 6 までで
どのように制御されるのかを決定するフラグが含まれます。
- このフラグがオンの場合、DKYGENKY の鍵用途フィールドは、生成対象鍵の鍵用途フィールドと 同じでなければなりません (KUF-MBE、すなわち「KUF は等しくなければならない」)。
- このフラグがオフの場合、DKYGENKY の鍵用途フィールドによって、生成対象鍵の鍵用途フィールドの値が 制限されます (KUF-MBP、すなわち「KUF は許可が必要」)。
- 鍵生成鍵の鍵用途フィールド 3 から鍵用途フィールド 6 までは、生成される鍵の鍵用途属性を示します。
注: この規則の唯一の例外は、変形される鍵のタイプが D-ALL の場合です。
- 変形プロセスで使用されるデータおよびデータ長。
- 変形鍵を受け取るための適切な鍵用途フィールドを持つ AES 鍵トークン。
AMODE(64) 呼び出しの呼び出し可能サービス名は CSNEDKG2 です。
形式
CALL CSNBDKG2(
return_code,
reason_code,
exit_data_length,
exit_data,
rule_array_count,
rule_array,
generating_key_identifier_length,
generating_key_identifier,
derivation_data_length,
derivation_data,
reserved1_length,
reserved1,
reserved2_length,
reserved2,
generated_key_identifier1_length,
generated_key_identifier1,
generated_key_identifier2_length,
generated_key_identifier2)
パラメーター
- return_code
-
方向 タイプ 出力 整数 戻りコードは、呼び出し可能サービスの一般的な結果を示しています。 ICSF および暗号化コプロセッサーの戻りコードおよび理由コードに、戻りコードがリストされています。
- reason_code
-
方向 タイプ 出力 整数 理由コードは、アプリケーション・プログラムに返される、呼び出し可能サービスの結果を示しています。 戻りコードにはそれぞれ、特定の処理問題を示すさまざまな理由コードが割り当てられています。 ICSF および暗号化コプロセッサーの戻りコードおよび理由コード に、理由コードがリストされています。
- exit_data_length
-
方向 タイプ 入出力 整数 インストール・システム出口に渡されるデータの長さ。 データは exit_data パラメーターで識別されます。
- exit_data
-
方向 タイプ 入出力 ストリング このデータはインストール出口に渡されます。
- rule_array_count
-
方向 タイプ 入力 整数 rule_array パラメーターで指定するキーワードの数。 値は 1 でなければなりません。
- rule_array
-
方向 タイプ 入力 ストリング 制御情報を呼び出し可能サービスに提供するキーワード。 キーワードは、連続するストレージ内になければならず、各キーワードはその 8 バイト位置で左寄せされ、右側にブランクが埋め込まれている必要があります。
表 1. 変形鍵の生成 2 の規則配列キーワード キーワード 意味 変形処理 (必須) SESS-ENC k ビット AES 鍵生成鍵で 16 バイト変形値を 暗号化して、ECB モードで AES アルゴリズムにより k ビット AES セッション鍵を生成することにより、 セッション鍵が作成されます (k は 128、192、または 256 ビットです)。 - generating_key_identifier_length
-
方向 タイプ 入力 整数 generating_key_identifier パラメーターの長さ (バイト) を指定します。 generating_key_identifier にラベルが含まれる場合、この値は 64 でなければなりません。 それ以外の場合、この値は、トークンの実際の長さと 725 の間でなければなりません。
- generating_key_identifier
-
方向 タイプ 入出力 ストリング 鍵生成鍵の ID。 この鍵 ID は、操作可能トークンであるか、または鍵ストレージ内の操作可能トークンの鍵ラベルです。この鍵の鍵アルゴリズムは AES でなければなりません。 また、鍵タイプは DKYGENKY でなければなりません。 鍵用途フィールドは、生成対象鍵の鍵タイプを示します。
SESS-ENC を指定すると、生成対象鍵の非暗号化の長さは、生成鍵の非暗号化の長さに等しくなります。 SESS-ENC を指定する場合は、鍵用途フィールド 2 において鍵導出シーケンス・レベルを DKYL0 に設定する必要があります。
指定されたトークンが旧マスター鍵で暗号化されていた場合、このトークンは現行マスター鍵で暗号化されて返されます。
- derivation_data_length
-
方向 タイプ 入力 整数 derivation_data パラメーターの長さ (バイト) を指定します。 SESS-ENC を指定する場合、値は 16 でなければなりません。
- derivation_data
-
方向 タイプ 入力 ストリング 鍵生成処理で使用される導出データ。 多くの場合、このデータは変形データと呼ばれます。 SESS-ENC の場合、導出データの長さは 16 バイトです。 SESS-ENC を指定する場合に、鍵生成鍵の長さが 192 ビットまたは 256 ビットであると、 データは EMV 共通セッション鍵導出オプションと適合するように扱われることに注意してください。
- reserved1_length
-
方向 タイプ 入力 整数 reserved1 パラメーターの長さ (バイト)。 値は 0 でなければなりません。
- reserved1
-
方向 タイプ 入力 ストリング このフィールドは無視されます。
- reserved2_length
-
方向 タイプ 入力 整数 reserved2 パラメーターの長さ (バイト)。 値は 0 でなければなりません。
- reserved2
-
方向 タイプ 入力 ストリング このフィールドは無視されます。
- generated_key_identifier1_length
-
方向 タイプ 入出力 整数 入力では、generated_key_identifier1 パラメーターの バッファーの長さ (バイト) です。 最大値は 725 バイトです。
出力では、このパラメーターは generated_key_identifier1 パラメーターの実際の長さを保持します。
- generated_key_identifier1
-
方向 タイプ 入出力 ストリング 生成対象鍵トークンのバッファー。
入力では、このバッファーには、生成される鍵用途フィールドおよび鍵管理フィールドを含む有効な内部スケルトン・トークンが含まれます。 この鍵トークンはバッファー内で左寄せする必要があります。
生成対象鍵の鍵用途フィールドは、生成鍵で D-ALL が指定されていない限り、 生成鍵において対応する鍵用途フィールドの要件 (KUF は「等しくなければならない」または「許可が必要」) を満たさなければなりません。 D-ALL の場合は、複数の異なる鍵を導出できます。 DKYGENKY 鍵用途フィールド 2 でのフラグ・ビットによって、鍵用途フィールド・レベルの制御が KUF-MBE なのか KUF-MBP なのかが決まります。
出力の場合、このバッファーには生成対象鍵トークンが含まれます。
- generated_key_identifier2_length
-
方向 タイプ 入出力 整数 generated_key_identifier2 パラメーターの長さ (バイト)。 値は 0 でなければなりません。
- generated_key_identifier2
-
方向 タイプ 入出力 ストリング このフィールドは無視されます。
使用上の注意
呼び出し側がこの呼び出し可能サービス、鍵ラベル、または CKDS に保管された内部セキュア鍵トークンの使用を許可されているかを検査するために、SAF が呼び出される場合があります。
アクセス制御点
このサービスの機能を制御するドメイン役割におけるアクセス制御点は「Diversified Key Generate2 - AES EMV1 SESS」です。
鍵生成鍵の鍵用途フィールドで、すべての鍵タイプを導出できることが示されている場合は、 ドメイン役割で「Diversified Key Generate2 - DALL」アクセス制御点を有効にする必要があります。
必須ハードウェア
下表に、各サーバー・タイプに必要な暗号化ハードウェアを示し、この呼び出し可能サービスの制約事項について説明します。
サーバー | 必須暗号化ハードウェア | 制約事項 |
---|---|---|
IBM eServer zSeries |
このサービスはサポートされていません。 | |
IBM System z9 EC |
このサービスはサポートされていません。 | |
IBM System z10 EC |
このサービスはサポートされていません。 | |
IBM zEnterprise 196 |
Crypto Express3 コプロセッサー | これには、2013 年 11 月以降のライセンス内部コード (LIC) が必要です。 |
IBM zEnterprise EC12 |
Crypto Express3 コプロセッサー Crypto Express4 CCA コプロセッサー |
これには、2013 年 9 月以降のライセンス内部コード (LIC) が必要です。 |
IBM z13 |
Crypto Express5 CCA コプロセッサー |