Genera l'offset dei IBM3624 pin per un pin - 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à.

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:

  • Ibm3624NaturalPinemetterà il pin naturale e un blocco pin crittografato

  • Ibm3624PinFromOffsetgenererà un blocco pin crittografato dato un offset

  • Ibm3624RandomPingenererà un pin casuale e quindi l'offset corrispondente e il blocco pin crittografato.

  • Ibm3624PinOffsetgenera 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" } }