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:
Ibm3624NaturalPin
gibt die natürliche PIN und einen verschlüsselten Pin-Block ausIbm3624PinFromOffset
generiert bei gegebenem Offset einen verschlüsselten Pin-BlockIbm3624RandomPin
generiert eine zufällige PIN und dann den passenden Offset und den verschlüsselten Pinblock.Ibm3624PinOffset
generiert 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" } }