DK PIN 変更 (CSNBDPC および CSNEDPC)
DK PIN 変更呼び出し可能サービスを使用すると、顧客が自分の PIN を自分で選択した値に変更することができます。
現在および新規の PIN が ATM に入力されます。ATM では、それらの PIN が暗号化されて ISO-1 PIN ブロックになります。PIN およびその他の必要な情報を使用して、現在の PIN が検証されます。PIN が検証されない場合、処理は中止されます。PIN が検証されると、その PIN は PBF-O フォーマットに再フォーマットされ、提供された情報を使用して新規の 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」アクセス制御点がこのサービスの機能を制御します。
必須ハードウェア
下表に、各サーバー・タイプに必要な暗号化ハードウェアを示し、この呼び出し可能サービスの制約事項について説明します。
サーバー | 必須暗号化ハードウェア | 制約事項 |
---|---|---|
IBM eServer zSeries 990 |
このサービスはサポートされていません。 | |
IBM System z9 EC |
このサービスはサポートされていません。 | |
IBM System z10 EC |
このサービスはサポートされていません。 | |
IBM zEnterprise 196 |
Crypto Express3 コプロセッサー | DK AES PIN 鍵のサポートには、2013 年 11 月以降のライセンス内部コード (LIC) が必要です。 |
IBM zEnterprise EC12 |
Crypto Express3 コプロセッサー Crypto Express4 CCA コプロセッサー |
DK AES PIN 鍵のサポートには、2013 年 9 月以降のライセンス内部コード (LIC) が必要です。 |
IBM z13 | Crypto Express5 CCA コプロセッサー |