Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
Générer un décalage d' IBM3624 épingle pour une épingle
IBM 3624 PIN Offset est aussi parfois appelée méthode IBM. Cette méthode génère un natural/intermediate code PIN à l'aide des données de validation (généralement le PAN) et d'une clé PIN (PVK). Les épingles naturelles sont en fait une valeur dérivée et le caractère déterministe est très efficace à gérer pour un émetteur, car aucune donnée PIN n'a besoin d'être stockée au niveau du titulaire de la carte. L'inconvénient le plus évident est que ce système ne prend pas en compte les épingles sélectionnables ou aléatoires par le titulaire de la carte. Pour autoriser ces types de broches, un algorithme de décalage a été ajouté au schéma. Le décalage représente la différence entre l'épingle sélectionnée (ou aléatoire) par l'utilisateur et la touche naturelle. La valeur de décalage est enregistrée par l'émetteur ou le processeur de la carte. Au moment de la transaction, le service AWS de cryptographie des paiements recalcule en interne le code PIN naturel et applique le décalage pour trouver le code PIN. Il compare ensuite cette valeur à la valeur fournie par l'autorisation de transaction.
Plusieurs options existent pour IBM3624 :
Ibm3624NaturalPinaffichera le code PIN naturel et un bloc de code PIN cryptéIbm3624PinFromOffsetgénérera un bloc PIN crypté en fonction d'un décalageIbm3624RandomPingénérera un code PIN aléatoire, puis le décalage correspondant et le bloc de code crypté.Ibm3624PinOffsetgénère le décalage de broche en fonction d'une épingle sélectionnée par l'utilisateur.
En interne à la cryptographie des AWS paiements, les étapes suivantes sont effectuées :
-
Ajoutez le plan fourni à 16 caractères. Si <16 est indiqué, tapez sur le côté droit en utilisant le caractère de rembourrage fourni.
-
Chiffre les données de validation à l'aide de la clé de génération du code PIN.
-
Décimalisez les données chiffrées à l'aide de la table de décimalisation. Cela fait correspondre des chiffres hexadécimaux à des chiffres décimaux, par exemple « A » peut correspondre à 9 et 1 peut correspondre à 1.
-
Obtenez les 4 premiers chiffres à partir d'une représentation hexadécimale de la sortie. C'est l'épingle naturelle.
-
Si un code PIN a été sélectionné par l'utilisateur ou généré au hasard, modulo soustrait le code naturel du code PIN du client. Le résultat est le décalage de la broche.
Exemple : générer un décalage d' IBM3624 épingle pour une épingle
Dans cet exemple, nous allons générer une nouvelle épingle (aléatoire) dont les sorties seront chiffrées PIN block (PinData. PinBlock) et une valeur de IBM3624 décalage (Pindata.offset). Les entrées sont PAN les données de validation (généralement le pan), le caractère de remplissage, lePin Verification Key, le Pin Encryption Key et lePIN block format.
Cette commande nécessite que la clé de génération du code PIN soit de type TR31_V1_IBM3624_PIN_VERIFICATION_KEY et que la clé de chiffrement soit de type TR31_P0_PIN_ENCRYPTION_KEY
Exemple
L'exemple suivant montre la génération d'une épingle aléatoire, puis la sortie du bloc de code PIN crypté et de la valeur de IBM3624 décalage à l'aide de Ibm3624. RandomPin
$aws payment-cryptography-data generate-pin-data --generation-key-identifier arn:aws:payment-cryptography:us-east-2:111122223333:key/37y2tsl45p5zjbh2 --encryption-key-identifier arn:aws:payment-cryptography:us-east-2:111122223333: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:111122223333:key/37y2tsl45p5zjbh2", "GenerationKeyCheckValue": "7F2363", "EncryptionKeyArn": "arn:aws:payment-cryptography:us-east-2:111122223333:key/ivi5ksfsuplneuyt", "EncryptionKeyCheckValue": "7CC9E2", "EncryptedPinBlock": "AC17DC148BDA645E", "PinData": { "PinOffset": "5507" } }