다음을 통해 공유


Azure 기밀 원장 노드 인증

코드 샘플 및 사용자는 Azure 기밀 원장 노드를 인증할 수 있습니다.

코드 샘플

초기화하면 코드 샘플이 ID 서비스를 쿼리하여 노드 인증서를 가져옵니다. 코드 샘플은 원장을 쿼리하기 전에 노드 인증서를 검색하여 견적을 구한 다음 호스트 확인 이진 파일을 사용하여 유효성을 검사합니다. 확인에 성공하면 코드 샘플이 원장 작업으로 진행됩니다.

사용자

사용자는 Azure 기밀 원장 노드의 신뢰성에 대한 유효성을 검사하여 실제로 원장의 enclave와 상호 작용하고 있는지 확인할 수 있습니다. 여러 방법으로 Azure 기밀 원장 노드에서 신뢰를 구축할 수 있습니다. 노드는 서로 적층되어 전체 신뢰 수준을 높일 수 있습니다. 따라서 1단계와 2단계는 기능 워크플로 내에서 초기 TLS 핸드셰이크 및 인증의 일부로 Azure 기밀 원장 인클레이브 사용자를 위한 중요한 신뢰 구축 메커니즘입니다. 또한 영구 클라이언트 연결은 기본 사용자의 클라이언트와 기밀 원장 간에 연결됩니다.

  1. 기밀 원장 노드 유효성 검사: Microsoft에서 호스트하는 ID 서비스를 쿼리하여 기밀 원장 노드의 유효성을 검사합니다. 이 서비스는 서비스 인증서를 제공하므로 원장 노드가 해당 특정 인스턴스에 대한 서비스 인증서로 보증/서명된 인증서를 제공하는지 확인하는 데 도움이 됩니다. 잘 알려진 CA(인증 기관) 또는 중간 CA는 PKI 기반 HTTPS를 사용하여 서버의 인증서에 서명합니다. Azure 기밀 원장의 경우 CA 인증서는 ID 서비스에서 서비스 인증서 형식으로 반환됩니다. 이 노드 인증서가 반환된 서비스 인증서로 서명되지 않은 경우 클라이언트 연결이 실패해야 합니다(샘플 코드에 구현됨).

  2. 기밀 원장 enclave 유효성 검사: 기밀 원장은 원격 증명 보고서(또는 견적)로 표시되는 Intel® SGX Enclave에서 실행되며, 해당 Enclave 내에서 생성된 데이터 Blob입니다. 다른 엔터티에서 이를 사용하여 Intel® SGX 보호를 실행하는 애플리케이션에서 견적이 생성되었는지 확인할 수 있습니다. 따옴표에는 enclave의 다양한 속성과 실행 중인 애플리케이션을 식별하는 데 도움이 되는 클레임이 포함되어 있습니다. 특히 기밀 원장 노드의 인증서에 포함된 공개 키의 SHA-256 해시를 포함합니다. 기능 워크플로 API를 호출하여 기밀 원장 노드의 견적을 검색할 수 있습니다. 검색된 견적은 여기에 설명된 단계에 따라 유효성을 검사할 수 있습니다.

다음 단계