Enclave 애플리케이션을 빌드하는 오픈 소스 솔루션
이 문서에서는 애플리케이션 Enclave를 사용하는 애플리케이션을 빌드하기 위한 오픈 소스 솔루션을 설명합니다. 이 문서를 읽기 전에 enclave 애플리케이션 개념 페이지를 읽어야 합니다.
Intel SGX 호환 도구
Azure는 Intel SGX(Software Guard Extensions)를 사용하도록 설정된 기밀 가상 머신을 통해 애플리케이션 Enclave를 제공합니다. Intel SGX 가상 머신을 배포한 후에는 애플리케이션이 "enclave를 인식"하도록 만들기 위한 특수 도구가 필요합니다. 이렇게 하면 코드의 신뢰할 수 있는 부분과 신뢰할 수 없는 부분이 모두 있는 애플리케이션을 빌드할 수 있습니다.
예를 들어 다음과 같은 오픈 소스 프레임워크를 사용할 수 있습니다.
- OE(Open Enclave) SDK(소프트웨어 개발 키트)
- EGo SDK
- Intel SGX SDK
- CCF(기밀 컨소시엄 프레임워크)
- Kubeflow용 Intel® 클라우드 최적화 모듈
새 애플리케이션 코드를 작성하지 않으려는 경우 기밀 컨테이너 인에이블러를 사용하여 컨테이너화된 애플리케이션을 래핑할 수 있습니다.
OE SDK(Open Enclave 소프트웨어 개발 키트)
enclave에서 실행되는 코드를 작성하려면 공급자를 통해 지원되는 라이브러리 또는 프레임워크를 사용합니다. OE SDK(Open Enclave SDK)는 다양한 다른 기밀 컴퓨팅 사용 하드웨어를 추상화할 수 있는 오픈 소스 SDK입니다.
OE SDK는 모든 CSP의 모든 하드웨어에서 단일 추상화 계층으로 빌드됩니다. OE SDK는 Azure 기밀 컴퓨팅 가상 머신에서 사용되어 enclave를 기반으로 하는 애플리케이션을 만들고 실행할 수 있습니다. Open Enclave 리포지토리는 Microsoft에서 유지 관리합니다.
EGo 소프트웨어 개발 키트
EGo는 enclave 내에서 Go 프로그래밍 언어로 작성된 애플리케이션을 실행할 수 있게 해주는 오픈 소스 SDK입니다. EGo는 OE SDK를 기반으로 하며 증명 및 봉인을 위한 enclave 내 Go 라이브러리와 함께 제공됩니다. 많은 기존 Go 애플리케이션은 수정 없이 EGo에서 실행됩니다.
Intel SGX 소프트웨어 개발 키트
Intel SGX SDK는 Intel의 SGX 팀에서 개발하고 유지 관리합니다. SDK는 소프트웨어 개발자가 C/C++에서 Intel SGX 지원 애플리케이션을 만들고 디버그할 수 있는 컬렉션 도구입니다.
CCF(기밀 컨소시엄 프레임워크)
CCF(기밀 컨소시엄 프레임워크)는 분산 블록체인 프레임워크의 예입니다. CCF는 Azure 기밀 컴퓨팅을 기반으로 빌드합니다. Microsoft Research에서 선도하는 이 프레임워크는 TEE(신뢰할 수 있는 실행 환경)의 강력한 기능을 사용하여 증명을 위한 원격 enclave 네트워크를 만듭니다. 노드는 Azure Intel SGX 가상 머신을 기반으로 실행할 수 있으며 enclave 인프라를 활용할 수 있습니다. 블록체인 사용자는 증명 프로토콜을 통해 하나의 CCF 노드에 대한 무결성을 확인하고 전체 네트워크를 효과적으로 확인할 수 있습니다.
CCF에서 분산 원장은 모든 네트워크 노드에서 복제되는 키-값 저장소에 기록된 변경 내용으로 구성됩니다. 이러한 각 노드는 TLS를 통해 블록체인 사용자가 트리거할 수 있는 트랜잭션 엔진을 실행합니다. 엔드포인트가 트리거되면 키-값 저장소를 변경할 수 있습니다. 암호화된 변경 내용이 분산 원장에 기록되기 전에 합의에 도달하려면 둘 이상의 노드에서 합의해야 합니다.
Kubeflow용 Intel® 클라우드 최적화 모듈
Kubeflow용 Intel® 클라우드 최적화 모듈은 XGBoost를 사용하여 대출 채무 불이행 확률을 예측하는 최적화된 기계 학습 Kubeflow 파이프라인을 제공합니다. 참조 아키텍처는 AKS(Azure Kubernetes Services) 클러스터의 보안 및 기밀 Intel® Software Guard Extensions 가상 머신을 활용합니다. 또한 XGBoost용 Intel® 최적화 및 Intel® daal4py를 사용하여 전체 엔드투엔드 기계 학습 파이프라인에서 모델 학습 및 유추를 가속화할 수 있습니다.