기본 개념 - AWS Key Management Service

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

기본 개념

AWS Key Management Service를 최대한 활용하는 데 도움이 되는 몇 가지 기본 용어와 개념을 알아봅니다.

AWS KMS key
참고

AWS KMS에서는 고객 마스터 키(CMK)라는 용어가 AWS KMS keyKMS 키로 바뀌었습니다. 단, 개념은 바뀌지 않았습니다. 호환성에 영향을 미치는 변경 사항이 발생하지 않도록 AWS KMS에서는 이 용어의 일부 변형된 형태를 그대로 사용합니다.

키 계층의 최상위를 나타내는 논리적 키입니다. KMS 키에는 고유 키 식별자 또는 키 ID가 포함된 Amazon 리소스 이름(ARN)이 지정됩니다. AWS KMS keys에는 세 가지 키 유형이 있습니다.

  • 고객 관리 키 - 고객은 고객 관리형 키의 수명 주기 및 키 정책을 생성하고 제어할 수 있습니다. 이러한 키에 대한 모든 요청은 CloudTrail 이벤트로 기록됩니다.

  • AWS 관리형 키 - AWS는 고객의 AWS 계정에 있는 리소스인 AWS 관리형 키의 수명 주기 및 키 정책을 생성하고 제어합니다. 고객은 이러한 키에 대한 AWS 관리형 키 액세스 정책 및 CloudTrail 이벤트를 볼 수 있지만 관리할 수는 없습니다. 이러한 키에 대한 모든 요청은 CloudTrail 이벤트로 기록됩니다.

  • AWS 소유 키 - 이러한 키는 여러 AWS 서비스에 걸쳐 내부 암호화 작업을 수행하기 위해 AWS가 생성하고 독점적으로 사용합니다. 고객은 주요 정책이나 AWS 소유 키 사용 현황을 파악할 수 없습니다 CloudTrail.

별칭

KMS 키와 연결된, 사용자에게 친숙한 이름입니다. 별칭은 다양한 AWS KMS API 작업에서 키 ID와 상호 교환하여 사용할 수 있습니다.

권한

키에 대한 권한을 정의하는, KMS 키에 연결된 정책입니다. 기본 정책은 사용자가 정의하는 모든 보안 주체를 허용할 뿐만 아니라 AWS 계정이(가) 키를 참조하는 IAM 정책을 추가하도록 허용합니다.

권한 부여

의도한 IAM 보안 주체 또는 사용 기간을 처음부터 알 수 없어 키 또는 IAM 정책에 추가할 수 없는 경우, KMS 키를 사용하도록 위임된 권한입니다. 권한 부여의 용도 중 하나는 AWS 서비스가 KMS 키를 사용하는 방식에 대한 범위가 축소된 권한을 정의하는 것입니다. 사용자가 직접 서명된 API 호출을 하지 않을 경우 암호화된 데이터에 대해 사용자 대신 비동기 작업을 수행하기 위해 서비스가 사용자의 키를 사용해야 할 수 있습니다.

데이터 키

KMS 키로 보호되는 HSM에서 생성된 암호화 키입니다. AWS KMS는 인증된 엔터티가 KMS 키로 보호되는 데이터 키를 가져올 수 있도록 허용합니다. 이 키는 일반 텍스트(암호화되지 않음) 데이터 키로 반환될 수도 있고 암호화된 데이터 키로 반환될 수도 있습니다. 데이터 키는 대칭 또는 비대칭일 수 있습니다(퍼블릭 및 프라이빗 부분이 모두 반환됨).

암호화 텍스트

혼동하지 않도록, AWS KMS의 암호화된 출력을 고객 암호화 텍스트라고도 합니다. 암호화 텍스트에는 복호화 프로세스에서 사용할 KMS 키를 식별하는 추가 정보가 있는 암호화된 데이터가 포함되어 있습니다. 암호화된 데이터 키는 KMS 키를 사용할 때 생성되는 암호화 텍스트의 일반적인 예이지만, 크기가 4KB 미만인 데이터는 KMS 키로 암호화하여 암호화 텍스트를 생성할 수 있습니다.

암호화 컨텍스트

AWS KMS로 보호된 정보와 연결된 추가 정보의 키-값 페어 맵입니다. AWS KMS는 인증된 암호화를 사용하여 데이터 키를 보호합니다. 암호화 컨텍스트는 AWS KMS로 암호화된 암호화 텍스트 형식으로 인증된 암호화의 AAD에 통합됩니다. 이 컨텍스트 정보는 선택 사항이며 키(또는 암호화 작업)를 요청할 때 반환되지 않습니다. 하지만 이 컨텍스트 값을 사용할 경우, 복호화 작업을 성공적으로 완료하는 데 필요합니다. 암호화 컨텍스트를 사용하는 목적은 추가적인 인증 정보를 제공하는 것입니다. 이 정보는 정책을 시행하고 AWS CloudTrail 로그에 포함시키는 데 도움이 될 수 있습니다. 예를 들어 {"key name":"satellite uplink key"}라는 키-값 페어를 사용하여 데이터 키의 이름을 지정할 수 있습니다. 나중에 이 키를 사용하면 ‘key name’: ‘satellite uplink key’가 포함된 AWS CloudTrail 항목이 생성됩니다. 이 추가 정보는 특정 KMS 키가 사용된 이유를 파악하는 데 유용한 컨텍스트를 제공할 수 있습니다.

퍼블릭 키

비대칭 암호(RSA 또는 타원 곡선)를 사용하는 경우 퍼블릭 키는 퍼블릭-프라이빗 키 페어의 ‘퍼블릭 구성 요소’입니다. 퍼블릭-프라이빗 키 페어의 소유자에 대한 데이터를 암호화해야 하는 엔터티에 퍼블릭 키를 공유하고 배포할 수 있습니다. 디지털 서명 작업의 경우 서명을 확인하는 데 퍼블릭 키가 사용됩니다.

프라이빗 키

비대칭 암호(RSA 또는 타원 곡선)를 사용하는 경우 프라이빗 키는 퍼블릭-프라이빗 키 페어의 ‘프라이빗 구성 요소’입니다. 프라이빗 키는 데이터를 복호화하거나 디지털 서명을 생성하는 데 사용됩니다. 대칭 KMS 키와 마찬가지로 프라이빗 키는 HSM에서 암호화됩니다. HSM의 단기 메모리에만 복호화되며 암호화 요청을 처리하는 데 필요한 시간 동안만 복호화됩니다.