Welcome to our new developer portal! Use the "Ask" button to chat with our AI Agent.
For the complete documentation index, see llms.txt. This page is also available as Markdown.

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オブジェクトです:

JSONパラメータ名
M/O/C
説明

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オブジェクトです:

JSONパラメータ名
M/O/C
説明

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"

最終更新

役に立ちましたか?