SET ブロック構成 (CSNDSBC および CSNFSBC)
SET ブロック構成呼び出し可能サービスは、データの DES 暗号化、SHA-1 ハッシュ操作による OAEP フォーマット設定、および Optimal Asymmetric Encryption Padding (OAEP) ブロックの RSA 暗号化を実行します。
AMODE(64) 呼び出しの呼び出し可能サービス名は CSNFSBC です。
形式
CALL CSNDSBC(
return_code,
reason_code,
exit_data_length,
exit_data,
rule_array_count,
rule_array,
block_contents_identifier,
XData_string_length,
XData_string,
data_to_encrypt_length,
data_to_encrypt,
data_to_hash_length,
data_to_hash,
initialization_vector,
RSA_public_key_identifier_length,
RSA_public_key_identifier,
DES_key_block_length,
DES_key_block,
RSA_OAEP_block_length,
RSA_OAEP_block,
chaining_vector,
DES_encrypted_data_block)
パラメーター
- return_code
-
方向 タイプ 出力 整数 戻りコードは、呼び出し可能サービスの一般的な結果を示しています。 ICSF および暗号化コプロセッサーの戻りコードおよび理由コードに戻りコードがリストされています。
- reason_code
-
方向 タイプ 出力 整数 理由コードは、アプリケーション・プログラムに返される、呼び出し可能サービスの結果を示しています。 戻りコードにはそれぞれ、特定の処理問題を示すさまざまな理由コードが割り当てられています。 ICSF および暗号化コプロセッサーの戻りコードおよび理由コードに理由コードがリストされています。
- exit_data_length
-
方向 タイプ 入出力 整数 インストール・システム出口に渡されるデータの長さ。 データは exit_data パラメーターで識別されます。
- exit_data
-
方向 タイプ 入出力 ストリング インストール・システム出口に渡されるデータ。
- rule_array_count
-
方向 タイプ 入力 整数 rule_array パラメーターで指定するキーワード数。 値は 1 または 2 でなければなりません。
- rule_array
-
方向 タイプ 入力 文字ストリング 制御情報を呼び出し可能サービスに提供するキーワード。 キーワードは、8 バイトの連続するストレージ内になければならず、左寄せされ、右側にブランクが埋め込まれている必要があります。
表 1. SET ブロック構成制御情報のキーワード キーワード 意味 ブロック・タイプ (必須) SET1.00 RSA-OAEP 暗号化ブロックの構造は SET プロトコルによって定義されています。 フォーマット設定情報 (オプション) DES-ONLY DES 暗号化のみが実行されます。 RSA-OAEP フォーマット設定は実行されません。 (使用上の注意を参照。) - block_contents_identifier
-
方向 タイプ 入力 ストリング SET DB データ・ブロックのブロック・コンテンツ (BC) フィールドにコピーされるバイナリー値を含む 1 バイト・ストリング (実データ・ブロック (ADB) で送信されるデータの内容、および追加データ (XData_string) のフォーマットを示します)。 DES-ONLY が規則配列で指定されている場合、このパラメーターは無視されます。
- XData_string_length
-
方向 タイプ 入力 整数 XData_string に含まれるデータの長さ (バイト)。 最大長は 94 バイトです。DES-ONLY が規則配列で指定されている場合、このパラメーターは無視されます。
- XData_string
-
方向 タイプ 入力 ストリング OAEP 処理され、RSA 暗号化されたブロック内に含まれる追加の暗号化データ。 フォーマットは block_contents_identifier によって識別されます。 XData_string_length 値がゼロの場合でも、XData_string の指定は必須ですが、ICSF では無視されます。 このストリングは、16 進数字のストリングとして扱われます。 DES-ONLY が規則配列で指定されている場合、このパラメーターは無視されます。
- data_to_encrypt_length
-
方向 タイプ 入出力 整数 DES 暗号化を行うデータの長さ (バイト)。 8 バイトまでの埋め込みを可能にするために、長さは最大値 32 MB から 8 バイトを減算した値になります。 データは data_to_encrypt パラメーターで識別されます。 出力時に、この値は、DES_encrypted_data_block 内の暗号化されたデータの長さで更新されます。
- data_to_encrypt
-
方向 タイプ 入力 ストリング DES 暗号化するデータ (このサービスによって生成された 64 ビット DES 鍵を使用)。 データには、PKCS #5 埋め込み規則に従って、このサービスによって埋め込みが行われます。
- data_to_hash_length
-
方向 タイプ 入力 整数 ハッシュを行うデータの長さ (バイト)。 ハッシュは OAEP ブロックのオプション部分です。 data_to_hash_length が 0 の場合、ハッシュは OAEP ブロックに組み込まれません。 DES-ONLY が rule_array で指定されている場合、このパラメーターは無視されます。
- data_to_hash
-
方向 タイプ 入力 ストリング ハッシュされ、OAEP ブロックに組み込まれるデータ。 data_to_hash_length が 0 の場合、OAEP ブロックでハッシュは計算または挿入されません。 DES-ONLY が rule_array で指定されている場合、このパラメーターは無視されます。
- initialization_vector
-
方向 タイプ 入力 ストリング data_to_encrypt パラメーターにあるデータの DES 暗号化用の暗号化ブロック・チェーンで使用する初期設定ベクトルを含む 8 バイトのストリング。 データの DES 暗号化解除を実行するには、同じ初期設定ベクトルを使用する必要があります。
- RSA_public_key_identifier_length
-
方向 タイプ 入力 整数 RSA_public_key_identifier フィールドの長さ。 最大サイズは 2500 バイトです。 DES-ONLY が規則配列で指定されている場合、このパラメーターは無視されます。
- RSA_public_key_identifier
-
方向 タイプ 入力 ストリング OAEP ブロックの RSA 暗号化の実行に使用する、RSA 公開鍵の鍵ラベル、または RSA 公開鍵トークンを含むストリング。 鍵のモジュラス・ビット長は 1024 バイトでなければなりません。 DES-ONLY が規則配列で指定されている場合、このパラメーターは無視されます。
- DES_key_block_length
-
方向 タイプ 入出力 整数 DES_key_block の長さ。 このフィールドの現行長は、正確に 64 バイトになるように定義されています。
- DES_key_block
-
方向 タイプ 入出力 ストリング 前の SET ブロック構成サービスから返された DES 鍵情報。 DES_key_block の内容は、64 バイトの内部鍵トークンです (ホスト・マスター鍵で暗号化された DES 鍵を含みます)。 ご使用のアプリケーション・プログラムで、このストリングに含まれるデータを変更してはなりません。
- RSA_OAEP_block_length
-
方向 タイプ 入出力 整数 RSA-OAEP_block を保持するストレージのブロックの長さ。 この長さは、入力時には 128 バイト以上でなければなりません。 長さ値は、終了時に RSA-OAEP_block の実際の長さで更新され、正確に 128 バイトになります。 DES-ONLY が規則配列で指定されている場合、このパラメーターは無視されます。
- RSA_OAEP_block
-
方向 タイプ 出力 ストリング RSA_public_key_identifier として渡される RSA 公開鍵で暗号化された、OAEP フォーマットのデータ・ブロック。 入力フィールド長 (RSA-OAEP_block_length) が 128 バイトを超えていた場合、OAEP フォーマットのデータ・ブロックは返される際に、RSA-OAEP_block フィールド内で左寄せされます。 DES-ONLY が規則配列で指定されている場合、このパラメーターは無視されます。
- chaining_vector
-
方向 タイプ 入出力 ストリング ICSF がシステム作業域として使用する 18 バイトのフィールド。 ご使用のアプリケーション・プログラムで、このストリングに含まれるデータを変更してはなりません。 このフィールドは、このサービスでは無視されますが、指定は必須です。
- DES_encrypted_data_block
-
方向 タイプ 出力 ストリング DES 暗号化データ・ブロック (data_to_encrypt として渡されるデータ)。 暗号化データの長さは data_to_encrypt_length で返されます。 このサービスによって追加される埋め込みによって、DES_encrypted_data_block は data_to_encrypt の長さより 8 バイト長くなることがあります。
制約事項
CCA 実装には、RSA_public_key_identifier パラメーターの入力として鍵ラベルをサポートしていないものがあります。 一部の実装では、鍵トークンのみがサポートされている場合があります。
data_to_encrypt と DES_encrypted_data_block はオーバーラップできません。
DES 暗号化に指定可能な最大データ・ブロックは、暗号化呼び出し可能サービスによって表現される際の限度です。
使用上の注意
呼び出し側がこの呼び出し可能サービス、鍵ラベル、または CKDS か PKDS に保管された内部セキュア鍵トークンの使用を許可されているかを検査するために、SAF が呼び出される場合があります。
特定のソースと宛先間 (例えば、商店ゲートウェイと支払いゲートウェイ間) の通信用の RSA-OAEP ブロックおよび DES 暗号化データを形成するために、初めて SET ブロック構成サービスを呼び出す際には、DES-ONLY キーワードを指定しないでください。 DES 鍵はサービスによって生成され、DES_key_block に含まれる鍵トークンで返されます。 同じソースと宛先間の通信のための SET ブロック構成サービスの以降の呼び出しでは、DES 鍵は再利用可能です。 サービスの呼び出し側は、DES_key_block、DES_key_block_length、data_to_encrypt、data_to_encrypt_length、および規則配列キーワード SET1.00 と DES-ONLY を指定する必要があります。 ブロック・コンテンツ ID、XDATA ストリングとその長さ、RSA-OAEP ブロックとその長さ、および RSA 公開鍵情報を提供する必要はありませんが、これらのパラメーターの指定は必須です。 この呼び出しでは、RSA-OAEP フォーマット設定は迂回され、提供された DES 鍵を使用して DES 暗号化のみが実行されます。
アクセス制御点
「SET Block Compose」アクセス制御点によって、このサービスの機能が制御されます。
必須ハードウェア
下表に、各サーバー・タイプに必要な暗号化ハードウェアを示し、この呼び出し可能サービスの制約事項について説明します。
サーバー | 必須暗号化ハードウェア | 制約事項 |
---|---|---|
IBM eServer zSeries 990 |
PCI X 暗号化コプロセッサー Crypto Express2 コプロセッサー |
|
IBM System z9 EC |
Crypto Express2 コプロセッサー | |
IBM System z10 EC |
Crypto Express2 コプロセッサー Crypto Express3 コプロセッサー |
|
IBM zEnterprise 196 |
Crypto Express3 コプロセッサー | |
IBM zEnterprise EC12 |
Crypto Express3 コプロセッサー Crypto Express4 CCA コプロセッサー |
|
IBM z13 |
Crypto Express5 CCA コプロセッサー |