Экспериментировал давеча с встроенной безопасностью SATA-дисков, оченно интересные результаты.
Делалось все в Ubuntu 15.10 на i3 gen 4.
Изначально дан незасекуренный SATA-II винт на 250 Гб, HITACHI, один раздел в NTFS.
Задача: пройти полный цикл безопасности кроме безопасного вайпа - блокировка, разблокировка, возврат в небезопасное состояние.
Выводы следующие:
- Для блокировки винт вполне можно подключать через USB-мост, а вот для разблокировки - не факт. AgeStar-овский 2.0-вый бокс не прокатил, например.
- Разблокировка и деарм требует подключения к AHCI-контроллеру, нагорячую, с передергиванием питания (ATA_POWER_OFF, вытащить и снова втащить) после каждой фазы.
- Подключение нагорячую связано с тем, что дохрена разных бивисов перед загрузкой выдают винту команду ATA_SECURITY_FREEZE, и ему дальше посрать на Security-команды.
- Пробелов в пароле быть не должно
Собственно, гипотетическая транспортная безопасность абстрактного SATA-накопителя, смонтированного, допустим, как /dev/sdb:
ставим пароль "d3adc0d3"
user@localhost:~$ sudo hdparm --user-master u --security-set-pass d3adc0d3 /dev/sdb
<<<
security_password="d3adc0d3" /dev/sdb:
Issuing SECURITY_SET_PASS command, password="d3adc0d3", user=user, mode=high
проверяем
user@localhost:~$ sudo hdparm -I /dev/sdb
<<<
Security:
Master password revision code = 65534
supported
enabled
locked
not frozen
not expired: security count
supported: enhanced erase
86min for SECURITY ERASE UNIT. 88min for ENHANCED SECURITY ERASE UNIT.
Logical Unit WWN Device Identifier: 5000cca614c0a89e
NAA : 5
IEEE OUI : 000cca
Unique ID: 614c0a89e
Checksum : correct
выключаем
user@localhost:~$ sudo hdparm -Y /dev/sdb
вытаскиваем, уносим, подключаем к SATA-порту, на новом месте приснись жених невесте выполняем команды
user@localhost:~$ sudo hdparm --user-master u --security-unlock d3adc0d3 /dev/sdb
<<<
security_password="d3adc0d3"
/dev/sdb:
Issuing SECURITY_UNLOCK command, password="d3adc0d3", user=user
user@localhost:~$ sudo hdparm --user-master u --security-disable d3adc0d3 /dev/sdb
<<<
security_password="d3adc0d3"
/dev/sdb:
Issuing SECURITY_DISABLE command, password="d3adc0d3", user=user
проверяем
user@localhost:~$ sudo hdparm -I /dev/sdb
<<<
Security:
Master password revision code = 65534
supported
not enabled
not locked
not frozen
not expired: security count
supported: enhanced erase
86min for SECURITY ERASE UNIT. 88min for ENHANCED SECURITY ERASE UNIT.
Logical Unit WWN Device Identifier: 5000cca614c0a89e
NAA : 5
IEEE OUI : 000cca
Unique ID: 614c0a89e
Checksum : correct
That's all folks!