KMS (Key Management Service)

박재현·2023년 2월 26일
0

KMS (Key Management Service)

  • 암호키(Encryption Key) 생성 및 데이터 암호화
  • AWS Resources들과 연동해서 사용 가능
    ✓ S3, EBS, RDS, EFS, DynamoDB, Lamda, CloudTrail 등등
  • 고객 데이터, DB Password & Credentials 등등

CMK (Customer Master Key)

  • Data key를 통해 4KB 데이터 Encrypt & Decrypt
  • 대칭키(Symmetric): AWS 사용자만 Encrypt, Decrypt 가능
  • 비대칭키(Asymmetric): 외부 사용자 또한 Encypt, Decrypt 가능

Envelope Encryption/Decrypt 프로세스

=> 데이터 Key를 통하는 이유는 암호화하거나 될 데이터가 CMK를 거치지 않도록 하기 위함
이를 통해 데이터가 직접적으로 KMS 네트워크 서비스로 이동되지 않아도 되기 때문에 부하가 생기지 않음

  • 데이터 암호화 프로세싱 (~4KB)
    ✓ Encryption
  1. KMS에 있는 CMK를 통해 GenerateDataKeyAPI 호출

  2. 해당 API가 Data Key(CMK)를 통해 암호화

    ✓ Description

  3. 암호화 된 데이터와 Data Key

  4. 암호화 된 Data Key가 CMK를 통해 DecryptAPI 호출

  5. DecryptAPI가 Decrypted Data Key 반환

  6. Decrypted Data Key를 통해 Data 해독

  7. 데이터 키 메모리에서 삭제


시나리오 - KMS 생성 후 S3 버킷에 업로드 파일에 대해 KMS 적용/미적용 접근

  1. KMS 생성
  • 대칭키 사용시 키 관리자와 접근자 AWS IAM User를 설정할 수 있다.

  1. S3 버킷 생성 후 파일 업로드
  • 암호화 지정
  1. 버킷 접근

3.1) 암호화 (다른 AWS 유저 접근 및 다운로드 불가)

3.2) 비암호화

  1. 스케줄링을 통해 해당 키의 삭제시간 설정 가능

0개의 댓글