Sie sagen, dass es keine „dumme Frage“ gibt, also geht es weiter:
Ich verstehe, dass TDE ( SQL Server Transparent Data Encryption ) Daten in Ruhe verschlüsselt, sodass Ihre Datenbankdateien (.mdf) und Ihre Sicherungsdateien (.bak) verschlüsselt werden, falls jemand in Ihren Speicher eindringt und diese Dateien stiehlt. Ich verstehe auch, dass die Daten beim Lesen von der Festplatte entschlüsselt werden, so dass sie im Speicher (in Bewegung) unverschlüsselt sind. Daher werden Daten, die von einem Benutzer angefordert werden, der eine Remote-Abfrage ausführt (wählen Sie * aus SensitiveData), beim Reisen über das Netzwerk unverschlüsselt und sind daher abfanganfällig.
Unter der Annahme, dass alle oben genannten Punkte korrekt sind, ist hier meine dumme Frage: Wenn sich meine SQL Server-Instanz auf Computer A befindet und meine TDE-Datenbanksicherungen in den Speicher auf Remotecomputer B abgeschrieben werden, werden die Sicherungsvorgangsdaten auf ihrem Weg verschlüsselt Computer A soll auf Computer B auf die Festplatte geschrieben werden? Ich gehe davon aus, dass dies der Fall sein muss (da der Verschlüsselungsvorgang vermutlich zuerst auf Computer A ausgeführt wird), kann jedoch in keiner Microsoft-Dokumentation oder in den Blogs eine Bestätigung dafür finden. Und würde jemand während eines Wiederherstellungsvorgangs - sollte jemand die von der Festplatte auf Computer B übertragenen Daten abfangen, um die Datenbank auf Computer A wiederherzustellen - feststellen, dass die in Bewegung befindlichen Daten verschlüsselt sind?
quelle
Antworten:
Ja, Sicherungen werden beim Verschieben über das Netzwerk verschlüsselt, da TDE-Daten auf der Festplatte verschlüsselt werden und durch den Sicherungsvorgang niemals entschlüsselt werden .
Paul Randals Backup-Mythen :
Wenn die Seiten in den Pufferpool geladen würden (der "normale" Speicherplatz, den SQL zum Zwischenspeichern von Datenbanktabellen- und Indexdaten verwendet), müssten sie entschlüsselt werden. Backups tun dies jedoch nicht, sondern geben lediglich verschlüsselte "Extents" (zusammenhängende 8-Seiten-Blöcke) an Ihr Backup-Ziel aus.
Ich konnte von Paul Randal eine Bestätigung erhalten, dass sein obiger Kommentar für TDE immer noch relevant ist :
Mit anderen Worten, wenn Sie CHECKSUMs in einer Datenbank aktiviert haben, werden diese (während normaler SQL-Schreibvorgänge) nach der Verschlüsselung hinzugefügt . Dies bedeutet, dass der Sicherungsprozess den unformatierten (verschlüsselten) Umfang lesen, die Prüfsumme validieren und die Sicherung schreiben kann, ohne die Daten zu entschlüsseln.
Dies ist mit ziemlicher Sicherheit der Grund dafür, dass (vor SQL 2016) das Aktivieren der Sicherungskomprimierung in einer Datenbank mit TDE nichts bewirkt hat, da verschlüsselte Daten nicht sehr komprimierbar sind :
Für einen Wiederherstellungsvorgang gilt das gleiche Prinzip. Die verschlüsselte Sicherung bleibt im gesamten Netzwerk verschlüsselt und wird in ihrem noch verschlüsselten Zustand auf die Festplatte des Wiederherstellungsservers geschrieben. Sie werden erst entschlüsselt, wenn die Datenbank nach Abschluss der Wiederherstellung in den Speicher geladen wird.
quelle
Ja, es wird beim Eintritt in den Pufferpool entschlüsselt und beim Verlassen verschlüsselt. In dieser Situation wird, da wir auf die Festplatte schreiben, diese zuerst verschlüsselt und dann geschrieben. Da die Schreibvorgänge über das Netzwerk erfolgen, werden die Daten selbst verschlüsselt, andere Teile des Netzwerkverkehrs jedoch nicht.
Ja, da das gleiche wie oben gilt, jedoch in umgekehrter Reihenfolge. Daten wurden auf der Festplatte verschlüsselt, werden gelesen und im verschlüsselten Zustand übertragen. Dann gelangt es zur Instanz und wird in den Pufferpool geladen, wo es als Schritt auf dem Weg unverschlüsselt wird.
quelle