Wie beeinflusst AES-256 Verschlüsselung die Performance (NVMe-SSD)?

p4z1f1st

Commander
Registriert
Apr. 2017
Beiträge
2.339
Hi Leute,

wie sehr beeinflusst eigentlich die Verschlüsselung der Platte die Geschwindigkeit bei einer NVMe-SSDs?

Ich meine jede halbgare NVMe-SSD schafft ja das doppelt-dreifache einer SATA-SSD an Durchsatz (auf dem Papier), daher sollte man doch die Verschlüsselung im Alltagsgebrauch quasi nicht merken.
 
Wenn deine CPU AES-NI in Hardware kann, nicht spürbar langsamer. Aber genaue Zahlen habe ich nicht.
 
  • Gefällt mir
Reaktionen: SVΞN
Hi,

die merkst du im Alltag schon bei einer SATA-SSD nicht, sofern die CPU das unterstützt und du nicht TeraByte-weise Daten kopierst täglich. Für das "übliche Kopieren" kein Problem.

Durchsatz ist aber auch nicht der springende Punkt, der eine SSD gefühlt so schnell macht, sondern die Zugriffszeiten.

VG,
Mad
 
  • Gefällt mir
Reaktionen: WodkaGin, SVΞN und He4db4nger
Sprich, die IOPS?
 
Hi,

auch. IOPS sind - ganz stark vereinfacht gesagt - gleichzeitige, parallele Zugriffe. Gepaart mit einer niedrigen Zugriffszeit ergibt sich die starke Performance einer SSD. Die hohen Durchsätze und Datenraten sind ein (sehr) netter Nebeneffekt.

VG,
Mad
 
  • Gefällt mir
Reaktionen: SVΞN
Meiner Erfahrung nach, reagieren die Zugriffszeiten [welche eine SSD gefühlt so [reaktions-] schnell machen] kaum bis überhaupt nicht auf eine AES-256 Verschlüsselung [wenn die die CPU AES-NI beherrscht ist das Thema völlig vom Tisch.]

Mir würde aktuell kein Use Case einfallen, in dem ein Privatanwender durch AES-256 auch nur den geringsten Nachteil hätte.

DenMCX schrieb:
Ich meine jede halbgare NVMe-SSD schafft ja das doppelt-dreifache einer SATA-SSD an Durchsatz (auf dem Papier), daher sollte man doch die Verschlüsselung im Alltagsgebrauch quasi nicht merken.

Auch bei den Transferraten wirst du wenig bis nichts davon spüren, außer du sitzt mit der Stoppuhr und Vorher-/Nachher Benchmarks vor dem System.
 
  • Gefällt mir
Reaktionen: WodkaGin
Augenblick - muss die SSD nicht auch AES256 in Hardware unterstützen? Ich habe nämlich 3x1TB
SanDisk Ultra II SSD 960GB im PC, die gerade das nicht kann uüdn daher verschlüssle ich acuh mit meinem Ryzen2 nicht.
Oder denke ich da falsch?
 
Hi,

nö, die SSD muss das nicht unterstützen, für die ist das transparent.

VG,
Mad
 
Wenn du via Software verschlüsselst dann bekommt die SSD das gar nicht mit, das ist normaler Dateninput, Last wird von der CPU übernommen, wenn die Hardware AES kann ist es wie oben gesagt irrelevant.

Man kann aber auch die Daten auf der SSD mit der in der SSD eingebauten Hardware verschlüsselung machen, meist via UEFI oder extra Software zum aktivieren.
Dann liefert deine CPU die Daten normal ab und die SSD macht den Rest.

Ich persönlich würde dank der Einfachheit von Windows Bitlocker aber immer Option 1 nehmen, ist aber Geschmacksache.
 
Sir Luckal0t schrieb:
Augenblick - muss die SSD nicht auch AES256 in Hardware unterstützen? Ich habe nämlich 3x1TB
SanDisk Ultra II SSD 960GB im PC, die gerade das nicht kann uüdn daher verschlüssle ich acuh mit meinem Ryzen2 nicht.
Oder denke ich da falsch?
Du kannst die Daten entweder auf Betriebssystem-/Dateisystemebene verschlüsseln, dann hat die Platte damit nichts am Hut. Oder aber das Laufwerk kann selbstständig Verschlüsseln, dann bekommt das OS davon nichts mit (Stichwort SED - Self Encrypting Device). Außerdem gibt es noch Mischformen im Kontext von z.B. Bitlocker. Dabei benutzt Bitlocker die Verschlüsselungsfunktion des Laufwerks.
 
Wenn über die CPU verschlüsselt wird, dann ist die Performance schlechter, die Daten müssen nach dem Lesen ja auch erst entschlüsselt werden, bevor das Programm die bekommt bzw. wenn es Programmcode ist, bevor er ausgeführt werden kann. Ebenso müssen beim Schreiben die Daten erst verschlüsselt werden bevor sie zur SSD gehen, aber merkt man oft nicht, weil das Schreiben meistens gepuffert erfolgt.

Was soll der Sinn der Verschlüsselung sein? Die schützt nicht davor Ausspioniert zu werden, da dies i.d.R. per Schadsoftware passiert, sondern nur für den Fall das jemand physikalischen Zugriff auf den Datenträger bekommt.
 
Hier werden ein paar Dinge durcheinandergewürfelt.
Einmal gibt es Hardwareverschlüsselung in der SSD. Dafür braucht die CPU auch kein AES-Ni. Eine SSD die Hardwareverschlüsselung unterstützt verschlüsselt immer, aber wenn die ausgeschaltet ist, wird der Schlüssel offen in der Firmware hinterlegt und der PC bekommt davon nichts mit. Wenn das Feature aktiviert wird, wird der Schlüssel je nach System durch einen TPM Chip freigegeben, oder durch ein Systempasswort (in der Funktion ähnlich zu dem alten Bootkennwort im BIOS), oder durch einen Hardwaretoken. Bei Bitlocker geht es glaube ich inzwischen auch per Windows Login, aber da bin ich nicht ganz am laufenden. Die Systeme funktionieren entweder nach dem Opal Standard, über das eben angesprochene Systemkennwort, oder Encrypted Drive.

Dann gibt es noch die Softwareverschlüsselung. Da muss das Laufwerk nichts unterstützen und es wird alles über Programme geregelt. Dabei muss aber die CPU die Daten ver- und entschlüsseln. Bei den Datenraten einer modernen NVMe SSD kommt man dabei ohne AES-NI als Befehlssatzerweiterung für die schnelle Ver- und Entschlüsselung von AES nicht weit. Die CPU Last steigt aber selbst mit der Erweiterung merklich an.

Die Softwareverschlüsselung ist allerdings die sicherere Variante, weil bei der Hardwareverschlüsselung dem Algorithmus des Herstellers vertraut werden muss. Und es gab vor kurzem erst Berichte, dass die nicht immer sauber implementiert wurden.
Daher wird z.B. bei Bitlocker für maximale Sicherheit empfohlen die Hardwareverschlüsselung per Group Policy zu verhindern und in Software zu verschlüsseln.
 
Hi,

Ich persönlich würde dank der Einfachheit von Windows Bitlocker aber immer Option 1 nehmen

ich würde bei Verschlüsselung nie Closed-Source Software nutzen, sondern wenn dann VeraCrypt nutzen.

Die CPU Last steigt aber selbst mit der Erweiterung merklich an.

bei welchen SSDs wäre das der Fall? Hatte ich bisher noch nie den Fall. Würde mich ein Beispiel interessieren.

Die Softwareverschlüsselung ist allerdings die sicherere Variante, weil bei der Hardwareverschlüsselung dem Algorithmus des Herstellers vertraut werden muss. [...] Daher wird z.B. bei Bitlocker für maximale Sicherheit empfohlen...

widerspricht sich für mich massiv, siehe oben. Wenn Verschlüsselung dann Open-Source, nicht BitLocker.

VG,
Mad
 
  • Gefällt mir
Reaktionen: begin_prog und ThommyDD
Madman1209 schrieb:
widerspricht sich für mich massiv, siehe oben. Wenn Verschlüsselung dann Open-Source, nicht BitLocker.
Da widerspreche ich grundsätzlich nicht. Aber VeraCrypt ist halt leider nicht Benutzerunabhängig auf Unternehmens PCs nutzbar und zentral verwaltbar ;)
Ein einziges Kennwort für einen Laptop an dem mehrere Personen arbeiten können sollen ist sinnlos und man will sicher auch keine Sammlung von Widerherstellungsschlüsseln manuell pflegen, wenn mehrere tausend PCs verwaltet werden (selbst bei Hundert wollte ich das nicht).
Und nach bisherigen Analysen scheint Bitlocker zumindest sicherer als die teilweise fehlerhaft implementierten Hardwareverschlüsselungen mancher SSD Hersteller.

Für Privatpersonen ist VeraCrypt wohl Goldstandard und braucht auch keine teurere Professional Windows Lizenz :)
 
Holt schrieb:
Was soll der Sinn der Verschlüsselung sein? Die schützt nicht davor Ausspioniert zu werden, da dies i.d.R. per Schadsoftware passiert, sondern nur für den Fall das jemand physikalischen Zugriff auf den Datenträger bekommt.

Eine Verschlüsselung der Platten ist immer sinvoll. Wenn man das Notebook irgendwo liegen lässt oder bei einem eingebrochen und der PC geklaut wird, sind die Daten sicher.

Nachteile gibt es auf einem halbwegs aktuellen PC nicht.
 
Sagen wir, eine SSD unterstützt AES256 (Intel 660p, Samsung 970 EVO, zb.). Wenn das jetzt aktiviert ist (wie? BIOS?) und ich die SSD in einen anderen Rechner einbaue, kann ich die dann einfach auslesen? Weil die Ver-/Entschlüsselung ja vom SSD-Controller selbst gemacht wird?

Edit: Ah, der Schlüssel bleibt am TPM Chip des Mainboards, daher ist die SSD im anderen Rechner nicht auslesbar?
 
frazzlerunning schrieb:
Sagen wir, eine SSD unterstützt AES256 (Intel 660p, Samsung 970 EVO, zb.). Wenn das jetzt aktiviert ist (wie? BIOS?) und ich die SSD in einen anderen Rechner einbaue, kann ich die dann einfach auslesen? Weil die Ver-/Entschlüsselung ja vom SSD-Controller selbst gemacht wird?
Zum Glück nicht :)
Das Kennwort liegt bei den Varianten erst einmal lesegeschützt auf der SSD.
Bei der Variante mit dem Bootkennwort auf BIOS (UEFI) Ebene gibt es einmal die Möglichkeit des SATA Kennwortes. Dabei wird ein Kennwort per SATA Befehl an die SSD geschickt und die erlaubt dann das Entschlüsseln mit dem gespeicherten Kennwort. Das sollte eigentlich auch funktionieren, wenn du die SSD in einen neuen PC einbaust und das gleiche Kennwort nutzt (nie getestet).
Wenn dein PC einen TPM Chip hat, wird das Kennwort zum Entsperren dort gespeichert und je nach System kann man das per PIN, Biometrischem Sensor oder Token freigeben. Wird die SSD aber in einem anderen PC eingebaut, liegt der Schlüssel zur Freigabe des Schlüssels der SSD noch immer auf dem alten im TPM Chip. Damit wären bei einem Defekten Board z.B. alle Daten nicht mehr lesbar.
 
  • Gefällt mir
Reaktionen: frazzlerunning
DenMCX schrieb:
wie sehr beeinflusst eigentlich die Verschlüsselung der Platte die Geschwindigkeit bei einer NVMe-SSDs?
Hier mal ein Vergleich für Dich.
Hardwareverschlüsselung unterscheidet sich nicht zu unverschlüsselt.

768155

Ergänzung ()

Wobei der Benchmark die 970 Evos mit den ganzen 4K-Test überfordert, daher noch mal nur der einfache 4K-Test für einen allgemeingültigeren Vergleich:

768166
 
Zuletzt bearbeitet:
  • Gefällt mir
Reaktionen: frazzlerunning und Sir Luckal0t
Zurück
Oben