制御ベクトル変換 (CSNBCVT および CSNECVT)
制御ベクトル変換呼び出し可能サービスでは、外部鍵の暗号化に使用される制御ベクトルが変更されます。
このサービスの追加情報については、制御ベクトル変換呼び出し可能サービスを使用した制御ベクトルの変更を参照してください。
AMODE(64) 呼び出しの呼び出し可能サービス名は CSNECVT です。
形式
CALL CSNBCVT(
return_code,
reason_code,
exit_data_length,
exit_data,
KEK_key_identifier,
source_key_token,
array_key_left,
mask_array_left,
array_key_right,
mask_array_right,
rule_array_count,
rule_array,
target_key_token)
パラメーター
- return_code
-
方向 タイプ 出力 整数 戻りコードは、呼び出し可能サービスの一般的な結果を示しています。 ICSF および暗号化コプロセッサーの戻りコードおよび理由コードに、戻りコードがリストされています。
- reason_code
-
方向 タイプ 出力 整数 理由コードは、アプリケーション・プログラムに返される、呼び出し可能サービスの結果を示しています。 戻りコードにはそれぞれ、特定の処理問題を示すさまざまな理由コードがあります。 ICSF および暗号化コプロセッサーの戻りコードおよび理由コード に、理由コードがリストされています。
- exit_data_length
-
方向 タイプ 入出力 整数 インストール・システム出口に渡されるデータの長さ。 このデータは exit_data パラメーターで定義されます。
- exit_data
-
方向 タイプ 入出力 ストリング このデータはインストール出口に渡されます。
- KEK_key_identifier
-
方向 タイプ 入出力 ストリング 内部鍵トークンを含む 64 バイト・ストリング変数、 または鍵暗号鍵を持つ内部鍵トークン・レコードの鍵ラベルを含む 64 バイト・ストリング変数。 内部鍵トークン内の制御ベクトルは、鍵タイプ IMPORTER、EXPORTER、IKEYXLAT、または OKEYXLAT を指定しなければなりません。
- source_key_token
-
方向 タイプ 入力 ストリング 処理対象の鍵および制御ベクトルを持つ 外部鍵トークンが含まれる 64 バイト・ストリング変数。
- array_key_left
-
方向 タイプ 入出力 ストリング 内部鍵トークンを含む 64 バイト・ストリング変数、 または左マスク配列を復号する内部鍵トークン・レコードの鍵ラベルを含む 64 バイト・ストリング変数。 CVARXCVL 鍵タイプを指定する制御ベクトルが内部鍵トークンに含まれていなければなりません。
- mask_array_left
-
方向 タイプ 入力 ストリング 左配列鍵で暗号化されたマスク配列を含む 7 個の 8 バイト・エレメントからなるストリング。
- array_key_right
-
方向 タイプ 入出力 ストリング 内部鍵トークンを含む 64 バイト・ストリング変数、 または右マスク配列を復号する内部鍵トークン・レコードの鍵ラベルを含む 64 バイト・ストリング変数。 CVARXCVR 鍵タイプを指定する制御ベクトルが内部鍵トークンに含まれていなければなりません。
- mask_array_right
-
方向 タイプ 入力 ストリング 右配列鍵で暗号化されたマスク配列を含む 7 個の 8 バイト・エレメントからなるストリング。
- rule_array_count
-
方向 タイプ 入力 整数 規則配列内のエレメントの数を含む整数。 このサービスでは、rule_array_count の値は 0、1、または 2 でなければなりません。 rule_array_count が 0 の場合は、デフォルト・キーワードが使用されます。
- rule_array
-
方向 タイプ 入力 文字ストリング rule_array パラメーターはキーワードの配列です。 キーワードは、8 バイトの連続するストレージ内になければならず、その 8 バイト位置で左寄せされ、右側にブランクが埋め込まれている必要があります。 rule_array キーワードは以下のとおりです。表 1. 制御ベクトル変換のキーワード キーワード 意味 パリティー調整規則 (オプション) ADJUST これは、すべてのターゲット鍵バイトに奇数パリティーが含まれるようにします。 これがデフォルトです。 NOADJUST これは、ターゲットのパリティーが改ざんされないようにします。 鍵部分規則 (オプション) BOTH これは、16 バイト・ソース鍵の両半分が処理されて、結果が、対応するターゲット鍵の両半分に配置されるようにします。 BOTH キーワードを使用する場合は、マスク配列によって両半分の変換を検証できなければなりません。 LEFT これは、8 バイト・ソース鍵 (すなわち、16 バイト・ソース鍵の左半分) が処理されて、結果が、 対応するターゲット鍵の両半分に配置されるようにします。 これがデフォルトです。 RIGHT これは、16 バイト・ソース鍵の右半分が処理されて、結果が、ターゲット鍵の右半分に配置されるようにします。 左半分はソース鍵から未変更のまま (引き続き暗号化されたまま) コピーされます。 SINGLE これは、ソース鍵の左半分が処理されて、結果が、ターゲット鍵トークンの左半分に配置されるようにします。 ターゲット鍵の右半分は変更されません。 - target_key_token
-
方向 タイプ 入出力 ストリング 新規制御ベクトルを持つ 外部鍵トークンが含まれる 64 バイト・ストリング変数。 この鍵トークンには、鍵の両半分と新規制御ベクトルが含まれます。
ICSF は、対称鍵トークンにおいて鍵値をラップする方式として、元の ECB ラップ方式と、ANSI X9.24 準拠の拡張 CBC ラップ方式の 2 つの方式をサポートします。 出力 target_key_token は、入力 source_key_token と同じ方法でラップされます。
制約事項
この呼び出し可能サービスは、バージョン X'10' 外部 DES 鍵トークン (RKX 鍵トークン) をサポートしていません。
使用上の注意
呼び出し側がこの呼び出し可能サービス、鍵ラベル、または CKDS か PKDS に保管された内部セキュア鍵トークンの使用を許可されているかを検査するために、SAF が呼び出される場合があります。
KEK_key_identifier が IMPORTER 鍵または EXPORTER 鍵のラベルである場合、そのラベルは CKDS において固有でなければなりません。
アクセス制御点
「Control Vector Translate」アクセス制御点は、このサービスの機能を制御するものです。
必須ハードウェア
下表に、各サーバー・タイプに必要な暗号化ハードウェアを示し、この呼び出し可能サービスの制約事項について説明します。
サーバー | 必須暗号化ハードウェア | 制約事項 |
---|---|---|
IBM eServer zSeries 990 |
PCI X 暗号化コプロセッサー
Crypto Express2 コプロセッサー |
ENH-ONLY、USECONFG、WRAP-ENC、および WRAP-ECB はサポートされません。 |
IBM System z9 EC |
Crypto Express2 コプロセッサー | ENH-ONLY、USECONFG、WRAP-ENC、および WRAP-ECB はサポートされません。 |
IBM System z10 EC |
Crypto Express2 コプロセッサー | ENH-ONLY、USECONFG、WRAP-ENC、および WRAP-ECB はサポートされません。 |
Crypto Express3 コプロセッサー | 拡張鍵トークン・ラップはサポートされません。 | |
IBM zEnterprise 196 |
Crypto Express3 コプロセッサー | |
IBM zEnterprise EC12 |
Crypto Express3 コプロセッサー Crypto Express4 CCA コプロセッサー |
|
IBM z13 |
Crypto Express5 CCA コプロセッサー |