Verifica MAC - AWS Crittografia dei pagamenti

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Verifica MAC

L'API Verify MAC viene utilizzata per verificare il MAC (Message Authentication Code) per l'autenticazione dei dati relativi alla carta. Deve utilizzare la stessa chiave di crittografia utilizzata durante la generazione del MAC per riprodurre il valore MAC per l'autenticazione. La chiave di crittografia MAC può essere creata con AWS Payment Cryptography chiamando CreateKeyo importata chiamando. ImportKey L'API supporta le chiavi di crittografia DUKPT MAC, HMAC ed EMV MAC per questa operazione.

Se il valore è verificato, MacDataVerificationSuccessful verrà restituito il parametro di rispostaHttp/200, altrimenti Http/400 con un messaggio che lo indica. Mac verification failed

Verifica HMAC

In questo esempio, verificheremo un HMAC (Hash-Based Message Authentication Code) per l'autenticazione dei dati delle carte utilizzando l'algoritmo HMAC_SHA256 HMAC e la chiave di crittografia HMAC. La chiave deve essere impostata su TR31_M7_HMAC_KEY e KeyUsage KeyModesOfUse Verify impostata su true.

Esempio
$ aws payment-cryptography-data verify-mac \ --key-identifier arn:aws:payment-cryptography:us-east-2:111122223333:key/qnobl5lghrzunce6 \ --message-data "3b343038383439303031303733393431353d32343038323236303030373030303f33" \ --mac ED87F26E961C6D0DDB78DA5038AA2BDDEA0DCE03E5B5E96BDDD494F4A7AA470C \ --verification-attributes Algorithm=HMAC_SHA256
{ "KeyArn": "arn:aws:payment-cryptography:us-east-2:111122223333:key/qnobl5lghrzunce6", "KeyCheckValue": "2976E7" }

Verifica il MAC utilizzando DUKPT CMAC

In questo esempio, verificheremo un MAC utilizzando DUKPT (Derived Unique Key Per Transaction) con CMAC per l'autenticazione dei dati delle carte. La chiave deve essere impostata su TR31_B0_BASE_DERIVATION_KEY e KeyUsage KeyModesOfUse DeriveKey impostata su true. Le chiavi DUKPT derivano una chiave unica per ogni transazione utilizzando una Base Derivation Key (BDK) e un Key Serial Number (KSN). Il valore di DukptKeyVariant deve corrispondere tra mittente e destinatario. REQUEST verrà in genere utilizzato da terminale a backend, VERIFY da backend a terminale e BIDIRECTIONAL quando viene utilizzata una singola chiave in entrambe le direzioni.

Esempio
$ aws payment-cryptography-data verify-mac \ --key-identifier arn:aws:payment-cryptography:us-east-2:111122223333:key/tqv5yij6wtxx64pi \ --message-data "3b343038383439303031303733393431353d32343038323236303030373030303f33" \ --mac D8E804EE74BF1D909A2C01C0BDE8EF34 \ --verification-attributes DukptCmac='{"KeySerialNumber":"932A6E954ABB32DD00000001","DukptKeyVariant":"BIDIRECTIONAL"}'
{ "KeyArn": "arn:aws:payment-cryptography:us-east-2:111122223333:key/tqv5yij6wtxx64pi", "KeyCheckValue": "C1EB8F" }