Always Encrypted – SQL Server 2016

Ein Kurzbeitrag über die neue SQL Server 2016 Funktion Always Encrypted.



Dieser Kurzbeitrag beschreibt die Funktion Always Encrypted des SQL Server 2016 und der Azure SQL Database. Ausführlich Informationen werden im Microsoft Developer Network zur Verfügung gestellt. Für beschaffungsrelevante Informationen wie Preise, Lizenzen und Editionen siehe SQL Server 2016.

Always Encrypted

Always Encrypted ist eine neue Funktion des Microsoft SQL Server 2016 und der Azure SQL Database. Sensible Daten wie beispielsweise Kreditkarteninformationen können auf Spaltenebene verschlüsselt und geschützt werden. Always Encrypted ist in der SQL Server 2016 Developer und Enterprise Edition sowie in Microsofts Cloud-Angebot Azure SQL Database enthalten.

Editionen, die Always Encrypted unterstützen
Standard Enterprise Web Developer Express Azure SQL DB

Die Verschlüsselung und Entschlüsselung zu schützender Daten-Spalten erfolgt transparent im Client-Datenbanktreiber. Keys werden im Server ausschließlich verschlüsselt abgelegt. Damit bleibt die Kontrolle über die Daten beim Besitzer (Kunden) und vor Datenbankadministratoren und Cloud-/Hosting Service Providern verborgen. Das mehrstufige Verfahren ähnelt den Lösungen anderer Datenbank-Hersteller. Oracle beispielsweise arbeitet bei TDE (Transparent Data Encryption) ebenfalls mit einem Haupt-Key und verschiedenen sekundären Keys, um Spalten zu verschlüsseln. Bei Oracle geschieht die Ent- und Verschlüsselung jedoch im Datenbankserver, mit der Konsequenz, dass Daten im Klartext übertragen werden (in Motion). Bei Microsoft hingegen wird ausschließlich im Client (-Datenbanktreiber) codiert und decodiert. Die Daten sind at Rest und in Motion geschützt.

Leider ist auch Always Encrypted kein Allerheilmittel. Die Verarbeitung verschlüsselter Daten ist stark eingeschränkt. Zwar sind Identity-Vergleiche und damit Joins möglich. Viel mehr geht jedoch nicht. Eventuell werden Analytics-Funktionen eingeschränkt und Bereichssuchen sind nicht mehr möglich. Man sollte auch an die Replikation mit anderen SQL Servern denken.

Anwendungsszenarien

Applikation und SQL Server on premises

Eine eigene oder gekaufte Applikation wird zusammen mit dem SQL Server im eigenen Rechenzentrum betrieben. Der Server und die Applikation sollen von externen Dienstleistern administriert werden. Die Tabellenspalten mit sensiblen Informationen werden mittels Always Encrypted verschlüsselt. Der Key liegt in einem sichern Key Store (Azure Key Vault, Windows Certificate Store oder eine Hardware-Lösung) und ist für die externen Dienstleister nicht zugänglich.

In diesem Szenario haben die externen Administratoren keinen Zugriff auf die verschlüsselten Daten.

Applikation on premises und SQL Server in der Cloud

Eine eigene oder gekaufte Applikation wird im eigenen Rechenzentrum betrieben. Der SQL Server steht in der Azure Cloud (VM) oder wird über den Service Azure SQL Database zur Verfügung gestellt. Die Tabellenspalten mit sensiblen Informationen werden mittes Always Encrypted verschlüsselt. Der Key liegt in einem sichern Key Store (Azure Key Vault, Windows Certificate Store oder eine Hardware-Lösung) und ist für Microsoft Azure Mitarbeiter nicht zugänglich.

In diesem Szenario haben Cloud Solution Provider (Hoster) keinen Zugriff auf die verschlüsselten Daten.

Applikation und SQL Server in der Cloud

Eine eigene oder gekaufte Applikation und ein SQL Server werden in der Azure Cloud (VM) betrieben oder über den Service Azure SQL Database zur Verfügung gestellt. Die Tabellenspalten mit sensiblen Informationen werden mittels Always Encrypted verschlüsselt. Der Key muss in diesem Szenario in einem Key Store beim Cloud Solution Provider liegen. Theoretisch hat dieser damit Zugriff auf den Key und könnte sensible Daten entschlüsseln.

In diesem Szenario könnte sich der Cloud Solution Provider (Hoster) Zugriff auf die verschlüsselten Daten verschaffen. Dennoch bietet die Encryption zusätzliche Sicherheit. Ein vertrauenswürdiger Hoster wird organisatorische Maßnahmen ergreifen, um Keys seiner Kunden zu schützen. Der unrechtmäßige Zugriff (von intern oder extern) auf die sensiblen Daten wird mit Always Encrypted erschwert.


Ihr Ansprechpartner:
Stefan Barth. Teamleiter Microsoft
Stefan Barth
+49-7031-79433-490
Diese Seite wurde am zuletzt aktualisiert.

Kommentare