Secure Erase na dysku SSD

Z Thomas-Krenn-Wiki
Przejdź do nawigacji Przejdź do wyszukiwania

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

  1. 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. 2,0 2,1 https://ata.wiki.kernel.org/index.php/ATA_Secure_Erase

Powiązane artykuły

Optymalizacja systemu Windows na dysku SSD
Optymalizacja wydajności dysków SSD
SSD Power Loss Protection