Cloud Infra Architecture (AWS)/AWS Build

[AWS KMS] Encyption SDK 사용하여 봉투 암호화하기 [T]

seongduck 2024. 10. 30. 16:40
 

[AWS KMS] AWS CLI로 클라이언트 측 암호화하기 [T]

해당 작업을 진행하려면 사용할 EC2 권한에 다음을 추가해야 한다.1) IAM -> Policy -> KMS -> 다음2) Write(Decrypt, Encrypt, GenerateDataKey, GenerateDataKeyWithoutPlaintxt)3) Tagging (All tagging actions)4) Resources All 선택 ->

seongduck.tistory.com

이 방법의 다른 암호화 방법이라고 생각하면 된다.

EC2의 권한은 위에 처럼 넣어주자.


1) 비밀 텍스트 생성

sudo echo “새로운 암호화할 샘플 비밀 텍스트” > newsamplesecret.txt

 

2) Encryption SDK CLI 설치

sudo yum install pip

pip install aws-encryption-sdk-cli

 

CMK로 암호화된 256비트 길이의 대칭 데이터 키 생성

aws-encryption-cli --encrypt --input newsamplesecret.txt \
                   --wrapping-keys key=your-key-id \
                   --output myEncryptedMessage.txt \
                   --metadata-output ~/metadata \
                   --commitment-policy require-encrypt-require-decrypt
                   
                   
cat myEncryptedMessage.txt #암호화 확인

 

3) Encryption SDK CLI를 활용하여 복호화

1) AWS Console -> KMS -> 방금 생성한 Keys 선택
2) ARN 복사

 

다시 EC2로 돌아와서 다음을 입력

aws-encryption-cli --decrypt --input myEncryptedMessage.txt \
                   --wrapping-keys key= "위에서 복사한 ARN 입력" \
                   --output myPlaintextData.txt \
                   --metadata-output ~/metadata \
                   --max-encrypted-data-keys 1 \
                   --buffer \
                   --commitment-policy require-encrypt-require-decrypt
                   
cat myPlaintextData.txt #복호화 확인