鍵インポート (CSNBKIM および CSNEKIM)
鍵インポート呼び出し可能サービスは、インポーター鍵暗号鍵での暗号化されている鍵をマスター鍵で再暗号化する場合に使用します。 再暗号化された鍵は操作可能形式になります。
- key_type パラメーターに TOKEN を 指定し、source_key_identifier パラメーターに外部鍵トークンを指定します。 鍵タイプ情報は、外部鍵トークンにおける制御ベクトルから判別されます。
- key_type パラメーターに鍵タイプを指定し、source_key_identifier パラメーターに 外部鍵トークンを指定します。 指定された鍵タイプに外部鍵トークンにおける制御ベクトルとの互換性が必要です。
- 有効な鍵タイプを key_type パラメーターに指定し、source_key_identifier パラメーターに ヌル鍵トークンを指定します。 指定された key_type のデフォルト制御ベクトルが鍵の処理に使用されます。
DATA 鍵の場合、このサービスでは、入力トークンに含まれる鍵と同じ長さの鍵が生成されます。
AMODE(64) 呼び出しの呼び出し可能サービス名は CSNEKIM です。
形式
CALL CSNBKIM(
return_code,
reason_code,
exit_data_length,
exit_data,
key_type,
source_key_identifier,
importer_key_identifier,
target_key_identifier)
パラメーター
- return_code
-
方向 タイプ 出力 整数 戻りコードは、呼び出し可能サービスの一般的な結果を示しています。 ICSF および暗号化コプロセッサーの戻りコードおよび理由コードに、戻りコードがリストされています。
- reason_code
-
方向 タイプ 出力 整数 理由コードは、アプリケーション・プログラムに返される、呼び出し可能サービスの結果を示しています。 戻りコードにはそれぞれ、特定の処理問題を示すさまざまな理由コードがあります。 ICSF および暗号化コプロセッサーの戻りコードおよび理由コード に、理由コードがリストされています。
- exit_data_length
-
方向 タイプ 入出力 整数 インストール・システム出口に渡されるデータの長さ。 データは exit_data パラメーターで識別されます。
- exit_data
-
方向 タイプ 入出力 ストリング このデータはインストール出口に渡されます。
- key_type
-
方向 タイプ 入力 文字ストリング マスター鍵で再暗号化される鍵のタイプ。 8 バイトのキーワード、またはキーワード TOKEN を指定します。 このキーワードは左寄せにして、右側にブランクを埋め込む必要があります。
鍵タイプが TOKEN の 場合、ICSF は source_key_identifier パラメーターで 渡される外部鍵トークンにおいて制御ベクトル (CV) フィールドにある鍵タイプを判別します。
importer_key_identifier が NOCV の場合、TOKEN は使用できません。
サポートされる key_type 値は、CIPHER、 CIPHERXI、 CIPHERXL、 CIPHERXO、 DATA、 DATAM、 DATAMV、 DECIPHER、 ENCIPHER、 EXPORTER、 IKEYXLAT、 IMPORTER、 IPINENC、 MAC、 MACVER、 OKEXLAT、 OPINENC、 PINGEN、 および PINVER です。 他のすべての鍵タイプに関しては、key_type TOKEN を使用してください。
- source_key_identifier
-
方向 タイプ 入力 ストリング マスター鍵で再暗号化される鍵。 このパラメーターは、外部鍵トークンまたはヌル鍵トークンを含むインポート対象暗号化鍵の 64 バイト・フィールドです。 ヌル・トークンを指定する場合は、バイト 16 から 23 まで、またはバイト 16 から 31 まで (あるいは 3 倍長の DATA 鍵の場合は バイト 16 から 31 まで、およびバイト 48 から 55 まで) の鍵を除き、トークンはすべてバイナリー・ゼロです。 表 1を参照してください。
鍵タイプが TOKEN の場合は、 このフィールドにヌル・トークンは指定できません。
このサービスは、CV における非エクスポート機能をサポートします。
- importer_key_identifier
-
方向 タイプ 入出力 ストリング 鍵の暗号化に現在使用されているインポーター鍵暗号鍵。 このパラメーターは、暗号鍵データ・セット内の鍵の鍵ラベルを含む 64 バイト域、または鍵の内部鍵トークンを含む 64 バイト域です。 64 バイト未満の鍵ラベルを指定する場合、そのラベルは左寄せにして、ブランクを埋め込む必要があります。
注: importer_key_identifier パラメーターで NOCV インポーターを指定する場合は、 インポート対象の鍵をインポーター鍵自体で暗号化する必要があります。 - target_key_identifier
-
方向 タイプ 入出力 ストリング このパラメーターは、生成されて再暗号化された鍵です。 このパラメーターは、インポートされた鍵の内部鍵トークンを受け取る 64 バイト域です。
インポートされた鍵の TYPE が IMPORTER または EXPORTER であり、トークン鍵 TYPE が同じである 場合、target_key_identifier パラメーターの方向は入力と出力の両方に変わります。 このパラメーターで IMPORTER 鍵または EXPORTER 鍵に対して有効な内部鍵トークンをアプリケーションが渡すと、 インポートされた鍵トークンに NOCV ビットが伝搬されます。
ICSF は、対称鍵トークンにおいて鍵値をラップする方式として、元の ECB ラップ方式と、ANSI X9.24 準拠の拡張 CBC ラップ方式の 2 つの方式をサポートします。 出力される target_key_identifier では、入力としてスケルトン・トークンが指定されている場合を除き、 デフォルト・ラップ方式が使用されます。 入力としてスケルトン・トークンが指定されている場合は、スケルトン・トークンにおけるラップ方式が使用されます。
制約事項
既存の TKE ユーザーの場合は、新規のアクセス制御点を明示的に有効にしなければならないことがあります。 現行アプリケーションは、等しい鍵半分インポーターを使用して、等しくない鍵半分を持つ鍵をインポートすると、失敗します。 アクセス制御点「Key Import - Unrestricted」は明示的に有効にする必要があります。
この呼び出し可能サービスは、バージョン X'10' 外部 DES 鍵トークン (RKX 鍵トークン) をサポートしていません。
使用上の注意
呼び出し側がこの呼び出し可能サービス、鍵ラベル、または CKDS か PKDS に保管された内部セキュア鍵トークンの使用を許可されているかを検査するために、SAF が呼び出される場合があります。
NOCV 鍵の使用はアクセス制御点によって制御されます。 NOCV 鍵暗号鍵は、標準の IMPORTER および EXPORTER に対してのみ作成できます。
- ターゲット・トークン・フィールドにトークンを指定する場合、そのトークンは有効なインポーター・トークンまたはエクスポーター・トークンでなければなりません。 トークンがトークン検証をパスしない場合、処理は続行されますが、NOCV フラグはコピーされません。
- ソース・トークン (インポート対象の鍵) は、デフォルト制御ベクトルを持つインポーターまたはエクスポーターでなければなりません。
- ターゲット・トークンが有効であり、NOCV フラグがオンであり、ソース・トークンが有効であり、 ターゲット・トークンの制御ベクトルがソース・トークンと完全に同じである場合、インポートされたトークンの NOCV フラグはオンに設定されます。
- ターゲット・トークンが有効であり、NOCV フラグがオンであり、ソース・トークンが有効であり、 ターゲット・トークンの制御ベクトルがソース・トークンと完全には同じでない場合、戻りコードが返されます。
- 他のすべてのシナリオは正常に完了しますが、NOCV フラグはコピーされません。
インポートされたトークンにエクスポート禁止のマークを付けるために使用されるソフトウェア・ビットはサポートされていません。 エクスポート禁止の鍵の内部トークンには、エクスポートを禁止する適切な制御ベクトルがあります。
鍵タイプ CIPHERXI、CIPHERXL、および CIPHERXO の場合、importer_key_identifier パラメーターに指定される 鍵暗号鍵には、鍵形式ビットで鍵半分保証固有フラグがオンになっている制御ベクトルが必要です。 鍵属性の制限呼び出し可能サービスを使用すれば、既存の鍵暗号鍵の制御ベクトルを更新できます。
アクセス制御点
下表に、このサービスの機能を制御するドメイン役割内のアクセス制御点を示します。
アクセス制御点 | 制約事項 |
---|---|
鍵インポート | なし |
Key Import - Unrestricted | 鍵暗号鍵の鍵半分同士は同じものにすることができます。 |
鍵インポート・サービスで NOCV 鍵暗号鍵を使用するには、リストされているアクセス制御点の一方または両方に 加えて、「NOCV KEK usage for import-related functions」アクセス制御点が有効になっていなければなりません。
「Disallow 24-byte DATA wrapped with 16-byte Key」アクセス制御点が有効になっているときに、 ソース鍵が 3 倍長の DATA 鍵であり DES マスター鍵が 16 バイトの鍵であると、このサービスは失敗します。
必須ハードウェア
下表に、各サーバー・タイプに必要な暗号化ハードウェアを示し、この呼び出し可能サービスの制約事項について説明します。
サーバー | 必須暗号化ハードウェア | 制約事項 |
---|---|---|
IBM eServer zSeries 990 |
PCI X 暗号化コプロセッサー Crypto Express2 コプロセッサー |
鍵タイプ CIPHERXI、CIPHERXL、および CIPHERXO はサポートされていません。 IMP-PKA 鍵はサポートされていません。 |
IBM System z9 EC |
Crypto Express2 コプロセッサー | 鍵タイプ CIPHERXI、CIPHERXL、および CIPHERXO はサポートされていません。 IMP-PKA 鍵はサポートされていません。 |
IBM System z10 EC |
Crypto Express2 コプロセッサー Crypto Express3 コプロセッサー |
鍵タイプ CIPHERXI、CIPHERXL、および CIPHERXO はサポートされていません。 IMP-PKA 鍵はサポートされていません。 |
IBM zEnterprise 196 |
Crypto Express3 コプロセッサー | 鍵タイプ CIPHERXI、CIPHERXL、および CIPHERXO はサポートされていません。 IMP-PKA 鍵はサポートされていません。 |
IBM zEnterprise EC12 |
Crypto Express3 コプロセッサー Crypto Express4 CCA コプロセッサー |
IMP-PKA 鍵はサポートされていません。 |
IBM z13 |
Crypto Express5 CCA コプロセッサー | IMP-PKA 鍵はサポートされていません。 |