애플리케이션 enclave 개발

Azure 기밀 컴퓨팅을 사용하면 Intel SGX(Software Guard Extensions)를 실행하는 VM(가상 머신)에 대한 애플리케이션 enclave를 만들 수 있습니다. 개발을 시작하기 전에 관련 도구와 소프트웨어를 이해하는 것이 중요합니다.

참고 항목

Intel SGX VM 및 enclave 소개를 아직 읽지 않은 경우 계속하기 전에 이 작업을 수행합니다.

애플리케이션 enclave

애플리케이션 enclave는 특정 코드와 데이터를 보호하는 격리된 환경입니다. enclave를 만들 때 enclave 내에서 실행되는 애플리케이션의 부분을 결정해야 합니다. enclave를 만들거나 관리하는 경우 선택한 배포 스택에 호환되는 SDK 및 프레임워크를 사용해야 합니다.

Intel SGX를 사용하도록 설정된 기밀 VM을 사용하여 애플리케이션 enclave를 개발하고 배포할 수 있습니다.

애플리케이션 개발

enclave를 사용하여 빌드된 애플리케이션에는 두 개의 파티션이 있습니다.

호스트는 "신뢰할 수 없는" 구성 요소입니다. enclave 애플리케이션은 호스트 위에서 실행됩니다. 호스트는 신뢰할 수 없는 환경입니다. 호스트에 enclave 코드를 배포하는 경우 호스트는 해당 코드에 액세스할 수 없습니다.

enclave는 "신뢰할 수 있는" 구성 요소입니다. 애플리케이션 코드와 캐시된 데이터 및 메모리는 enclave에서 실행됩니다. enclave 환경은 비밀 및 중요한 데이터를 보호합니다. 보안 계산이 enclave에서 발생하는지 확인합니다.

Diagram of an application, showing the host and enclave partitions. Inside the enclave are the data and application code components.

enclave 및 격리된 환경의 성능을 사용하려면 기밀 컴퓨팅을 지원하는 도구를 선택합니다. 다양한 도구가 enclave 애플리케이션 개발을 지원합니다. 예를 들어 다음과 같은 오픈 소스 프레임워크를 사용할 수 있습니다.

애플리케이션을 디자인할 때 enclave에서 실행해야 하는 부분을 식별하고 결정합니다. 신뢰할 수 있는 구성 요소의 코드는 애플리케이션의 나머지 부분과 격리됩니다. enclave가 초기화되고 코드가 메모리에 로드되면 신뢰할 수 없는 구성 요소는 해당 코드를 읽거나 변경할 수 없습니다.

다음 단계