鍵パーツ・インポート (CSNBKPI および CSNEKPI)

鍵パーツ・インポート呼び出し可能サービスを使用すれば、排他的論理和によって任意の DES 鍵タイプの非暗号化鍵パーツを結合し、 結合した鍵の値を内部トークンに入れて返したり、CKDS に対する更新として返したりできます。

最初の鍵パーツに対して鍵パーツ・インポート・サービスを使用する前に、鍵トークン作成サービスを使用して、 鍵のインポート先となる内部鍵トークンを作成する必要があります。 後続の鍵パーツは、内部トークン・フォームにおいて、または CKDS からのラベルとして、最初のパーツに結合されます。

鍵パーツを指定する場合は、rule_array に FIRST、ADD-PART、および COMPLETE を使用することをお勧めします。 結合された鍵パーツが COMPLETE としてマークされている場合にのみ、対象の鍵トークンを他のサービスで使用できます。 rule_array に FIRST、MIDDLE、または LAST として鍵パーツを指定することもできます。 ADD-PART または MIDDLE は、必要な数の鍵パーツに対して何度でも実行できます。 LAST パーツが結合されている場合にのみ、対象の鍵トークンを他のサービスで使用できます。

新規アプリケーションでは、鍵パーツ情報を追加できるユーザーと、適切な情報が鍵に累積されたことを宣言できるユーザーの間で責任を 分けるために、MIDDLE キーワードおよび LAST キーワードの代わりに ADD-PART キーワードおよび COMPLETE キーワードを使用する必要があります。

鍵パーツ・インポート呼び出し可能サービスを使用すれば、鍵パーツを使用せずに鍵をインポートすることもできます。 鍵パーツ値 X'0000...' を指定して鍵パーツ・インポート・サービス FIRST を呼び出した後に、 完了値で鍵パーツ・インポート・サービス LAST を呼び出します。

このサービスによって作成された鍵は奇数パリティーを持ちます。 FIRST 鍵パーツは、奇数パリティーになるように調整されます。 後続の鍵パーツはすべて、結合される前に、偶数パリティーになるように調整されます。

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

形式

CALL CSNBKPI(
             return_code,
             reason_code,
             exit_data_length,
             exit_data,
             rule_array_count,
             rule_array,
             key_part,
             key_identifier)

パラメーター

return_code
方向 タイプ
出力 整数

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

reason_code
方向 タイプ
出力 整数

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

exit_data_length
方向 タイプ
入出力 整数

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

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

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

rule_array_count
方向 タイプ
入力 整数

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

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

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

表 1. 鍵パーツ・インポート制御情報のキーワード
キーワード 意味
鍵パーツ (必須)
FIRST このキーワードは、最初の鍵パーツが入力されることを指定します。 この呼び出し可能サービスでは、この鍵パーツがマスター鍵で暗号化されて指定の鍵トークンに入れられて返されます。
ADD-PART このキーワードは、追加の鍵パーツ情報が指定されることを示します。
COMPLETE このキーワードは、鍵の制御ベクトルにおいて鍵パーツ・ビットをオフにして 鍵を完全に操作可能にすることを指定します。 このキーワードでは鍵に鍵パーツ情報は追加されないことに注意してください。
MIDDLE このキーワードは、中間の鍵パーツ (最初の鍵パーツでも最後の鍵パーツでもないもの) が入力されることを指定します。 このキーワードのコマンド制御点は LAST キーワードのコマンド制御点と同じであり、ADD-PART キーワードのコマンド制御点とは異なることに注意してください。
LAST このキーワードは、最後の鍵パーツが入力されることを指定します。 制御ベクトルにおいて鍵パーツ・ビットがオフになります。
鍵ラップ方式 (オプション)
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 ラップが使用される) を使用します。
key_part
方向 タイプ
入力 ストリング

入力対象の非暗号化鍵パーツを含む 16 バイト・フィールドです。 対象の鍵が単一長の鍵の場合は、鍵パーツを左寄せにして、右側にゼロを埋め込む必要があります。 COMPLETE が指定されている場合、このフィールドは無視されます。

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

内部トークンを含む 64 バイト・フィールド、 または既存の CKDS レコードのラベルを含む 64 バイト・フィールド。 rule_array が FIRST の場合、このフィールドは、KEY-PART でマークされている単一長/倍長の鍵の内部トークンのスケルトンです。 rule_array が MIDDLE または LAST の場合、これは内部トークンであるか、 または部分的に結合された鍵の CKDS レコードのラベルです。 入力フォーマットに応じて、累積された部分的な鍵や完全な鍵が、内部トークンまたは更新された CKDS レコードとして返されます。 返された key_identifier は現行マスター鍵で暗号化されます。

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

制約事項

key_identifier でラベルを指定する場合、そのラベルは固有でなければなりません。 複数のレコードが検出されると、サービスは失敗します。

既存の TKE ユーザーの場合は、新規のアクセス制御点を明示的に有効にしなければならないことがあります。 アクセス制御点「Key Part Import - Unrestricted」は明示的に有効にする必要があります。 そうしないと、以下のいずれかの条件で現行アプリケーションが失敗します。
  • 鍵 ID の最初の 8 バイトが 2 番目の 8 バイトと異なり、結合された鍵の最初の 8 バイトが後ろから 2 番目の 8 バイトと同じである
  • 鍵 ID の最初の 8 バイトが 2 番目の 8 バイトと同じであり、結合された鍵の最初の 8 バイトが 2 番目の 8 バイトと異なる

この呼び出し可能サービスは、バージョン X'00' または X'01' の DES 鍵トークンのみをサポートします。

アクセス制御点

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

表 2. 鍵パーツ・インポートに必要なアクセス制御点
規則配列キーワード アクセス制御点
FIRST Key Part Import - first key part
MIDDLE または LAST Key Part Import - middle and last
ADD-PART 鍵パーツのインポート - ADD-PART
COMPLETE 鍵パーツのインポート - COMPLETE
WRAP-ECB/WRAP-ENH およびデフォルト鍵ラップ方式の設定がキーワードに適合しない Key Part Import - Allow wrapping override keywords

「複製された鍵半分」の鍵 (倍長の鍵の非暗号化テキストの左右の半分が等しい) は、左右の鍵半分が等しくない倍長の鍵ほどセキュアではありません。 ドメイン役割で「Key Part Import - Unrestricted」アクセス制御点が無効になっている場合、鍵パーツ・インポート・サービス verb は、 前述の鍵半分の制限を適用します。

必須ハードウェア

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

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

IBM eServer zSeries 990
IBM eServer zSeries 890

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

Crypto Express2 コプロセッサー

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

IBM System z9 EC
IBM System z9 BC

Crypto Express2 コプロセッサー

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

IBM System z10 EC
IBM System z10 BC

Crypto Express2 コプロセッサー

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

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

関連情報

このサービスは、Transaction Security System 鍵パーツ・インポート verb と整合性があります。