Amazon EBS의 암호화 방식 - Amazon EBS

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

Amazon EBS의 암호화 방식

EC2 인스턴스의 부팅 및 데이터 볼륨을 모두 암호화할 수 있습니다.

암호화된 EBS 볼륨을 만들고 지원되는 인스턴스 유형에 이 볼륨을 연결하면 다음 유형의 데이터가 암호화됩니다.

  • 볼륨 내부에 있는 데이터

  • 볼륨과 인스턴스 사이에서 이동하는 모든 데이터

  • 볼륨에서 생성된 모든 스냅샷

  • 그런 스냅샷에서 생성된 모든 볼륨

Amazon EBS는 산업 표준 AES-256 데이터 암호화를 사용하여 데이터 키로 볼륨을 암호화합니다. 데이터 키는에서 생성된 AWS KMS 다음 볼륨 정보와 함께 저장되기 전에 AWS KMS 키 AWS KMS 로에서 암호화됩니다. Amazon EBS는 Amazon EBS 리소스를 생성하는 각 리전 AWS 관리형 키 에 고유한를 자동으로 생성합니다. KMS 키의 별칭aws/ebs입니다. 기본적으로 Amazon EBS은(는) 암호화에 이 KMS 키를 사용합니다. 또는 생성한 대칭 고객 관리형 암호화 키를 사용할 수 있습니다. 자체 KMS 키를 사용하여 KMS 키 생성, 교체 및 비활성화 기능을 비롯한 다양한 작업을 수행할 수 있습니다.

Amazon EC2는와 함께 사용하여 암호화된 볼륨 AWS KMS 을 생성하는 스냅샷이 암호화되는지 또는 암호화되지 않았는지에 따라 약간 다른 방식으로 EBS 볼륨을 암호화하고 복호화합니다.

스냅샷이 암호화된 경우에 EBS 암호화가 작동하는 방식

소유한 암호화된 스냅샷에서 암호화된 볼륨을 생성하면 Amazon EC2는와 협력하여 다음과 같이 EBS 볼륨 AWS KMS 을 암호화하고 복호화합니다.

  1. Amazon EC2는 볼륨 암호화에 선택한 KMS 키를 AWS KMS지정하여 GenerateDataKeyWithoutPlaintext 요청을에 보냅니다.

  2. 볼륨이 스냅샷과 동일한 KMS 키를 사용하여 암호화된 경우는 스냅샷과 동일한 데이터 키를 AWS KMS 사용하고 동일한 KMS 키로 암호화합니다. 볼륨이 다른 KMS 키를 사용하여 암호화된 경우는 새 데이터 키를 AWS KMS 생성하고 지정한 KMS 키로 암호화합니다. 암호화된 데이터 키는 Amazon EBS로 전송되어 볼륨 메타데이터와 함께 저장됩니다.

  3. 암호화된 볼륨을 인스턴스에 연결하면 Amazon EC2에서는 데이터 키를 해독할 수 있도록 CreateGrant 요청을 AWS KMS 로 보냅니다.

  4. AWS KMS 는 암호화된 데이터 키를 복호화하고 복호화된 데이터 키를 Amazon EC2로 전송합니다.

  5. Amazon EC2는 Nitro 하드웨어의 일반 텍스트 데이터 키를 사용하여 디스크 I/O를 볼륨으로 암호화합니다. 볼륨이 인스턴스에 연결되어 있는 동안에는 일반 텍스트 형태의 데이터 키가 메모리에 유지됩니다.

스냅샷이 암호화되지 않은 경우에 EBS 암호화가 작동하는 방식

암호화되지 않은 스냅샷에서 암호화된 볼륨을 생성하는 경우에는 Amazon EC2가 AWS KMS 와 함께 다음과 같이 EBS 볼륨을 암호화하고 복호화합니다.

  1. Amazon EC2는 스냅샷에서 생성된 볼륨을 암호화할 수 AWS KMS있도록 CreateGrant 요청을에 보냅니다.

  2. Amazon EC2는 볼륨 암호화에 선택한 KMS 키를 AWS KMS지정하여 GenerateDataKeyWithoutPlaintext 요청을에 보냅니다.

  3. AWS KMS 는 새 데이터 키를 생성하고 볼륨 암호화에 선택한 KMS 키로 암호화한 다음 암호화된 데이터 키를 Amazon EBS에 전송하여 볼륨 메타데이터와 함께 저장합니다.

  4. Amazon EC2는에 Decrypt 요청을 전송 AWS KMS 하여 암호화된 데이터 키를 복호화한 다음를 사용하여 볼륨 데이터를 암호화합니다.

  5. 암호화된 볼륨을 인스턴스에 연결하면 Amazon EC2에서는 데이터 키를 해독할 수 있도록 CreateGrant 요청을 AWS KMS로 보냅니다.

  6. 암호화된 볼륨을 인스턴스에 연결하면 Amazon EC2는 암호화된 데이터 키를 AWS KMS지정하여에 Decrypt 요청을 보냅니다.

  7. AWS KMS 는 암호화된 데이터 키를 복호화하고 복호화된 데이터 키를 Amazon EC2로 전송합니다.

  8. Amazon EC2는 Nitro 하드웨어의 일반 텍스트 데이터 키를 사용하여 디스크 I/O를 볼륨으로 암호화합니다. 볼륨이 인스턴스에 연결되어 있는 동안에는 일반 텍스트 형태의 데이터 키가 메모리에 유지됩니다.

자세한 내용은 AWS KMS개발자 안내서Amazon Elastic Block Store(Amazon EBS)가AWS Key Management Service 를 사용하는 방식Amazon EC2 예제 2를 참조하세요.

사용할 수 없는 KMS 키가 데이터 키에 미치는 영향

KMS 키를 사용할 수 없게 되면 효과는 거의 즉각적으로 나타납니다(최종 일관성에 따라 다름). KMS 키의 키 상태는 새로운 조건을 반영하도록 변경되며 암호화 작업에서 KMS 키를 사용하려는 모든 요청은 실패합니다.

KMS 키를 사용할 수 없게 하려는 작업을 수행해도 EC2 인스턴스나 연결된 EBS 볼륨에 즉각적인 영향은 없습니다. Amazon EC2는 KMS 키가 아닌 데이터 키를 사용하여 볼륨이 인스턴스에 연결되어 있는 동안 모든 디스크 I/O를 암호화합니다.

단, 암호화된 EBS 볼륨이 EC2 인스턴스에서 삭제되면 Amazon EBS는 데이터 키를 Nitro 하드웨어에서 제거합니다. 다음에 암호화된 EBS 볼륨을 EC2 인스턴스에 연결할 때 Amazon EBS가 KMS 키를 사용하여 볼륨의 암호화된 데이터 키를 해독하지 못하므로 연결에 실패합니다. EBS 볼륨을 다시 사용하려면 KMS 키를 다시 사용할 수 있게 만들어야 합니다.

작은 정보

사용할 수 없게 하려는 KMS 키에서 생성된 데이터 키로 암호화된 EBS 볼륨에 저장된 데이터에 더 이상 액세스하지 않으려면 KMS 키를 사용할 수 없게 하기 전에 EC2 인스턴스에서 EBS 볼륨을 분리하는 것이 좋습니다.

자세한 내용은 AWS Key Management Service 개발자 안내서에서 사용할 수 없는 KMS 키가 데이터 키에 영향을 미치는 방법을 참조하세요.