AWS Nitro 엔클레이브

EC2 인스턴스 내 매우 민감한 데이터의 보호를 강화하도록 추가 격리 생성

AWS Nitro 엔클레이브를 통해 고객은 Amazon EC2 인스턴스 내 PII(개인 식별 정보), 의료, 금융 및 지적 재산권 데이터와 같은 매우 민감한 데이터를 추가로 보호하고 안전하게 처리하도록 격리된 컴퓨팅 환경을 생성할 수 있습니다. Nitro 엔클레이브는 EC2 인스턴스에 대한 CPU 및 메모리 격리를 제공하는 동일한 니트로 하이퍼바이저 기술을 사용합니다.

Nitro 엔클레이브를 사용하면 고객은 가장 민감한 데이터 처리 애플리케이션의 공격에 노출되는 영역을 줄일 수 있습니다. 엔클레이브는 보안이 중요한 애플리케이션을 호스팅할 격리되고, 보안이 철저하며, 고도로 제한된 환경을 제공합니다. Nitro 엔클레이브는 소프트웨어에 대한 암호화 증명을 포함하므로, 사용자의 엔클레이브만 민감한 자료에 액세스할 수 있도록 권한 부여된 코드만 실행하고 AWS Key Management Service와의 통합을 보장합니다.

Amazon EC2 인스턴스 사용, 그리고 Nitro 엔클레이브에 사용되는 다른 AWS 서비스 사용 외에 AWS Nitro 엔클레이브 사용에 대해 청구되는 추가 요금은 없습니다.

Nitro 엔클레이브 소개
AWS Nitro Enclaves 개요
AWS 기밀 컴퓨팅으로 사용 중인 민감한 데이터 보호

장점

추가 격리와 보안

엔클레이브는 많은 제약을 통해 보안을 강화한 완전 격리형 가상 머신입니다. 영구 스토리지가 없고 대화형 액세스가 없으며 외부 네트워킹이 없습니다. 인스턴스와 엔클레이브 사이의 통신은 안전한 로컬 채널을 사용해서 수행됩니다. 인스턴스의 루트 사용자 또는 관리자도 엔클레이브에 액세스하거나 SSH로 연결할 수 없습니다.

Nitro 엔클레이브는 니트로 하이퍼바이저의 검증된 분리 기술을 사용하여 상위 인스턴스의 사용자, 애플리케이션 및 라이브러리로부터 엔클레이브의 CPU 및 메모리를 분리합니다. 이 기능을 통해 엔클레이브 및 소프트웨어를 격리하고 공격에 노출되는 영역을 크게 줄일 수 있습니다.

암호화 증명

증명을 사용하면 엔클레이브의 자격 증명을 확인하고 권한이 있는 코드만 엔클레이브에서 실행되고 있는지 확인할 수 있습니다. 증명 프로세스는 니트로 하이퍼바이저를 통해 수행합니다. 니트로 하이퍼바이저는 다른 대상이나 서비스에 해당 자격 증명을 증명하기 위해 엔클레이브에 대한 서명된 증명 문서를 생성합니다. 증명 문서는 엔클레이브의 퍼블릭 키, 엔클레이드 이미지 및 애플리케이션의 해시 등 엔클레이브에 대한 주요 세부 정보를 포함합니다. Nitro 엔클레이브는 AWS KMS 통합을 포함합니다. 이때 KMS는 엔클레이브에서 전송된 이러한 증명 문서를 읽고 검증할 수 있습니다.

유연성

Nitro 엔클레이브는 유연합니다. CPU 코어 및 메모리를 다양하게 조합하여 엔클레이브를 생성할 수 있습니다. 이를 통해 기존 EC2 인스턴스에서 이미 실행 중인 동일한 메모리 또는 컴퓨팅 집약적인 애플리케이션을 실행할 수 있는 충분한 리소스를 보장합니다. Nitro 엔클레이브는 프로세서에 구애받지 않으며, 여러 다른 CPU 벤더에서 지원하는 인스턴스 전반에 걸쳐 사용할 수 있습니다. 또한 어떤 프로그래밍 언어 또는 프레임워크와도 호환됩니다. 그뿐만 아니라 Nitro 엔클레이브의 구성 요소 다수는 오픈 소스입니다. 따라서 고객이 직접 코드를 검사하고 검증할 수 있습니다.

작동 방식

Nitro 엔클레이브 작동 방식

그림 1: Nitro 엔클레이브의 프로세스 흐름 작동 방식

그림 2: Nitro 엔클레이브는 엔클레이브와 EC2 인스턴스를 격리하기 위해 EC2 인스턴스 간에 CPU 및 메모리 격리를 생성하는 동일한 니트로 하이퍼바이저 기술을 사용합니다.

그림 3: CPU 및 EC2 인스턴스 메모리(일명 상위 인스턴스)를 파티셔닝하여 엔클레이브가 생성됩니다. CPU 코어 및 메모리를 다양하게 조합하여 엔클레이브를 생성할 수 있습니다. 위의 예에서는 m5.4xlarge를 사용하여 상위 인스턴스(14 vCPU, 32GiB 메모리) 및 엔클레이브(2 vCPU, 32GiB 메모리)로 분할합니다. 상위 인스턴스와 엔클레이브 간의 통신은 vsock이라고 하는 보안 로컬 연결을 통해 이루어집니다.

사용 사례

프라이빗 키 보안

이제 고객은 엔클레이브에서 프라이빗 키(예: SSL/TLS)를 격리하고 사용할 수 있는 동시에, 상위 인스턴스의 사용자, 애플리케이션, 라이브러리가 이러한 키를 보지 못하도록 할 수 있습니다. 일반적으로 이러한 프라이빗 키는 EC2 인스턴스에 일반 텍스트로 저장됩니다.

AWS Certificate Manager(ACM) for Nitro Enclaves는 엔클레이브 애플리케이션 중 하나입니다. 이 애플리케이션을 사용하면 Amazon EC2 인스턴스에서 AWS Nitro 엔클레이브를 통해 실행되는 웹 애플리케이션 및 서버에서 퍼블릭 및 프라이빗 SSL/TLS 인증서를 사용할 수 있습니다.

토큰화

토큰화는 신용카드 번호 또는 병원 진료 데이터 같은 매우 민감한 데이터를 토큰으로 변환하는 프로세스입니다. 고객은 Nitro 엔클레이브를 사용하여 이러한 변환을 엔클레이브 내부에서 수행하는 애플리케이션을 실행할 수 있습니다. 암호화된 데이터는 엔클레이브로 전송할 수 있는데, 이곳에서는 해당 데이터가 복호화된 후 처리됩니다. 상위 EC2 인스턴스는 이 프로세스를 통해 민감한 데이터를 보거나 액세스할 수 없게 됩니다.

다자간 계산

고객은 Nitro 엔클레이브의 암호화 증명 기능을 사용하여 다자간 계산을 설정할 수 있습니다. 이 과정에서 여러 당사자는 실제 데이터를 각 개별 당사자에게 공개하거나 공유할 필요 없이 매우 민감한 데이터를 조인하고 처리할 수 있습니다. 다자간 계산을 같은 조직 내에서 수행하여 작업 분담을 설정할 수도 있습니다.

고객 사례