鍵テスト拡張 (CSNBKYTX および CSNEKTX)
鍵テスト拡張呼び出し可能サービスは、DES 鍵のセキュアな暗号検証パターンを生成したり検証したりする場合に使用します。 テスト対象の鍵は、非暗号化状態でも、マスター鍵で暗号化されていてもかまいません。 この呼び出し可能サービスは、鍵暗号鍵 (KEK) で暗号化された鍵もサポートします。 AES 鍵は、このサービスではサポートされません。 この呼び出し可能サービスが検証パターンを生成するのか検証するのかは、規則配列内のキーワードで指定します。
このアルゴリズムは、暗号化された単一長/倍長の鍵に対してサポートされます。 単一長、倍長、および 3 倍長の鍵は、ENC-ZERO アルゴリズムでもサポートされます。
このサービスで検証パターンが生成するときに、乱数が作成されて暗号的に処理されます。 このサービスからは、乱数と検証パターンが返されます。
このサービスで検証パターンが鍵に対してテストされるときは、以前に鍵テスト拡張を呼び出したときに返された乱数と検証パターンを 指定する必要があります。 このサービスでは、検証の結果が戻りコードと理由コードで返されます。
AMODE(64) 呼び出しの呼び出し可能サービス名は CSNEKTX です。
形式
CALL CSNBKYTX(
return_code,
reason_code,
exit_data_length,
exit_data,
rule_array_count,
rule_array,
key_identifier,
random_number,
verification_pattern,
KEK_key_identifier)
パラメーター
- return_code
-
方向 タイプ 出力 整数 戻りコードは、呼び出し可能サービスの一般的な結果を示しています。 ICSF および暗号化コプロセッサーの戻りコードおよび理由コードに、戻りコードがリストされています。
- reason_code
-
方向 タイプ 出力 整数 理由コードは、アプリケーション・プログラムに返される、呼び出し可能サービスの結果を示しています。 戻りコードにはそれぞれ、特定の処理問題を示すさまざまな理由コードが割り当てられています。 ICSF および暗号化コプロセッサーの戻りコードおよび理由コード に、理由コードがリストされています。
- exit_data_length
-
方向 タイプ 入出力 整数 インストール・システム出口に渡されるデータの長さ。 データは exit_data パラメーターで識別されます。
- exit_data
-
方向 タイプ 入出力 ストリング このデータはインストール出口に渡されます。
- rule_array_count
-
方向 タイプ 入力 整数 rule_array パラメーターで指定するキーワードの数。 値は 2、3、または 4 にすることができます。
- rule_array
-
方向 タイプ 入力 ストリング この呼び出し可能サービスに制御情報を渡す 2 つまたは 3 つのキーワード。 表 1 に、キーワードがリストされています。これらのキーワードは 16 バイトまたは 24 バイトの 連続記憶域に入っていなければなりません。 また、各キーワードは独自の 8 バイト・ロケーションにおいて左寄せにして、右側にブランクを埋め込む必要があります。
表 1. 鍵テスト拡張制御情報のキーワード キーワード 意味 鍵規則 (必須) KEY-ENC これは、key_identifier で指定された鍵が単一長の DES 暗号鍵であることを指定します。 KEY-ENCD これは、key_identifier で指定された鍵が倍長の DES 暗号鍵であることを指定します。 処理規則 (必須) GENERATE これは、key_identifier で指定された鍵の検証パターンを生成します。 VERIFY これは、key_identifier で指定された鍵の検証パターンを検証します。 パリティー調整 (オプション) ADJUST これは、検証パターンを生成または検証する前にテスト鍵のパリティーを奇数に調整します。 key_identifier フィールド自体は調整されません。 NOADJUST これは、検証パターンを生成または検証する前にテスト鍵のパリティーを奇数に調整しません。 これがデフォルトです。 検証処理規則 (オプション) ENC-ZERO これは、「暗号化ゼロ」方式の使用を指定します。 - key_identifier
-
方向 タイプ 入出力 ストリング 検証パターンを生成または検証するときの対象となる鍵。 このパラメーターは、内部トークンまたは鍵ラベルを左寄せにした 64 バイト・ストリングです。
注: このパラメーターに対して鍵ラベルを指定する場合、鍵ラベルは CKDS 上で固有でなければなりません。 - random_number
-
方向 タイプ 入出力 ストリング これは、テスト・パターン検証処理に対して入力として 指定されてテスト・パターン生成処理で出力として返される乱数を含む 8 バイト・フィールドです。
- verification_pattern
-
方向 タイプ 入出力 ストリング これは、テスト・パターン検証処理に対して入力として 指定されてテスト・パターン生成処理で出力として返される検証パターンを含む 8 バイト・フィールドです。
- KEK_key_identifier
-
方向 タイプ 入出力 ストリング key_identifier が外部トークンの場合、 これは内部トークンの 64 バイト・ストリングであるか、またはテスト鍵の暗号化に使用される IMPORTER または EXPORTER の 鍵ラベルの 64 バイト・ストリングです。key_identifier が内部トークンの場合、このパラメーターは無視されます。
注: このパラメーターに対して鍵ラベルを指定する場合、鍵ラベルは CKDS 上で固有でなければなりません。
制約事項
この呼び出し可能サービスは、バージョン X'10' 外部 DES 鍵トークン (RKX 鍵トークン) をサポートしていません。
使用上の注意
呼び出し側がこの呼び出し可能サービス、鍵ラベル、または CKDS か PKDS に保管された内部セキュア鍵トークンの使用を許可されているかを検査するために、SAF が呼び出される場合があります。
鍵を生成するときは、鍵の検証パターンを生成できます。 鍵とともにパターンを配布すれば、そのパターンを受信側ノードで検証できます。 ユーザーは、このようにして、送信側と受信側で同じ鍵が使用されていることを確認できます。 鍵形式 (すなわち、非暗号化、操作可能、および外部) を任意に組み合わせて鍵を生成したり検証したりできます。
DES 鍵のパリティーはテストされません。
ENC-ZERO 検証規則を使用する場合は、暗号化された単一長/倍長の DES 鍵がサポートされます。
アクセス制御点
このサービスの機能を制御するドメイン役割におけるアクセス制御点は「Key Test and Key Test 2」です。 このアクセス制御点は無効にはできません。 これは ICSF マスター鍵検証に必要です。
必須ハードウェア
下表に、各サーバー・タイプに必要な暗号化ハードウェアを示し、この呼び出し可能サービスの制約事項について説明します。
サーバー | 必須暗号化ハードウェア | 制約事項 |
---|---|---|
IBM eServer zSeries 990 |
PCI X 暗号化コプロセッサー Crypto Express2 コプロセッサー |
3 倍長の非暗号化鍵はサポートされません。 3 倍長の暗号化鍵は ENC-ZERO キーワードでのみサポートされます。 |
IBM System z9 EC |
Crypto Express2 コプロセッサー | 3 倍長の非暗号化鍵はサポートされません。 3 倍長の暗号化鍵は ENC-ZERO キーワードでのみサポートされます。 |
IBM System z10 EC |
Crypto Express2 コプロセッサー Crypto Express3 コプロセッサー |
3 倍長の非暗号化鍵はサポートされません。 3 倍長の暗号化鍵は ENC-ZERO キーワードでのみサポートされます。 |
IBM zEnterprise 196 |
Crypto Express3 コプロセッサー | 3 倍長の非暗号化鍵はサポートされません。 3 倍長の暗号化鍵は ENC-ZERO キーワードでのみサポートされます。 |
IBM zEnterprise EC12 |
Crypto Express3 コプロセッサー Crypto Express4 CCA コプロセッサー |
3 倍長の非暗号化鍵はサポートされません。 3 倍長の暗号化鍵は ENC-ZERO キーワードでのみサポートされます。 |
IBM z13 |
Crypto Express5 CCA コプロセッサー | 3 倍長の非暗号化鍵はサポートされません。 3 倍長の暗号化鍵は ENC-ZERO キーワードでのみサポートされます。 |