Як почати використовувати апаратне шифрування SSD-диска на прикладі Samsung EVO 850 і програми sedutil



Це просто коротка підказка, яку, я сподіваюся, можна використовувати і для інших дисків з вбудованим шифруванням (SED, self-encrypting drives). Тут немає глибокого роз'яснення принципів і термінів.


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

Однак, немає жодних відомостей про те, який ключ шифрування використовується. Можливо, він один і той же для всіх дисків моделі, або, наприклад, для тих, що поставляються до нас. І при серйозних зусиль (наприклад, перепаяти шматок від диска-донора, в якому пароль не встановлено) можна буде прочитати дані.

Але якщо вам, як і мені неприємно, що хтось може безсоромно покопатися в даних вкраденого у вас або втраченого ноутбука, то пропонованого методу цілком достатньо.
Закрити дані на дисках Samsung EVO можна 3 способами:

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.

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

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

Архів sedutil_WIN.zip – те, чим ми будемо оживляти шифрування на диску, якщо ми працюємо під Windows. Далі йде опис роботи саме під Windows. Робота з 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
 


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

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 змінилися значки дисків – у них з'явилися відкриті жовті замочки:



У разі невдачі… Хм… Вихідні довгі нині. Почніть з більш докладного вивчення утиліти sedutil, керуючись наведеною вище посиланням.

Успіхів.
Джерело: Хабрахабр

0 коментарів

Тільки зареєстровані та авторизовані користувачі можуть залишати коментарі.