複数セキュア鍵インポート (CSNBSKM および CSNESKM)

このサービスは、システム・マスター鍵またはインポーター鍵暗号鍵で単一長、倍長、または 3 倍長の DES 鍵を暗号化する場合に使用します。 その後で、非暗号化 DES 鍵は使用可能な任意の鍵タイプとしてインポートできます。

このサービスでは、DES 鍵だけでなく非暗号化 AES 鍵も、インポートされ、AES マスター鍵で暗号化され、暗号化された鍵が内部トークンで返されます。 暗号化対象の鍵のタイプは DATA です。 暗号化された鍵は操作可能形式になります。

この呼び出し可能サービスは、ICSF が特殊セキュア・モードになっている場合にのみ実行できます。 このモードについては、特殊セキュア・モードを参照してください。

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

形式

CALL CSNBSKM(
             return_code,
             reason_code,
             exit_data_length,
             exit_data,
             rule_array_count,
             rule_array,
             clear_key_length,
             clear_key,
             key_type,
             key_form,
             key_encrypting_key_identifier,
             imported_key_identifier_length,
             imported_key_identifier)

パラメーター

return_code
方向 タイプ
出力 整数

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

reason_code
方向 タイプ
出力 整数

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

exit_data_length
方向 タイプ
入出力 整数

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

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

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

rule_array_count
方向 タイプ
入力 整数

rule_array パラメーターで指定するキーワード数。 rule_array_count パラメーターは 0、1、2、3、または 4 でなければなりません。 rule_array_count が 0 の場合は、デフォルト・キーワードが使用されます。

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

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

最初のキーワードはアルゴリズムです。 アルゴリズムが指定されない場合は、DES が使用されます。 アルゴリズム・キーワードは、必要な出力トークンの鍵形式が OP であり、鍵タイプが IMPORTER、EXPORTER、または DATA である場合にのみ適用されます。 鍵形式が IM の場合、または鍵タイプが他のいずれかの場合は、DES を指定するとエラーが発生します。

2 番目のキーワードは、出力鍵トークンが NOCV-KEK としてマークされることを指定するオプション・キーワードです。

3 番目のキーワードは、元の鍵ラップ方式と拡張鍵ラップ方式 (ANSI X9.24 標準に準拠) のどちらを使用すべきかを指定するオプション・キーワードです。

4 番目のキーワードを使用すると、imported_key_identifier 出力トークンを拡張ラップ方式でラップした後に 元の方式で再ラップできないことをアプリケーションで指定できるようになります。

表 1. 複数セキュア鍵インポート規則配列制御情報のキーワード
キーワード 意味
アルゴリズム (オプション)
AES 出力鍵 ID は AES トークンになります。
DES 出力鍵 ID は DES トークンになります。 これがデフォルトです。
NOCV 選択 (オプション)
NOCV-KEK 出力トークンは NOCV-KEK としてマークされます。 このキーワードは、鍵形式が OP であり、鍵タイプが IMPORTER、EXPORTER、または IMP-PKA である場合にのみ適用されます。 鍵形式が IM の場合、または鍵タイプが他のいずれかの場合は、NOCV-KEK を指定するとエラーが発生します。
鍵ラップ方式 (オプション)
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 これは、imported_key_identifier トークンの再ラップを禁止します。 拡張方式でラップされたトークンは元の方式で再ラップできません。
clear_key_length
方向 タイプ
入力 整数

clear_key_length は、インポートされる非暗号化鍵の値の長さ (バイト) を指定します。AES 鍵の場合、この長さは 16 バイト、24 バイト、または 32 バイトでなければなりません。 DES 鍵の場合、この長さは 8 バイト、16 バイト、または 24 バイトでなければなりません。

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

clear_key は、 インポートされる AES/DES 非暗号化鍵の値を指定します。

key_type
方向 タイプ
入力 8 文字ストリング

マスター鍵またはインポーター鍵で暗号化される鍵のタイプ。 このリストにあるキーワードやキーワード TOKEN を含まなければならない 8 バイト・フィールドを指定します。 8 文字未満のタイプの場合、右側にブランクを埋め込む必要があります。 鍵タイプが TOKEN の 場合、ICSFimported_key_identifier パラメーターで 渡される内部鍵トークンにおいて制御ベクトル (CV) フィールドにある鍵タイプを判別します。 key_type が TOKEN の場合、ICSF は鍵の長さを検査しませんが、clear_key_length パラメーターを使用して 鍵の長さを判別します。

複数セキュア鍵インポート呼び出し可能サービスの 鍵タイプ値は、CIPHER、 CIPHERXI、 CIPHERXL、 CIPHERXO、 CVARDEC、 CVARENC、 CVARPINE、 CVARXCVL、 CVARXCVR、 DATA、 DATAM、 DATAMV、 DECIPHER、 ENCIPHER、 EXPORTER、 IKEYXLAT、 IMPORTER、 IMP-PKA、 IPINENC、 MAC、 MACVER、 OKEYXLAT、 OPINENC、 PINGEN、 および PINVER です。

key_form
方向 タイプ
入力 4 文字ストリング

生成される鍵形式。 鍵をマスター鍵 (OP) で暗号化すべきかインポーター鍵暗号鍵 (IM) で暗号化すべきかを指定する 4 バイトのキーワードを入力します。 このキーワードは左寄せにして、ブランクを埋め込む必要があります。 有効な DES キーワード値は、OP (マスター鍵で暗号化する場合) または IM (インポーター鍵暗号鍵で暗号化する場合) です。 IM を指定する場合は、key_encrypting_key_identifier パラメーターでインポーター鍵暗号鍵を指定する必要があります。 key_type が IMP-PKA の場合、このサービスは OP key_form のみをサポートします。

有効な AES キーワード値は OP のみです。

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

DES インポーター鍵暗号鍵の 64 バイト・ストリング内部鍵トークン/鍵ラベル。 AES セキュア鍵の場合、このパラメーターは無視されます。

imported_key_identifier_length
方向 タイプ
入出力 整数

imported_key_identifier パラメーターのバイト長。 これは 64 以上でなければなりません。

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

出力鍵トークンを受け取る 64 バイト・ストリング。 key_form パラメーターで OP が指定されている場合、このサービスでは内部鍵トークンが返されます。 key_form パラメーターで IM が指定されている場合、このサービスでは外部鍵トークンが返されます。 入力では、key_type が TOKEN の場合を除き、このパラメーターは無視されます。 key_type として TOKEN を指定すると、このフィールドには、暗号化する鍵タイプの有効なトークンが入れられます。 有効な鍵タイプのリストについては、key_type を参照してください。 鍵トークンについては、鍵トークン・フォーマットを参照してください。

ICSF は、対称鍵トークンにおいて鍵値をラップする方式として、元の ECB ラップ方式と、ANSI X9.24 準拠の拡張 CBC ラップ方式の 2 つの方式をサポートします。 デフォルトを指定変更する規則配列キーワードが指定されていない場合、 出力 imported_key_identifier ではデフォルト方式が使用されます。

使用上の注意

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

DES NOCV 鍵暗号鍵は、標準の IMPORTER および EXPORTER に対してのみ作成できます。

鍵タイプ CIPHERXI、CIPHERXL、および CIPHERXO の場合、key_encrypting_key_identifier パラメーターに指定される 鍵暗号鍵には、鍵形式ビットで鍵半分保証固有フラグがオンになっている制御ベクトルが必要です。 鍵属性の制限呼び出し可能サービスを使用すれば、既存の鍵暗号鍵の制御ベクトルを更新できます。

アクセス制御点

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

表 2. 複数セキュア鍵インポートに必要なアクセス制御点
鍵アルゴリズムおよび鍵形式 アクセス制御点
DES OP Secure Key Import - DES, OP
DES IM Secure Key Import - DES, IM
AES OP Multiple Clear Key Import/Multiple Secure Key Import - AES

複数セキュア鍵インポート・サービスで NOCV 鍵暗号鍵を使用するには、リストされているアクセス制御点の一方または両方に 加えて、「NOCV KEK usage for import-related functions」アクセス制御点が有効になっていなければなりません。

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

鍵暗号鍵 ID が、インポートされる鍵より弱い鍵である場合は、以下のようになります。
  • 「Prohibit weak wrapping - Transport keys」アクセス制御点が有効になっている場合、サービスは失敗します。
  • 「Warn when weak wrap - Transport keys」アクセス制御点が有効になっている場合、サービスは正常に完了し、警告戻りコードが返されます。

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

鍵タイプ CIPHERXI、CIPHERXL、および CIPHERXO はサポートされていません。

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

IBM System z9 EC
IBM System z9 BC

Crypto Express2 コプロセッサー

鍵タイプ CIPHERXI、CIPHERXL、および CIPHERXO はサポートされていません。

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

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

IBM System z10 EC
IBM System z10 BC

Crypto Express2 コプロセッサー

鍵タイプ CIPHERXI、CIPHERXL、および CIPHERXO はサポートされていません。

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

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

Crypto Express3 コプロセッサー

鍵タイプ CIPHERXI、CIPHERXL、および CIPHERXO はサポートされていません。

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

IBM zEnterprise 196
IBM zEnterprise 114

Crypto Express3 コプロセッサー

鍵タイプ CIPHERXI、CIPHERXL、および CIPHERXO はサポートされていません。

IBM zEnterprise EC12
IBM zEnterprise BC12

Crypto Express3 コプロセッサー

Crypto Express4 CCA コプロセッサー

IBM z13

Crypto Express5 CCA コプロセッサー