対称鍵インポート (CSNDSYI および CSNFSYI)

対称鍵インポート呼び出し可能サービスは、RSA 公開鍵で暗号化された対称 AES DATA/DES DATA 鍵をインポートする場合に使用します。 鍵はマスター鍵で暗号化されて操作可能形式で返されます。

このサービスは、PKA96 RSA 公開鍵で暗号化された PKA92 フォーマット DES 鍵暗号鍵のインポートもサポートします。

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

形式

CALL CSNDSYI(
             return_code,
             reason_code,
             exit_data_length,
             exit_data,
             rule_array_count,
             rule_array,
             RSA_enciphered_key_length,
             RSA_enciphered_key,
             RSA_private_key_identifier_length,
             RSA_private_key_identifier,
             target_key_identifier_length,
             target_key_identifier)

パラメーター

return_code
方向 タイプ
出力 整数

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

reason_code
方向 タイプ
出力 整数

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

exit_data_length
方向 タイプ
入出力 整数

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

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

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

rule_array_count
方向 タイプ
入力 整数

rule_array パラメーターで指定するキーワードの数。 値は 1、2、3、4、または 5 にすることができます。

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

制御情報を呼び出し可能サービスに提供するキーワード。 表 1 にリストを示します。 リカバリー方式は、対称鍵のリカバリーに使用される方式です。 キーワードは、8 バイトの連続するストレージ内になければならず、その 8 バイト位置で左寄せされ、右側にブランクが埋め込まれている必要があります。

表 1. 対称鍵インポート制御情報のキーワード
キーワード 意味
アルゴリズム (オプションでキーワードを 1 つのみ指定できる)
AES インポートされる鍵は AES 鍵です。
DES インポートされる鍵は DES 鍵です。 これがデフォルトです。
リカバリー方式 (必須)
PKA92 これは、DES アルゴリズムによってサポートされます。 これは、鍵暗号鍵が PKA92 フォーマット構造に従って PKA96 RSA 公開鍵で暗号化されることを指定します。
PKCSOAEP これは、RSA DSI PKCS #1V2 OAEP にある方式を使用することを指定します。 これは、DES アルゴリズムおよび AES アルゴリズムによってサポートされます。 デフォルト・ハッシュ方式は SHA-1 です。 SHA-256 ハッシュ方式には、SHA-256 キーワードを使用してください。
PKCS-1.2 これは、RSA DSI PKCS #1 ブロック・タイプ 02 にある方式を使用することを指定します。 これは、DES アルゴリズムおよび AES アルゴリズムによってサポートされます。
ZERO-PAD 非暗号化鍵は指定のフィールド内で右寄せにされ、 フィールドの左側に RSA 暗号化ブロックのサイズ (モジュラスの長さ) までゼロが埋め込まれます。 これは、DES アルゴリズムおよび AES アルゴリズムによってサポートされます。
鍵ラップ方式 (オプション)
USECONFG これは、システム・デフォルト構成を使用してラップ方式を決定することを指定します。 これがデフォルト・キーワードです。

システム・デフォルト鍵ラップ方式は、インストール・オプション・データ・セットで DEFAULTWRAP パラメーターを使用して指定できます。 z/OS Cryptographic Services ICSF System Programmer's Guidez/OS Cryptographic Services ICSF System Programmer's Guidez/OS Cryptographic Services ICSF System Programmer's Guideを 参照してください。

WRAP-ENH これは、ANSI X9.24 標準に準拠した拡張鍵ラップ方式を使用します。
WRAP-ECB これは、元の鍵ラップ方式 (DES 鍵トークンには ECB ラップが使用され、AES 鍵トークンには CBC ラップが使用される) を使用します。
変換制御 (オプション)
ENH-ONLY これは、target_key_identifier トークンの再ラップを禁止します。 拡張方式でラップされたトークンは元の方式で再ラップできません。
ハッシュ方式 (オプション - PKCSOAEP と一緒の場合にのみ有効)
SHA-1 これは、OAEP メッセージ・ハッシュを計算するために SHA-1 ハッシュ方式を使用することを指定します。 これがデフォルトです。
SHA-256 これは、OAEP メッセージ・ハッシュを計算するために SHA-256 ハッシュ方式を使用することを指定します。
RSA_enciphered_key_length
方向 タイプ
入力 整数

RSA_enciphered_key パラメーターの長さ。 最大サイズは 512 バイトです。

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

インポート対象の鍵。 RSA 公開鍵で保護されるもの。 暗号化鍵は、その鍵を格納できる最小バイト数の長さを持つストリングの下位ビット (右寄せ) に位置します。 このストリングは RSA_enciphered_key パラメーター内で左寄せにされます。

RSA_private_key_identifier_length
方向 タイプ
入力 整数

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

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

内部 RSA 秘密鍵トークン/ラベル (対応する公開鍵が対称鍵を保護する場合)。

target_key_identifier_length
方向 タイプ
入出力 整数

target_key_identifier パラメーターの長さ。 このフィールドは、生成される target_key_identifier の実際の長さで更新されます。 サイズは 64 バイトでなければなりません。

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

このフィールドには、 インポートされた対称鍵の内部トークンが含まれます。 PKA92 の処理を除き、このサービスでは、インポートされたトークンに含まれる鍵と同じ長さの鍵を持つ DATA 鍵トークンが生成されます。

制約事項

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

使用上の注意

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

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

入力 NOCV 鍵暗号鍵トークンを使用して PKA92 を指定することはサポートされません。

アクセス制御点

下表に、このサービスの機能を制御するドメイン役割内のアクセス制御点を示します。

表 2. 対称鍵インポートに必要なアクセス制御点
鍵アルゴリズム 鍵フォーマット規則 アクセス制御点
DES PKCS-1.2 Symmetric Key Import - DES, PKCS-1.2
DES PKA92 KEK Symmetric Key Import - DES, PKA92 KEK
DES ZERO-PAD Symmetric Key Import - DES, ZERO-PAD
AES PKCSOAEP、PKCS-1.2 Symmetric Key Import - AES, PKCSOAEP, PKCS-1.2
AES ZERO-PAD Symmetric Key Import - AES, ZERO-PAD

WRAP-ECB キーワードまたは WRAP-ENH キーワードが指定されているときに、 デフォルト鍵ラップ方式の設定がキーワードに適合しない場合は、「Symmetric Key Import - Allow wrapping override keywords」アクセス制御点を有効にする必要があります。

「Disallow 24-byte DATA wrapped with 16-byte Key」アクセス制御点が有効になっているときに、 ソース鍵が 3 倍長の DATA 鍵であり DES マスター鍵が 16 バイトの鍵であると、このサービスは失敗します。

必須ハードウェア

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

表 3. 対称鍵インポート必須ハードウェア
サーバー 必須暗号化ハードウェア 制約事項

IBM eServer zSeries 990
IBM eServer zSeries 890

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

Crypto Express2 コプロセッサー

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

暗号化 AES 鍵はサポートされません。

キーワード ENH-ONLY、USECONFG、WRAP-ENH、WRAP-ECB、および SHA-256 はサポートされません。

SHA-256 ハッシュ方式が使用される PKCSOAEP はサポートされません。

IBM System z9 EC
IBM System z9 BC

Crypto Express2 コプロセッサー

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

暗号化 AES 鍵はサポートされません。

キーワード ENH-ONLY、USECONFG、WRAP-ENH、WRAP-ECB、および SHA-256 はサポートされません。

SHA-256 ハッシュ方式が使用される PKCSOAEP はサポートされません。

IBM System z10 EC
IBM System z10 BC

Crypto Express2 コプロセッサー

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

暗号化 AES 鍵サポートには 2008 年 11 月以降のライセンス内部コード (LIC) が必要です。

キーワード ENH-ONLY、USECONFG、WRAP-ENH、WRAP-ECB、および SHA-256 はサポートされません。

SHA-256 ハッシュ方式が使用される PKCSOAEP はサポートされません。

Crypto Express3 コプロセッサー

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

暗号化 AES 鍵サポートには 2008 年 11 月以降のライセンス内部コード (LIC) が必要です。

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

SHA-256 ハッシュ方式が使用される PKCSOAEP はサポートされません。

IBM zEnterprise 196
IBM zEnterprise 114

Crypto Express3 コプロセッサー

SHA-256 ハッシュ方式が使用される PKCSOAEP には 2011 年 9 月以降のライセンス内部コード (LIC) が必要です。

IBM zEnterprise EC12
IBM zEnterprise BC12

Crypto Express3 コプロセッサー

Crypto Express4 CCA コプロセッサー

 
IBM z13 Crypto Express5 CCA コプロセッサー