Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.
Mastercard-spezifische Funktionen
DCVC3
DCVC3 ist älter als die EMV CSK- und CVN12 Mastercard-Schemata und stellt einen weiteren Ansatz für die Verwendung dynamischer Schlüssel dar. Es wird manchmal auch für andere Anwendungsfälle wiederverwendet. In diesem Schema sind die Eingaben PAN-, PSN-, Track1/Track2-Daten, eine unvorhersehbare Zahl und ein Transaktionszähler (ATC).
Schlüssel erstellen
$aws payment-cryptography create-key --exportable --key-attributes KeyAlgorithm=TDES_2KEY,KeyUsage=TR31_E4_EMV_MKEY_DYNAMIC_NUMBERS,KeyClass=SYMMETRIC_KEY,KeyModesOfUse='{DeriveKey=true}' --tags='[{"Key":"KEY_PURPOSE","Value":"DCVC3"},{"Key":"CARD_BIN","Value":"12345678"}]'
Die Antwort gibt die Anforderungsparameter zurück, einschließlich eines ARN für nachfolgende Aufrufe sowie eines Key Check Value (KCV).
{ "Key": { "KeyArn": "arn:aws:payment-cryptography:us-east-2:111122223333:key/hrh6qgbi3sk4y3wq", "KeyAttributes": { "KeyUsage": "TR31_E4_EMV_MKEY_DYNAMIC_NUMBERS", "KeyClass": "SYMMETRIC_KEY", "KeyAlgorithm": "TDES_2KEY", "KeyModesOfUse": { "Encrypt": false, "Decrypt": false, "Wrap": false, "Unwrap": false, "Generate": false, "Sign": false, "Verify": false, "DeriveKey": true, "NoRestrictions": false } }, "KeyCheckValue": "08D7B4", "KeyCheckValueAlgorithm": "ANSI_X9_24", "Enabled": true, "Exportable": true, "KeyState": "CREATE_COMPLETE", "KeyOrigin": "AWS_PAYMENT_CRYPTOGRAPHY", "CreateTimestamp": "2024-03-07T06:41:46.648000-07:00", "UsageStartTimestamp": "2024-03-07T06:41:46.626000-07:00" } }
Notieren Sie sich den Wert, der den Schlüssel darstelltKeyArn, zum Beispiel arn:aws:payment-cryptography:us-east - 2:111122223333:key/hrh6qgbi3sk4y3wq. Das benötigen Sie im nächsten Schritt.
Generieren Sie ein DCVC3
Beispiel
Obwohl DCVC3 es typischerweise durch eine Chipkarte generiert wird, kann es auch manuell generiert werden, wie in diesem Beispiel
$aws payment-cryptography-data generate-card-validation-data --key-identifier arn:aws:payment-cryptography:us-east-2:111122223333:key/pw3s6nl62t5ushfk --primary-account-number=5413123456784808 --generation-attributes DynamicCardVerificationCode='{ApplicationTransactionCounter=0000,TrackData=5241060000000069D13052020000000000003F,PanSequenceNumber=00,UnpredictableNumber=00000000}''
{ "KeyArn": "arn:aws:payment-cryptography:us-east-2:111122223333:key/pw3s6nl62t5ushfk", "KeyCheckValue": "08D7B4", "ValidationData": "865" }
Bestätigen Sie das DCVC3
Beispiel
In diesem Beispiel validieren wir eine DCVC3. Beachten Sie, dass ATC als Hexadezimalzahl angegeben werden sollte. Beispielsweise sollte ein Zähler von 11 als 000B dargestellt werden. Der Dienst erwartet eine DCVC3 dreistellige Zahl. Wenn Sie also einen 4- (oder 5) stelligen Wert gespeichert haben, kürzen Sie einfach die linken Zeichen, bis Sie 3 Ziffern haben (zum Beispiel sollte 15321 zu einem Validierungsdatenwert von 321 führen).
Wenn AWS Payment Cryptography validieren kann, wird ein http/200 zurückgegeben. Wenn der Wert nicht validiert wird, wird eine http/400-Antwort zurückgegeben.
$aws payment-cryptography-data verify-card-validation-data --key-identifier arn:aws:payment-cryptography:us-east-2:111122223333:key/pw3s6nl62t5ushfk --primary-account-number=5413123456784808 --verification-attributes DynamicCardVerificationCode='{ApplicationTransactionCounter=000B,TrackData=5241060000000069D13052020000000000003F,PanSequenceNumber=00,UnpredictableNumber=00000001}' --validation-data 398
{ "KeyArn": "arn:aws:payment-cryptography:us-east-2:111122223333:key/pw3s6nl62t5ushfk", "KeyCheckValue": "08D7B4" }
ARQC -/ CVN14CVN15
CVN14 und CVN15 verwenden die EMV-CSK-Methode zur Schlüsselableitung. Die genauen Transaktionsdaten variieren zwischen diesen beiden Methoden. Einzelheiten zur Erstellung des Transaktionsdatenfeldes finden Sie in der Schemadokumentation.
ARQC -/ CVN12CVN13
CVN12 und CVN13 sind eine ältere Mastercard-spezifische Methode für EMV-Transaktionen, die eine unvorhersehbare Zahl in die Ableitung pro Transaktion einbezieht und außerdem eine andere Nutzlast verwendet. Für Informationen zum Inhalt der Payload wenden Sie sich bitte an das System.
Schlüssel erstellen
$aws payment-cryptography create-key --exportable --key-attributes KeyAlgorithm=TDES_2KEY,KeyUsage=TR31_E0_EMV_MKEY_APP_CRYPTOGRAMS,KeyClass=SYMMETRIC_KEY,KeyModesOfUse='{DeriveKey=true}' --tags='[{"Key":"KEY_PURPOSE","Value":"CVN12"},{"Key":"CARD_BIN","Value":"12345678"}]'
Die Antwort gibt die Anforderungsparameter zurück, einschließlich eines ARN für nachfolgende Aufrufe sowie eines Key Check Value (KCV).
{ "Key": { "KeyArn": "arn:aws:payment-cryptography:us-east-2:111122223333:key/pw3s6nl62t5ushfk", "KeyAttributes": { "KeyUsage": "TR31_E0_EMV_MKEY_APP_CRYPTOGRAMS", "KeyClass": "SYMMETRIC_KEY", "KeyAlgorithm": "TDES_2KEY", "KeyModesOfUse": { "Encrypt": false, "Decrypt": false, "Wrap": false, "Unwrap": false, "Generate": false, "Sign": false, "Verify": false, "DeriveKey": true, "NoRestrictions": false } }, "KeyCheckValue": "08D7B4", "KeyCheckValueAlgorithm": "ANSI_X9_24", "Enabled": true, "Exportable": true, "KeyState": "CREATE_COMPLETE", "KeyOrigin": "AWS_PAYMENT_CRYPTOGRAPHY", "CreateTimestamp": "2024-03-07T06:41:46.648000-07:00", "UsageStartTimestamp": "2024-03-07T06:41:46.626000-07:00" } }
Notieren Sie sich den Wert, der den Schlüssel darstelltKeyArn, zum Beispiel arn:aws:payment-cryptography:us-east - 2:111122223333:key/pw3s6nl62t5ushfk. Das benötigen Sie im nächsten Schritt.
Validieren Sie den ARQC
Beispiel
In diesem Beispiel validieren wir einen mit Mastercard generierten ARQC. CVN12
Wenn AWS Payment Cryptography den ARQC validieren kann, wird ein http/200 zurückgegeben. Wenn der ARQC nicht validiert wird, gibt er eine http/400-Antwort zurück.
$aws payment-cryptography-data verify-auth-request-cryptogram --auth-request-cryptogram 31BE5D49F14A5F01 \ --key-identifier arn:aws:payment-cryptography:us-east-2:111122223333:key/pw3s6nl62t5ushfk \ --major-key-derivation-mode EMV_OPTION_A \ --transaction-data 00000000170000000000000008400080008000084016051700000000093800000B1F2201030000000000000000000000000000000000000000000000000000008000000000000000 \ --session-key-derivation-attributes='{"MastercardSessionKey":{"ApplicationTransactionCounter":"000B","PanSequenceNumber":"01","PrimaryAccountNumber":"5413123456784808","UnpredictableNumber":"00000001"}}'
{ "KeyArn": "arn:aws:payment-cryptography:us-east-2:111122223333:key/pw3s6nl62t5ushfk", "KeyCheckValue": "08D7B4" }
3DS AAV SPA2
SPA2 AAV (Account Authentication Value) wird für Mastercard 3DS-Transaktionen (auch bekannt als Mastercard Identity Check) verwendet. Es bietet eine kryptografische Authentifizierung für E-Commerce-Transaktionen mithilfe der HMAC-basierten MAC-Generierung. Das AAV wird mithilfe transaktionsspezifischer Daten und eines gemeinsamen geheimen Schlüssels generiert.
Schlüssel erstellen
$aws payment-cryptography create-key --exportable --key-attributes KeyAlgorithm=HMAC_SHA256,KeyUsage=TR31_M7_HMAC_KEY,KeyClass=SYMMETRIC_KEY,KeyModesOfUse='{Generate=true,Verify=true}' --tags='[{"Key":"KEY_PURPOSE","Value":"SPA2_AAV"},{"Key":"CARD_BIN","Value":"12345678"}]'
Die Antwort gibt die Anforderungsparameter zurück, einschließlich eines ARN für nachfolgende Aufrufe sowie eines Key Check Value (KCV).
{ "Key": { "KeyArn": "arn:aws:payment-cryptography:us-west-2:111122223333:key/q5vjtshsg67cz5gn", "KeyAttributes": { "KeyUsage": "TR31_M7_HMAC_KEY", "KeyClass": "SYMMETRIC_KEY", "KeyAlgorithm": "HMAC_SHA256", "KeyModesOfUse": { "Encrypt": false, "Decrypt": false, "Wrap": false, "Unwrap": false, "Generate": true, "Sign": false, "Verify": true, "DeriveKey": false, "NoRestrictions": false } }, "KeyCheckValue": "C661F9", "KeyCheckValueAlgorithm": "HMAC", "Enabled": true, "Exportable": true, "KeyState": "CREATE_COMPLETE", "KeyOrigin": "AWS_PAYMENT_CRYPTOGRAPHY", "CreateTimestamp": "2024-03-07T06:41:46.648000-07:00", "UsageStartTimestamp": "2024-03-07T06:41:46.626000-07:00" } }
Notieren Sie sich den Wert, der den Schlüssel darstelltKeyArn, zum Beispiel arn:aws:payment-cryptography:us-west - 2:111122223333:key/q5vjtshsg67cz5gn. Das benötigen Sie im nächsten Schritt.
Generieren Sie SPA2 AAV
Beispiel
In diesem Beispiel werden wir die IAV-Komponente (Issuer Authentication Value) der SPA2 AAV mithilfe der HMAC-MAC-Generierung generieren. Die Nachrichtendaten enthalten die transaktionsspezifischen Informationen, die authentifiziert werden. Das Format der Nachrichtendaten sollte den SPA2 Spezifikationen von Mastercard entsprechen und wird in diesem Beispiel nicht behandelt.
Anmerkung
Bitte überprüfen Sie Ihre Mastercard-Spezifikationen für die Formatierung, um die IAV in den AAV-Wert einzufügen.
$aws payment-cryptography-data generate-mac --key-identifier arn:aws:payment-cryptography:us-west-2:111122223333:key/q5vjtshsg67cz5gn --message-data "2226400099919520FFFFd8b448be65694fe7b42f836bad396e9d" --generation-attributes Algorithm=HMAC --region us-west-2
{ "KeyArn": "arn:aws:payment-cryptography:us-west-2:111122223333:key/q5vjtshsg67cz5gn", "KeyCheckValue": "C661F9", "Mac": "6FB2405E9D8A4C1F7B173F73ADD1A6DC358531CAB0E9994FC5B62012ADDE91FC" }
Überprüfen Sie AAV SPA2
Beispiel
In diesem Beispiel verifizieren wir ein SPA2 AAV. Dieselben Nachrichtendaten und der gleiche MAC-Wert werden zur Überprüfung bereitgestellt.
Wenn AWS Payment Cryptography den MAC validieren kann, wird ein http/200 zurückgegeben. Wenn der MAC nicht validiert ist, wird eine http/400-Antwort zurückgegeben.
$aws payment-cryptography-data verify-mac --key-identifier arn:aws:payment-cryptography:us-west-2:111122223333:key/q5vjtshsg67cz5gn --message-data "2226400099919520FFFFd8b448be65694fe7b42f836bad396e9d" --mac "6FB2405E9D8A4C1F7B173F73ADD1A6DC358531CAB0E9994FC5B62012ADDE91FC" --verification-attributes Algorithm=HMAC --region us-west-2
{ "KeyArn": "arn:aws:payment-cryptography:us-west-2:111122223333:key/q5vjtshsg67cz5gn", "KeyCheckValue": "C661F9" }