Authentifizieren von Azure Confidential Ledger-Knoten
Codebeispiele und Benutzer können Azure Confidential Ledger-Knoten authentifizieren.
Codebeispiele
Bei der Initialisierung erhalten Codebeispiele das Knotenzertifikat, indem sie den Identitätsdienst abfragen. Das Codebeispiel fragt ein Knotenzertifikat ab, bevor der Ledger abgefragt wird, um ein Angebot zu erhalten, das dann mithilfe der Host Verify-Binärdateien validiert wird. Wenn die Überprüfung erfolgreich ist, fährt das Codebeispiel mit Ledgervorgängen fort.
Benutzer
Benutzer können die Authentizität von Azure Confidential Ledger-Knoten überprüfen und bestätigen, dass sie tatsächlich mit der Enklave ihres Ledgers zusammenarbeiten. Sie können auf verschiedene Weise Vertrauensstellungen in Azure Confidential Ledger-Knoten aufbauen, die aufeinander gestapelt werden können, um das allgemeine Vertrauensniveau zu erhöhen. Daher sind die Schritte 1 und 2 wichtige vertrauensbildende Mechanismen für Benutzer von Azure Confidential Ledger Enclave als Teil des anfänglichen TLS-Handshakes und der Authentifizierung innerhalb funktionaler Workflows. Darüber hinaus wird eine permanente Clientverbindung zwischen dem Client des Benutzers und dem Confidential Ledger aufrechterhalten.
Validierung eines Confidential Ledger-Knotens: Ein Confidential Ledger-Knoten wird validiert, indem der von Microsoft gehostete Identitätsdienst abgefragt wird, der ein Dienstzertifikat bereitstellt und somit dabei hilft zu überprüfen, ob der Ledger-Knoten ein Zertifikat präsentiert, das vom Dienstzertifikat für diese bestimmte Instanz unterstützt/unterzeichnet ist. Eine bekannte Zertifizierungsstelle (CA) oder zwischengeschaltete Zertifizierungsstelle signiert das Zertifikat eines Servers mit PKI-basiertem HTTPS. Im Fall von Azure Confidential Ledger wird das CA-Zertifikat vom Identitätsdienst in Form des Dienstzertifikats zurückgegeben. Wenn dieses Knotenzertifikat nicht vom zurückgegebenen Dienstzertifikat signiert ist, sollte die Clientverbindung fehlschlagen (wie im Beispielcode implementiert).
Validierung einer Confidential Ledger-Enklave: Ein vertrauliches Ledger wird in einer Intel® SGX-Enklave ausgeführt, die durch einen Remote-Bestätigungsbericht (oder Zitat) dargestellt wird, ein Daten-Blob, das innerhalb dieser Enklave generiert wird. Sie kann von jeder anderen Entität verwendet werden, um zu überprüfen, ob die Quote von einer Anwendung erstellt wurde, die mit Intel® SGX-Schutz ausgeführt wird. Das Zitat enthält Ansprüche, die helfen, verschiedene Eigenschaften der Enklave und der Anwendung, die sie ausführt, zu identifizieren. Insbesondere enthält es den SHA-256-Hash des öffentlichen Schlüssels, der im Zertifikat des vertraulichen Ledger-Knotens enthalten ist. Das Angebot eines vertraulichen Ledger-Knotens kann durch Aufrufen einer funktionalen Workflow-API abgerufen werden. Das abgerufene Angebot kann dann anhand der hierbeschriebenen Schritte validiert werden.