View a markdown version of this page

Générer un MAC EMV pour le changement de code PIN - AWS Cryptographie des paiements

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 MAC EMV pour le changement de code PIN

Le changement de code PIN EMV combine deux opérations : la génération d'un MAC pour un script émetteur et le cryptage d'un nouveau code PIN pour un changement de code PIN hors ligne sur une carte à puce EMV. Cette commande n'est nécessaire que dans certains pays où le code PIN est enregistré sur la carte à puce (c'est courant dans les pays européens). Cette méthode est couramment utilisée lorsqu'un titulaire de carte doit modifier son code PIN et que le nouveau code PIN doit être transmis de manière sécurisée à la carte avec un MAC pour vérifier l'authenticité de la commande.

Note

Si vous devez uniquement envoyer des commandes à la carte sans modifier le code PIN, pensez plutôt à utiliser les commandes ARPC CSU ou Generate EMV MAC.

Pour plus d'informations, consultez GenerateMacEmvPinChange le guide de l'API.

Générez un MAC EMV et un code PIN crypté pour le changement de code PIN

Cette opération nécessite deux clés : une clé d'intégrité EMV (KeyUsage: TR31_E2_EMV_MKEY_INTEGRITY) pour la génération de MAC et une clé de confidentialité EMV (: TR31_E4_EMV_MKEY_CONFIDENTIALITY) pour le cryptage PIN. KeyUsage Le flux typique est qu'un processus principal génère un script de modification du code PIN EMV, qui inclut à la fois le MAC du script émetteur et le nouveau code PIN chiffré. La commande et le code PIN chiffré sont ensuite envoyés à la carte pour mettre à jour le code PIN hors ligne. L'envoi de la commande à la carte ne relève pas de la cryptographie des AWS paiements.

Données du message

Les données du message incluent la commande APDU pour le script émetteur. Le service ne valide pas le contenu de ce champ.

Nouveau bloc PIN crypté

Le nouveau code PIN crypté qui sera envoyé à la carte. Cela doit être fourni sous forme de valeur cryptée à l'aide d'une clé de cryptage PIN.

Nouvel identifiant PIN PEK

La clé utilisée pour crypter le nouveau code PIN avant qu'il ne soit transmis à cette API.

Clé d'intégrité de la messagerie sécurisée

La clé d'intégrité EMV (KeyUsage: TR31_E2_EMV_MKEY_INTEGRITY) utilisée pour la génération de MAC.

Clé de confidentialité de la messagerie sécurisée

La clé de confidentialité EMV (KeyUsage: TR31_E4_EMV_MKEY_CONFIDENTIALITY) utilisée pour le chiffrement du code PIN.

MajorKeyDerivationMode

EMV définit le mode A, B ou C. Le mode A est le plus courant et la cryptographie des AWS paiements prend actuellement en charge le mode A ou le mode B.

Mode

Mode de cryptage, généralement CBC pour les opérations de changement de code PIN.

PAN

Le numéro de compte, généralement disponible dans le champ à puce 5A ou dans le champ ISO 8583 2, mais peut également être récupéré à partir du système de carte.

PanSequenceNumber

Numéro de séquence de la carte. Si ce n'est pas le cas, entrez 00.

ApplicationCryptogram

Il s'agit des données de dérivation par session, généralement le dernier ARQC du champ 9F26.

PinBlockLengthPosition

Spécifie où la longueur du bloc PIN est codée. Généralement réglé sur AUCUN. Vérifiez les spécifications de votre schéma de cartes en cas de doute.

PinBlockPaddingType

Spécifie le type de remplissage pour le bloc PIN. Généralement défini sur NO_PADDING. Vérifiez les spécifications de votre schéma de cartes en cas de doute.

Exemple
$ aws payment-cryptography-data generate-mac-emv-pin-change \ --message-data 00A4040008A000000004101080D80500000001010A04000000000000 \ --new-encrypted-pin-block 67FB27C75580EFE7 \ --new-pin-pek-identifier arn:aws:payment-cryptography:us-east-2:111122223333:key/ivi5ksfsuplneuyt \ --pin-block-format ISO_FORMAT_0 \ --secure-messaging-confidentiality-key-identifier arn:aws:payment-cryptography:us-east-2:111122223333:key/tqv5yij6wtxx64pi \ --secure-messaging-integrity-key-identifier arn:aws:payment-cryptography:us-east-2:111122223333:key/pw3s6nl62t5ushfk \ --derivation-method-attributes 'EmvCommon={ApplicationCryptogram=1234567890123457,MajorKeyDerivationMode=EMV_OPTION_A,Mode=CBC,PanSequenceNumber=00,PinBlockLengthPosition=NONE,PinBlockPaddingType=NO_PADDING,PrimaryAccountNumber=171234567890123}'
{ "SecureMessagingIntegrityKeyArn": "arn:aws:payment-cryptography:us-east-2:111122223333:key/pw3s6nl62t5ushfk", "SecureMessagingIntegrityKeyCheckValue": "08D7B4", "SecureMessagingConfidentialityKeyArn": "arn:aws:payment-cryptography:us-east-2:111122223333:key/tqv5yij6wtxx64pi", "SecureMessagingConfidentialityKeyCheckValue": "C1EB8F", "Mac": "5652EEDF83EA0D84", "EncryptedPinBlock": "F1A2B3C4D5E6F7A8" }