PKA 暗号化解除 (CSNDPKD および CSNFPKD)

このサービスは、フォーマット済みの鍵値を暗号化解除 (アンラップ) する場合に使用します。 このサービスでは、鍵がアンラップされて解析され、解析値が非暗号化状態でアプリケーションに返されます。 PKCS 1.2 フォーマット、RSAES-OAEP フォーマット、および ZERO-PAD フォーマットがサポートされます。PKCS 1.2 の場合、暗号化解除されたデータは、RSA DSI PKCS #1 ブロック・タイプ 2 フォーマット仕様を満たすことを保証するために検査されます。

PKA 秘密鍵の場合、このサービスでは非暗号化/暗号化 RSA 秘密鍵を使用できます。 外部非暗号化鍵トークンが使用されている場合は、 マスター鍵を暗号化コプロセッサーにインストールする必要はなく、PKA 呼び出し可能サービスを有効にする必要もありません。 非暗号化鍵トークンの使用時に、暗号アクセラレーターが使用可能であれば、要求は暗号アクセラレーターに経路指定されます。 ZERO-PAD は、外部 RSA 非暗号化秘密鍵に対してのみサポートされます。

このサービスはセキュア PKCS #11 秘密鍵の使用もサポートしますが、それにはアクティブなエンタープライズ PKCS #11 コプロセッサーが必要です。 PKCS 1.2 フォーマットがサポートされます。

AMODE(64) 呼び出しの呼び出し可能サービス名は CSNFPKD です。

形式

CALL CSNDPKD(
              return_code,
              reason_code,
              exit_data_length,
              exit_data,
              rule_array_count,
              rule_array,
              PKA_enciphered_keyvalue_length,
              PKA_enciphered_keyvalue,
              data_structure_length,
              data_structure,
              key_identifier_length,
              key_identifier,
              target_keyvalue_length,
              target_keyvalue)
 

パラメーター

return_code
方向 タイプ
出力 整数

戻りコードは、呼び出し可能サービスの一般的な結果を示しています。 ICSF および暗号化コプロセッサーの戻りコードおよび理由コードに、戻りコードがリストされています。

reason_code
方向 タイプ
出力 整数

理由コードは、アプリケーション・プログラムに返される、呼び出し可能サービスの結果を示しています。 戻りコードにはそれぞれ、特定の処理問題を示すさまざまな理由コードが割り当てられています。 ICSF および暗号化コプロセッサーの戻りコードおよび理由コード に、理由コードがリストされています。

exit_data_length
方向 タイプ
入出力 整数

インストール・システム出口に渡されるデータの長さ。 データは exit_data パラメーターで識別されます。

exit_data
方向 タイプ
入出力 ストリング

このデータはインストール出口に渡されます。

rule_array_count
方向 タイプ
入力 整数

rule_array パラメーターで指定するキーワードの数。 この値は 1 でなければなりません。

rule_array
方向 タイプ
入力 ストリング

制御情報を呼び出し可能サービスに提供するキーワード。 キーワードは、8 バイト・フィールドで左寄せされ、右側にブランクが埋め込まれます。

表 1. PKA 暗号化解除のキーワード
キーワード 意味
リカバリー方式 (必須)。 これは、鍵値のリカバリーに使用される方式を指定します。
PKCS-1.2 RSA PKCS #1 V1.5 ブロック・タイプ 02 が鍵値のリカバリーに使用されます。
PKCSOAEP これは、RSA PKCS #1 v2.0 標準で定義されている RSAES-OAEP エンコード・スキームを使用してフォーマットされたデータをリカバリーすることを指定します。

セキュア PKCS #11 秘密鍵が使用される場合、このキーワードは無効です。

ZERO-PAD 入力 PKA_enciphered_keyvalue が RSA 秘密鍵で暗号化解除されます。 結果全体 (先行ゼロを含む) が target_keyvalue フィールドに返されます。 PKA 鍵の場合、key_identifier は外部 RSA トークンであるか、または外部トークンのラベル名でなければなりません。

セキュア PKCS #11 秘密鍵が使用される場合、このキーワードは無効です。

ハッシュ方式 (PKCSOAEP が指定されている場合は必須で 1 つのみ指定可能。それ以外の場合は使用不可)
SHA-1 これは、OAEP メッセージ・ダイジェストを計算するために SHA-1 方式を使用することを指定します。
SHA-256 これは、OAEP メッセージ・ダイジェストを計算するために SHA-256 方式を使用することを指定します。
PKA_enciphered_keyvalue_length
方向 タイプ
入力 整数

PKA_enciphered_keyvalue パラメーターの長さ (バイト)。 指定できる最大サイズは 512 バイトです。 この長さは、key_identifier のモジュラス長と同じでなければなりません。

PKA_enciphered_keyvalue
方向 タイプ
入力 ストリング

このフィールドには、RSA 公開鍵で保護されている鍵値が含まれます。 このバイト長ストリングは PKA_enciphered_keyvalue パラメーター内で左寄せにされます。

data_structure_length
方向 タイプ
入力 整数

値は 0 でなければなりません。

data_structure
方向 タイプ
入力 ストリング

このフィールドは現在では無視されます。

key_identifier_length
方向 タイプ
入力 整数

key_identifier パラメーターの長さ。 key_identifier が鍵ラベルの場合、このフィールドはラベルの長さを指定します。 指定できる最大サイズは 3500 バイトです。

key_identifier
方向 タイプ
入力 ストリング

PKA 鍵の場合、これは モジュラス指数または中国剰余定理フォーマットの非暗号化 RSA 秘密鍵を含む内部 RSA 秘密鍵トークン、 内部 RSA 秘密鍵トークンのラベル、または外部 RSA 秘密鍵トークン。

セキュア PKCS #11 鍵の場合、これは秘密鍵の 44 バイト・ハンドルです。 EBCDIC 等号文字 (「=」または x'7E') の接頭部が付き、合計長 64 バイトにわたって右側にスペースが埋め込まれます。

対応する公開鍵は、鍵値をラップするために使用されたものです。

target_keyvalue_length
方向 タイプ
入出力 整数

target_keyvalue パラメーターの長さ。 指定できる最大サイズは 512 バイトです。 戻り時に、このフィールドは、target_keyvalue の実際の長さで更新されます。

ZERO-PAD が指定されている場合、この長さは RSA モジュラスのバイト長と同じになります。

target_keyvalue
方向 タイプ
出力 ストリング

このフィールドには、 暗号化解除およびフォーマット解除された鍵の値が含まれます。 ZERO-PAD が指定されている場合、暗号化解除された鍵の値 (先行ゼロを含む) が返されます。

制約事項

RSA 公開鍵の指数は奇数でなければなりません。

Crypto Express アクセラレーターは非暗号化鍵 RSA 操作が実行されます。暗号化鍵を含む要求はコプロセッサーに経路指定されます。

許可

共通オブジェクトであるセキュア PKCS #11 秘密鍵でこのサービスを使用するには、呼び出し側に、その鍵を含んでいる PKCS #11 トークンに対する SO (READ) 権限または USER (READ) 権限 (任意のアクセス) が必要です。

専用オブジェクトであるセキュア PKCS #11 秘密鍵でこのサービスを使用するには、呼び出し側に、その鍵を含んでいる PKCS #11 トークンに対する USER (READ) 権限 (ユーザー・アクセス) が必要です。

SO およびユーザー PKCS #11 の役割について詳しくは、「z/OS Cryptographic Services ICSF Writing PKCS #11 Applicationsz/OS Cryptographic Services ICSF Writing PKCS #11 Applicationsz/OS Cryptographic Services ICSF Writing PKCS #11 Applications」を参照してください。

使用上の注意

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

鍵管理機能に対して PKA RSA 秘密鍵が有効になっていなければなりません。 暗号化解除に対してセキュア PKCS #11 秘密鍵が有効になっていなければなりません。

PKA 鍵の場合、ハードウェア構成によって鍵管理用の鍵のモジュラス・サイズに制限が設定されるため、RSA 鍵モジュラスのビット長が この制限を超えると、このサービスは失敗します。

アクセス制御点

PKA 鍵の場合、「PKA Decrypt」アクセス制御点で、このサービスの機能が制御されます。

フォーマット規則を無効にするアクセス制御点が存在します。そのような制御はすべて、ドメイン役割において無効になっています。そのようなアクセス制御点を有効にすると、キーワードに対する要求が失敗します。
表 2. PKA 暗号化解除アクセス制御
アクセス制御点 規則配列キーワード
PKA Decrypt – Disallow PKCS-1.2 PKCS-1.2
PKA Decrypt – Disallow PKCSOAEP PKCSOAEP
PKA Decrypt – Disallow ZEROPAD ZEROPAD
注: アクセス管理検査は、要求がアクセラレーターに経路指定されている場合には実行されません。

セキュア PKCS #11 秘密鍵の場合、エンタープライズ PKCS #11 コプロセッサーのアクセス制御点について 詳しくは、「z/OS ICSF Writing PKCS #11 Applications」の『PKCS #11 Access Control Points』を参照してください。

必須ハードウェア

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

表 3. PKA 暗号化解除必須ハードウェア
サーバー 必須暗号化ハードウェア 制約事項

IBM System z9 EC
IBM System z9 BC

Crypto Express2 コプロセッサー

2048 ビットから 4096 ビットの範囲内のモジュラスを持つ RSA 鍵サポートには、2007 年 11 月以降のライセンス内部コード (LIC) が必要です。

キーワード PKCSOAEP、SHA-1、および SHA-256 はサポートされていません。

Crypto Express2 アクセラレーター

2048 ビット長より大きいモジュラスを持つ RSA 鍵はサポートされていません。

IBM System z10 EC
IBM System z10 BC

Crypto Express2 コプロセッサー

Crypto Express3 コプロセッサー

2048 ビットから 4096 ビットの範囲内のモジュラスを持つ RSA 鍵サポートには、2007 年 11 月以降のライセンス内部コード (LIC) が必要です。

キーワード PKCSOAEP、SHA-1、および SHA-256 はサポートされていません。

Crypto Express2 アクセラレーター

Crypto Express3 アクセラレーター

2048 ビット長より大きいモジュラスを持つ RSA 鍵はサポートされていません。

IBM zEnterprise 196
IBM zEnterprise 114

Crypto Express3 コプロセッサー

キーワード PKCSOAEP、SHA-1、および SHA-256 はサポートされていません。

Crypto Express3 アクセラレーター

2048 ビットから 4096 ビットまでの範囲内のモジュラスを含む RSA 非暗号化鍵サポートには、2011 年 9 月以降のライセンス内部コード (LIC) が必要です。

IBM zEnterprise EC12
IBM zEnterprise BC12

Crypto Express3 コプロセッサー

Crypto Express4 CCA コプロセッサー

キーワード PKCSOAEP、SHA-1、および SHA-256 には 2015 年 6 月以降のライセンス内部コード (LIC) が必要です。

Crypto Express3 アクセラレーター

Crypto Express4 アクセラレーター

 
Crypto Express4 Enterprise PKCS #11 コプロセッサー セキュア PKCS #11 秘密鍵を使用する必要があります。

キーワード ZEROPAD、PKCSOAEP、SHA-1、SHA-256 はサポートされていません。

IBM z13
IBM z13s

Crypto Express5 CCA コプロセッサー

キーワード PKCSOAEP、SHA-1、および SHA-256 には 2015 年 7 月以降のライセンス内部コード (LIC) が必要です。

Crypto Express5 アクセラレーター  
Crypto Express5 Enterprise PKCS #11 コプロセッサー セキュア PKCS #11 秘密鍵を使用する必要があります。

キーワード ZEROPAD、PKCSOAEP、SHA-1、SHA-256 はサポートされていません。