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à.
Genera l'offset dei IBM3624 pin per un pin
IBM 3624 PIN Offset è talvolta chiamato anche metodo IBM. Questo metodo genera un natural/intermediate PIN utilizzando i dati di convalida (in genere il PAN) e una chiave PIN (PVK). I pin naturali sono in effetti un valore derivato e, essendo deterministici, sono molto efficienti da gestire per l'emittente, perché non è necessario archiviare i dati relativi ai pin a livello del titolare della carta. Lo svantaggio più evidente è che questo schema non tiene conto dei pin selezionabili o casuali dal titolare della carta. Per consentire questi tipi di pin, è stato aggiunto allo schema un algoritmo di offset. L'offset rappresenta la differenza tra il pin selezionato dall'utente (o casuale) e la chiave naturale. Il valore di offset viene memorizzato dall'emittente della carta o dal processore della carta. Al momento della transazione, il servizio AWS Payment Cryptography ricalcola internamente il pin naturale e applica l'offset per trovare il pin. Quindi lo confronta con il valore fornito dall'autorizzazione della transazione.
Esistono diverse opzioni per IBM3624:
Ibm3624NaturalPin
emetterà il pin naturale e un blocco pin crittografatoIbm3624PinFromOffset
genererà un blocco pin crittografato dato un offsetIbm3624RandomPin
genererà un pin casuale e quindi l'offset corrispondente e il blocco pin crittografato.Ibm3624PinOffset
genera l'offset del pin in base a un pin selezionato dall'utente.
Internamente alla crittografia dei AWS pagamenti, vengono eseguiti i seguenti passaggi:
-
Riempi il riquadro fornito a 16 caratteri. Se vengono forniti <16, compatta sul lato destro usando il carattere di padding fornito.
-
Crittografa i dati di convalida utilizzando la chiave di generazione del PIN.
-
Decimalizza i dati crittografati utilizzando la tabella di decimalizzazione. Questo mappa le cifre esadecimali in cifre decimali, ad esempio «A» può essere mappato a 9 e 1 può essere mappato a 1.
-
Ottieni le prime 4 cifre da una rappresentazione esadecimale dell'output. Questa è la spilla naturale.
-
Se è stato generato un pin selezionato dall'utente o casuale, il modulo sottrae il pin naturale con il pin del cliente. Il risultato è l'offset del pin.
Esempio: genera l'offset dei IBM3624 pin per un pin
In questo esempio, genereremo un nuovo pin (casuale) in cui gli output saranno crittografati PIN block
(. PinData PinBlock) e un valore di IBM3624
offset (pinData.offset). Gli input sono i dati di convalida (in genere il pan)PAN
, il carattere di riempimento, il, il e il. Pin Verification Key
Pin Encryption Key
PIN block format
Questo comando richiede che la chiave di generazione del pin sia di tipo TR31_V1_IBM3624_PIN_VERIFICATION_KEY
e che la chiave di crittografia sia di tipo TR31_P0_PIN_ENCRYPTION_KEY
L'esempio seguente mostra la generazione di un pin casuale, quindi l'emissione del blocco pin crittografato e del valore di IBM3624 offset utilizzando 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" } }