変形鍵の生成 2 呼び出し可能サービス (CSNBDKG2 および CSNEDKG2)

変形鍵の生成 2 呼び出し可能サービスでは、鍵生成鍵の機能、処理規則、および指定されたデータに基づいて AES 鍵が生成されます。

このサービスを使用するには、以下の項目を指定します。
  • 変形プロセスを選択するための規則配列キーワード。
  • 変形鍵の生成元となる操作可能 AES 鍵生成鍵。
    • 鍵用途フィールド 1 は、生成される鍵のタイプを決定し、その鍵の用途を鍵変形処理に制限します。
    • 鍵用途フィールド 2 には、生成対象鍵の鍵用途フィールドが鍵用途フィールド 3 から鍵用途フィールド 6 までで どのように制御されるのかを決定するフラグが含まれます。
      • このフラグがオンの場合、DKYGENKY の鍵用途フィールドは、生成対象鍵の鍵用途フィールドと 同じでなければなりません (KUF-MBE、すなわち「KUF は等しくなければならない」)。
      • このフラグがオフの場合、DKYGENKY の鍵用途フィールドによって、生成対象鍵の鍵用途フィールドの値が 制限されます (KUF-MBP、すなわち「KUF は許可が必要」)。
      このサービスを有効にするには、DKYGENKY 鍵で有効にされていない用途が生成対象鍵に含まれていてはなりません。 UDX-ONLY ビットは常に「等しくなければならない」として扱われます。
    • 鍵生成鍵の鍵用途フィールド 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」アクセス制御点を有効にする必要があります。

必須ハードウェア

下表に、各サーバー・タイプに必要な暗号化ハードウェアを示し、この呼び出し可能サービスの制約事項について説明します。

表 2. 変形鍵生成 2 必須ハードウェア
サーバー 必須暗号化ハードウェア 制約事項

IBM eServer zSeries
990
IBM eServer zSeries
890

  このサービスはサポートされていません。

IBM System z9 EC
IBM System z9 BC

  このサービスはサポートされていません。

IBM System z10 EC
IBM System z10 BC

  このサービスはサポートされていません。

IBM zEnterprise 196
IBM zEnterprise 114

Crypto Express3 コプロセッサー これには、2013 年 11 月以降のライセンス内部コード (LIC) が必要です。

IBM zEnterprise EC12
IBM zEnterprise BC12

Crypto Express3 コプロセッサー

Crypto Express4 CCA コプロセッサー

これには、2013 年 9 月以降のライセンス内部コード (LIC) が必要です。

IBM z13

Crypto Express5 CCA コプロセッサー