Azure 기밀 원장 노드 인증
코드 샘플 및 사용자는 Azure confidential ledger 노드를 인증할 수 있습니다.
코드 샘플
초기화하면 코드 샘플이 ID 서비스를 쿼리하여 노드 인증서를 가져옵니다. 코드 샘플은 원장을 쿼리하기 전에 노드 인증서를 검색하여 견적을 구한 다음 호스트 확인 이진 파일을 사용하여 유효성을 검사합니다. 확인에 성공하면 코드 샘플이 원장 작업으로 진행됩니다.
사용자
사용자는 Azure 기밀 원장 노드의 신뢰성을 확인하여 실제로 원장의 enclave와 인터페이스로 연결되어 있는지 확인할 수 있습니다. 여러 방법으로 Azure 기밀 원장 노드에서 신뢰를 구축할 수 있습니다. 노드는 서로 적층되어 전체 신뢰 수준을 높일 수 있습니다. 따라서 1단계와 2단계는 기능 워크플로 내에서 초기 TLS 핸드셰이크 및 인증의 일부로 Azure 기밀 원장 인클레이브 사용자를 위한 중요한 신뢰 구축 메커니즘입니다. 더 나아가 사용자의 클라이언트와 Confidential Ledger 간에 영구 클라이언트 연결이 유지됩니다.
Confidential Ledger 노드 유효성 검사: Microsoft에서 호스트하는 ID 서비스를 쿼리하여 Confidential Ledger 노드의 유효성을 검사합니다. 그러면 서비스 인증서를 제공하므로 원장 노드가 해당 특정 인스턴스에 대한 서비스 인증서로 보증/서명된 인증서를 제공하는지 확인하는 데 도움이 됩니다. 잘 알려진 CA(인증 기관) 또는 중간 CA가 PKI 기반 HTTPS를 사용하여 서버의 인증서에 서명합니다. Azure 기밀 원장의 경우 CA 인증서는 ID 서비스에서 서비스 인증서 형식으로 반환됩니다. 이 노드 인증서에 반환된 서비스 인증서 서명이 없는 경우 클라이언트 연결에 실패합니다(샘플 코드에서 구현됨).
Confidential Ledger enclave 유효성 검사: Confidential Ledger가 해당 enclave 내에서 생성된 데이터 Blob인 원격 증명 보고(또는 견적)로 표현되는 Intel® SGX enclave에서 실행됩니다. 다른 엔터티에서 이를 사용하여 Intel® SGX 보호를 실행하는 애플리케이션에서 견적이 생성되었는지 확인할 수 있습니다. 견적에는 enclave 및 실행 중인 애플리케이션의 다양한 속성을 식별하는 데 도움이 되는 클레임이 포함되어 있습니다. 특히 기밀 원장 노드의 인증서에 포함된 공개 키의 SHA-256 해시를 포함합니다. 기능 워크플로 API를 호출하여 기밀 원장 노드의 견적을 검색할 수 있습니다.