PIN 変更/ブロック解除 (CSNBPCU および CSNEPCU)

PIN 変更/ブロック解除呼び出し可能サービスは、IC カード (スマート・カード) で受け入れられる PIN を変更するための特殊 PIN ブロックを生成する場合に使用します。 特殊 PIN ブロックは、新規 PIN とカード固有変形鍵、およびオプションでスマート・カードの現行 PIN に基づいています。 新規 PIN ブロックはセッション鍵で暗号化されます。 セッション鍵は 2 ステップのプロセスで導出されます。 最初に、変形鍵生成呼び出し可能サービスの TDES-ENC アルゴリズムを使用して、カード固有変形鍵 (ICC マスター鍵) が導出されます。 続いて、以下のように、規則配列アルゴリズムに従ってセッション鍵が生成されます。
  • TDES-XOR - アプリケーション・トランザクション・カウンター (ATC) を持つ XOR ICC マスター鍵
  • TDESEMV2 - 分岐因数 2 を使用する EMV2000 アルゴリズムを使用
  • TDESEMV4 - 分岐因数 4 を使用する EMV2000 アルゴリズムを使用

生成する DKYGENKY には、複製された鍵の半分を含めることはできません。 encryption_issuer_master_key_identifier は、SMPIN 鍵の生成を許可する DKYGENKY です。 authentication_issuer_master_key_identifier も、倍長 MAC 鍵の生成を許可する DKYGENKY です。

PIN ブロック・フォーマットは、VISA ICC カード仕様: 相互排他規則配列キーワード AMEXPCU1、AMEXPCU2、VISAPCU1、および VISAPCU2 で指定されます。 これらのキーワードは、新規 PIN の生成で現行 PIN を使用するかどうかを指示します。
  • VISAPCU1 は、new_reference_PIN_block 変数にある暗号化 PIN ブロック内の PIN を使用せずに、カードの新規 PIN を作成します。 5 つの current_reference_PIN_ 変数の内容は無視されます。
  • VISAPCU2 は、current_reference_PIN_block 変数にある暗号化 PIN ブロック内の現行 PIN を使用して、カードの既存 PIN を提供します。 また、new_reference_PIN_block 変数内の暗号化 PIN ブロックで新規 PIN 値を提供します。
  • AMEXPCU1 は、新規参照 PIN、スマート・カード固有の中間鍵、および現行参照 PIN から出力 PIN を作成します。
  • AMEXPCU2 は、新規参照 PIN およびスマート・カード固有の中間鍵から出力 PIN を作成します。

暗号化 PIN ブロックから PIN を抽出するために、拡張 PIN セキュリティー・モードを使用できます。 このモードは、IBM 3621 または IBM 3624 の PIN ブロックに対して PIN 抽出方式を指定した場合にのみ適用されます。 これを行うには、「PTR Enhanced PIN Security」アクセス制御点をドメイン役割で有効にする必要があります。 このモードがアクティブ化されると、PIN の検査は 10 進数字に限定され、最小 4 の PIN 長が適用されます。 その他の PIN ブロック整合性検査は行われません。

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

形式

CALL CSNBPCU(
             return_code,
             reason_code,
             exit_data_length,
             exit_data,
             rule_array_count,
             rule_array,
             authentication_issuer_master_key_length,
             authentication_issuer_master_key_identifier,
             encryption_issuer_master_key_length,
             encryption_issuer_master_key_identifier,
             key_generation_data_length,
             key_generation_data,
             new_reference_PIN_key_length,
             new_reference_PIN_key_identifier,
             new_reference_PIN_block,
             new_reference_PIN_profile,
             new_reference_PIN_PAN_data,
             current_reference_PIN_key_length,
             current_reference_PIN_key_identifier,
             current_reference_PIN_block,
             current_reference_PIN_profile,
             current_reference_PIN_PAN_data, 
             output_PIN_data_length,
             output_PIN_data,
             output_PIN_profile,
             output_PIN_message_length,
             output_PIN_message)

パラメーター

return_code
方向 タイプ
出力 整数

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

reason_code
方向 タイプ
出力 整数

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

exit_data_length
方向 タイプ
入出力 整数

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

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

インストール・システム出口に渡されるデータ。

rule_array_count
方向 タイプ
入力 整数

rule_array パラメーターで指定するキーワード数。 有効な値は 1 および 2 です。

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

制御情報を呼び出し可能サービスに提供するキーワード。 キーワードは、8 バイト・フィールドで左寄せされ、右側にブランクが埋め込まれます。 キーワードは連続するストレージ内になければなりません。 以下のオプションの 1 つまたは 2 つを指定してください。

表 1. PIN 変更/ブロック解除の規則配列キーワード
キーワード 意味
アルゴリズム (オプション)
TDES-XOR 中間 (カード固有) 鍵を生成するために非暗号化データを TDES 暗号化し、続いて ATC カウンターを使用して各鍵の末尾 2 バイトの XOR を実行します。 これがデフォルトです。
TDESEMV2 変形鍵生成サービスの場合と同じ処理。
TDESEMV4 変形鍵生成サービスの場合と同じ処理。
PIN 処理方式 (必須)
VISAPCU1 新規参照 PIN およびスマート・カード固有の中間鍵から新規 PIN を形成します。
VISAPCU2 新規参照 PIN、スマート・カード固有の中間 (カード固有) 鍵、および現行参照 PIN から新規 PIN を形成します。
AMEXPCU1 新規参照 PIN、スマート・カード固有の中間鍵、および現行参照 PIN から新規 PIN を形成します。
AMEXPCU2 新規参照 PIN およびスマート・カード固有の中間鍵から新規 PIN を形成します。
authentication_issuer_master_key_length
方向 タイプ
入力 整数

authentication_issuer_master_key_identifier パラメーターの長さ。 値は 64 でなければなりません。

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

カード固有変形鍵の生成に使用する DKYGENKY 鍵タイプのラベル名または内部トークン。 この鍵の制御ベクトルは、倍長 MAC 鍵 (DMAC) の生成を許可する DKYL0 鍵でなければなりません。 この DKYGENKY には、複製された鍵の半分を含めることはできません。

encryption_issuer_master_key_length
方向 タイプ
入力 整数

encryption_issuer_master_key_identifier パラメーターの長さ。 値は 64 でなければなりません。

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

カード固有変形鍵、および出力 PIN ブロックの保護用セキュア・メッセージング・セッション鍵を生成するために使用する DKYGENKY 鍵タイプのラベル名または内部トークン。 この鍵の制御ベクトルは、SMPIN 鍵タイプの生成を許可する DKYL0 鍵でなければなりません。 この DKYGENKY には、複製された鍵の半分を含めることはできません。

key_generation_data_length
方向 タイプ
入力 整数

key_generation_data パラメーターの長さ。 この値は 10 バイト、18 バイト、26 バイト、または 34 バイトでなければなりません。

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

カード固有セッション鍵を生成するために提供されるデータ。 TDES-XOR の場合、これは、カード固有変形鍵を生成するために TDES で処理される 8 バイトまたは 16 バイトのデータと、それに続く、セッション鍵を形成するためにカード固有変形鍵をオフセットするための 16 ビット ATC カウンターから構成されます。 TDESEMV2 および TDESEMV4 の場合、これは 10 バイト、18 バイト、26 バイト、または 34 バイトにすることができます。 詳しくは、変形鍵の生成 (CSNBDKG および CSNEDKG)を参照してください。

new_reference_PIN_key_length
方向 タイプ
入力 整数

new_reference_PIN_key_identifier パラメーターの長さ。 値は 64 でなければなりません。

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

new_reference_PIN_block の暗号化解除に使用する PIN 暗号鍵のラベル名または内部トークン。 IPINENC 鍵または OPINENC 鍵でなければなりません。 ラベル名が指定されている場合、その名前は CKDS 内で固有でなければなりません。

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

新規 PIN の暗号化 PIN ブロックを含む 8 バイト・フィールドです。

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

PIN ブロック・フォーマット・キーワード、フォーマット制御キーワード (NONE)、および特定のフォーマットで必要な埋め込み数字の、3 つの 8 バイト・エレメントを含む 24 バイト・フィールドです。

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

文字フォーマットの PAN を含む 12 バイト・フィールドです。 このデータは、フォーマットが ISO-0 または VISA-4 の場合に、新規参照 PIN のリカバリーに必要になる場合があります。 どちらのフォーマットも使用されていない場合、このパラメーターはブランクにできます。

current_reference_PIN_key_length
方向 タイプ
入力 整数

current_reference_PIN_key_identifier パラメーターの長さ。 値は 64 でなければなりません。 rule_array に VISAPCU1 または AMEXPCU2 が含まれている場合、この値は 0 でなければなりません。

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

current_reference_PIN_block の暗号化解除に使用する PIN 暗号鍵のラベル名または内部トークン。 IPINENC 鍵または OPINENC 鍵でなければなりません。 ラベル名が指定されている場合、その名前は CKDS 内で固有でなければなりません。 rule_array に VISAPCU1 または AMEXPCU2 が含まれている場合、この値は 0 無視されます。

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

新規 PIN の暗号化 PIN ブロックを含む 8 バイト・フィールドです。 rule_array に VISAPCU1 または AMEXPCU2 が含まれている場合、この値は 0 無視されます。

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

PIN ブロック・フォーマット・キーワード、フォーマット制御キーワード (NONE)、および特定のフォーマットで必要な埋め込み数字の、3 つの 8 バイト・エレメントを含む 24 バイト・フィールドです。 rule_array に VISAPCU1 または AMEXPCU2 が含まれている場合、この値は 0 無視されます。

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

文字フォーマットの PAN を含む 12 バイト・フィールドです。 VISAPCU2 または AMEXPCU1 の rule_array キーワードが存在し、PIN プロファイルで ISO-0 または ISO-3 の PIN ブロック・フォーマットが指定されている場合、この変数には PAN データが含まれます。 PAN データは、PIN を ISO-0 または ISO-3 の PIN ブロックからリカバリーするために使用されます。

output_PIN_data_length
方向 タイプ
入力 整数

このパラメーターの値は 0 でなければなりません。

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

このフィールドは予約済みです。

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

PIN ブロック・フォーマット・キーワード (VISAPCU1、VISAPCU2、AMEXPCU1、または AMEXPCU2)、フォーマット制御キーワード NONE (左寄せされ、右側はスペース文字で埋め込まれます)、および 8 バイト・スペースの、3 つの 8 バイト・エレメントを含む 24 バイト・フィールドです。

output_PIN_message_length
方向 タイプ
入出力 整数

output_PIN_message フィールドの長さ。 値は VISAPCU1 および VISAPCU2 の場合は 16 以上、AMEXPCU1 および AMEXPCU2 の場合は 8 以上でなければなりません。

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

SMPIN セッション鍵で暗号化された新規参照 PIN を持つ再フォーマット済み PIN ブロック。

使用上の注意

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

アクセス制御点

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

表 2. PIN 変更/ブロック解除に必要なアクセス制御点
PIN ブロック暗号鍵タイプ アクセス制御点
OPINENC PIN Change/Unblock - change EMV PIN with OPINENC
IPINENC PIN Change/Unblock - change EMV PIN with IPINENC

authentication_key_identifier または encryption_key_identifier が B'1111' の制御ベクトル・ビット (19 - 22) とともに指定されている場合は、「Diversified Key Generate - DKYGENKY - DALL」アクセス制御点も有効になっている必要があります。

必須ハードウェア

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

表 3. PIN 変更/ブロック解除ハードウェア
サーバー 必須暗号化ハードウェア 制約事項

IBM eServer zSeries 990
IBM eServer zSeries 890

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

Crypto Express2 コプロセッサー

ISO-3 PIN ブロック・フォーマットはサポートされていません。

AMEXPCU1 キーワードおよび AMEXPCU2 キーワードはサポートされていません。

IBM System z9 EC
IBM System z9 BC

Crypto Express2 コプロセッサー

ISO-3 PIN ブロック・フォーマットには、2007 年 11 月以降のライセンス内部コード (LIC) が必要です。

AMEXPCU1 キーワードおよび AMEXPCU2 キーワードには、2012 年 5 月以降のバージョンの LIC が必要です。

IBM System z10 EC
IBM System z10 BC

Crypto Express2 コプロセッサー

Crypto Express3 コプロセッサー

ISO-3 PIN ブロック・フォーマットには、2007 年 11 月以降のライセンス内部コード (LIC) が必要です。

AMEXPCU1 キーワードおよび AMEXPCU2 キーワードには、2012 年 5 月以降のバージョンの Crypto Express2 の LIC が必要です。

AMEXPCU1 キーワードおよび AMEXPCU2 キーワードには、2012 年 6 月以降のバージョンの Crypto Express3 の LIC が必要です。

IBM zEnterprise 196
IBM zEnterprise 114

Crypto Express3 コプロセッサー

AMEXPCU1 キーワードおよび AMEXPCU2 キーワードには、2012 年 6 月以降のバージョンの LIC が必要です。

IBM zEnterprise EC12
IBM zEnterprise BC12

Crypto Express3 コプロセッサー

Crypto Express4 CCA コプロセッサー

AMEXPCU1 キーワードおよび AMEXPCU2 キーワードには、2012 年 6 月以降のバージョンの Crypto Express3 の LIC が必要です。

AMEXPCU1 キーワードおよび AMEXPCU2 キーワードには、2012 年 9 月以降のバージョンの Crypto Express4 の LIC が必要です。

IBM z13

Crypto Express5 CCA コプロセッサー