LINUX.ORG.RU
ФорумAdmin

Как зашифровать OrangePI или Малинку так что бы она грузилась без парольной фразы или внешнего ключа.

 , ,


0

3

Как я могу зашифровать свои данные в OrangePI? Таким образом, в случае кражи злоумышленники не смогут получить доступ к моим файлам. Какие инструменты лучше всего подходят для этой цели? Можно ли запустить устройство без парольной фразы, чтобы оно не запрашивало парольную фразу при каждой загрузке? Secure Boot и TPM? Или что то еще?

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

Задача для IoT, чтоб не похитили интелектуальную собственность :)

Чат ЖПТ дает что то такое предложение на запрос - How can I use luks to encrypt the whole disk in linux with secureboot using TPM (Trusted Platform Module) without password, encrypting the bootloader

Encrypting the entire disk in Linux with LUKS, Secure Boot, and TPM without a password, including encrypting the bootloader, is a bit complex. The following steps provide a general guide, but keep in mind that the details may vary depending on your specific Linux distribution and hardware. Ensure you have backups before proceeding.

Prerequisites:

  1. TPM (Trusted Platform Module): Ensure your computer has a TPM.

  2. Secure Boot: Ensure Secure Boot is enabled in your system’s UEFI/BIOS settings.

  3. Boot from Live USB: Prepare a live USB with a Linux distribution that supports LUKS, Secure Boot, and TPM.

Steps:

  1. Boot from Live USB: Boot your computer from the live USB.

  2. Partition and Encrypt the Disk: Use gdisk or another partitioning tool to create partitions on your disk. Encrypt the root partition with LUKS:

    cryptsetup luksFormat --type luks2 /dev/sdXn
    cryptsetup open --type luks /dev/sdXn my_encrypted_volume
    
  3. Install the System: Install the Linux distribution to the encrypted partition. During installation, ensure that the bootloader (GRUB or another) is installed to the encrypted partition, not the MBR or EFI system partition.

  4. Create a Key File: Create a key file for the LUKS volume:

    dd if=/dev/urandom of=/etc/luks_keyfile bs=512 count=4
    chmod 0400 /etc/luks_keyfile
    

    Add the key file to the LUKS key slots:

    cryptsetup luksAddKey /dev/sdXn /etc/luks_keyfile
    
  5. Create a TPM2 Policy: Create a TPM2 policy file:

    tpm2_createpolicy -P -L policy.digest
    
  6. Seal the Key File to TPM: Seal the LUKS key file to the TPM:

    tpm2_createpolicy -L policy.digest -f policy.file
    tpm2_createek -c ek.ctx
    tpm2_createak -C ek.ctx -g sha256 -u ak.pub -f ak.priv -D policy.digest
    tpm2_load -C ek.ctx -u ak.pub -r ak.priv -c ak.ctx
    

    Replace policy.file, ek.ctx, ak.pub, ak.priv, and ak.ctx with appropriate paths.

  7. Configure LUKS with TPM2 Policy: Add the TPM2 policy to the LUKS volume:

    cryptsetup luksAddKey --key-slot 1 --key-file= <(tpm2_unseal -c ak.ctx -p policy.file) /dev/sdXn
    
  8. Update Initramfs: Update the initramfs to include the TPM2 tools and the LUKS key file:

    update-initramfs -u
    
  9. Configure GRUB: Configure GRUB to use the key file during boot:

    nano /etc/default/grub
    

    Add the following line:

    GRUB_CMDLINE_LINUX="cryptdevice=/dev/sdXn:my_encrypted_volume root=/dev/mapper/my_encrypted_volume luks.key=/etc/luks_keyfile"
    

    Update GRUB:

    update-grub
    
  10. Reboot: Reboot your system and test whether it boots without requiring a password.

Please note that the steps and commands provided are a general guide. You should adapt them based on the specifics of your system and the Linux distribution you are using. Ensure you understand the process and its implications before proceeding, and always have a backup of your important data.

Это похоже на реальность или всякие малинки не поддерживают TPM? И тут есть какие то жесткие уязвимости?



Последнее исправление: glorsh66 (всего исправлений: 4)

А нужно ли это шифрование? Лукс по идее лучше в ноутбуках пригождается, а тут одноплатный компьютер, который будет просто лежать на полочке.

А вообще, я бы первым делом пошёл на рач вики, а не к чат жпт, вот там целая статья с шестью разделами и двумя примерами, курить можно до посинения: https://wiki.archlinux.org/title/Dm-crypt

diamond_cat
()

Это похоже на реальность или всякие малинки не поддерживают TPM?

В гугле много чего находится на тему подключения TPM через GPIO.

anonymous
()

Чат ЖПТ дает

Обычно я не читаю руководства от этих штук, но тут прям совсем плохо, много пропусков и нестыковок. Выше дали ссылку на вики, вот там оно с незначительными изменениями подходит к любому дистрибутиву.

anonymous
()
Ответ на: комментарий от diamond_cat

на рач вики, а не к чат жпт, … курить можно до посинения

Вот именно, «до посинения», а ChatGPT сам ‘покурит’ и сам вам разжует доступно. В теории.

В реальности же, что-то типа такого.

krasnh ★★★★
()

Это похоже на реальность для какого-нибудь x86 десктопа-ноутбука.

Для малинок надо смотреть доки на плату. Малины 1-3 без уефи и, соответственно, секурбута. Для 4ки есть такое. TPM модули для малин продаются, но зависит от страны.

undef ★★★
()
Последнее исправление: undef (всего исправлений: 1)

Что SecureBoot? Что TPM? Откуда устройству знать, на месте оно грузится или его уже спёрли? Что именно защитит твои данные, если SecureBoot и TPM настроить для unattended boot? Не NBDE ли ты изобретаешь?

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

t184256 ★★★★★
()
Последнее исправление: t184256 (всего исправлений: 1)

По-хорошему тебе надо зашифровать все полезные данные включая ядро.

Это значит что тебе надо ковырять не только сами загрузочные скрипты, но и U-boot. Чтоб не могли расшифровать просто выдрав ключ из убута, по-хорошему надо ключ получать из hwid процессора, тогда у каждой платы будет зашифрована прошивка уникальным ключём.

Если у тебя не хватит знаний реализовать вышеописанное предложение – добро пожаловать в раздел Job, за деньги – любой ваш каприз.

timdorohin ★★★★
()
Ответ на: комментарий от MoldAndLimeHoney

Поддерживают что? Я про стандартный пароль пользователя. Если он не подбирается на раз-два и наружу не торчит какая-нибудь NFS без аутентификации, ловить в системе даже с расшифрованными накопителями тебе нечего.

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

anonymous
()
Ответ на: комментарий от glorsh66

IOMMU на этих кудатерах нет, а PCIe – есть.

Вредоносные девайсы могут что угодно из ОЗУ выковырять.

Так что если какеры прошареные – плакали твои данные anyway

timdorohin ★★★★
()
Последнее исправление: timdorohin (всего исправлений: 1)

Мое дилетантское мнение выскажу я тебе.

Раз у тебя есть малина или апельсин, значит поддерживается i2c шина.

Значит можно подключить эту небольшую микросхему к малине или апельсину.

https://habr.com/ru/companies/ruvds/articles/599495/

идея в следующем

у тебя где-то есть реестр твоих RSA ключей. Каждый ключ записан на отдельную микросхему и нигде не повторяется.

На малине и апельсине нужно подписать запрос и отправить на центральный сервер. В ответ сервер проверит и вернет уже ключ для дешифрации.

Если малину украли, вносишь изменения в реестр и удаляешь этот ключ.

Nurmukh ★★★
()