Entwickeln von Anwendungen mithilfe von Always Encrypted mit Secure Enclaves

Gilt für: SQL Server 2019 (15.x) und höher – nur Windows Azure SQL-Datenbank

Always Encrypted mit Secure Enclaves ist eine Erweiterung von Always Encrypted, die umfangreichere Funktionen für Anwendungsabfragen in verschlüsselten vertraulichen Datenbankspalten bietet. Dabei kommen Secure Enclave-Technologien zum Einsatz, mit deren Hilfe der Abfrageexecutor in der Datenbank-Engine Berechnungen zu verschlüsselten Spalten an eine Secure Enclave im Datenbank-Engine-Prozess delegieren kann.

Voraussetzungen

Ihre Umgebung muss die folgenden Anforderungen erfüllen, damit das Ausführen von Anweisungen um Always Encrypted mit Secure Enclaves zu unterstütz wird.

  • Die SQL Server-Instanz oder die Datenbank und der Server in Azure SQL-Datenbank müssen ordnungsgemäß für die Unterstützung von Enklaven und Nachweisen konfiguriert werden. Weitere Informationen finden Sie unter Einrichten von Secure Enclaves und Nachweisen.
  • Verbessern Sie die Leistungsfähigkeit Ihrer Anwendung:
    • Verwendet eine Clienttreiberversion unterstützt Always Encrypted mit sicheren Enklaven.

    • Aktiviert Always Encrypted beim Herstellen einer Verbindung mit Ihrer Datenbank.

    • Legt ein Nachweisprotokoll fest, das bestimmt, ob der Clienttreiber die Enklave vor der Übermittlung von Enklavenabfragen nachweisen muss, und falls ja, welcher Nachweisdienst verwendet werden soll. Die neuesten Treiberversionen unterstützen die folgenden Nachweisprotokolle:

      • Microsoft Azure Attestation – erzwingt den Nachweis mithilfe von Microsoft Azure Attestation.
      • Host Guardian Service – erzwingt den Nachweis mithilfe des Host Guardian Service.
      • Keine – ermöglicht die Verwendung von Enklaven ohne Nachweis.

      Die folgende Tabelle gibt Nachweisprotokolle an, die für bestimmte SQL-Produkte und Enklaventechnologien gültig sind:

      Produkt Enklave-Technologie Unterstützte Nachweisprotokolle
      SQL Server 2019 (15.x) und höher VBS-Enclaves Host-Überwachungsdienst, Keine
      Azure SQL-Datenbank SGX-Enklaven (DC-Reihendatenbanken) Microsoft Azure Attestation
      Azure SQL-Datenbank VBS-Enclaves None
    • Legt eine Nachweis-URL fest, die für Ihre Umgebung gültig ist, wenn Sie einen Nachweis verwenden.

Clienttreiber für Always Encrypted mit Secure Enclaves

Zum Entwickeln von Anwendungen mit Always Encrypted mit Secure Enclaves benötigen Sie eine Version des SQL-Clienttreibers, die Secure Enclaves unterstützt. Der Clienttreiber spielt die folgende wichtige Rolle:

  • Bevor Sie eine Abfrage, für die eine sichere Enklave verwendet wird, zur Ausführung an SQL Server oder Azure SQL Datenbanken senden, initiiert der Treiber einen Enclave-Nachweis (sofern konfiguriert), um zu prüfen, ob die Secure Enclave vertrauenswürdig ist und ohne Risiko zur Verarbeitung vertraulicher Daten verwendet werden kann. Weitere Informationen zum Nachweis finden Sie unter Secure Enclave-Nachweis.
  • Der Clienttreiber richtet eine sichere Sitzung mit der Enklave ein, indem er ein gemeinsames Geheimnis aushandelt.
  • Der Treiber verwendet das gemeinsame Geheimnis zur Verschlüsselung der Spaltenverschlüsselungsschlüssel, die von der Enclave zum Verarbeiten der Abfrage benötigt werden, und sendet die Schlüssel an SQL Server, von wo aus sie zur Entschlüsselung an die Secure Enclave weitergeleitet werden.
  • Abschließend sendet der Treiber die Abfrage zur Ausführung, wodurch in der Secure Enclave Berechnungen ausgelöst werden.

Always Encrypted mit Secure Enclaves wird von folgenden Clienttreibern unterstützt:

Siehe auch