Chiffrer des données - 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.

Chiffrer des données

L'Encrypt DataAPI est utilisée pour chiffrer les données à l'aide de clés de chiffrement symétriques et asymétriques ainsi que de clés dérivées du DUKPT et de l'EMV. Différents algorithmes et variantes sont pris en chargeTDES, notamment, RSA etAES.

Les entrées principales sont la clé de chiffrement utilisée pour chiffrer les données, les données en texte brut au format HexBinary à chiffrer et les attributs de chiffrement tels que le vecteur d'initialisation et le mode pour les chiffrements par blocs tels que TDES. Les données en texte brut doivent être exprimées en multiples de 8 octets pourTDES, 16 octets pour AES et de la longueur de la clé dans le cas deRSA. Les entrées clés symétriques (TDES, AES, DUKPT, EMV) doivent être complétées dans les cas où les données d'entrée ne répondent pas à ces exigences. Le tableau suivant indique la longueur maximale du texte brut pour chaque type de clé et le type de remplissage que vous définissez EncryptionAttributes pour les clés RSA.

Type de rembourrage RSA_2048 RSA_3072 RSA_4096
OAEP SHA1 428 684 940
OAEP SHA256 380 636 892
OAEP SHA512 252 508 764
PKCS1 488 744 1 000
None 488 744 1 000

Les sorties principales incluent les données chiffrées sous forme de texte chiffré au format HexBinary et la valeur de la somme de contrôle pour la clé de chiffrement. Pour plus de détails sur toutes les options disponibles, veuillez consulter le guide de l'API pour Encrypt.

Chiffrer les données à l'aide d'une clé symétrique AES

Note

Tous les exemples supposent que la clé correspondante existe déjà. Les clés peuvent être créées à l'aide de l'CreateKeyopération ou importées à l'aide de l'ImportKeyopération.

Dans cet exemple, nous chiffrerons les données en texte brut à l'aide d'une clé symétrique créée à l'aide de l'CreateKeyopération ou importée à l'aide de l'opération. ImportKey Pour cette opération, la clé doit être KeyModesOfUse réglée sur Encrypt et KeyUsage définie surTR31_D0_SYMMETRIC_DATA_ENCRYPTION_KEY. Consultez la section Clés pour les opérations cryptographiques pour plus d'options.

$ aws payment-cryptography-data encrypt-data --key-identifier arn:aws:payment-cryptography:us-east-2:111122223333:key/tqv5yij6wtxx64pi --plain-text 31323334313233343132333431323334 --encryption-attributes 'Symmetric={Mode=CBC}'
{ "KeyArn": "arn:aws:payment-cryptography:us-east-2:111122223333:key/tqv5yij6wtxx64pi", "KeyCheckValue": "71D7AE", "CipherText": "33612AB9D6929C3A828EB6030082B2BD" }

Chiffrer les données à l'aide de la clé DUKPT

Dans cet exemple, nous allons chiffrer les données en texte brut à l'aide d'une clé DUKPT. AWS Supports de cryptographie des paiements TDES et clés AES DUKPT. Pour cette opération, la clé doit être KeyModesOfUse réglée sur DeriveKey et KeyUsage définie surTR31_B0_BASE_DERIVATION_KEY. Consultez la section Clés pour les opérations cryptographiques pour plus d'options.

$ aws payment-cryptography-data encrypt-data --key-identifier arn:aws:payment-cryptography:us-east-2:111122223333:key/tqv5yij6wtxx64pi --plain-text 31323334313233343132333431323334 --encryption-attributes 'Dukpt={KeySerialNumber=FFFF9876543210E00001}'
{ "KeyArn": "arn:aws:payment-cryptography:us-east-2:111122223333:key/tqv5yij6wtxx64pi", "KeyCheckValue": "71D7AE", "CipherText": "33612AB9D6929C3A828EB6030082B2BD" }

Chiffrer les données à l'aide d'une clé symétrique dérivée de l'EMV

Dans cet exemple, nous allons chiffrer des données en texte clair à l'aide d'une clé symétrique dérivée de l'EMV qui a déjà été créée. Vous pouvez utiliser une commande comme celle-ci pour envoyer des données vers une carte EMV. Pour cette opération, la clé doit être KeyModesOfUse définie sur Derive et KeyUsage définie sur TR31_E1_EMV_MKEY_CONFIDENTIALITY ouTR31_E6_EMV_MKEY_OTHER. Reportez-vous à la section Clés pour les opérations cryptographiques pour plus de détails.

$ aws payment-cryptography-data encrypt-data --key-identifier arn:aws:payment-cryptography:us-east-2:111122223333:key/tqv5yij6wtxx64pi --plain-text 33612AB9D6929C3A828EB6030082B2BD --encryption-attributes 'Emv={MajorKeyDerivationMode=EMV_OPTION_A,PanSequenceNumber=27,PrimaryAccountNumber=1000000000000432,SessionDerivationData=02BB000000000000, InitializationVector=1500000000000999,Mode=CBC}'
{ "KeyArn": "arn:aws:payment-cryptography:us-east-2:111122223333:key/tqv5yij6wtxx64pi", "KeyCheckValue": "71D7AE", "CipherText": "33612AB9D6929C3A828EB6030082B2BD" }

Chiffrer les données à l'aide d'une clé RSA

Dans cet exemple, nous allons chiffrer les données en texte brut à l'aide d'une clé publique RSA importée à l'aide de l'opération. ImportKey Pour cette opération, la clé doit être KeyModesOfUse réglée sur Encrypt et KeyUsage définie surTR31_D1_ASYMMETRIC_KEY_FOR_DATA_ENCRYPTION. Consultez la section Clés pour les opérations cryptographiques pour plus d'options.

Pour le PKCS #7 ou d'autres systèmes de rembourrage non pris en charge actuellement, veuillez en faire la demande avant d'appeler le service et sélectionner aucun rembourrage en omettant l'indicateur de rembourrage « Asymmetric= {} »

$ aws payment-cryptography-data encrypt-data --key-identifier arn:aws:payment-cryptography:us-east-2:111122223333:key/thfezpmsalcfwmsg --plain-text 31323334313233343132333431323334 --encryption-attributes 'Asymmetric={PaddingType=OAEP_SHA256}'
{ "CipherText": "12DF6A2F64CC566D124900D68E8AFEAA794CA819876E258564D525001D00AC93047A83FB13 \ E73F06329A100704FA484A15A49F06A7A2E55A241D276491AA91F6D2D8590C60CDE57A642BC64A897F4832A3930 \ 0FAEC7981102CA0F7370BFBF757F271EF0BB2516007AB111060A9633D1736A9158042D30C5AE11F8C5473EC70F067 \ 72590DEA1638E2B41FAE6FB1662258596072B13F8E2F62F5D9FAF92C12BB70F42F2ECDCF56AADF0E311D4118FE3591 \ FB672998CCE9D00FFFE05D2CD154E3120C5443C8CF9131C7A6A6C05F5723B8F5C07A4003A5A6173E1B425E2B5E42AD \ 7A2966734309387C9938B029AFB20828ACFC6D00CD1539234A4A8D9B94CDD4F23A", "KeyArn": "arn:aws:payment-cryptography:us-east-1:529027455495:key/5dza7xqd6soanjtb", "KeyCheckValue": "FF9DE9CE" }