Encrypt data - AWS 결제 암호화

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

Encrypt data

Encrypt Data API는 대칭 및 비대칭 데이터 암호화 키와 DUKPTEMV 파생 키를 사용하여 데이터를 암호화하는 데 사용됩니다. TDES, RSA, AES를 비롯한 다양한 알고리즘과 변형이 지원됩니다.

기본 입력은 데이터를 암호화하는 데 사용되는 암호화 키, 암호화할 hexBinary 형식의 일반 텍스트 데이터, TDES와 같은 블록 암호의 초기화 벡터 및 모드와 같은 암호화 속성입니다. 일반 텍스트 데이터는의 경우 8바이트TDES,의 경우 16바이트AES,의 경우 키의 길이의 배수여야 합니다RSA. 입력 데이터가 이러한 요구 사항을 충족하지 않는 경우 대칭 키 입력(TDES, AES, DUKPT, EMV)을 패딩해야 합니다. 다음 표에는 각 키 유형에 대한 일반 텍스트의 최대 길이와 RSA 키에 EncryptionAttributes 대해에서 정의하는 패딩 유형이 나와 있습니다.

패딩 유형 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

기본 출력값에는 hexBinary 형식의 사이퍼텍스트로 암호화된 데이터와 암호화 키의 체크섬 값이 포함됩니다. 사용 가능한 모든 옵션에 대한 자세한 내용은 API 암호화 안내서를 참조하세요.

AES 대칭 키를 사용하여 데이터를 암호화합니다.

참고

모든 예제에서는 관련 키가 이미 있다고 가정합니다. 키는 CreateKey 작업을 사용하여 생성하거나 ImportKey 작업을 사용하여 가져올 수 있습니다.

이 예시에서는 CreateKey 작업을 사용하여 생성했거나 ImportKey 작업을 사용하여 가져온 대칭 키를 사용하여 일반 텍스트 데이터를 암호화합니다. 이 작업을 수행하려면 키의 KeyModesOfuse를 Encrypt로 설정하고 KeyUse를 TR31_D0_SYMMETRIC_DATA_ENCRYPTION_KEY로 설정해야 합니다. 자세한 옵션은 암호화 작업을 위한 키를 참조하세요.

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

DUKPT 키를 사용한 데이터 암호화

이 예제에서는 DUKPT 키를 사용하여 일반 텍스트 데이터를 암호화합니다. AWS Payment Cryptography는 TDESAES DUKPT 키를 지원합니다. 이 작업을 수행하려면 키의 KeyModesOfuse를 DeriveKey로 설정하고 KeyUse를 TR31_B0_BASE_DERIVATION_KEY로 설정해야 합니다. 자세한 옵션은 암호화 작업을 위한 키를 참조하세요.

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

EMV 파생 대칭 키를 사용하여 데이터 암호화

이 예제에서는 이미 생성된 EMV 파생 대칭 키를 사용하여 일반 텍스트 데이터를 암호화합니다. 이와 같은 명령을 사용하여 EMV 카드에 데이터를 전송할 수 있습니다. 이 작업을 수행하려면 키에 KeyModesOfUse가 로 설정되어 Derive 있고 KeyUsage가 TR31_E1_EMV_MKEY_CONFIDENTIALITY 또는 로 설정되어 있어야 합니다TR31_E6_EMV_MKEY_OTHER. 자세한 내용은 암호화 작업용 키를 참조하세요.

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

RSA 키를 사용한 데이터 암호화

이 예시에서는 ImportKey 작업을 사용하여 가져온 RSA 퍼블릭 키를 사용하여 일반 텍스트 데이터를 암호화합니다. 이 작업을 수행하려면 키의 KeyModesOfuse를 Encrypt로 설정하고 KeyUse를 TR31_D1_ASYMMETRIC_KEY_FOR_DATA_ENCRYPTION로 설정해야 합니다. 자세한 옵션은 암호화 작업을 위한 키를 참조하세요.

PKCS #7 또는 현재 지원되지 않는 기타 패딩 체계의 경우 서비스를 호출하기 전에 적용하고 패딩 표시기 '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" }