View a markdown version of this page

針對 PIN 變更產生 EMV MAC - AWS 付款密碼編譯

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

針對 PIN 變更產生 EMV MAC

EMV PIN 變更結合了兩個操作:為發行者指令碼產生 MAC,以及為 EMV 晶片卡上的離線 PIN 變更加密新的 PIN。只有在 PIN 碼存放在晶片卡上的某些國家/地區 (歐洲國家/地區通用),才需要此命令。當持卡人需要變更其 PIN 碼,且新的 PIN 碼必須與 MAC 一起安全地傳輸至卡片,以驗證命令的真實性時,通常會使用此功能。

注意

如果您只需要將命令傳送至卡片,但不需要變更 PIN 碼,請考慮改用 ARPC CSU產生 EMV MAC 命令。

如需詳細資訊,請參閱 API 指南中的 GenerateMacEmvPinChange

針對 PIN 變更產生 EMV MAC 和加密 PIN

此操作需要兩個金鑰:用於產生 MAC 的 EMV 完整性金鑰 (KeyUsage: TR31_E2_EMV_MKEY_INTEGRITY),以及用於 PIN 加密的 EMV 機密性金鑰 (KeyUsage: TR31_E4_EMV_MKEY_CONFIDENTIALITY)。典型的流程是後端程序會產生 EMV PIN 變更指令碼,其中包含發行者指令碼的 MAC 和加密的新 PIN。然後,命令和加密的 PIN 會傳送到卡片以更新離線 PIN。將命令傳送至卡片超出 AWS 付款密碼編譯的範圍。

訊息資料

訊息資料包含發行者指令碼的 APDU 命令。服務不會驗證此欄位的內容。

新的加密 PIN 區塊

將傳送至卡片的新加密 PIN 區塊。這必須使用 PIN 加密金鑰做為加密值提供。

新的 PIN PEK 識別符

用來加密新 PIN 碼的金鑰,然後再傳遞至此 API。

安全傳訊完整性金鑰

用於產生 MAC 的 EMV 完整性金鑰 (KeyUsage: TR31_E2_EMV_MKEY_INTEGRITY)。

安全傳訊機密性金鑰

用於 PIN 加密的 EMV 機密性金鑰 (KeyUsage: TR31_E4_EMV_MKEY_CONFIDENTIALITY)。

MajorKeyDerivationMode

EMV 定義了模式 A、B 或 C。模式 A 是最常見的,而 AWS 付款密碼編譯目前支援模式 A 或模式 B。

Mode

加密模式,通常是用於 PIN 變更操作的 CBC。

PAN

帳戶號碼,通常可在晶片欄位 5A 或 ISO8583 欄位 2 中使用,但也可以從卡片系統擷取。

PanSequenceNumber

卡片序號。如果未使用,請輸入 00。

ApplicationCryptogram

這是每個工作階段衍生資料,通常是欄位 9F26 的最後一個 ARQC。

PinBlockLengthPosition

指定 PIN 區塊長度的編碼位置。通常設定為 NONE。如果您不確定,請檢查您的卡片方案規格。

PinBlockPaddingType

指定 PIN 區塊的填補類型。通常設定為 NO_PADDING。如果您不確定,請檢查您的卡片方案規格。

範例
$ aws payment-cryptography-data generate-mac-emv-pin-change \ --message-data 00A4040008A000000004101080D80500000001010A04000000000000 \ --new-encrypted-pin-block 67FB27C75580EFE7 \ --new-pin-pek-identifier arn:aws:payment-cryptography:us-east-2:111122223333:key/ivi5ksfsuplneuyt \ --pin-block-format ISO_FORMAT_0 \ --secure-messaging-confidentiality-key-identifier arn:aws:payment-cryptography:us-east-2:111122223333:key/tqv5yij6wtxx64pi \ --secure-messaging-integrity-key-identifier arn:aws:payment-cryptography:us-east-2:111122223333:key/pw3s6nl62t5ushfk \ --derivation-method-attributes 'EmvCommon={ApplicationCryptogram=1234567890123457,MajorKeyDerivationMode=EMV_OPTION_A,Mode=CBC,PanSequenceNumber=00,PinBlockLengthPosition=NONE,PinBlockPaddingType=NO_PADDING,PrimaryAccountNumber=171234567890123}'
{ "SecureMessagingIntegrityKeyArn": "arn:aws:payment-cryptography:us-east-2:111122223333:key/pw3s6nl62t5ushfk", "SecureMessagingIntegrityKeyCheckValue": "08D7B4", "SecureMessagingConfidentialityKeyArn": "arn:aws:payment-cryptography:us-east-2:111122223333:key/tqv5yij6wtxx64pi", "SecureMessagingConfidentialityKeyCheckValue": "C1EB8F", "Mac": "5652EEDF83EA0D84", "EncryptedPinBlock": "F1A2B3C4D5E6F7A8" }