Generiert den IBM3624 Pin-Offset für einen Pin - AWS Kryptografie im Zahlungsverkehr

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.

Generiert den IBM3624 Pin-Offset für einen Pin

IBM 3624 PIN Offset wird manchmal auch als IBM-Methode bezeichnet. Diese Methode generiert eine natural/intermediate PIN anhand der Validierungsdaten (normalerweise die PAN) und eines PIN-Schlüssels (PVK). Natürliche Pins sind quasi ein abgeleiteter Wert, und da sie deterministisch sind, sind sie für einen Emittenten sehr effizient zu handhaben, da keine PIN-Daten auf Karteninhaberebene gespeichert werden müssen. Der offensichtlichste Nachteil ist, dass dieses Schema vom Karteninhaber auswählbare oder zufällige Pins nicht berücksichtigt. Um diese Arten von Pins zu berücksichtigen, wurde dem Schema ein Offset-Algorithmus hinzugefügt. Der Offset stellt den Unterschied zwischen dem vom Benutzer ausgewählten (oder zufälligen) Pin und dem natürlichen Schlüssel dar. Der Offsetwert wird vom Kartenaussteller oder Kartenverarbeiter gespeichert. Zum Zeitpunkt der Transaktion berechnet der AWS Payment Cryptography Service intern die natürliche PIN neu und wendet den Offset an, um die PIN zu ermitteln. Dieser Wert wird dann mit dem Wert verglichen, der in der Transaktionsautorisierung angegeben wurde.

Es gibt mehrere Optionen für IBM3624:

  • Ibm3624NaturalPingibt die natürliche PIN und einen verschlüsselten Pin-Block aus

  • Ibm3624PinFromOffsetgeneriert bei gegebenem Offset einen verschlüsselten Pin-Block

  • Ibm3624RandomPingeneriert eine zufällige PIN und dann den passenden Offset und den verschlüsselten Pinblock.

  • Ibm3624PinOffsetgeneriert den Pin-Offset anhand einer vom Benutzer ausgewählten PIN.

Bei der AWS Zahlungskryptografie werden die folgenden Schritte ausgeführt:

  • Füllen Sie das bereitgestellte Feld mit 16 Zeichen aus. Wenn <16 angegeben sind, füllen Sie den Text auf der rechten Seite mit dem angegebenen Füllzeichen auf.

  • Verschlüsselt die Validierungsdaten mithilfe des PIN-Generierungsschlüssels.

  • Dezimalisieren Sie die verschlüsselten Daten mithilfe der Dezimalisierungstabelle. Dadurch werden Hexadezimalziffern Dezimalziffern zugeordnet, zum Beispiel kann 'A' 9 und 1 1 1 zugeordnet werden.

  • Ermittelt die ersten 4 Ziffern aus einer Hexadezimaldarstellung der Ausgabe. Das ist der natürliche Stift.

  • Wenn ein Benutzer eine PIN ausgewählt hat oder eine zufällige PIN generiert wurde, subtrahiert Modulo die natürliche PIN mit der Kunden-PIN. Das Ergebnis ist der Pin-Offset.

Beispiel: Generieren Sie den IBM3624 Pin-Offset für einen Pin

In diesem Beispiel werden wir einen neuen (zufälligen) Pin generieren, bei dem die Ausgänge verschlüsselt sind PIN block (PinData. PinBlock) und einen IBM3624 Offset-Wert (pinData.Offset). Bei den Eingaben handelt es sich PAN um Validierungsdaten (normalerweise das Pan), das Füllzeichen, dasPin Verification Key, das und das. Pin Encryption Key PIN block format

Für diesen Befehl müssen der Pin-Generierungsschlüssel vom Typ TR31_V1_IBM3624_PIN_VERIFICATION_KEY und der Verschlüsselungsschlüssel vom Typ TR31_P0_PIN_ENCRYPTION_KEY

Das folgende Beispiel zeigt die Generierung einer zufälligen PIN und die anschließende Ausgabe des verschlüsselten Pinblocks und des IBM3624 Offset-Werts mithilfe von Ibm3624 RandomPin

$ aws payment-cryptography-data generate-pin-data --generation-key-identifier arn:aws:payment-cryptography:us-east-2::key/37y2tsl45p5zjbh2 --encryption-key-identifier arn:aws:payment-cryptography:us-east-2::key/ivi5ksfsuplneuyt --primary-account-number 171234567890123 --pin-block-format ISO_FORMAT_0 --generation-attributes Ibm3624RandomPin="{DecimalizationTable=9876543210654321,PinValidationDataPadCharacter=D,PinValidationData=171234567890123}"
{ "GenerationKeyArn": "arn:aws:payment-cryptography:us-east-2::key/37y2tsl45p5zjbh2", "GenerationKeyCheckValue": "7F2363", "EncryptionKeyArn": "arn:aws:payment-cryptography:us-east-2::key/ivi5ksfsuplneuyt", "EncryptionKeyCheckValue": "7CC9E2", "EncryptedPinBlock": "AC17DC148BDA645E", "PinData": { "PinOffset": "5507" } }