鍵テスト (CSNBKYT および CSNEKYT)
鍵テスト呼び出し可能サービスは、内部固定長鍵トークンにおける DES/AES 非暗号化鍵や DES/AES 暗号化鍵の セキュアな暗号検証パターンを生成したり検証したりする場合に使用します。 この呼び出し可能サービスが検証パターンを生成するのか検証するのかは、rule_array 内のキーワードで指定します。
DES 鍵では、DES アルゴリズム (単一長および倍長の鍵)で定義されているアルゴリズムがデフォルト・アルゴリズムとして 使用されます (3 倍長の DATA 鍵の場合を除く)。 このサービスでは、検証パターンの生成時に乱数が生成され、検証パターンが計算されます。 乱数と検証パターンは呼び出し側に返されます。 鍵の検証時には、検証パターンの検証に乱数と鍵が使用されます。
AES 鍵では、SHA-256 アルゴリズムがデフォルト・アルゴリズムとして使用されます。 指定された鍵に対して 8 バイトの検証パターンが生成されます。 乱数パラメーターは使用されません。
オプションの ENC-ZERO アルゴリズムは、すべての鍵で使用できます。 4 バイトの検証パターンが生成されます。 乱数パラメーターは使用されません。
CSNBKYT は、同じ名前の IBM 4765 PCIe 暗号化コプロセッサー verb と整合性があります。 IBM 4765 PCIe 暗号化コプロセッサー上で生成した鍵は、ICSF 上で検証できますし、その逆も可能です。
KEK を使用して暗号化された DES 鍵の値を検証するには、鍵テスト拡張 (CSNBKYTX および CSNEKTX)を参照してください。
AMODE(64) 呼び出しの呼び出し可能サービス名は CSNEKYT です。
形式
CALL CSNBKYT(
return_code,
reason_code,
exit_data_length,
exit_data,
rule_array_count,
rule_array,
key_identifier,
random_number,
verification_pattern)
パラメーター
- return_code
-
方向 タイプ 出力 整数 戻りコードは、呼び出し可能サービスの一般的な結果を示しています。 ICSF および暗号化コプロセッサーの戻りコードおよび理由コードに、戻りコードがリストされています。
- reason_code
-
方向 タイプ 出力 整数 理由コードは、アプリケーション・プログラムに返される、呼び出し可能サービスの結果を示しています。 戻りコードにはそれぞれ、特定の処理問題を示すさまざまな理由コードが割り当てられています。 ICSF および暗号化コプロセッサーの戻りコードおよび理由コード に、理由コードがリストされています。
- exit_data_length
-
方向 タイプ 入出力 整数 インストール・システム出口に渡されるデータの長さ。 データは exit_data パラメーターで識別されます。
- exit_data
-
方向 タイプ 入出力 ストリング このデータはインストール出口に渡されます。
- rule_array_count
-
方向 タイプ 入力 整数 rule_array パラメーターで指定するキーワードの数。 値は 2、3、または 4 にすることができます。
- rule_array
-
方向 タイプ 入力 ストリング キーワードは、呼び出し可能サービスに制御情報を渡すものです。 表 1 に、キーワードがリストされています。キーワードは、連続するストレージ内になければならず、各キーワードはその 8 バイト位置で左寄せされ、右側にブランクが埋め込まれている必要があります。
表 1. 鍵テスト制御情報のキーワード キーワード 意味 鍵または鍵パーツ規則 (いずれかのキーワードが必須) CLR-A128 これは、128 ビット AES 非暗号化鍵を処理します。 CLR-A192 これは、192 ビット AES 非暗号化鍵を処理します。 CLR-A256 これは、256 ビット AES 非暗号化鍵を処理します。 KEY-CLR これは、key_identifier で指定される DES 鍵が単一長の非暗号化鍵であることを指定します。 KEY-CLRD これは、key_identifier で指定される DES 鍵が倍長の非暗号化鍵であることを指定します。 KEY-ENC これは、key_identifier で 指定される DES 鍵が固定長鍵トークンにおける単一長の暗号化鍵であることを指定します。 KEY-ENCD これは、key_identifier で 指定される DES 鍵が固定長鍵トークンにおける倍長の暗号化鍵であることを指定します。 TOKEN これは、AES 非暗号化/暗号化鍵トークンを処理します。 処理規則 (いずれかのキーワードが必須) GENERATE これは、key_identifier で指定された鍵の検証パターンを生成します。 VERIFY これは、key_identifier で指定された鍵の検証パターンを検証します。 パリティー調整 - AES キーワードと一緒には指定できません (オプション) ADJUST これは、検証パターンを生成または検証する前にテスト鍵のパリティーを奇数に調整します。 key_identifier フィールド自体は調整されません。 NOADJUST これは、検証パターンを生成または検証する前にテスト鍵のパリティーを奇数に調整しません。 これがデフォルトです。 検証処理規則 (オプション) ENC-ZERO ENC-ZERO は、すべての規則で使用できます。 SHA-256 これは、「SHA-256」方式を使用します。 CLR-A128、CLR-A192、CLR-A256、および TOKEN と併用してください。 SHA-256 は AES 規則のデフォルトでもあります。 - key_identifier
-
方向 タイプ 入出力 ストリング 検証パターンを生成または検証するときの対象となる鍵。 このパラメーターは、内部トークン、鍵ラベル、または非暗号化鍵の値を左寄せにした 64 バイト・ストリングです。
注: このパラメーターに対して鍵ラベルを指定する場合、鍵ラベルは CKDS 上で固有でなければなりません。鍵トークンが指定されている場合に、鍵が、古いマスター鍵で暗号化されたものであると、 トークンは現行マスター鍵で暗号化されて返されます。
- random_number
-
方向 タイプ 入出力 ストリング これは、テスト・パターン検証処理に対して入力として 指定されてテスト・パターン生成処理で出力として返される乱数を含む 8 バイト・フィールドです。 random_number は、DES 操作可能鍵のデフォルト・アルゴリズムのみと併用されます。
- verification_pattern
-
方向 タイプ 入出力 ストリング これは、テスト・パターン検証処理に対して入力として 指定されてテスト・パターン生成処理で出力として返される検証パターンを含む 8 バイト・フィールドです。
制約事項
この呼び出し可能サービスは、バージョン X'10' 外部 DES 鍵トークン (RKX 鍵トークン) をサポートしていません。
使用上の注意
呼び出し側がこの呼び出し可能サービス、鍵ラベル、または CKDS か PKDS に保管された内部セキュア鍵トークンの使用を許可されているかを検査するために、SAF が呼び出される場合があります。
鍵を生成するときは、鍵の検証パターンを生成できます。 鍵とともにパターンを配布すれば、そのパターンを受信側ノードで検証できます。 ユーザーは、このようにして、送信側と受信側で同じ鍵が使用されていることを確認できます。 鍵形式 (すなわち、非暗号化、操作可能、および外部) を任意に組み合わせて鍵を生成したり検証したりできます。
DES 鍵のパリティーはテストされません。
ENC-ZERO 検証処理に対して、単一長、倍長、および 3 倍長の鍵を生成したり検証したりすることがサポートされます。 3 倍長の鍵の場合、KEY-ENC または KEY-ENCD を ENC-ZERO と併用します。 3 倍長の非暗号化鍵はサポートされません。
IBM 4765 PCIe/4764 PCI-X 暗号化コプロセッサーに関しては、KEY-ENC と KEY-ENCD のどちらも、 暗号化された単一長/倍長の鍵をサポートします。 これらは、CV のバイト 5 にある鍵形式ビットを使用して鍵の長さを判別します。 整合性を保つため、ICSF では、KEY-ENC と KEY-ENCD の両方で単一長の鍵と倍長の鍵が扱われます。 どちらの製品でも、キーワードは実質的に無視されます。 これらは互換性の理由だけで提供されています。
アクセス制御点
このサービスの機能を制御するドメイン役割におけるアクセス制御点は「Key Test and Key Test 2」です。 このアクセス制御点は無効にはできません。 これは ICSF マスター鍵検証に必要です。
アクセス制御点「Key Test - Warn when keyword inconsistent with key length」が有効になっている場合は、指定された鍵規則が、指定された key_identifier に適合しないと、 警告が生成されます。
必須ハードウェア
下表に、各サーバー・タイプに必要な暗号化ハードウェアを示し、この呼び出し可能サービスの制約事項について説明します。
サーバー | 必須暗号化ハードウェア | 制約事項 |
---|---|---|
IBM eServer zSeries 990 |
PCI X 暗号化コプロセッサー Crypto Express2 コプロセッサー |
3 倍長の非暗号化鍵はサポートされません。
3 倍長の暗号化鍵は ENC-ZERO キーワードでのみサポートされます。 AES 鍵はサポートされていません。 |
IBM System z9 EC |
Crypto Express2 コプロセッサー | 3 倍長の非暗号化鍵はサポートされません。
3 倍長の暗号化鍵は ENC-ZERO キーワードでのみサポートされます。 セキュア AES 鍵サポートには、2008 年 11 月以降のライセンス内部コード (LIC) が必要です。 |
IBM System z10 EC |
Crypto Express2 コプロセッサー Crypto Express3 コプロセッサー |
3 倍長の非暗号化鍵はサポートされません。
3 倍長の暗号化鍵は ENC-ZERO キーワードでのみサポートされます。 セキュア AES 鍵サポートには、2008 年 11 月以降のライセンス内部コード (LIC) が必要です。 |
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 キーワードでのみサポートされます。 |