Criptografar dados - AWS Criptografia de pagamento

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Criptografar dados

A Encrypt Data API é usada para criptografar dados usando chaves de criptografia de dados simétricas e assimétricas, bem como chaves derivadas de DUKPT e EMV. Vários algoritmos e variações são compatíveis, incluindo TDES, RSA e AES.

As entradas primárias são a chave de criptografia usada para criptografar os dados, os dados de texto simples no formato HexBinary a serem criptografados e os atributos de criptografia, como vetor e modo de inicialização, para cifras de bloco, como TDES. Os dados em texto simples precisam estar em múltiplos de 8 bytes paraTDES, 16 bytes para AES e o tamanho da chave no caso de. RSA As entradas de chave simétricas (TDES, AES, DUKPT, EMV) devem ser preenchidas nos casos em que os dados de entrada não atendam a esses requisitos. A tabela a seguir mostra o tamanho máximo do texto simples para cada tipo de chave e o tipo de preenchimento que você define EncryptionAttributes para as chaves RSA.

Tipo de preenchimento RSA_2048 RSA_3072 RSA_4096
OAEP SHA1 428 684 940
OAEP SHA256 380 636 892
OAEP SHA512 252 508 764
PKCS1 488 744 1000
None 488 744 1000

As saídas primárias incluem os dados criptografados como texto cifrado no formato hexBinary e o valor da soma de verificação da chave de criptografia. Para obter detalhes sobre todas as opções disponíveis, consulte o Guia de API do Encrypt.

Criptografe dados usando a chave simétrica AES

nota

Todos os exemplos presumem que a chave relevante já existe. As chaves podem ser criadas usando a CreateKeyoperação ou importadas usando a ImportKeyoperação.

Neste exemplo, criptografaremos dados em texto simples usando uma chave simétrica que foi criada usando a CreateKeyOperação ou importada usando a Operação. ImportKey Para essa operação, a chave deve ter sido KeyModesOfUse definida como Encrypt e KeyUsage definida comoTR31_D0_SYMMETRIC_DATA_ENCRYPTION_KEY. Consulte Chaves para operações criptográficas para obter mais opções.

$ 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" }

Criptografe dados usando a chave DUKPT

Neste exemplo, criptografaremos dados em texto simples usando uma chave DUKPT. AWS Suportes de criptografia de pagamento TDES e chaves AES DUKPT. Para essa operação, a chave deve ter sido KeyModesOfUse definida como DeriveKey e KeyUsage definida comoTR31_B0_BASE_DERIVATION_KEY. Consulte Chaves para operações criptográficas para obter mais opções.

$ 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" }

Criptografe dados usando a chave simétrica derivada do EMV

Neste exemplo, criptografaremos dados de texto não criptografado usando uma chave simétrica derivada do EMV que já foi criada. Você pode usar um comando como esse para enviar dados para um cartão EMV. Para essa operação, a chave deve ter sido KeyModesOfUse definida como Derive e KeyUsage definida como TR31_E1_EMV_MKEY_CONFIDENTIALITY ouTR31_E6_EMV_MKEY_OTHER. Consulte Chaves para operações criptográficas para obter mais detalhes.

$ 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" }

Criptografe dados usando uma chave RSA

Neste exemplo, criptografaremos dados em texto simples usando uma chave pública RSA que foi importada usando a operação. ImportKey Para essa operação, a chave deve ter sido KeyModesOfUse definida como Encrypt e KeyUsage definida comoTR31_D1_ASYMMETRIC_KEY_FOR_DATA_ENCRYPTION. Consulte Chaves para operações criptográficas para obter mais opções.

Para esquemas de preenchimento como o PKCS #7 ou outros atualmente não compatíveis, aplique antes de chamar o serviço e selecione nenhum preenchimento ao omitir o indicador de preenchimento '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:111122223333:key/5dza7xqd6soanjtb", "KeyCheckValue": "FF9DE9CE" }