[AWS] KMS (Key Management Service)

순두누나·2025년 3월 26일

AWS 공부

목록 보기
3/18

: 데이터를 암호화할 때, 사용되는 암호화 KEY를 안전하게 관리하는 데 목적을 둔 서비스

필요한 이유

  • 중요한 데이터를 저장하거나 전송 시, 잠금장치(암호화)를 걸어야 함 → 이 때, 필요한 게 열쇠(암호화 키)
  • 이 때, 이 열쇠를 아무 데나 보관하면 도난당하거나 유출될 위험이 있음 !
    • → KMS는 이 열쇠를 안전하게 관리하고 필요할 때만 사용할 수 있도록 도와준다!

서비스 종류

  • AWS managed key : AWS 서비스들이 자동으로 생성하고 관리해주는 암호화 키.
    • 내부적으로 자동으로 발생, 사용자의 직접적인 제어 불가능
    • 키를 직접 관리할 필요 없이 간편하게 AWS 서비스의 암호화를 사용하고 싶을 때 사용 (기본 제공하는 암호화 기능)
    • 세부적인 키 관리 필요 X
    • 무료거나 한도내 비용이 저렴
  • CMK (Customer managed key) : 사용자가 직접 키를 생성하고 관리하는 서비스
    • 사용량에 따라 요금 발생
AWS managed keyCMK
키 생성AWS가 자동으로 생성사용자 직접 생성
키 관리AWS가 관리사용자가 직접 관리
권한 설정기본적인 AWS 서비스에서 사용가능세부적인 권한 설정 가능
키 로테이션AWS가 자동으로 관리사용자가 직접 설정 가능
사용 사례기본적인 데이터 암호화(S3, RDS,EBS 등)보안 요구사항이 높은 경우
  • Custom key stores AWS에서 제공하는 또 다른 키 관리형 서비스인 CloudHSM을 활용한 key 관리 서비스

ClousHSM (Hardware Security Module)

: 하드웨어 기반 보안 모듈

→ 물리적인 보안 장치를 AWS에서 제공해주는 것!

  • 보안이 중요한 금융, 의료, 정부기관에서 암호화 키를 하드웨어 장비에서 직접 관리하고 싶을 때 사용
  • 전 세계적인 암호화 하드웨어 표준인 FIPS 140-2 Level 3 인증
KMSCloudHSM
키 관리 방식AWS가 키를 관리하고 보호사용자가 직접 키를 관리
보안강도소프트웨어 기반하드웨어 기반
제어권AWS가 키를 관리하므로 편리사용자가 직접 제어
사용사례일반적인 데이터 암호화금융. 정보 등 강력한 보안 요구사항이 있는 경우
비유은행 금고개인금고
비용다소 저렴비쌈!
💡

즉, AWS managed key → CMK → CloudHSM 순으로 보안이 강화됨

KMS 동작 방식

❗CMK 기준으로 설명

1. KMS에 CMK를 생성

  • 이 때, Master Key는 데이터를 암호화하기 위해서 사용되는 데이터 키를 생성하는데 사용

2. 데이터 키 생성

  • CMK로부터 GenerateDataKey 라는 작업을 통해 생성.
    • PainText Key, Encrypted Key 생성
    • Encrypted key, PlainText Key 용어 정리
      1. PlainText Key : 평문 키 (암호화되지 않은 키)
        • 암호화 할 때, 사용
      2. Encrypted key : 암호화 된 키
        • 데이터를 복호화할 때, 사용
          • 복호화(Decrryption): Eccrypted Data → Plaintext Data로 되돌리는 과정

3. 암호화 과정

  • PlainText data Key를 이용해 데이터 암호화
  • 데이터를 암호화한 이후에는 해당 Plaintext data key는 더 필요가 없으므로 메모리에서 제거
  • 암호화된 Data, 암호화된 데이터 키 같이 안전하게 보관 → Envelpe Encryption 방식 (봉투 암호화)
    • Envelpe Encryption 방식 프로세스 : 데이터 키 생성 → 데이터 암호화→ 데이터 키 자체도 암호화→ 암호화된 데이터 & 암호화된 데이터 키 저장
      • 보안 더욱더 강화됨

4. 복호화 과정

  • 복호화하기 위해서 PlainText data Key 필요. 하지만 위에서 PlainText data key를 폐기한 상태이므로 남은거는 Encrypted Data Key.
  • Encrypted Data Key → PlainText data Key 과정 필요.
  • 복호화하는 과정에서 CMK가 다시 필요하게 됨.

🚫주의!
KMS에서 제공되는 Key를 삭제할 경우, 해당 KEY를 활용해 암호화된 데이터가 있다면 그 데이터는 영원히 복호화 불가능!
그래서 AWS에서는 key의 즉시 삭제를 지원하지 않고, 삭제시 7-30일간의 유예기간을 줌

이번 동아리에서 내가 세션 발표이기 때문에 보안 서비스중 뭘로 발표를 할까...고민하다가 수학과에서의 들어야할 수업인 암호론을 예습도 해볼겸~ KMS 서비스를 골랐다!!! 처음엔 어려웠지만 주제가 나름 재밌어서 재미나게 해보았다...그리고 참고했던 여러 사이트들이 도움이 되었다!! 발표 홧팅!

레퍼런스 출처: https://bluese05.tistory.com/71

profile
순두의 누나입니다

0개의 댓글