Skip to content

Instantly share code, notes, and snippets.

@tz4678
Last active Apr 6, 2021
Embed
What would you like to do?
Используем аппаратное шифрование диска

Глоссарий:

  • SED = Self Encrypted Drive
  • TCG = Trusted Computing Group
  • OPAL = Specification Of Security Storage

Сначала нужно скачать и записать live с sedutil:

$ wget https://raw.githubusercontent.com/Drive-Trust-Alliance/exec/master/RESCUE64.img.gz
$ gunzip RESCUE64.img.gz
$ dd if=RESCUE64.img of=/dev/sdX bs=4096 status=progress; sync

Перегружаемся в live:

$ reboot

Все диски от Samsung с поддержкой TCG Opal уже...

Включение CSM в Bios не требуется.

Установка пароля и запись PBA.

На этом шагу можно использовать любой простой пароль: настоящий пароль будет установлен позже.

$ sedutil-cli --initialSetup p /dev/nvme0n1

Если видим ошибку:

method status code NOT_AUTHORIZED

То у нас на выбор два варианта:

# сброс к заводским настройкам со стиранием данных
$ sedutil-cli --PSIDrever <PSID> /dev/nvme0n1

# возвращение к чему-то так же со стиранием данных
$ sedutil-cli --yesIreallywanttoERASEALLmydatausingthePSID <PSID> /dev/nvme0n1

PSID на наклейке на самом NVME.

pic related

Как работает шифрование: если диск заблокирован, то доступ к его содержимому НЕЛЬЗЯ получить пока не введешь пароль. Диск блокируется только после ОТКЛЮЧЕНИЯ питания. Блокировку по отключению питания можно выключить, тогда данные будут так же шифроваться. Т.е. на тех же Samsung EVO шифрование уже включено, пароли администратора и пароль от SID установлены, однако пароль администратора НЕ ИЗВЕСТЕН.

На live уже есть PBA, который нужно записать на диск.

$ gunzip /usr/sedutil/UEFI64-1.15.1.img.gz 
$ sedutil-cli --loadPBAimage p /usr/sedutil/UEFI64-1.15.1.img /dev/nvme0n1

Блокировка диска:

$ sedutil-cli --enableLockingRange 0 p /dev/nvme0n1
$ sedutil-cli --setMBREnable on p /dev/nvme0n1  

Теперь можно поставить настоящий пароль:

$ sedutil-cli --setsidpassword p <your-password> /dev/nvme0n1

$ sedutil-cli --setadmin1pwd p <your-password> /dev/nvme0n1

После ПОЛНОГО отключения питания устройство будет заблокировано и при следующем запуске потребуется ввести пароль.

PS: пароль администратора может отличаться от SID пароля

Для разблокировки:

$ sedutil-cli --disableLockingRange 0 <your-password> /dev/nvme0n1
$ sedutil-cli --setMBREnable off <your-password> /dev/nvme0n1  
@tz4678
Copy link
Author

tz4678 commented Apr 5, 2021

Можно поставить из репозитория:

$ paru -S sedutil

Нужно так же добавить флаг ядра:

/etc/default/grub :

GRUB_CMDLINE_LINUX_DEFAULT="... libata.allow_tpm=1"
sudo grub-mkconfig -o /boot/grub/grub.cfg

Loading

@tz4678
Copy link
Author

tz4678 commented Apr 6, 2021

curl -L -o RESCUE64-1.15.1-87-SHA512.img.gz https://github.com/ladar/sedutil/releases/download/1.15.1-87/RESCUE64-1.15.1-87-SHA512.img.gz

Loading

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment