Encrypt data - AWS 결제 암호화

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

Encrypt data

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

기본 입력은 데이터를 암호화하는 데 사용되는 암호화 키, 암호화할 HexBinary 형식의 일반 텍스트 데이터, TDES와 같은 블록 암호의 초기화 벡터 및 모드와 같은 암호화 속성입니다. 일반 텍스트 데이터는 크기가 8바이트의 배수, 인 경우 16바이트TDES, 키 길이의 배수 단위여야 합니다. 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 설정되어야 합니다. KeyUsage 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 결제 암호화 지원 및 DUKPT 키. TDES AES 이 작업을 수행하려면 키가 로 DeriveKey 설정되고 KeyUsage 로 KeyModesOfUse 설정되어 있어야 합니다. 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 카드로 데이터를 보낼 수 있습니다. 이 작업을 수행하려면 키가 or로 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 키를 사용한 데이터 암호화

이 예시에서는 작업을 통해 가져온 RSA 공개 키를 사용하여 일반 텍스트 데이터를 암호화합니다. ImportKey 이 작업을 수행하려면 키가 로 설정되고 로 KeyModesOfUse Encrypt 설정되어야 합니다. KeyUsage 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:529027455495:key/5dza7xqd6soanjtb", "KeyCheckValue": "FF9DE9CE" }