非暗号化 PIN 生成代替 (CSNBCPA および CSNECPA)

非暗号化 PIN 生成代替サービスは、非暗号化 VISA PVV (PIN 検証値) を入力暗号化 PIN ブロックから生成したり、3624 オフセットを顧客選択の暗号化 PIN から作成したりする場合に使用します。 PIN ブロックは、入力 PIN 暗号鍵 (IPINENC) または出力 PIN 暗号鍵 (OPINENC) のいずれかで暗号化できます。

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

ANSI X9.8 PIN 標準に必要な制限を実施するには、CEX3C 以降での拡張 PIN セキュリティー・モードを使用できます。 これらの制限を実施するには、以下の制御点をドメイン役割で有効にする必要があります。
  • ANSI X9.8 PIN - Enforce PIN block restrictions
  • ANSI X9.8 PIN - Allow modification of PAN
  • ANSI X9.8 PIN - Allow only ANSI PIN blocks

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

形式

CALL CSNBCPA(
             return_code,
             reason_code,
             exit_data_length,
             exit_data,
             PIN_encryption_key_identifier,
             PIN_generation_key_identifier,
             PIN_profile,
             PAN_data,
             encrypted_PIN_block,
             rule_array_count,
             rule_array,
             PIN_check_length,
             data_array,
             returned_PVV) 

パラメーター

return_code
方向 タイプ
出力 整数

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

reason_code
方向 タイプ
出力 整数

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

exit_data_length
方向 タイプ
入出力 整数

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

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

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

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

PIN ブロックの暗号化に使用する IPINENC 鍵または OPINENC 鍵を含む内部トークン、あるいは IPINENC 鍵または OPINENC 鍵のラベルで構成された 64 バイト・ストリング。 ラベルを指定する場合、指定したラベルは IPINENC 鍵または OPINENC 鍵のいずれかに一意的に解決される必要があります。

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

PIN 生成 (PINGEN) 鍵を含む内部トークンまたは PINGEN 鍵のラベルで構成された 64 バイト・ストリング。

PIN_profile
方向 タイプ
入力 文字ストリング

フォーマット設定済み PIN ブロックから PIN を抽出するために必要な情報を含む、3 つの 8 バイト文字エレメント。 非暗号化 PIN 生成代替サービス内の 3624 または 3621 PIN ブロックから PIN を抽出するには、埋め込み数字が必要です。 追加情報については、PIN プロファイルを参照してください。

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

12 文字の PAN データを含む 12 バイト・フィールド。 個人アカウント番号は、PIN プロファイルで ISO-0 フォーマットまたは VISA-4 のブロック・フォーマットが指定されている場合に、PIN ブロックから PIN をリカバリーします。 それ以外の場合は無視されますが、このパラメーターの指定は必須です。

ISO-0 の場合、チェック・ディジットを除き、PAN の右端 12 桁を使用します。 VISA-4 の場合、チェック・ディジットを除き、PAN の左端 12 桁を使用します。

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

VISA PVV 生成アルゴリズムに入力される暗号化 PIN を含む 8 バイト・フィールド。 このサービスでは、ブロックの暗号化に PIN_encryption_key_identifier パラメーターで指定された IPINENC 鍵または OPINENC 鍵を使用します。

rule_array_count
方向 タイプ
入力 整数

rule_array パラメーターで指定された処理規則数。 値は 1、2、3 のいずれかです。

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

PIN 生成アルゴリズムの処理規則。 IBM-PINO または「VISA-PVV」(VISA PIN 検査値) を 8 バイト・フィールドに指定します。 左寄せで、ブランクを埋め込みます。 rule_array は以下のように、1 つまたは 2 つの 8 バイト・エレメントの配列を指します。

表 1. 非暗号化 PIN 生成代替サービスの規則配列エレメント
規則配列エレメント 規則配列キーワードの機能
1 PIN 計算方式
2 PIN 抽出方式

規則配列内の最初のエレメントでは、以下のような PIN 計算方式を示すキーワードの 1 つを指定する必要があります。

表 2. 非暗号化 PIN 生成代替サービスの規則配列キーワード (最初のエレメント)
PIN 計算方式キーワード 意味
IBM-PINO このキーワードは、IBM 3624 PIN オフセット計算方式の使用を指定します。
VISA-PVV このキーワードは、VISA PVV 計算方式の使用を指定します。

規則配列内の 2 番目のエレメントが指定されている場合は、表 1 に示されている PIN 抽出方式キーワードの 1 つを当該 PIN ブロック・フォーマットに指定できます。 追加情報については、PIN ブロック・フォーマットおよび PIN 抽出方式キーワードを参照してください。 PIN ブロック・フォーマット用のデフォルト抽出方式が必要な場合は、規則配列カウント値を 1 としてコーディングできます。

PIN 抽出方式は以下のように作動します。
PINBLOCK
サービスで以下のいずれかを使用することを指定します。
  • PIN 長 (PIN ブロックに PIN 長フィールドが含まれている場合)
  • PIN 区切り文字 (PIN ブロックに PIN 区切り文字が含まれている場合)
PADDIGIT
サービスで、PIN の終わりを識別するために、PIN プロファイルに埋め込み値を使用することを指定します。
HEXDIGIT
サービスで、PIN 長を決定するために、X'A' から X'F' の範囲内にある最初に現れる数字を埋め込み値として使用することを指定します。
PINLENxx
サービスで、PIN を識別するために、キーワードに指定された長さを使用することを指定します (xx は 4 桁から 16 桁の範囲)。
PADEXIST
サービスで、PIN ブロックの 16 番目の位置にある文字を埋め込み値として使用することを指定します。
PIN_check_length
方向 タイプ
入力 整数
IBM-PINO 処理規則のみに使用する PIN オフセットの長さ。 その他の場合、このパラメーターは無視されます。 4 から 16 の整数を指定します。
注: PIN 検査長は、PIN_length パラメーターで指定された整数以下でなければなりません。 PIN_check_length 変数が PIN 長より大きい場合、PIN_check_length 変数は PIN 長に設定されます。
data_array
方向 タイプ
入力 ストリング

3 つの 16 バイト・エレメント。 表 3 に、IBM-PINO が指定されている場合のフォーマットを示します。 表 4 に、VISA-PVV が指定されている場合のフォーマットを示します。

表 3. 非暗号化 PIN 生成代替サービス (IBM-PINO) のデータ配列エレメント
配列エレメント 説明
decimalization_table このエレメントには、暗号化された検証データの 16 進数字 (X'0' から X'F') を 10 進数字 (X'0' から X'9') に変換するために使用する、16 文字 (0 から 9) の 10 進法化テーブルが含まれています。
注: 「ANSI X9.8 PIN - Use stored decimalization tables only」アクセス制御点がドメイン役割内で有効になっている場合、このテーブルは、コプロセッサー内のアクティブ 10 進法化テーブルのいずれかに一致している必要があります。
validation_data このエレメントには、1 文字から 16 文字のアカウント・データが含まれています。 このデータは、左寄せにし、右側にスペース文字を埋め込む必要があります。
Reserved-3 このフィールドは無視されますが、指定は必須です。

VISA-PVV キーワードを使用する場合は、データ配列内で以下のエレメントを識別します。

表 4. 非暗号化 PIN 生成代替サービス (VISA-PVV) のデータ配列エレメント
配列エレメント 説明
Trans_sec_parm VISA-PVV の場合のみ、左端の 12 桁。 11 桁の個人アカウント番号 (PAN)。 1 桁の鍵インデックス。 フィールドの他の部分は無視されます。
Reserved-2 このフィールドは無視されますが、指定は必須です。
Reserved-3 このフィールドは無視されますが、指定は必須です。
returned_PVV
方向 タイプ
出力 文字

左寄せされ、ブランクが埋め込まれた、4 バイトの PVV を含む 16 バイトの領域。

使用上の注意

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

Visa-PVV PIN 計算方式を使用すると、出力に PIN の長さまで 2 進ゼロが埋め込まれるのではなく、常に 4 つの数字が出力されます。

アクセス制御点

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

表 5. 非暗号化 PIN 生成代替に必要なアクセス制御点
規則配列キーワード アクセス制御点
IBM-PINO Clear PIN Generate Alternate - 3624 Offset
VISA-PVV Clear PIN Generate Alternate - VISA PVV

「ANSI X9.8 PIN - Use stored decimalization tables only」アクセス制御点がドメイン役割内で有効になっている場合は、すべての 10 進法化テーブルが、コプロセッサー内のアクティブ 10 進法化テーブルのいずれかに一致している必要があります。

必須ハードウェア

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

表 6. 非暗号化 PIN 生成代替必須ハードウェア
サーバー 必須暗号化ハードウェア 制約事項

IBM eServer zSeries 990
IBM eServer zSeries 890

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

Crypto Express2 コプロセッサー

 

IBM System z9 EC
IBM System z9 BC

Crypto Express2 コプロセッサー  

IBM System z10 EC
IBM System z10 BC

Crypto Express2 コプロセッサー

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