鍵テスト 2 (CSNBKYT2 および CSNEKYT2)

この呼び出し可能サービスは、AES 鍵、DES 鍵、および HMAC 鍵の セキュアな暗号検証パターンを生成したり検証したりする場合に使用します。 テスト対象の鍵は、非暗号化状態でも、マスター鍵で暗号化されていても、鍵暗号鍵で暗号化されていてもかまいません。 この呼び出し可能サービスが検証パターンを生成するのか検証するのかは、rule_array 内のキーワードで指定します。

AES の場合、鍵トークンは、内部の固定長 (バージョン 04) トークンであるか、または外部および内部の可変長 (バージョン 05) トークンです。

DES の場合、鍵トークンは、外部および内部の固定長 (バージョン 00 または 01) トークンであるか、外部 TR-31 鍵ブロックであるか、 または DESUSECV 鍵を持つ外部可変長トークンです。

HMAC の場合、鍵トークンは、外部および内部の可変長 (バージョン 05) 鍵トークンです。

AMODE(64) 呼び出しの呼び出し可能サービス名は CSNEKYT2 です。

形式

CALL CSNBKYT2(
             return_code,
             reason_code,
             exit_data_length,
             exit_data,
             rule_array_count,
             rule_array,
             key_identifier_length,
             key_identifier,
             key_encrypting_key_identifier_length,
             key_encrypting_key_identifier,
             reserved_length,
             reserved,
             verification_pattern_length,
             verification_pattern)

パラメーター

return_code
方向 タイプ
出力 整数

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

reason_code
方向 タイプ
出力 整数

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

exit_data_length
方向 タイプ
入出力 整数

インストール・システム出口に渡されるデータの長さ。 データは exit_data パラメーターで識別されます。

exit_data
方向 タイプ
入出力 ストリング

このデータはインストール出口に渡されます。

rule_array_count
方向 タイプ
入力 整数

rule_array パラメーターで指定するキーワードの数。 値は 2、3、4、または 5 でなければなりません。

rule_array
方向 タイプ
入力 ストリング

rule_array には、制御情報をこの呼び出し可能サービスに提供するキーワードが含まれます。 キーワードは、連続するストレージ内になければならず、各キーワードはその 8 バイト位置で左寄せされ、右側にブランクが埋め込まれている必要があります。

表 1. 鍵テスト 2 制御情報のキーワード
キーワード 意味
トークン・アルゴリズム (必須)
AES これは、鍵トークンが AES 鍵トークンであることを指定します。
DES これは、鍵トークンが DES トークンであることを指定します。 CCA 内部トークン・タイプ、CCA 外部トークン・タイプ、および TR-31 トークン・タイプがサポートされます。 この規則に対して非暗号化鍵はサポートされません。
HMAC これは、鍵トークンが HMAC 鍵トークンであることを指定します。
処理規則 (いずれかが必須)
GENERATE これは、指定の鍵に対して検証パターンを生成します。
VERIFY これは、検証パターンが指定の鍵に適合することを検証します。
検証パターン計算アルゴリズム (オプション)
ENC-ZERO 0x00 バイトで埋められたデータ・ブロックを暗号化することによって AES 鍵と DES 鍵の検証パターンが計算されます。

これはデフォルトであり、DES に使用できる唯一の方式です。 AES に関しては、この方式は、アクセス制御点「Key Test2 - AES, ENC-ZERO」が有効になっている場合にのみ使用できます。

SHA-256 鍵テスト・サービスで SHA-256 規則を使用した場合と同じ方式で AES トークンの検証パターンが計算されます。

この規則を使用すれば、バージョン 4 の DATA トークンおよびバージョン 5 の AES CIPHER トークンに同じ鍵の値が存在することを検証したり、 バージョン 5 の AES の補完鍵ペアに同じ鍵の値が存在することを検証したりできます。

SHA2VP1 これは、SHA-256 ベースの検証パターン計算アルゴリズムを使用することを指定します。 詳しくは、SHAVP1 アルゴリズムを参照してください。 これはデフォルトであり、HMAC に使用できる唯一の方式です。
トークン・タイプ規則 (DES トークン・アルゴリズムが指定されて TR-31 トークンまたは DESUSECV トークンが渡される場合はいずれかが必須であり、それ以外の場合は無効)
TR-31 これは、key_identifier に TR-31 鍵ブロックが含まれることを指定します。
AESKWCV これは、タイプ DESUSECV を持つ外部可変長対称鍵トークンが key_identifier に含まれることを指定します。 KEK ID 規則に対して IKEK-AES キーワードを指定する必要があります。
KEK ID 規則 (AESKWCV トークン・タイプが指定されている場合はいずれかが必須)
IKEK-AES テスト対象の鍵に対するラップ KEK は AES KEK です。 これは、トークン・アルゴリズム AES および HMAC のデフォルトです。
IKEK-DES テスト対象の鍵に対するラップ KEK は DES KEK です。 これは DES トークン・アルゴリズムのデフォルトであり、DES トークン・アルゴリズムでのみ使用できます。
IKEK-PKA テスト対象の鍵に対するラップ KEK は RSA (または PKA 鍵ストレージに保管されている他の鍵) です。 これは、いずれのトークン・アルゴリズムに対してもデフォルトではありません。 これは、RSA KEK が使用される場合に指定する必要があります。 この規則は、DES トークン・アルゴリズムでは使用できません。
key_identifier_length
方向 タイプ
入力 整数

key_identifier の長さ (バイト)。 最大値は 9992 です。

key_identifier
方向 タイプ
入出力 ストリング

検証パターンを生成または検証するときの対象となる鍵。 これは CKDS における内部/外部トークンであるか、または鍵の 64 バイト・ラベルです。 このトークンは、DES 内部/外部トークンでも、AES 内部バージョン ‘04’X トークンでも、 内部/外部可変長対称トークンでも、TR-31 鍵ブロックでもかまいません。

非暗号化 DES トークンはサポートされません。

内部トークンが指定されて古いマスター鍵で暗号化された場合、トークンは現行マスター鍵で暗号化されて返されます。

key_encrypting_key_identifier_length
方向 タイプ
入力 整数

key_encrypting_key_identifier パラメーターの長さ。 key_identifier が内部トークンの場合、値はゼロでなければなりません。

key_encrypting_key_identifier が CKDS (IKEK-AES 規則または IKEK-DES 規則) または PKDS (IKEK-PKA 規則) の ラベルである場合、値は 64 でなければなりません。 key_encrypting_key_identifier が AES KEK の場合、 値は実際のトークンの長さから 725 までの間でなければなりません。 key_encrypting_key_identifier が DES KEK の場合、値は 64 でなければなりません。 key_encrypting_key_identifier が RSA KEK の場合、最大長は 3500 です。

key_encrypting_key_identifier
方向 タイプ
入出力 ストリング

key_encrypting_key_identifier_length が ゼロ以外の場合、key_encrypting_key_identifier には、鍵暗号鍵を含む内部鍵トークン、または鍵ラベルが含まれます。

指定された鍵 ID が古いマスター鍵で暗号化された AES トークンまたは DES トークンだった場合、 トークンは現行マスター鍵で暗号化されて返されます。

reserved_length
方向 タイプ
入力 整数

予約済みパラメーターの長さ。 値はゼロでなければなりません。

reserved
方向 タイプ
入出力 ストリング

このパラメーターは無視されます。

verification_pattern_length
方向 タイプ
入出力 整数

verification_pattern パラメーターの長さ。

入力の場合: GENERATE に関しては、長さは 8 バイト以上でなければならず、VERIFY に関しては、長さは 8 バイトでなければなりません。

出力の場合: GENERATE に関しては、検証パターンの長さが返されます。

verification_pattern
方向 タイプ
入出力 ストリング

GENERATE に関しては、鍵に対して生成された検証パターンです。

VERIFY に関しては、検証対象として指定された検証パターンです。

使用上の注意

呼び出し側がこの呼び出し可能サービス、鍵ラベル、または CKDS に保管された内部セキュア鍵トークンの使用を許可されているかを検査するために、SAF が呼び出される場合があります。

鍵を生成するときは、鍵の検証パターンを生成できます。 鍵とともにパターンを配布すれば、そのパターンを受信側ノードで検証できます。 ユーザーは、このようにして、送信側と受信側で同じ鍵が使用されていることを確認できます。 鍵形式 (非暗号化、操作可能、および外部) を任意に組み合わせて鍵を生成したり検証したりできます。

アクセス制御点

このサービスの機能を制御するドメイン役割におけるアクセス制御点は「Key Test and Key Test 2」です。 このアクセス制御点は無効にはできません。 これは ICSF マスター鍵検証に必要です。

AES 鍵に対して ENC-ZERO キーワードを使用するには、「Key Test2 - AES, ENC-ZERO」アクセス制御点を有効にする必要があります。

必須ハードウェア

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

表 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 コプロセッサー

DK AES PIN のサポートには 2013 年 11 月以降のライセンス内部コード (LIC) が必要です。

DES/AES 鍵サポートには 2011 年 9 月以降のライセンス内部コード (LIC) が必要です。

HMAC 鍵サポートには 2010 年 11 月以降のライセンス内部コード (LIC) が必要です。

AESKWCV キーワードはサポートされていません。

IBM zEnterprise EC12
IBM zEnterprise BC12

Crypto Express3 コプロセッサー

Crypto Express4 CCA コプロセッサー

DK AES PIN のサポートには 2013 年 9 月以降のライセンス内部コード (LIC) が必要です。

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

IBM z13 Crypto Express5 CCA コプロセッサー