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_blockdata_to_encrypt の長さより 8 バイト長くなることがあります。

制約事項

CCA 実装には、RSA_public_key_identifier パラメーターの入力として鍵ラベルをサポートしていないものがあります。 一部の実装では、鍵トークンのみがサポートされている場合があります。

data_to_encryptDES_encrypted_data_block はオーバーラップできません。

DES 暗号化に指定可能な最大データ・ブロックは、暗号化呼び出し可能サービスによって表現される際の限度です。

使用上の注意

呼び出し側がこの呼び出し可能サービス、鍵ラベル、または CKDS か PKDS に保管された内部セキュア鍵トークンの使用を許可されているかを検査するために、SAF が呼び出される場合があります。

特定のソースと宛先間 (例えば、商店ゲートウェイと支払いゲートウェイ間) の通信用の RSA-OAEP ブロックおよび DES 暗号化データを形成するために、初めて SET ブロック構成サービスを呼び出す際には、DES-ONLY キーワードを指定しないでください。 DES 鍵はサービスによって生成され、DES_key_block に含まれる鍵トークンで返されます。 同じソースと宛先間の通信のための SET ブロック構成サービスの以降の呼び出しでは、DES 鍵は再利用可能です。 サービスの呼び出し側は、DES_key_blockDES_key_block_lengthdata_to_encryptdata_to_encrypt_length、および規則配列キーワード SET1.00 と DES-ONLY を指定する必要があります。 ブロック・コンテンツ ID、XDATA ストリングとその長さ、RSA-OAEP ブロックとその長さ、および RSA 公開鍵情報を提供する必要はありませんが、これらのパラメーターの指定は必須です。 この呼び出しでは、RSA-OAEP フォーマット設定は迂回され、提供された DES 鍵を使用して DES 暗号化のみが実行されます。

アクセス制御点

「SET Block Compose」アクセス制御点によって、このサービスの機能が制御されます。

必須ハードウェア

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

表 2. SET ブロック構成必須ハードウェア
サーバー 必須暗号化ハードウェア 制約事項

IBM eServer zSeries 990
IBM eServer zSeries 890

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

Crypto Express2 コプロセッサー

 

IBM System z9 EC
IBM System z9 BC

Crypto Express2 コプロセッサー  

IBM System z10 EC
IBM System z10 BC

Crypto Express2 コプロセッサー

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 コプロセッサー