パラメーター

return_code
方向 タイプ
出力 整数

戻りコードは、呼び出し可能サービスの一般的な結果を示しています。 ICSF および暗号化コプロセッサーの戻りコードおよび理由コードに、戻りコードがリストされています。

reason_code
方向 タイプ
出力 整数

理由コードは、アプリケーション・プログラムに返される、呼び出し可能サービスの結果を示しています。 戻りコードにはそれぞれ、特定の処理問題を示すさまざまな理由コードがあります。 ICSF および暗号化コプロセッサーの戻りコードおよび理由コード に、理由コードがリストされています。

exit_data_length
方向 タイプ
無視される 整数

このフィールドは無視されます。 このパラメーターには 0 を指定することをお勧めします。

exit_data
方向 タイプ
無視される ストリング

このフィールドは無視されます。

rule_array_count
方向 タイプ
入力 整数
rule_array パラメーターで指定するキーワードの数。 この値は 1 または 2 でなければなりません。
rule_array
方向 タイプ
入力 ストリング
制御情報を呼び出し可能サービスに提供するキーワード。 キーワードはそれぞれ、8 バイト・フィールドで左寄せされ、右側にブランクが埋め込まれます。 キーワードはすべて、連続するストレージ内になければなりません。
表 1. 鍵導出のキーワード
キーワード 意味
メカニズム (必須)
PKCS-DH PKCS #11 標準でメカニズム CKM_DH_PKCS_DERIVE として定義された Diffie-Hellman PKCS 導出プロトコルを使用します。
SSL-MS PKCS #11 標準でメカニズム CKM_SSL3_MASTER_KEY_DERIVE として定義された SSL 3.0 マスター秘密鍵導出プロトコルを使用します。SSL プロトコルのバージョンも返されます。 基本鍵は SSL 3.0 用の規則に従って生成されていなければなりません。
SSL-MSDH PKCS #11 標準でメカニズム CKM_SSL3_MASTER_KEY_DERIVE_DH として定義された SSL 3.0 Diffie-Hellman 用マスター秘密鍵導出プロトコルを使用します。
TLS-MS PKCS #11 標準でメカニズム CKM_TLS_MASTER_KEY_DERIVE として定義された TLS マスター秘密鍵導出プロトコルを使用します。基本鍵は TLS 1.0 または TLS 1.1 用の規則に従って生成されていなければなりません。
TLS-MSDH PKCS #11 標準でメカニズム CKM_TLS_MASTER_KEY_DERIVE_DH として定義された TLS Diffie-Hellman 用マスター秘密鍵導出プロトコルを使用します。
EC-DH PKCS #11 標準でメカニズム CKM_ECDH1_DERIVE として定義された楕円曲線 Diffie-Hellman 導出プロトコルを使用します。
IKESEED IKEv1 または IKEv2 初期シード・プロトコルを使用して、以前導出された秘密鍵を基本鍵として使用するシード鍵を導出します。

IKE 用語を使用して、このメカニズムは IKEv1 について SKEYID = prf(Ni_b | Nr_b, g^xy) または IKEv2 について SKEYSEED = prf(Ni | Nr, g^ir) のいずれかを実行します。

ここで、
  • Ni_b | Nr_b または Ni | Nr - 連結されたイニシエーター/レスポンダー nonce ストリング
  • g^xy または g^ir - 基本鍵
IKESHARE IKEv1 初期シード・プロトコルを使用して、事前に共用された秘密鍵を基本鍵として使用するシード鍵を導出します。

IKE 用語を使用して、このメカニズムは SKEYID = prf(pre-shared-key, Ni_b | Nr_b) を実行します。

ここで、
  • Ni_b | Nr_b - 連結されたイニシエーター/レスポンダー nonce ストリング
  • pre-shared-key - 基本鍵
IKEREKEY IKEv2 鍵の再生成プロトコルを使用して、以前導出された IKE 導出鍵を基本鍵として使用し、以前導出された秘密鍵を追加鍵として使用する、新しいシード新規鍵を導出します。

IKE 用語を使用して、このメカニズムは SKEYSEED = prf(SK_d, g^ir | Ni | Nr) を実行します。

ここで、
  • Ni | Nr - 連結されたイニシエーター/レスポンダー nonce ストリング
  • SK_d - 基本鍵
  • g^ir - 追加鍵
鍵の宛先 (オプション)
OMNITOKN 遍在トークン (ラベル SYSTOK-SESSION-ONLY) 内に導出セッション鍵を保管します。デフォルト・アクションは、1 つまたは複数の基本鍵と同じトークン内に鍵を保管することです。
attribute_list_length
方向 タイプ
入力 整数
attribute_list パラメーターに指定された属性の長さ (バイト)。このフィールドの最小値は 2 でこのフィールドの最大値は 32752 です。
attribute_list
方向 タイプ
入力 ストリング
導出された秘密鍵オブジェクトについての属性のリスト。 attribute_list のフォーマットについては 属性リストを参照してください。
base_key_handle
方向 タイプ
入力 ストリング
ソース鍵オブジェクトの 44 バイトのハンドル。base_key_handle のフォーマットについては ハンドルを参照してください。
parms_list_length
方向 タイプ
入力 整数
parms_list パラメーターに指定されたパラメーターの長さ (バイト)。
parms_list
方向 タイプ
入出力 ストリング
プロトコル固有のパラメーター。このフィールドのフォーマットは指定されるメカニズムによって変化します。
表 2. PKCS-DH メカニズムについての parms_list パラメーター・フォーマット
オフセット 長さ (バイト) 方向 説明
0 4 入力 相手の公開値のバイト単位の長さ (1 <= 長さ <= 256)
4 <=256 入力 相手の公開値を表すバイナリー値。
表 3. SSL-MS、SSL-MSDH、TLS-MS、および TLS-MSDH メカニズムについての parms_list パラメーター・フォーマット
オフセット 長さ (バイト) 方向 説明
0 2 出力 SSL-MS および TLS-MS のみに対して返される SSL プロトコル・バージョン。他のプロトコルの場合、このフィールドは未変更のままです。
2 2 適用外 予約済み
4 4 入力 クライアントのランダム・データ (x) のバイト単位の長さ (1 <= 長さ <= 32)
8 4 入力 サーバーのランダム・データ (y) ) のバイト単位の長さ (1 <= 長さ <= 32)
12 x 入力 クライアントのランダム・データ
12+x y 入力 サーバーのランダム・データ
表 4. EC-DH メカニズムについての parms_list パラメーター・フォーマット
オフセット 長さ (バイト) 方向 説明
0 1 入力 KDF 機能コード、x’01’ = NULL、 x’02’ = SHA1。 x’05’ = SHA224、x’06’ = SHA256、x’07’ = SHA384、および x’08’ = SHA512
1 3 適用外 予約済み
4 4 入力 両者の間で共用されるオプションのデータのバイト単位の長さ。 長さゼロは共用データなしを意味します。 NULL KDF の場合、長さはゼロでなければなりません。それ以外の場合、最大の共用データの長さは 2147483647 です。
8 8 入力 両者の間で共用されるデータの 64 ビット・アドレス。データは呼び出し側のアドレス・スペースに存在しなければなりません。高位ワードは AMODE31 呼び出し側によってすべてゼロに設定される必要があります。 このフィールドは、長さがゼロの場合に無視されます。
16 4 入力 相手の公開値 (x) のバイト単位の長さ。この長さは基本鍵の曲線のタイプ/サイズと、値が DER エンコードされているかどうかに依存します。

secp192r1 - 49 (DER ありの場合 51)
secp224r1 - 57 (DER ありの場合 59)
secp256r1 - 65 (DER ありの場合 67)
secp384r1 - 97 (DER ありの場合 99)
secp521r1 - 133 (DER ありの場合 136)

brainpoolP160r1 - 41 (DER ありの場合 43)
brainpoolP192r1 - 49 (DER ありの場合 51)
brainpoolP224r1 - 57 (DER ありの場合 59)
brainpoolP256r1 - 65 (DER ありの場合 67)
brainpoolP320r1 - 81 (DER ありの場合 83)
brainpoolP384r1 - 97 (DER ありの場合 99)
brainpoolP512r1 - 129 (DER ありの場合 132)

20 x<=136 入力 DER エンコードがある場合またはない場合の相手の公開値を表すバイナリー値。
表 5. IKESEED、IKESHARE、および IKEREKEY の各メカニズムについての parms_list パラメーター・フォーマット
オフセット 長さ (バイト) 方向 説明
0 1 入力 IKE バージョン・コード。IKESHARE の場合は x’01’、IKEREKEY の場合は x’02’、IKESEED の場合は x’01’または x’02’でなければなりません。
1 1 入力 PRF 機能コード x'01' = HMAC_MD5、x’02’ = HMAC_SHA1、x’04’ = HMAC_SHA256、x’05’ = SHA384、および x’06’ = SHA512
2 2 入力 連結されたイニシエーター/レスポンダー nonce ストリング長 (n) (16 <= n <= 512)
4 44 入力 追加鍵の鍵ハンドル - IKEREKEY について必要です。他のメカニズムの場合は無視されます。
48 n 入力 連結されたイニシエーター/レスポンダー nonce ストリング
target_key_handle
方向 タイプ
出力 ストリング
正常終了時に導出された秘密鍵オブジェクトの 44 バイトのハンドル。