Pull to refresh

Как начать использовать аппаратное шифрование SSD-диска на примере Samsung EVO 850 и программы sedutil

System administrationIT InfrastructureData recoveryBackupData storage
Recovery mode


Это просто короткая подсказка, которую, я надеюсь, можно использовать и для других дисков со встроенным шифрованием (SED, self encrypting drives). Здесь нет глубокого разъяснения принципов и терминов.

Samsung EVO или PRO всегда хранит данные в зашифрованном (AES) виде, даже если вы ничего для этого не предпринимали. Просто, пока вы не включили защиту, он всегда эти данные возвращает расшифрованными. А когда включите защиту, потребует пароль для расшифровки. Это означает, что установка пароля не приведёт к тому, что скорость работы диска упадёт, всё шифровалось и без него. А также означает, что не придётся диск шифровать от начала до конца – он уже зашифрован.

Однако, нет никаких сведений о том, какой ключ шифрования используется. Возможно, он один и тот же для всех дисков модели, или, например, для тех, что поставляются к нам. И при серьёзных усилиях (например, перепаять кусок от диска-донора, в котором пароль не установлен) можно будет данные прочитать.

Но если вам просто, как и мне, неприятно, что кто-то может бесстыдно покопаться в данных украденного у вас или потерянного ноутбука, то предлагаемого метода вполне достаточно.
Закрыть данные на дисках Samsung EVO можно одним из трёх способов (не нужно пытаться их комбинировать, только сломаете всё):

1. установить пароль диска ATA в BIOS


Это самый простой способ, но, практически бесполезный. Кроме user-пароля, BIOS, как правило, прописывает ещё и master-пароль, который известен сервисной службе компании-производителя компьютера, и потом добрые люди могут помочь расшифровать данные любому обратившемуся за помощью. См., например, конференции iXBT, “Снять пароль с биоса (BIOS)”.

В сети описаны примеры некрасивой работы BIOS при установке пароля ATA, кеширования пароля в BIOS и чтения его оттуда, использования hdparm вместо BIOS для установки пароля, чтения диска с установленным паролем на компьютере той же модели и т.д. При желании можете сами почитать и оценить, но меня этот способ разочаровал.

2. включить функционал eDrive и использовать BitLocker


Неплохо, но годится только для дорогих версий Windows, и не годится для linux, если что.

3. использовать функции TCG OPAL через утилиту sedutil


Крупными мазками: идея этого метода в том, что при активизации защиты, после включения питания диск, вместо своего настоящего содержимого, показывает маленький служебный раздел. Туда можно записать что угодно, но обычно это утилита, которая спросит у вас пароль и попытается скормить его диску, чтобы он заработал по-настоящему.

Плюс этого метода в том, что пароль вводится до загрузки операционной системы, то есть ничего в операционной системе менять не нужно, и некому этот пароль перехватить.

Минусами являются:

  • Компьютер нельзя переводить в состояние standby. После возобновления подачи питания на диск он будет в заблокированном состоянии. Операционная система, проснувшаяся в оперативной памяти, резко свалится.
  • Лишняя перезагрузка — после ввода пароля, когда диск открыл своё истинное содержимое, машина перезагружается, чтобы BIOS заново определил, что это за диск.

Прежде, чем продолжить, зададимся вопросом, а можно ли в результате неправильных действий превратить диск в кирпич, то есть в массо-габаритную модель диска, не отвечающего на внешние раздражители?

Ну, данные потерять можно запросто, если неправильно задать пароль при закрытии диска, или тут же его забыть, например. Поэтому ОБЯЗАТЕЛЬНО выполнить резервное копирование перед всеми последующими действиями.

В случае же, когда диск не поддаётся расшифровке, его обычно можно сбросить в исходное (фабричное) состояние, правда, ценой полной потери данных.

Итого: кирпич можно вернуть к жизни, но данных можно лишиться.

Вернёмся к дискам Samsung.

Готовой утилиты на служебном разделе у дисков Samsung нет. Есть коммерческие программы, которые могут туда себя прописывать, но мы воспользуемся бесплатной утилитой с открытым исходным кодом – sedutil (в девичестве — msed).

Заходим на https://github.com/Drive-Trust-Alliance/sedutil/wiki

Качаем файлы из раздела executable distributions (не забудьте раскрыть архивы .gz!!!):

Архив sedutil_WIN.zip – то, чем мы будем оживлять шифрование на диске, если мы работаем под Windows. Далее идёт описание работы именно под Windows. Работа c linux-версией практически не отличается. Разве что названия дисков разные, например, вместо \\.\PhysicalDrive0 будет /dev/sda.

Архивы LINUXPBARelease.img.gz или UEFI64_Release.img.gz – содержат то, что будет загружаться с маленького раздела диска, когда основное его содержимое станет заблокировано после выключения питания. Разные варианты для машин с BIOS и UEFI.

Архив Rescue.img.gz – содержит образ утилиты восстановления – если что-то пойдёт не так и захочется всё вернуть назад, а компьютер не грузится.

Записываем на флешку утилиту восстановления на всякий случай (предложенной программой Win32DiskImager) и проверяем, что можем с неё загрузиться. Заодно увидим, что работает она из командной строки linux, и убедимся, что мы его не боимся.

Также на сайте рекомендуется записать на другую флешку LINUXPBARelease.img и проверить, что при загрузке и вводе любого пароля мы увидим список дисков. Но это не так, на сайте устаревшее описание, которое забыли поменять (по состоянию на 01.01.2017). Если диск ещё не зашифрован, мы получим только сообщения об ошибках и уйдём в перезагрузку. Не расстраивайтесь, это нормально (описано в Issues на github).



Итак, из командной строки посмотрим, кто из дисков у нас способен к самошифрованию:

V:\sedutil>sedutil-cli --scan
Scanning for Opal compliant disks
\\.\PhysicalDrive0 12  Samsung SSD 850 EVO 1TB                  EMT01B6Q
\\.\PhysicalDrive1 12  Samsung SSD 850 EVO mSATA 500GB          EMT41B6Q
No more disks present ending scan

Закроем оба диска, но пароль для них будет один. Поскольку мы будем вводить его в командной строке, нужно, чтобы в нём не было символов, которые в командной строке имеют специальное значение, вроде всяких пробелов-слешей-кавычек-меньше-больше. Кроме того, символы, которые вы будете использовать, должны быть доступны при вводе с клавиатуры при загрузке компьютера (читай, символы QWERTY-клавиатуры). Наконец, забейте пароль в текстовый файл, сохраните его на флешку, и вставляйте его при помощи Copy-Paste в последующие команды.

Допустим, загрузочный диск у нас — PhysicalDrive1.

Пусть пароль у нас будет MyPassword.

V:\sedutil>sedutil-cli --initialsetup MyPassword \\.\PhysicalDrive1
- 13:21:04.000 INFO: takeOwnership complete
- 13:21:04.436 INFO: Locking SP Activate Complete
- 13:21:05.982 INFO: LockingRange0 disabled
- 13:21:05.513 INFO: LockingRange0 set to RW
- 13:21:06.028 INFO: MBRDone set on
- 13:21:06.558 INFO: MBRDone set on
- 13:21:07.057 INFO: MBREnable set on
- 13:21:07.057 INFO: Initial setup of TPer complete on \\.\PhysicalDrive1

Загружаем в служебный раздел образ загрузчика (здесь вы должны определить, какой вариант загрузчика вам нужен: BIOS или UEFI )

V:\sedutil>sedutil-cli --loadPBAimage MyPassword <образ.img> \\.\PhysicalDrive1
- 13:01:34.000 INFO: Writing PBA to \\.\PhysicalDrive1
 | [*********************] 1049600 bytes written
- 13:03:38.317 INFO: PBA image  <образ > written to \\.\PhysicalDrive1
V:\sedutil>sedutil-cli --setMBREnable on MyPassword \\.\PhysicalDrive1
- 13:05:02.000 INFO: MBRDone set on
- 13:05:03.562 INFO: MBREnable set on

Тот самый момент, после которого диск начинает вести себя по-другому после выключения питания:

V:\sedutil>sedutil-cli --enableLockingRange 0 MyPassword \\.\PhysicalDrive1

Зашифруем заодно и второй диск (не загрузочный). Всё то же самое, только загрузчик можно на него не записывать.

V:\sedutil>sedutil-cli --initialsetup MyPassword \\.\PhysicalDrive0 
V:\sedutil>sedutil-cli --enableLockingRange 0 MyPassword \\.\PhysicalDrive0

После выключения питания и включения вновь, увидим запрос пароля. Если ввели его неправильно – перезагрузка и повторный запрос. Если правильно – перезагрузка и запуск операционной системы с открывшегося раздела диска.



В случае успеха можете наблюдать, как в Windows изменились значки диcков – у них появились открытые жёлтые замочки:



В случае неудачи… Хм… Выходные длинные нынче. Начните с более подробного изучения утилиты sedutil, руководствуясь приведённой выше ссылкой.

Прежде всего, в разделе «Remove OPAL» говорится о том, как восстановить обычное поведение диска, чтобы он опять работал без подмены разделов при включении и без запроса пароля.

В разделе «PSID Revert» приводятся крайние меры, когда вы забыли/не знаете пароль, но хотите оживить диск ценой потери данных. При этом потребуется узнать уникальный номер диска (PSID), обычно написанный где-то у него на корпусе.

Успехов.
Tags:ssdsedsedutil
Hubs: System administration IT Infrastructure Data recovery Backup Data storage
Total votes 26: ↑24 and ↓2 +22
Views47.3K

Comments 23

Only those users with full accounts are able to leave comments. Log in, please.

Popular right now

Data Science Cloud Administrator (remote)
from 200,000 to 300,000 ₽Bergmann InfotechRemote job
Database Developer
from 3,000 to 4,000 €Spotware SystemsRemote job
Data Scientist
from 70,000 to 120,000 ₽DDoS-GUARDРостов-на-ДонуRemote job
Data Engineer
from 200,000 to 270,000 ₽Sportmaster LabСанкт-ПетербургRemote job
Data Scientist
from 200,000 to 250,000 ₽ОТП БанкМосква