Implementieren einer verschlüsselten Tabelle in SQL Azure

7

Ich verschiebe eine App nach Azure und muss die PCI-Konformität für einige Spalten in einer einzelnen Tabelle erreichen. Mir ist klar, dass ich die Daten verschlüsseln kann, bevor ich sie speichere, aber ich habe mich gefragt, ob es in SQL Azure eine Funktion gibt, die einen Teil davon für mich verwalten kann. Ich habe etwas gelesen, bin mir aber nicht sicher, was es ist. oder ist nicht; wird in SQL Azure unterstützt.

Ich habe über Muster mit SQL Server ( und nicht mit SQL Azure ) gelesen, bei denen die Datenverschlüsselung und -entschlüsselung hinter einer Ansicht angewendet wurde. In diesem Fall haben alle Clients über eine Ansicht auf Daten zugegriffen und wurden folglich vom Verschlüsselungs- / Entschlüsselungsprozess abstrahiert. Trotzdem scheint es ein bisschen gefährlich zu sein.

Ich bin offen für alle Vorschläge, wie ich mit dieser Situation umgehen soll.

JoeGeeky
quelle

Antworten:

4

Kurze Antwort: Ab dem 20. April 2012 wird die Spaltenverschlüsselung in SQL Azure nicht unterstützt . Weitere Informationen finden Sie unter: http://msdn.microsoft.com/en-us/library/windowsazure/ee336253.aspx und suchen Sie nach ENCRYPT. Sie werden sehen, dass alle Verschlüsselungsfunktionen als nicht unterstützt aufgeführt sind.

Wenn Sie Ihre Daten im Ruhezustand verschlüsseln und SQL Azure unterstützen müssen, müssen Sie Ihre Verschlüsselung auf Anwendungsebene durchführen. Dies ist schwieriger zu beheben, da viele der guten Verschlüsselungspraktiken (Verwenden von Nonces als Initialisierungsvektoren für jede Zelle, Schlüsselverwaltung zum Verfolgen, welche Schlüssel welche Spalten verschlüsseln, Integritätsprüfung, mehrschichtiger Schutz von Verschlüsselungsschlüsseln mit rollenbasierten Berechtigungen) Sie haben sich umsetzen. Ich empfehle dringend, einen Sicherheitsexperten zu beauftragen, mit Ihnen an der Verschlüsselung zu arbeiten, da es schwierig ist, die richtigen Ergebnisse zu erzielen. Wenn Sie etwas verpassen, haben Sie ein falsches Sicherheitsgefühl, das Sie später wirklich verbrennen könnte.

Sie können sich http://securentity.codeplex.com ansehen , das behauptet, eine Lösung für die Verwaltung verschlüsselter Daten zu sein und SQL Azure unterstützt. Ich habe es nicht persönlich benutzt und kann auch nicht für seine Richtigkeit bürgen, aber es ist eine mögliche Option.

Andere Informationen:

In SQL Server ist die Verschlüsselung auf Spaltenebene einfach und sehr sicher (auch mit einer Ansicht), da Sie mithilfe von Rollen verwalten können, wer auf die Verschlüsselungsschlüssel zugreifen kann. Selbst wenn ein Benutzer aus einer Ansicht auswählen kann und keinen Zugriff auf den Schlüssel erhält, der die zugrunde liegenden Daten verschlüsselt, erhält er NULL-Werte für diese verschlüsselten Spalten zurück. Ich habe eine Reihe von Beispielcodes für SQL Server 2005 und höher, die die Verschlüsselungsfunktionen von SQL Server hier demonstrieren: http://sqlcrypto.codeplex.com

Joe Kuemerle
quelle
1

Windows Azure ist Level 1-konform gemäß den PCI-Datensicherheitsstandards (Payment Card Industry) (DSS), die von einem unabhängigen qualifizierten Sicherheitsassessor (QSA) überprüft wurden. So können Händler eine sichere Karteninhaberumgebung einrichten und ihre eigene Zertifizierung erhalten.

https://www.windowsazure.com/en-us/support/trust-center/compliance/

Um eine in Azure gehostete SQL-Tabelle zu verschlüsseln, ist es am einfachsten, einfach eine SQL IaaS-Instanz hochzufahren und die Verschlüsselung auf TDE- oder Spaltenebene zu aktivieren. (Verwenden Sie nicht das SQL Azure PaaS-Produkt, das keine transparente Datenverschlüsselung oder Verschlüsselung auf Zellenebene unterstützt.)

Neben der Verschlüsselung von Kreditkartennummern sind jedoch noch viele andere Sicherheitsanforderungen zu berücksichtigen.

Kevin
quelle
0

In Bezug auf den MSDN-Artikel und die Kompatibilitätsinformationen von Microsoft Docs sind beide unten aufgeführten Funktionen ab sofort in der Azure SQL-Datenbank (PaaS) verfügbar.

Sie können diese Funktionen also einfach verwenden, um Ihre Anforderungen zu erfüllen und den gesamten Verschlüsselungsprozess hinter den Kulissen zu verfolgen.

Hier ist ein Link zu einer allgemeinen Zusammenfassung, die Sicherheitsaspekte von Azure-Datenbanken darstellt und als Ausgangspunkt für die Vorbereitung einer geeigneten Sicherheitsarchitektur dienen kann.

Aus meiner Erfahrung kann ich sagen, dass Sie vorsichtig sein sollten, wenn Ihr System zwischen Azure- und OnPremises-Umgebungen aufgeteilt ist. In diesem Fall kann es schwierig sein, alles einzurichten (Autorisierung, Synchronisation).

Paweł Tajs
quelle