Secure Erase na dysku SSD
Artykuł ten pokazuje procedurę Secure Erase dysku SSD. Dzięki temu może zostać zwiększona wydajność wielu używanych dysków SSD. Wszystkie dane na SSD ulegają utracie. Odnośnie Fusion-io ioDrives vide Fusion-io ioDrive niskopoziomowy format (Low-Level Format).
Update sierpień 2011: Podczas formatowania NTFS w systemach Windows od wersji 7, formatowania Ext4 od mke2fs 1.41.10 lub XFS od xfsprogs 3.1.0 zostaje przeprowadzony ATA Trim, dlatego w tych przypadkach nie jest już konieczne przeprowadzanie Secure Erase (vide Cele procedury Secure Erase). W używanym dysku SSD ma zostać zwiększona spare area (np. za pośrednictwem SSD Over-Provisioning z hdparm) to przed zwiększeniem spare area sensowne jest usunięcie wszystkich bloków (np. przez sformatowanie z Trim całej powierzchni, lub przez Secure Erase).
Cele procedury Secure Erase
Secure Erase powinien gwarantować, według specyfikacji ATA, bezpieczne usunięcie wszystkich przechowywanych danych na nośniku. W większości dysków SSD, które wspierają Secure Erase prowadzi to do fizycznego usunięcia wszystkich bloków dysku SSD. Po czym SSD może znów być wykorzystywane z wyjściową optymalną wydajnością - wszystkie pages mogą zostać bezpośrednio zapisane (vide Solid State Drive - Zapis).
W nowszych dyskach SSD ze zintegrowanym szyfrowaniem, Secure Erase może zostać zrealizowany w inny sposób. Takie SSD szyfrują automatycznie wszystkie dane, które są zapisywane. Podczas Secure Erase wystarczyłoby usunięcie klucza - w ten sposób dane nie mogłyby zostać odszyfrowane, ale byłyby nadal fizycznie obecne.[1] Dostępna informacja od Tahmid Rahman (Intel Senior Technical Marketing Engineer) na końcu sesji Optimizing Solid-State Drive (SSD) Performance for Data Center Applications w Intel Developer Forum 2011 mówi, że w przypadku dysków SSD Intel z serii 320 i 710 ze zintegrowanym szyfrowaniem, pomimo możliwości usunięcia tylko wspomnianego klucza, usuwane są wszystkie bloki, aby Secure Erase przywrócił ich wyjściową wydajność.
W innych dyskach SSD ze zintegrowanym szyfrowaniem, w których korzystanie z Secure Erase nie jest wystarczająco udokumentowane, zaleca się dodatkowo do Secure Erase usunięcie bloków dysku SSD za pośrednictwem TRIM-a, w celu uzyskania optymalnej wydajności dysku SSD. Windows 7 przeprowadza TRIM automatycznie podczas formatowania, jak Ext4 od mke2fs 1.41.10 i XFS od xfsprogs 3.1.0.
Linux-Tool hdparm oferuje wprawdzie do tego opcję, ale manpage w wersji 9.27 (Ubuntu 10.10) odradza korzystania z niej:
--trim-sector-ranges For Solid State Drives (SSDs). EXCEPTIONALLY DANGEROUS. DO NOT USE THIS FLAG!! Tells the drive firmware to discard unneeded data sectors, destroying any data that may have been present within them. This makes those sectors available for immediate use by the firmware's garbage collection mechanism, to improve scheduling for wear-leveling of the flash media. This option expects one or more sector range pairs immediately after the flag: an LBA starting address, a colon, and a sector count, with no intervening spaces. EXCEPTIONALLY DANGEROUS. DO NOT USE THIS FLAG!! Eg. hdparm --trim-sector-ranges 1000:4 7894:16 /dev/sdz
Wymagane kroki przez Secure Erase
Poniższe kroki zaczerpnęliśmy z ATA Wiki i kernel.org.[2] W przykładowej procedurze usuwania bloków poddany jest dysk SSD o nazwie urządzenia /dev/sdb. Podczas przeprowadzania Secure Erase należy zwrócić szczególną uwagę na nazwę urządzenia, żeby przez pomyłkę nie poddać procedurze błędnego napędu.
Ważna uwaga: Procedurę Secure Erase zaleca się przeprowadzać tylko gdy SSD jest podłączone bezpośrednio do portu SATA, inaczej mogą wystąpić problemy.[2]
Krok 1: NOT frozen
W pierwszym kroku należy sprawdzić czy dysk SSD znajduje się w stanie not frozen
i czy wspiera Secure Erase (supported: enhanced erase):
root@ubuntu-10-04:~# hdparm -I /dev/sdb /dev/sdb: ATA device, with non-removable media Model Number: INTEL SSDSA2M160G2GC Serial Number: CVPO014602FC160AGN Firmware Revision: 2CV102HD Transport: Serial, ATA8-AST, SATA 1.0a, SATA II Extensions, SATA Rev 2.5, SATA Rev 2.6 [...] 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. [...]
Krok 2: Ustalenie hasło użytkownika
Aby Secure Erase został przeprowadzony musi najpierw zostać ustalone hasło użytkownika. W przykładzie wykorzystujemy do tego hasło Eins
. Po czym funkcja bezpieczeństwa (Security Function) jest aktywna (enabled).
Uwaga: Po ustaleniu hasła SSD przechodzi, po restarcie, w stan locked i blokuje każdą normalną próbę dostępu do momentu odblokowania przez podanie właściwego hasła. Jeżeli kolejne kroki zostaną przeprowadzone bez restartu to funkcja bezpieczeństwa jest automatycznie wyłączana.
root@ubuntu-10-04:~# 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 root@ubuntu-10-04:~# hdparm -I /dev/sdb [...] Security: Master password revision code = 65534 supported enabled not locked not frozen not expired: security count supported: enhanced erase Security level high 2min for SECURITY ERASE UNIT. 2min for ENHANCED SECURITY ERASE UNIT. [...]
Krok3: Secure Erase
Przeprowadzenie Secure Erase:
root@ubuntu-10-04:~# time hdparm --user-master u --security-erase Eins /dev/sdb security_password="Eins" /dev/sdb: Issuing SECURITY_ERASE command, password="Eins", user=user real 0m55.408s user 0m0.000s sys 0m0.000s root@ubuntu-10-04:~#
Krok 4: Kontrola
Po przeprowadzeniu Secure Erase funkcja bezpieczeństwa dysku SSD jest wyłączona:
root@ubuntu-10-04:~# 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. [...]
Odnośniki
- ↑ The Intel SSD 320 Review: 25nm G3 is Finally Here: TRIM Performance (anandtech.com): A side effect of having all data encrypted on the NAND is that secure erases happen much quicker. You can secure erase a SF drive in under 3 seconds as the controller just throws away the encryption key and generates a new one. Intel's SSD 320 takes a bit longer but it's still very quick at roughly 30 seconds to complete a secure erase on a 300GB drive. [...] Without the encryption key, the data stored in the NAND array is meaningless.
- ↑ 2,0 2,1 https://ata.wiki.kernel.org/index.php/ATA_Secure_Erase