[Guide] SED - Self Encrypting Drive mit OPAL 2.0, how to?

MichaelHTPC

Enthusiast
Thread Starter
Mitglied seit
15.11.2014
Beiträge
536
Hallo,

ich habe mir eine neue Samsung 990 EVO Plus gekauft. Die M.2 SSD steck in einem UGREEN USB-Gehäuse. Ich habe "so etwas" bereits seit 4 Jahren mit einer Samsung 970 EVO Plus am laufen, Verschlüsselt mit BitLocker.
Die Verschlüsselung wollte ich nun bei der 990er SSD mit Hardware via TCG OPAL 2.0 durchführen, da die BitLocker Software Verschlüsselung manchmal (etwas) Leistung kostet. Nun habe ich ewig nach einer Lösung für mein Vorhaben gesucht, es gibt Leider nicht viel nützliches zu finden bis auf:
0. driveTrust.com
1. sedUtil.com
2. GitHub, Encrypting your drive
3. YT, Tuesday Tech Tip - Are Self-Encrypting Drives Useful for Data Security?

1. liefert einen fork des von 0. bereitgestellten Codes, fertig zur Verwendung unter (z.B.) MS-Windows. Das ganze ist ein Kommandozeilen-Werkzeug.
2. ist die zu 1. gehörende Hilfe.
3. erklärt die für mich entscheidenden Kommandos (auf einem Linux-System).

Die nötigen Kommandos in verallgemeinerter Form ('i:' CLI input, 'o:' CLI output):
Code:
i: sedutil-cli --scan                                        // Which drives are present?
o: \\.\PhysicalDrive0 ...
   \\.\PhysicalDrive1 12  ...                                // \\.\PhysicalDrive1 = device
   No more disks present ending scan
 
i: sedutil-cli --isValidSED <device>                         // Is the drive as SED usable?
o: <device> SED --E---- <deviceName> <deviceFW>              // E: Enterprise drive; O: OPAL 2.0 drive (also 02 or 12)

i: sedutil-cli --initialSetup <SIDpassword> <device>         // SIDpassword = Admin1Password
o: SID password change
   EraseMaster password set
   Maximum ranges ...
   ...
   takeOwnership complete
   Locking range ...
   ...
   Initial setup of TPer complete on <device>
 
i: sedutil-cli --enableLockingRange 0 <Admin1Password> <device> // Now the drive encryption for the entire drive is active.
o: locking range configured ...

// Now setup the wished file system, e.g. NTFS (1st initialize the disk with a GPT or MBR). That is all!

// After power off / on toggle: Unlock the drive in read / write mode.
i: sedutil-cli --setLockingRange 0 RW <Admin1Password> <device> // Unlock the drive.
o: Locking range Raed/Write set 0

Ich würde meinen es hat alles funktioniert (siehe Daten zu Zeile "Locking function"), denn folgendes erhalte ich nachdem alles erledigt ist:
Code:
.\sedUtil-cli --query \\.\PhysicalDrive1
\\.\PhysicalDrive1 USB Samsung SSD 990 EVO Plus 4TB             2B2QKXG7 S7U9NJ...5M
TPer function (0x0001)
    ACKNAK = N, ASYNC = N. BufferManagement = N, comIDManagement  = N, Streaming = Y, SYNC = Y
Locking function (0x0002)
    Locked = N, LockingEnabled = Y, LockingSupported = Y, MBRDone = N, MBREnabled = Y, MBRAbsent = N, MediaEncrypt = Y
Geometry function (0x0003)
    Align = Y, Alignment Granularity = 8 (4096), Logical Block size = 512, Lowest Aligned LBA = 0
Opal V1.0 function (0x0200)
    Base comID = 0x1004, comIDs = 1, Range Crossing = N
SingleUser function (0x0201)
    ALL = N, ANY = N, Policy = Y, Locking Objects = 9
DataStore function (0x0202)
    Max Tables = 9, Max Size Tables = 10485760, Table size alignment = 1
OPAL 2.0 function (0x0203)
    Base comID = 0x1004, Initial PIN = 0x00, Reverted PIN = 0x00, comIDs = 1
    Locking Admins = 4, Locking Users = 9, Range Crossing = N
Block SID Authentication function (0x0402)
    SID Blocked State = N, SID Value State = Y, Hardware Reset = N

TPer Properties:
  MaxComPacketSize = 66048  MaxResponseComPacketSize = 66048
  MaxPacketSize = 66028  MaxIndTokenSize = 65540  MaxPackets = 1
  MaxSubpackets = 1  MaxMethods = 1  MaxAuthentications = 5
  MaxSessions = 1  MaxTransactionLimit = 1  DefSessionTimeout = 0

Host Properties:
  MaxComPacketSize = 2048  MaxResponseComPacketSize = 2048
  MaxPacketSize = 2028  MaxIndTokenSize = 1992  MaxPackets = 1
  MaxSubpackets = 1  MaxMethods = 1

Leider kann ich die SSD nicht ansprechen, d.h. der MS-Windows 11 Disk Manager zeigt mir stets
You must initialze a disk before Disk Manager can access it.
Das habe ich dann auch nochmals versucht, es endet mit einem
The request could not be performed because of an I/O device error.

Hat jemand eine Idee was ich falsch mache bzw. wo etwas fehlt? Danke!
 
Zuletzt bearbeitet:
Wenn Du diese Anzeige nicht sehen willst, registriere Dich und/oder logge Dich ein.
Damit:
Code:
.\sedUtil-cli --setmbrdone on <Admin1Password> \\.\PhysicalDrive1
MBRDone set on
.\sedutil-cli --setLockingRange 0 RW <Admin1Password> \\.\PhysicalDrive1
LockingRange0 set to RW
War dies
You must initialze a disk before Disk Manager can access it.
erneut im MS-Windows Disk Manager durchführbar (diesmal mit MBR statt GPT gemacht).
Nun dies durchgeführt (nötig oder nicht?)
Code:
.\sedUtil-cli --setmbrdone off <Admin1Password> \\.\PhysicalDrive1
MBRDone set off
Nach SSD power toggle und erneutem unlock mit
Code:
.\sedutil-cli --setLockingRange 0 RW <Admin1Password> \\.\PhysicalDrive1
LockingRange0 set to RW
war die SSD wieder nicht zugreifbar, d.h. der MS-Windows Disk Manager zeigte zum x-ten mal
You must initialze a disk before Disk Manager can access it.
 
Zuletzt bearbeitet:
Nach vielen weiteren Versuchen funktioniert es nun (aber: siehe am Ende dieses Textes):
Es ist wohl so, dass es eine MBR area als auch eine shadow MBR area gibt (wobei diese Bereiche wohl auch für eine GPT geeignet sind). Die shadow MBR area ist aktiv wenn
Code:
MBREnabled = Y
Wie man weiter oben sehen kann, war dies bei mir der Fall.
Mit
Code:
.\sedUtil-cli --setMbrEnable off <Admin1Password> \\.\PhysicalDrive1
MBRDone set on
MBREnable set off
habe ich diesen Bereich abgeschaltet.
Nun (es war evtl. vorher noch ".\sedUtil-cli --setmbrdone on ..." nötig) mit dem Disk Manager die MBR area beschrieben (Initialisierung mit GPT + simple volume + NTFS).
USB-SSD ausgeworfen und abgesteckt (power off = lock drive).
USB-SSD wieder angesteckt.
Unlock mit ".\sedutil-cli --setLockingRange 0 RW ..." durchgeführt und schon wieder war die SSD nicht zugreifbar!
Lösung:
Im Disk Manager die Aufforderung zur Disk Initialisierung mit "Cancel" ignorieren. Nun die SSD auswählen. Danach im Menü Action die Aufgabe Rescan Disks auslösen.
Etwas warten und die SSD wird erkannt und ist zugreifbar.

Wer das alles gelesen hat kennt auch schon (teils) das dicke ABER:
  1. Mit der SW sedutil-cli.exe muss nach jedem anstecken der externen SSD ein entsperren selbiger durchführen, d.h. falls die SW nicht zur Hand ist dann ist die SSD nicht verwendbar.
    1. Das Entsperren kann man z.B. mit einer *.bat Datei erledigen.
    2. Die Ausführung der SW benötigt immer Administrator Rechte.
  2. Nach dem entsperren muss man MS-Windows noch dazu bringen die Disk erneut zu bewerten.
    1. Mein Weg mit dem Disk Manager ist viel zu umständlich.
      1. Es gibt dafür sicher auch ein Kommando was man mit in die *.bat von 1.1. einbringen kann.
        Falls dem so ist so bleibt noch immer die lästige Dialogbox zur Admin-Bestätigung nach dem Start der *.bat.
Mein (bisheriges) Fazit
  • Die SED-Nutzung ist nicht gerade eine "elegante" Sache.
  • Die Beschreibung der nötigen Befehle bzw. ihrer Bedeutung ist im Fall sedUtil-cli.exe mangelhaft. Eine bessere Alternative konnte ich Leider nicht finden.
 
Zuletzt bearbeitet:
Hardwareluxx setzt keine externen Werbe- und Tracking-Cookies ein. Auf unserer Webseite finden Sie nur noch Cookies nach berechtigtem Interesse (Art. 6 Abs. 1 Satz 1 lit. f DSGVO) oder eigene funktionelle Cookies. Durch die Nutzung unserer Webseite erklären Sie sich damit einverstanden, dass wir diese Cookies setzen. Mehr Informationen und Möglichkeiten zur Einstellung unserer Cookies finden Sie in unserer Datenschutzerklärung.


Zurück
Oben Unten refresh