Secure Erase erlauben

linuxnutzer

Commander
Registriert
Dez. 2011
Beiträge
2.458
Ich verstehe die Anleitung nicht, wie man ein Secure Erase durchführt.

secure_erase.png


Wie soll das mit "power off" ohne Reboot gehen?

Linux-Abfrage:

Code:
~# hdparm -I /dev/sdb

/dev/sdb:

ATA device, with non-removable media
    Model Number:       KINGSTON SEDC500M480G                 
    Serial Number:      ... 
    Firmware Revision:  SCEKJ2.7
    Transport:          Serial, ATA8-AST, SATA 1.0a, SATA II Extensions, SATA Rev 2.5, SATA Rev 2.6, SATA Rev 3.0
Standards:
    Supported: 10 9 8 7 6 5
    Likely used: 10
Configuration:
    Logical        max    current
    cylinders    16383    16383
    heads        16    16
    sectors/track    63    63
    --
    CHS current addressable sectors:    16514064
    LBA    user addressable sectors:   268435455
    LBA48  user addressable sectors:   937703088
    Logical  Sector size:                   512 bytes
    Physical Sector size:                   512 bytes
    Logical Sector-0 offset:                  0 bytes
    device size with M = 1024*1024:      457862 MBytes
    device size with M = 1000*1000:      480103 MBytes (480 GB)
    cache/buffer size  = unknown
    Form Factor: 2.5 inch
    Nominal Media Rotation Rate: Solid State Device
Capabilities:
    LBA, IORDY(can be disabled)
    Queue depth: 32
    Standby timer values: spec'd by Standard, no device specific minimum
    R/W multiple sector transfer: Max = 16    Current = 16
    Advanced power management level: 254
    DMA: mdma0 mdma1 mdma2 udma0 udma1 udma2 udma3 udma4 udma5 *udma6
         Cycle time: min=120ns recommended=120ns
    PIO: pio0 pio1 pio2 pio3 pio4
         Cycle time: no flow control=120ns  IORDY flow control=120ns
Commands/features:
    Enabled    Supported:
       *    SMART feature set
            Security Mode feature set
       *    Power Management feature set
       *    Write cache
       *    Look-ahead
       *    Host Protected Area feature set
       *    WRITE_BUFFER command
       *    READ_BUFFER command
       *    NOP cmd
       *    DOWNLOAD_MICROCODE
       *    Advanced Power Management feature set
            SET_MAX security extension
       *    48-bit Address feature set
       *    Device Configuration Overlay feature set
       *    Mandatory FLUSH_CACHE
       *    FLUSH_CACHE_EXT
       *    SMART error logging
       *    SMART self-test
       *    General Purpose Logging feature set
       *    WRITE_{DMA|MULTIPLE}_FUA_EXT
       *    64-bit World wide name
       *    Disable Data Transfer After Error Detection
       *    {READ,WRITE}_DMA_EXT_GPL commands
       *    Segmented DOWNLOAD_MICROCODE
       *    Gen1 signaling speed (1.5Gb/s)
       *    Gen2 signaling speed (3.0Gb/s)
       *    Gen3 signaling speed (6.0Gb/s)
       *    Native Command Queueing (NCQ)
       *    Phy event counters
       *    Host automatic Partial to Slumber transitions
       *    Device automatic Partial to Slumber transitions
       *    READ_LOG_DMA_EXT equivalent to READ_LOG_EXT
       *    DMA Setup Auto-Activate optimization
            Device-initiated interface power management
       *    Software settings preservation
       *    SMART Command Transport (SCT) feature set
       *    SCT Data Tables (AC5)
       *    DOWNLOAD MICROCODE DMA command
       *    SET MAX SETPASSWORD/UNLOCK DMA commands
       *    WRITE BUFFER DMA command
       *    READ BUFFER DMA command
       *    DEVICE CONFIGURATION SET/IDENTIFY DMA commands
       *    Data Set Management TRIM supported (limit 8 blocks)
       *    Deterministic read ZEROs after TRIM
Security:
    Master password revision code =
        supported
    not    enabled
    not    locked
        frozen
    not    expired: security count
        supported: enhanced erase
    2min for SECURITY ERASE UNIT. 2min for ENHANCED SECURITY ERASE UNIT.
Logical Unit WWN Device Identifier: ...
    NAA        : 5
    IEEE OUI    : 0026b7
Checksum: correct
 
Ja. Stromkabel der Disk abziehen und wieder anstecken.

Das funktioniert aus folgendem Grund: Der Disk Controller hat ein Flag "frozen". Standardmäßig (also wenn der Controller startet) ist dieser false. Erst das BIOS deines Computers, wenn es bootet, setzt dieses flag auf "true" durch senden des ATA Security Freeze commands. Das dient dem Zweck, dass nur im BIOS das PW für die Disk gesetzt und gelöscht werden kann. Ansonsten könnte Schadsoftware ein Passwort auf der Disk setzen wodurch diese unbrauchbar wird.

Von Herstellereigenen Ramsch-Tools mit brutal hässlichen custom themes halte ich persönlich wenig sondern greife lieber auf erprobte Standardtools wie hdparm zurück. Die Anleitung zur Ausführung eines ATA Secure Erase findet sich im Kernel Wiki: https://ata.wiki.kernel.org/index.php/ATA_Secure_Erase
Unbedingt die Warnungen oben beachten: Nicht über USB-Adapter ausführen!
Im Grunde sind es nur 2-3 Befehle die man ausführen muss, die sind ausführlich im Wiki beschrieben.
 
Also nach dem 1. Mal Kabel abziehen unter Linux ging der PC vermutlich in Standbye, ich schaffte es den nicht wieder zu aktivieren. Der Power-Button leuchtete nicht mehr und der PC reagierte nicht mehr. Netzteil ein/aus und der PC bootete wieder. Aber das kenne ich ja, dass ich Probleme beim Aktivieren des PCs aus dem Standbye habe. Beim 2. Hotplug ging der PC nicht in Standbye.

Ich hatte beide Male Strom- und Datenkabel abgezogen


Ich habe es nun so gemacht:

Secure erase nach https://www.thomas-krenn.com/de/wiki/SSD_Secure_Erase

Code:
~# hdparm -I /dev/sdb
ATA device, with non-removable media
    Model Number:       KINGSTON SEDC500M480G                
    Firmware Revision:  SCEKJ2.7
    Transport:          Serial, ATA8-AST, SATA 1.0a, SATA II Extensions, SATA Rev 2.5, SATA Rev 2.6, SATA Rev 3.0
...
Security:
    Master password revision code = 65534
        supported
    not    enabled
    not    locked
        frozen
    not    expired: security count
        supported: enhanced erase
    2min for SECURITY ERASE UNIT. 2min for ENHANCED SECURITY ERASE UNIT.

Da Zustand frozen, Abklemmen der SSD im laufenden Betrieb, kurz warten und wieder anstecken (Hotplug)
Bei Hotplug zuerst Datenkabel abziehen und dann Stromkabel, sonst schaltet sich PC aus (in Standbye?), wieder Anstecken ausprobieren, vermutlich umgekehrte Reihenfolge, schaffte beim Anstecken wieder einen PC, der nicht reagiert.


Code:
~# hdparm -I /dev/sdb
...
Security:
    Master password revision code = 65534
        supported
    not    enabled
    not    locked
    not    frozen
    not    expired: security count
        supported: enhanced erase
    2min for SECURITY ERASE UNIT. 2min for ENHANCED SECURITY ERASE UNIT.

Nach dem Hotplug ist sie also "not frozen"

Code:
~# hdparm --user-master u --security-set-pass Eins /dev/sdb
security_password: "Eins"
/dev/sdb:
Issuing SECURITY_SET_PASS command, password="Eins", user=user, mode=high

Code:
~# time hdparm --user-master u --security-erase Eins /dev/sdb
security_password: "Eins"
/dev/sdb:
Issuing SECURITY_ERASE command, password="Eins", user=user
real    0m7,504s
user    0m0,004s
sys    0m0,000s

Das ging also extrem schnell, ist aber eine nagelneue SSD ohne Partitonstabelle. Ob das wirklich ein Secure Erase ist, da sollte doch alles überschrieben werden.

Code:
~# hdparm -I /dev/sdb
...
Security:
    Master password revision code = 65534
        supported
    not    enabled
    not    locked
    not    frozen
    not    expired: security count
        supported: enhanced erase
    2min for SECURITY ERASE UNIT. 2min for ENHANCED SECURITY ERASE UNIT.

Code:
~# reboot

Code:
~# hdparm -I /dev/sdb
...
Security:
    Master password revision code = 65534
        supported
    not    enabled
    not    locked
        frozen
    not    expired: security count
        supported: enhanced erase
    2min for SECURITY ERASE UNIT. 2min for ENHANCED SECURITY ERASE UNIT.

Nach dem Neustart ist also wieder "frozen"

Ob das unter Linux wirklich funktioniert hat, finde ich fraglich, denn: https://www.diskpart.com/ssd-management/secure-erase-ssd-kingston-0310.html

and you’ll be informed to enter the last four letters of the serial number to confirm secure erase

Nach dieser Eingabe wurde ich unter Linux nicht gefragt!
 
Zuletzt bearbeitet:
Meinem Verständnis nach passieren bei SSDs bei Secure Erase zwei Dinge:
1. der interne Schlüssel zur Verschlüsselung des Datenbereiches wird neu generiert. In der Mapping Table werden alle Datenblöcke als ungültig markiert
2. die jetzt ungültig gewordenen Blöcke werden gelöscht (Garbage Collection ?), das geschiet allerdings im Hintergrund während das Laufwerk wieder ganz normal benutzt werden kann, ein Leistungseinbruch ist allerdings feststellbar
Somit dauert der sichtbare Teil des Vorgangs nur wenige Sekunden.
 
linuxnutzer schrieb:
Das ging also extrem schnell, ist aber eine nagelneue SSD ohne Partitonstabelle. Ob das wirklich ein Secure Erase ist, da sollte doch alles überschrieben werden.
Abgesehen davon, dass ich bei einer neuen SSD den Sinn nicht erkenne, ist das ein großer Unterschied zwischen SSDs und konventionellen Festplatten. Während bei einer Festplatte Daten - physisch gesehen - überhaupt nicht gelöscht, sondern nur überschrieben werden können, funktioniert das Löschen ("Block Erase") bei einer SSD sehr viel schneller. Sogar noch schneller ist das Austauschen des Crypto-Schlüssels. Dann sind die Daten an sich zwar zunächst noch vorhanden, aber nicht mehr zu entschlüsseln.

Micron gibt hier eine Übersicht: https://www.micron.com/about/blog/2...way-to-securely-remove-all-data-from-your-ssd

blog_image_sanitize.png
 
Für SSDs sind Nullen auch nicht das gleiche wie gelöschte Blöcke: Schreibt man 0en in einen Block, dann ist dieser Block für die SSD als beschrieben markiert und sie muss sich diese 0en um jeden Preis merken. Für SSDs ist es wünschenswert wenn der Controller immer Bescheid weiß, welche Blöcke gar nicht mehr gebraucht werden, so dass er diese nach Belieben überschreiben kann. Das hält die Schreibleistung auf einem hohen Niveau.

Diesen "ungenutzt" Zustand erreicht man normalerweise mit TRIM. Das ist unter Windows in "Laufwerke defragmentieren und optimieren" implementiert was regelmäßig ungenutzte Blöcke per TRIM Befehl an die SSD meldet. Unter Linux heißt das gleiche Werkzeug "fstrim". Ein Secure Erase trimmt einfach alle Blöcke, nebst dem Tauschen des Verschlüsselungskeys so dass die alten Daten unlesbar werden.

Um zu testen ob der Secure Erase wirklich funktioniert würde ich einfach ein Dateisystem auf der SSD erstellen (aka formatieren) und dann mal einen ATA Secure Erase ausführen & partprobe ausführen. Wenn du die Partition bzw. das Dateisystem in der Disks Ansicht oder Parted o.Ä. danach nicht mehr siehst ist das ein gutes Zeichen das alles geklappt hat.

Die Disk selbst kann in dem Prozess auch keine sinnlosen Rückfragen stellen wie "wie sind die letzten 4 Ziffern meiner Seriennummer". Die Abfrage ist lediglich auf Seiten der GUI in dem WD Tool implementiert.
 
Also nach dem 1. Mal Kabel abziehen unter Linux ging der PC vermutlich in Standbye, ich schaffte es den nicht wieder zu aktivieren.

Mittlerweile weiß ich, das lt. Mobo-Handbuch für Hotplug AHCI notwendig ist und die optimized UEFI defaults sind IDE und das war eingestellt.
 
Zurück
Oben