制御ベクトル変換 (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」アクセス制御点は、このサービスの機能を制御するものです。

必須ハードウェア

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

表 2. 制御ベクトル変換必須ハードウェア
サーバー 必須暗号化ハードウェア 制約事項

IBM eServer zSeries 990
IBM eServer zSeries 890

PCI X 暗号化コプロセッサー

Crypto Express2 コプロセッサー

ENH-ONLY、USECONFG、WRAP-ENC、および WRAP-ECB はサポートされません。

IBM System z9 EC
IBM System z9 BC

Crypto Express2 コプロセッサー ENH-ONLY、USECONFG、WRAP-ENC、および WRAP-ECB はサポートされません。

IBM System z10 EC
IBM System z10 BC

Crypto Express2 コプロセッサー ENH-ONLY、USECONFG、WRAP-ENC、および WRAP-ECB はサポートされません。
Crypto Express3 コプロセッサー 拡張鍵トークン・ラップはサポートされません。

IBM zEnterprise 196
IBM zEnterprise 114

Crypto Express3 コプロセッサー  

IBM zEnterprise EC12
IBM zEnterprise BC12

Crypto Express3 コプロセッサー

Crypto Express4 CCA コプロセッサー

 

IBM z13

Crypto Express5 CCA コプロセッサー