봉투 암호화 및 데이터 키
KMS가 실제 데이터를 암호화하는 데이터 키를 보호하는 방법을 알아보세요.
봉투 암호화 및 데이터 키은(는) CoddyKit의 무료 Cloud & IT Cert Prep 강의입니다. 이것은 4개 중 4번째 강의입니다. 아래에서 전체 강의를 무료로 읽을 수 있으며, 내장 코드 에디터와 24/7 AI 튜터와 함께 브라우저에서 직접 실습할 수 있습니다. 이 강의는 Cloud & IT Cert Prep 학습 경로의 일부이며, 진행 상황이 웹과 CoddyKit 앱에 동기화됩니다. Cloud & IT Cert Prep 강의에는 총 4개의 강의가 포함되어 있습니다.
대용량 데이터 문제
KMS는 작은 페이로드(약 4KB)만 직접 암호화할 수 있습니다. 실제 데이터, 파일, 볼륨 및 데이터베이스는 훨씬 큽니다.
봉투 암호화가 이 문제를 해결합니다. 데이터 키로 큰 데이터를 암호화한 다음, KMS 키로 해당 데이터 키를 암호화합니다. AWS가 대규모로 모든 것을 암호화하는 방식이 바로 이것입니다.
데이터 키란 무엇인가
데이터 키는 실제 데이터를 암호화하기 위해 KMS가 생성하는 일반적인 암호화 키입니다(AES-256 등).
- KMS 키와 달리 데이터 키의 평문은 잠시 KMS 밖으로 나와 사용할 수 있습니다.
- KMS는 데이터 키의 암호화된 사본도 반환합니다.
GenerateDataKey
KMS 키를 지정해 GenerateDataKey를 호출합니다. KMS는 다음을 반환합니다.
- 데이터를 즉시 암호화하는 데 사용할 평문 데이터 키입니다.
- 암호문과 함께 저장할 암호화된 데이터 키입니다(KMS 키로 래핑됨).
그런 다음 메모리에서 평문 데이터 키를 삭제합니다.
aws kms generate-data-key \
--key-id alias/my-app-key \
--key-spec AES_256봉투 방식
흐름은 다음과 같습니다.
- 평문 데이터 키로 데이터를 암호화합니다.
- 암호화된 데이터 키를 암호문 옆에 저장합니다.
- 평문 데이터 키를 폐기합니다.
데이터 키가 KMS 키로 봉인된 "봉투 안에" 들어 있으므로 이러한 이름이 붙었습니다.
봉투를 사용한 복호화
복호화할 때는 과정을 반대로 수행합니다.
- 암호화된 데이터 키를 KMS의 Decrypt에 전달합니다.
- KMS가 평문 데이터 키를 반환합니다.
- 이 키로 데이터를 복호화한 다음 폐기합니다.
데이터 키를 언래핑할 수 있는 것은 KMS뿐이므로 KMS 키에 대한 액세스가 모든 것을 제어합니다.
봉투 암호화가 유용한 이유
봉투 암호화는 두 가지 장점을 모두 제공합니다.
- 데이터 키를 사용해 대용량 데이터를 로컬에서 빠르게 암호화할 수 있습니다.
- KMS 키가 없으면 데이터 키를 사용할 수 없으므로 강력한 중앙 제어가 가능합니다.
데이터 키 하나로 많은 데이터를 보호할 수 있으므로 KMS 호출도 줄어듭니다.
데이터 키 캐싱
대규모 작업에서는 AWS Encryption SDK가 데이터 키를 캐시하여 여러 암호화 작업에서 재사용할 수 있습니다.
이렇게 하면 KMS 요청 비용과 지연 시간이 줄어듭니다. 또한 구성 가능한 제한을 통해 캐시된 키가 너무 오래 또는 너무 넓은 범위에서 재사용되지 않도록 하여 성능과 보안의 균형을 맞출 수 있습니다.
서비스가 내부적으로 사용하는 방식
S3, EBS 또는 RDS에서 암호화를 활성화하면 AWS가 대신 봉투 암호화를 수행합니다.
서비스가 사용자의 KMS 키에서 데이터 키를 요청하고, 데이터를 암호화한 다음 래핑된 데이터 키를 저장합니다. 사용자는 KMS 키만 선택하면 되며 봉투 암호화 과정은 자동으로 처리됩니다.
AWS Encryption SDK
AWS Encryption SDK는 자체 애플리케이션에서 봉투 암호화를 올바르게 구현하는 클라이언트 측 라이브러리입니다.
데이터 키 생성, 암호화 컨텍스트 처리, 래핑된 키와 암호문 저장을 담당하므로 오류가 발생하기 쉬운 암호화 관련 연결 작업을 직접 구현하지 않아도 됩니다.
GenerateDataKeyWithoutPlaintext
변형 작업인 GenerateDataKeyWithoutPlaintext는 암호화된 데이터 키만 반환합니다.
지금 데이터 키를 생성하고 저장하되 실제 사용하는 시점인 나중에만 복호화하고 싶을 때 사용합니다. 실제로 필요할 때까지 평문 키를 메모리에 두지 않으므로 미리 준비한 키의 노출을 줄일 수 있습니다.
시험에서 중요한 이유
봉투 암호화를 이해하면 KMS가 확장 가능한 이유와 단일 KMS 키로 테라바이트 규모의 데이터를 보호하는 방식을 알 수 있습니다.
GenerateDataKey 흐름, KMS 밖으로 나오는 것(잠시 나오는 데이터 키), KMS 키를 제어하면 파생된 모든 데이터를 제어할 수 있는 이유에 관한 문제가 출제될 수 있습니다.
빠른 확인
봉투 암호화 흐름을 확인해 보십시오.
복습
봉투 암호화를 배웠습니다.
- GenerateDataKey는 평문 데이터 키와 암호화된 데이터 키를 반환합니다.
- 평문 키로 데이터를 로컬에서 암호화하고, 래핑된 키를 저장한 다음 평문을 폐기합니다.
- KMS 키만 데이터 키를 언래핑할 수 있으므로 모든 데이터를 중앙에서 제어할 수 있습니다.
자주 묻는 질문
“봉투 암호화 및 데이터 키” 강의는 무료인가요?
네 — “봉투 암호화 및 데이터 키” 전체 내용을 이 웹사이트에서 무료로 읽을 수 있습니다. 인터랙티브하게 실습하려면(내장 코드 에디터와 24/7 AI 튜터), CoddyKit PRO로 업그레이드하면 Cloud & IT Cert Prep 강의 전체를 잠금 해제할 수 있습니다. Cloud & IT Cert Prep 강의에는 총 4개의 강의가 포함되어 있습니다.
“봉투 암호화 및 데이터 키”에서 뭘 배우나요?
KMS가 실제 데이터를 암호화하는 데이터 키를 보호하는 방법을 알아보세요. 브라우저에서 직접 실행하는 실습 코드로 Cloud & IT Cert Prep을(를) 배우며, 24/7 AI 튜터가 강의를 진행하면서 질문에 답변해줍니다.
Cloud & IT Cert Prep을(를) 시작하는 데 경험이 필요한가요?
사전 경험은 필요하지 않습니다. CoddyKit의 Cloud & IT Cert Prep은(는) 초급자부터 고급 학습자까지를 위해 구성되어 있으므로, 여기서 시작하거나 처음부터 시작할 수 있으며 자신의 속도대로 진행할 수 있습니다. 이것은 4개 중 4번째 강의입니다.
“봉투 암호화 및 데이터 키” 강의는 얼마나 걸리나요?
대부분의 CoddyKit 강의는 약 5~10분이 소요됩니다. 각 강의는 간결하고 인터랙티브하여 꾸준한 진행이 가능하며, 웹과 앱에서 중단한 부분부터 바로 시작할 수 있습니다.
이 Cloud & IT Cert Prep 강의에서 코드를 작성하고 실행할 수 있나요?
네. 모든 Cloud & IT Cert Prep 강의에는 내장 코드 에디터가 포함되어 있으므로, 브라우저에서 바로 실제 코드를 작성하고 실행한 후 즉시 AI 피드백을 받을 수 있습니다 — 로컬 설정이 필요 없습니다.
이 강의의 모든 강의
- KMS 키의 정의와 기능
- 대칭 키, 비대칭 키 및 다중 리전 키
- 키 정책, 권한 부여 및 조건
- 봉투 암호화 및 데이터 키