DK PIN 変更 (CSNBDPC および CSNEDPC)

DK PIN 変更呼び出し可能サービスを使用すると、顧客が自分の PIN を自分で選択した値に変更することができます。

現在および新規の PIN が ATM に入力されます。ATM では、それらの PIN が暗号化されて ISO-1 PIN ブロックになります。PIN およびその他の必要な情報を使用して、現在の PIN が検証されます。PIN が検証されない場合、処理は中止されます。PIN が検証されると、その PIN は PBF-O フォーマットに再フォーマットされ、提供された情報を使用して新規の PIN 参照値が作成されます。

注: 弱い PIN に関しては、指定された新規 PIN が弱い PIN テーブルに表示される場合、PIN の変更は失敗し、選択した新規 PIN が無効であったことが示されます。

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

形式

CALL CSNBDPC(
             return_code,
             reason_code,
             exit_data_length,
             exit_data,
             rule_array_count,
             rule_array,
             PAN_data_length,
             PAN_data,
             card_p_data_length,
             card_p_data,
             card_t_data_length,
             card_t_data,
             cur_ISO1_PIN_block_length,
             cur_ISO1_PIN_block,
             new_ISO1_PIN_block_length,
             new_ISO1_PIN_block,
             card_script_data_length,
             card_script_data,
             script_offset,
             script_offset_field_length,
             script_initialization_vector_length,
             script_initialization_vector,
             output_PIN_profile,
             PIN_reference_value_length,
             PIN_reference_value,
             PRW_random_number_length,
             PRW_random_number,
             PRW_key_identifier_length,
             PRW_key_identifier,
             cur_IPIN_encryption_key_identifier_length,
             cur_IPIN_encryption_key_identifier,
             new_IPIN_encryption_key_identifier_length,
             new_IPIN_encryption_key_identifier,
             script_key_identifier_length,
             script_key_identifier,
             script_MAC_key_identifier_length,
             script_MAC_key_identifier,
             new_PRW_key_identifier_length,
             new_PRW_key_identifier,
             OPIN_encryption_key_identifier_length,
             OPIN_encryption_key_identifier,
             OEPB_MAC_key_identifier_length,
             OEPB_MAC_key_identifier,
             script_length,
             script,
             script_MAC_length,
             script_MAC,
             new_PIN_reference_value_length,
             new_PIN_reference_value,
             new_PRW_random_number_length,
             new_PRW_random_number,
             output_encrypted_PIN_block_length,
             output_encrypted_PIN_block,
             PIN_block_MAC_length,
             PIN_block_MAC)

パラメーター

return_code
方向 タイプ
出力 整数

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

reason_code
方向 タイプ
出力 整数

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

exit_data_length
方向 タイプ
入出力 整数

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

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

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

rule_array_count
方向 タイプ
入力 整数

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

rule_array
方向 タイプ
入力 文字

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

表 1. DK PIN 変更サービスの規則配列キーワード。
キーワード 意味
PIN ブロック出力選択キーワード (オプションで 1 つのみ指定可能)
NOEPB 暗号化 PIN ブロック (EPB) を返しません。これがデフォルト値です。
EPB 暗号化 PIN ブロックを検証するために暗号化 PIN ブロックおよび MAC を返します。
スクリプト選択キーワード (オプションで 1 つのみ指定可能)
NOSCRIPT 暗号化 SMPIN メッセージおよび MAC を返しません。これがデフォルト値です。
TDES-CBC CBC モードを使用して、スクリプトを暗号化します。
TDES-ECB ECB モードを使用して、スクリプトを暗号化します。
PIN 暗号化キーワード (オプションで 1 つのみ指定可能):
  • 上記の TDES-CBC または TDES-ECB が選択されている場合のみ有効。
CLEARPIN スクリプト・ブロックに挿入する前に PIN を暗号化してはなりません。これがデフォルト値です。
SELF-ENC 自己暗号化 PIN ブロックを非暗号化出力メッセージ内の非暗号化 PIN ブロックにコピーします。 この規則配列キーワードを使用して、PIN ブロックを暗号化するための DES キーとして 8 バイトの PIN ブロックを使用することを指定します。このサービスは、自己暗号化 PIN ブロックを出力メッセージ内の非暗号化 PIN ブロックにコピーします。
MAC 暗号方式 (オプションで 1 つのみ指定可能):
  • 上記の TDES-CBC または TDES-ECB が選択されている場合のみ有効。
EMVMACD EMV 関連のメッセージ埋め込みおよび計算方式を指定します。
TDES-MAC ANS X9.9 オプション 1 (2 進データ) 手順、およびデータの CBC Triple-DES 暗号化を指定します。
X9.19OPT ANS X9.19 オプション手順を指定します。倍長の鍵が必要になります。これがデフォルト値です。
MAC の長さおよび表示 (オプション):
  • 上記の TDES-CBC または TDES-ECB が選択されている場合のみ有効。
MACLEN8 8 バイトの MAC を指定します。これがデフォルト値です。
PAN_data_length
方向 タイプ
入力 整数

PAN_data パラメーターの長さ (バイト) を指定します。値は 10 から 19 の範囲でなければなりません。

PAN_data
方向 タイプ
入力 文字

PIN が関連付けられている PAN データ。チェック・ディジットを含むアカウント番号全体が含まれている必要があります。 このパラメーターは文字データです。

card_p_data_length
方向 タイプ
入力 整数

card_p_data パラメーターの長さ (バイト) を指定します。値は 2 から 256 の範囲でなければなりません。

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

カード発行者によって決定される時不変カード・データ (CDp)。これは、1 つのアカウントの複数のカードを区別するために使用されます。

card_t_data_length
方向 タイプ
入力 整数

card_t_data パラメーターの長さ (バイト) を指定します。値は 2 から 256 の範囲でなければなりません。

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

カード発行者によって決定される時間依存カード・データ。このデータと、アカウント番号および card_p_data により、個人カードが指定されます。

cur_ISO1_PIN_block_length
方向 タイプ
入力 整数

cur_ISO1_PIN_block パラメーターの長さ (バイト) を指定します。この値は 8 でなければなりません。

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

ISO-1 フォーマットの現在の PIN が含まれた 8 バイトの暗号化 PIN ブロック。

new_ISO1_PIN_block_length
方向 タイプ
入力 整数

new_ISO1_PIN_block パラメーターの長さ (バイト) を指定します。この値は 8 でなければなりません。

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

顧客が選択した PIN が含まれた新規の暗号化 PIN ブロック。PIN ブロックは ISO-1 フォーマットでなければなりません。

card_script_data_length
方向 タイプ
入力 整数

card_script_data パラメーターの長さ (バイト) を指定します。NOSCRIPT が規則配列に指定されている場合、この値は 0 でなければなりません。 それ以外の場合、この値は 4096 以下の 8 の倍数でなければなりません。

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

非暗号化 PIN ブロックで更新されて暗号化される非暗号化テキスト・ストリング。

script_offset
方向 タイプ
入力 整数

スクリプト内の PIN ブロックの位置までのオフセット。 非暗号化テキストの最初のバイトをオフセット 0 として指定します。このオフセットに script_offset_field_length の値を加えた値は、card_script_data_length 以下でなければなりません。NOSCRIPT が規則配列に指定されている場合、このパラメーターは無視されます。

script_offset_field_length
方向 タイプ
入力 整数

新規 PIN 値が配置される script_offset にある card_script_text パラメーター内のフィールドの長さ。長さは 8 でなければなりません。PIN ブロックは、card_script_text 内に完全に収まっている必要があります。NOSCRIPT が規則配列に指定されている場合、このパラメーターは無視されます。

script_initialization_vector_length
方向 タイプ
入力 整数

script_initialization_vector パラメーターの長さ (バイト) を指定します。NOSCRIPT または TDES-ECB が規則配列に指定されている場合、この値は 0 でなければなりません。それ以外の場合は、8 でなければなりません。

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

スクリプトを暗号化するための 8 バイトの初期化データ。このパラメーターの値は、16 進ゼロからなるストリングでなければなりません。script_initialization_vector_length が 0 の場合、このパラメーターは無視されます。

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

スクリプトの PIN ブロック・フォーマットを含む PIN プロファイルが含まれた 24 バイトのストリング。追加情報については、『PIN プロファイル』を参照してください。このサービスでは、PIN ブロック・フォーマット ISO-0、ISO-1、ISO-2、および ISO-3 を使用できます。NOSCRIPT が規則配列に指定されている場合、このパラメーターは無視されます。

PIN_reference_value_length
方向 タイプ
入力 整数

PIN_reference_value パラメーターの長さ (バイト) を指定します。この値は 16 でなければなりません。

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

計算された値と比較するための、現在の PIN の 16 バイトの PIN 参照値。

PRW_random_number_length
方向 タイプ
入力 整数

PRW_random_number パラメーターの長さ (バイト) を指定します。値は 4 でなければなりません。

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

現在の PIN の PIN 参照値に関連付けられた 4 バイトの乱数。

PRW_key_identifier_length
方向 タイプ
入力 整数

PRW_key_identifier パラメーターの長さ (バイト) を指定します。PRW_key_identifier にラベルが含まれている場合、長さは 64 でなければなりません。それ以外の場合、この値は、トークンの実際の長さと 725 の間でなければなりません。

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

現在の PIN ブロックの PRW を検証するための鍵の ID。この鍵 ID は、操作可能トークンであるか、または鍵ストレージ内の操作可能トークンの鍵ラベルです。この鍵の鍵アルゴリズムは AES でなければならず、鍵タイプは PINPRW でなければなりません。また、鍵用途フィールドには VERIFY、CMAC、および DKPINOP が指定されている必要があります。

指定されたトークンが旧マスター鍵で暗号化されていた場合、このトークンは現行マスター鍵で暗号化されて返されます。

cur_IPIN_encryption_key_identifier_length
方向 タイプ
入力 整数

cur_IPIN_encryption_key_identifier パラメーターの長さ (バイト) を指定します。cur_IPIN_encryption_key_identifier にラベルが含まれている場合、長さは 64 でなければなりません。それ以外の場合、この値は、トークンの実際の長さと 725 の間でなければなりません。

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

現在の PIN を含む PIN_block を暗号化解除するための鍵の ID。この鍵 ID は、操作可能トークンであるか、または鍵ストレージ内の操作可能トークンの鍵ラベルです。この鍵の鍵アルゴリズムは DES でなければならず、鍵タイプは IPINENC でなければなりません。

指定されたトークンが旧マスター鍵で暗号化されていた場合、このトークンは現行マスター鍵で暗号化されて返されます。

new_IPIN_encryption_key_identifier_length
方向 タイプ
入力 整数

new_IPIN_encryption_key_identifier パラメーターの長さ (バイト) を指定します。new_IPIN_encryption_key_identifier にラベルが含まれている場合、長さは 64 でなければなりません。それ以外の場合、この値は、トークンの実際の長さと 725 の間でなければなりません。

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

新規 PIN を含む PIN_block を暗号化解除するための鍵の ID。この鍵 ID は、操作可能トークンであるか、または鍵ストレージ内の操作可能トークンの鍵ラベルです。この鍵の鍵アルゴリズムは DES でなければならず、鍵タイプは IPINENC でなければなりません。

指定されたトークンが旧マスター鍵で暗号化されていた場合、このトークンは現行マスター鍵で暗号化されて返されます。

script_key_identifier_length
方向 タイプ
入力 整数

script_key_identifier パラメーターの長さ (バイト) を指定します。スクリプトが処理されないことが規則配列によって示されている場合、この値は 0 でなければなりません。script_key_identifier にラベルが含まれている場合、長さは 64 でなければなりません。それ以外の場合、この値は、トークンの実際の長さと 725 の間でなければなりません。

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

スクリプトを暗号化解除するための鍵の ID。この鍵 ID は、操作可能トークンであるか、または鍵ストレージ内の操作可能トークンの鍵ラベルです。この鍵の鍵アルゴリズムは DES でなければならず、鍵タイプは、SMPIN 使用ビット (CV ビット 19) が B'1' に設定された SECMSG 鍵タイプでなければなりません。

指定されたトークンが旧マスター鍵で暗号化されていた場合、このトークンは現行マスター鍵で暗号化されて返されます。

script_MAC_key_identifier_length
方向 タイプ
入力 整数

script_MAC_key_identifier パラメーターの長さ (バイト) を指定します。スクリプトが処理されないことが規則配列によって示されている場合、この値は 0 でなければなりません。script_MAC_key_identifier にラベルが含まれている場合、長さは 64 でなければなりません。それ以外の場合、この値は、トークンの実際の長さと 725 の間でなければなりません。

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

スクリプトの MAC を生成する鍵の ID。 この鍵 ID は、操作可能トークンであるか、または鍵ストレージ内の操作可能トークンの鍵ラベルです。この鍵の鍵アルゴリズムは DES でなければならず、鍵タイプは MAC でなければなりません。また、鍵は倍長でなければなりません。

指定されたトークンが旧マスター鍵で暗号化されていた場合、このトークンは現行マスター鍵で暗号化されて返されます。

new_PRW_key_identifier_length
方向 タイプ
入力 整数

new_PRW_key_identifier パラメーターの長さ (バイト) を指定します。new_PRW_key_identifier にラベルが含まれている場合、長さは 64 でなければなりません。それ以外の場合、この値は、トークンの実際の長さと 725 の間でなければなりません。

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

新規 PRW を検証するための鍵の ID。この鍵 ID は、操作可能トークンであるか、または鍵ストレージ内の操作可能トークンの鍵ラベルです。この鍵の鍵アルゴリズムは AES でなければならず、鍵タイプは PINPRW でなければなりません。また、鍵用途フィールドには GENONLY、CMAC、および DKPINOP が指定されている必要があります。

指定されたトークンが旧マスター鍵で暗号化されていた場合、このトークンは現行マスター鍵で暗号化されて返されます。

OPIN_encryption_key_identifier_length
方向 タイプ
入力 整数

OPIN_encryption_key_identifier パラメーターの長さ (バイト) を指定します。暗号化 PIN ブロックが返されないことが規則配列によって示されている場合、この値は 0 でなければなりません。OPIN_encryption_key_identifier にラベルが含まれている場合、長さは 64 でなければなりません。それ以外の場合、この値は、トークンの実際の長さと 725 の間でなければなりません。

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

新規 PIN ブロックを暗号化するための鍵の ID。この鍵 ID は、操作可能トークンであるか、または鍵ストレージ内の操作可能トークンの鍵ラベルです。OPIN_encryption_key_identifier_length が 0 の場合、このパラメーターは無視されます。この鍵の鍵アルゴリズムは AES でなければならず、鍵タイプは PINPROT でなければなりません。また、鍵用途フィールドには ENCRYPT、CBC、および DKPINOP が指定されている必要があります。

指定されたトークンが旧マスター鍵で暗号化されていた場合、このトークンは現行マスター鍵で暗号化されて返されます。

OEPB_MAC_key_identifier_length
方向 タイプ
入力 整数

OEPB_MAC_key_identifier パラメーターの長さ (バイト) を指定します。暗号化 PIN ブロック MAC が返されないことが規則配列によって示されている場合、この値は 0 でなければなりません。OEPB_MAC_key_identifier にラベルが含まれている場合、長さは 64 でなければなりません。それ以外の場合、この値は、トークンの実際の長さと 725 の間でなければなりません。

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

新規 PIN ブロックの MAC を生成する鍵の ID。 この鍵 ID は、操作可能トークンであるか、または鍵ストレージ内の操作可能トークンの鍵ラベルです。OEPB_MAC_key_identifier_length が 0 の場合、このパラメーターは無視されます。この鍵の鍵アルゴリズムは AES でなければならず、鍵タイプは MAC でなければなりません。また、鍵用途フィールドには CMAC、GENONLY、および DKPINOP が指定されている必要があります。

指定されたトークンが旧マスター鍵で暗号化されていた場合、このトークンは現行マスター鍵で暗号化されて返されます。

script_length
方向 タイプ
入出力 整数

script パラメーターの長さ (バイト) を指定します。規則配列に TDES-CBC または TDES-ECB が指定されている場合、この値は少なくとも script パラメーターと同じ長さでなければなりません。その他の場合、値は 0 でなければなりません。

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

暗号化された出力スクリプト。フィールドの長さは、少なくとも入力スクリプトと同じ長さでなければなりません。

script_MAC_length
方向 タイプ
入出力 整数

script_MAC パラメーターの長さ (バイト) を指定します。NOSCRIPT キーワードが選択されている場合、この値は 0 でなければなりません。それ以外の場合は、少なくとも 8 でなければなりません。

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

暗号化スクリプトの 8 バイトの MAC。script_MAC_length が 0 の場合、このパラメーターは無視されます。

new_PIN_reference_value_length
方向 タイプ
入出力 整数

new_PIN_reference_value パラメーターの長さ (バイト) を指定します。値は少なくとも 16 でなければなりません。 出力では、16 に設定されます。

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

新規 PIN ブロックの 16 バイトの新規 PIN 参照値。

new_PRW_random_number_length
方向 タイプ
入出力 整数

new_PRW_random_number パラメーターの長さ (バイト) を指定します。値は少なくとも 4 でなければなりません。出力では、4 に設定されます。

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

新規 PIN 参照値に関連付けられた 4 バイトの乱数。

output_encrypted_PIN_block_length
方向 タイプ
入出力 整数

output_encrypted_PIN_block パラメーターの長さ (バイト) を指定します。暗号化 PIN ブロックが返されないことが規則配列によって示されている場合、この値は 0 でなければなりません。それ以外の場合は、32 以上の値にする必要があります。出力では、32 に設定されます。

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

32 バイトの新規暗号化 PIN ブロック。output_encrypted_PIN_block_length が 0 の場合、このパラメーターは無視されます。

PIN_block_MAC_length
方向 タイプ
入出力 整数

PIN_block_MAC パラメーターの長さ (バイト) を指定します。PIN ブロック MAC が返されないことが rule_array によって示されている場合、この値は 0 でなければなりません。それ以外の場合は、少なくとも 8 でなければなりません。

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

新規暗号化 PIN ブロックの 8 バイトの MAC。PIN_block_MAC_length が 0 の場合、このパラメーターは無視されます。

使用上の注意

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

アクセス制御点

ドメイン役割内の「DK PIN Change」アクセス制御点がこのサービスの機能を制御します。

必須ハードウェア

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

表 2. DK PIN 変更の必須ハードウェア
サーバー 必須暗号化ハードウェア 制約事項

IBM eServer zSeries 990
IBM eServer zSeries 890

  このサービスはサポートされていません。

IBM System z9 EC
IBM System z9 BC

  このサービスはサポートされていません。

IBM System z10 EC
IBM System z10 BC

  このサービスはサポートされていません。

IBM zEnterprise 196
IBM zEnterprise 114

Crypto Express3 コプロセッサー DK AES PIN 鍵のサポートには、2013 年 11 月以降のライセンス内部コード (LIC) が必要です。

IBM zEnterprise EC12
IBM zEnterprise BC12

Crypto Express3 コプロセッサー

Crypto Express4 CCA コプロセッサー

DK AES PIN 鍵のサポートには、2013 年 9 月以降のライセンス内部コード (LIC) が必要です。
IBM z13 Crypto Express5 CCA コプロセッサー