Google Pay のパーソナライズ
TSHはGoogle Payソリューション向けのEMVアプリケーションを完全にパーソナライズすることが可能です。以下は「submitTokenData」操作でTSPから必要とされるデータのセットです。
注1:
データ要素名は大文字小文字を区別しません。 例えば、DEK_KCV と dek_kcv は同等です
注2:
プロジェクト構成に応じて、いくつかのデータ要素が追加または削除される場合があります
PUREおよびDISCOVERの共通データ要素
kek_label
ASCII 文字列
最大64
支払い用キー暗号化に使用されるキーのラベル。値はキーセレモニー中に定義されます。
"G062C.TEST.SGKEK.TKSUK.01"
kek_kcv
16進文字列
6
支払い用キー暗号化に使用されるキーのKCV。 KEKキーのKCVは、ECBモードを使用して8バイトの00h(3DESの場合)を暗号化するか、16バイトの00hに対してCMACを使用して(AESの場合)計算されます。
"E95500"
dek_label
ASCII 文字列
最大64
Track2データ("track2_data")暗号化に使用される鍵のラベル。値は鍵のセレモニー中に定義されます。
"G062C.TEST.SGDEK.MKDATA.01"
dek_kcv
16進文字列
6
トラック2データ暗号化に使用されるキーのKCV。 KCVは、DEKキーを使用してECBモードで8バイトの00h(3DESの場合)または16バイトの01h(AESの場合)を暗号化することにより計算されます。
"50FE57"
track2_data
16進文字列
最大64
Track 2 同等データ(最大長は 19 バイト) クリアテキストでのフォーマットは:
トークン PAN 最大 19 桁: 'ppppppppppppppppppp'
'D'
有効期限: 'yymm'
サービスコード: 'sss'
(オプション)裁量データ(PAN の長さに依存)
'F'(必要に応じて全バイトを確保するため) track2_dataは暗号アルゴリズムのブロックサイズに到達するように80h + 00h..00hでパディングされます(ISO7816-4パディング)。 track2_dataはDEK鍵の下でCBCモードを用いて暗号化されます。 暗号アルゴリズムはプロジェクト設定時に定義されます。
"FAB7FF4EFE1989AC25EBBEC2ED72378BDA79D244B89F7F25"
payment_keys
文字列
-
以下のフォーマットを参照してください。
-
psn
16進文字列
2
アプリケーションにパーソナライズする PAN シーケンス番号。
"01"
par
ASCII バイト
58
支払い口座参照。
"323352305041594D454E544143434F554E545245464552454E43455858" は "23R0PAYMENTACCOUNTREFERENCEXX" を表します
app_preferred_name
ASCII バイト
最大 16
アプリケーション優先名
"4465626974" は "Debit" を表します
PUREの追加データ要素
cmk_ac_dki
16進文字列
2
アプリケーションクリプトグラム鍵のDKI。
"01"
cmk_rp_dki
16進文字列
2
リモートペイメントキーのDKI。
"02"
DISCOVERの追加データ要素
track1_data
16進文字列
最大64
トラック1データ 復号後の形式はASCIIバイトです。デコード後の形式は次の通りです:
'B'
トークン PAN 最大 19 桁: 'ppppppppppppppppppp'
'^'
名前、2から26文字(姓、名などの間の区切り文字を含む場合がある)
'^'
有効期限:'yymm' または '^'
サービスコード:'sss' または '^'
(オプション)裁量データ(PAN の長さに依存)
track1_dataは暗号化アルゴリズムのブロックサイズに到達するように80h + 00h..00hでパディングされます(ISO7816-4パディング)。 track1_dataはDEKキーでCBCモードを用いて暗号化されます。 暗号化アルゴリズムはプロジェクト設定時に定義されます。
"FAB7FF4EFE1989AC25EBBEC2ED72378BDA79D244B89F7F25"
cmk_emv_dki
16進文字列
2
EMVキーのDKI。
"01"
cmk_cavv_dki
16進文字列
2
CAVVキーのDKI。
"02"
payment_keysのフォーマット
payment_keysは以下に定義されたJSON配列の文字列表現です:
注3: 設定されるSU Kの最大数(上記のobjectと呼ばれる)は40です。
Note4: AES SUKの場合、暗号化アルゴリズムはRFC 3394に従ったAES-KWとし、KCVアルゴリズムはRFC4493に従い16バイトの00hに対するCMACとします。 3DES SUKの場合、暗号化アルゴリズムは3DES-ECBとし、KCVアルゴリズムはEMV-CPSに従って、関連するキーでECBモードにより8バイトの00hを暗号化して計算します。 いずれの場合も、上位3バイトがKCVとして使用されます。
PUREのpayment_keysフォーマット
上記で定義した配列の各オブジェクトは、以下のように定義されたJSONオブジェクトです:
acKey
必須(M)
KEKキーで暗号化されたアプリケーションクリプトグラムSUK
acKeyKcv
必須(M)
アプリケーションクリプトグラムSUKのKCV
rpKey
任意(O)
KEKキーで暗号化されたリモートペイメントSUK
rpKeyKcv
条件(C)
リモートペイメントSUKのKCV rpKeyが存在する場合に提供されるもの
lcKey
必須(M)
KEKキーで暗号化されたローカルCDCVMスタンプ生成SUK
lcKeyKcv
必須(M)
ローカルCDCVMスタンプ生成SUKのKCV
atc
必須(M)
アプリケーショントランザクションカウンタ
例:
DISCOVERのpayment_keysフォーマット
上記で定義した配列の各オブジェクトは、以下のように定義されたJSONオブジェクトです:
emvKey
必須(M)
KEKキーで暗号化されたEMVアプリケーションクリプトグラムSUK
emvKeyKcv
必須(M)
EMVアプリケーションクリプトグラムSUKのKCV
cavvKey
任意(O)
KEKキーで暗号化された顧客認証検証値(CAVV)SUK
cavvKeyKcv
条件(C)
CAVV SUKのKCV cavvKeyが存在する場合に提供されるもの
msKey
任意(O)
KEKキーで暗号化されたマグストライブSUK
msKeyKcv
条件(C)
マグストライブSUKのKCV msKeyが存在する場合に提供されるもの
atc
必須(M)
アプリケーショントランザクションカウンタ
例:
CPACE Girocard データ要素
type
文字列
最大64
CPACEパーソナライズタイプ。 値は「Girocard」である必要があります。
"Girocard"
profile
Base64文字列
-
Perso FF仕様に準拠したトークンプロファイル
"ANcB1wLXAA8AhAEBAHFl+OnQaqq2...Fwkf6n"
diversifier
16進文字列
32
セッションキー生成の導出データとして使用される16バイトのダイバシファイア値
"F5CFEA0C7C17EE5275566A33DAA1DFA9"
最終更新
役に立ちましたか?