KMS를 활용한 키 관리 및 암복호화
KMS를 활용한 키 관리 및 암복호화
개요
KMS(Key Management Service) 는 고객이 암호화 키를 안전하게 생성, 보관, 관리할 수 있도록 제공하는 Managed Service 서비스로, 안정적인 중앙 집중 암호화 키 관리 방식의 서비스입니다.
데이터의 보안은 클라우드 환경에서 중요한 요소입니다. 암호화 키를 사용하여 서비스 또는 애플리케이션 내의 데이터를 API를 통해 암호화 할 수 있습니다.
또한 KMS에서 생성되는 암호화 키는 FIPS 140-2에 따라 검증된 하드웨어 보안 모듈을 통해 생성됩니다.
아키텍처 다이어그램
- KMS 관리자에 의해 생성된 Master Key는 별도 네트워크 망에 구성된 안전한 HSM에서 키를 생성하여 KMS에 전달한다.
- HSM에서 생성되어 전달된 Master Key는 KMS내에 저장된다.
- Application에서 KMS에게 API를 통해 Data Key 생성 요청한다.
- KMS에서 Master Key로 하위 키인 Data Key를 발급한다.
- 평문 데이터를 Data Key로 암호화한다.
- 암호화된 데이터를 저장 또는 보관한다.
- Data Key는 KMS를 통해 암호화하여 저장 또는 보관한다.
사용 사례
개인정보 저장을 위한 암호화
민감한 사용자 정보(이름, 주민번호, 핸드폰번호 등)는 평문이 아닌 암호화 한 형태로 저장하여야 합니다.
데이터를 저장할 때 KMS를 통해 발급 받은 암호화 키로 암호화 후 저장을 하게 되면 개인정보 유출의 위험성도 낮출 수 있으며, 보안적으로도 안전하게 보관할 수 있습니다.
디지털 서명 및 검증
KMS는 비대칭 키를 지원합니다.
공개키 방식의 암호화를 이용하여 인증을 위한 서명/검증 값을 쉽게 얻을 수 있습니다. 문서의 내용을 고객이 개인키로 암호화하여 서명하고, 전송받은 서버 측에서는 미리 고객으로부터 제공받은 공개키로 복호화를 하여 검증하는 과정을 진행합니다.
대칭키 사용 대비 기밀성이 높으며 탈취로 인한 문제도 해결 할 수 있습니다.
선결 사항
KMS 암호화 키를 사용하기 위해서는 Key 관리자가 Master Key를 미리 생성하여야 합니다.
제약 사항
애플리케이션 내에서 Data Key를 사용하여 암호화를 하기 위해서는 KMS에서 제공하는 API를 사용해야 하며, API를 사용하기 위한 암호화 로직은 애플리케이션 내에서 개발되어야 합니다.
고려 사항
Master Key의 생성, 삭제, 로테이션의 경우는 Key 관리자만에게만 권한이 있습니다.
Master Key 로테이션 주기는 최대 2년이고 자동 로테이션 됩니다.
고객이 직접 발급받아 암호화에 사용하는 Data Key는 Master Key를 통해 생성되고 고객이 직접 관리하게 됩니다.
관련 서비스
본 가이드에서 설명하는 기능 또는 구성과 연결되는 Samsung Cloud Platform의 서비스 목록입니다. 서비스 선택 및 설계 시에 참고하세요.
| 서비스군 | 서비스 | 상세 설명 |
|---|---|---|
| Compute | Cloud Functions | 서버리스 컴퓨팅 환경에서 애플리케이션 코드를 실행하는 서비스 |
