기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
Encrypt data
Encrypt Data
API는 대칭 및 비대칭 데이터 암호화 키와 DUKPT 및 EMV 파생 키를 사용하여 데이터를 암호화하는 데 사용됩니다. 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 작업을 사용하여 가져온 대칭 키를 사용하여 일반 텍스트 데이터를 암호화합니다. 이 작업을 수행하려면 키의 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는 TDES
및 AES
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" }