Проблемы с безопасной загрузкой UEFI с hello efi

Я создал один efi и подписал его с помощью pesign, используя документы -

Безопасная загрузка UEFI:

https://en.altlinux.org/UEFI_SecureBoot_mini-HOWTO

https://en.opensuse.org/openSUSE:UEFI_Secure_boot_using_qemu-kvm

https://en.opensuse.org/openSUSE:UEFI_Image_File_Sign_Tools

https://wiki.ubuntu.com/SecurityTeam/SecureBoot

http://tomsblog.gschwinds.net/2014/08/uefi-secure-boot-hands-on-experience/

И загрузился с:

sudo qemu-system-x86_64 -L . -pflash /usr/share/qemu/OVMF.fd -hda fat:uefi_disk

диск uefi содержит подписанный файл efi

Но для безопасной загрузки мне нужно иметь

DB
DBX
KEK
PK

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


person ninja.stop    schedule 31.08.2017    source источник


Ответы (1)


Помимо генерации ключей для безопасной загрузки, необходимо позаботиться о подписании ключей. процедура создания ключей, подписания и сохранения их в хранилище ключей подробно описана здесь https://www.rodsbooks.com/efi-bootloaders/secureboot.html

Ключи безопасности можно разделить на две категории: частные и открытые, а безопасная загрузка следует цепочке корня доверия для добавления ключа PK => KEK => DB. Любые изменения в БД должны быть подписаны с использованием закрытого ключа KEK, изменения в KEK должны быть подписаны закрытым ключом PK, а изменения в PK требуют, чтобы ключ был подписан закрытым ключом предыдущего PK publik key.

  • Сгенерируйте пару PK и подпишите открытый ключ PK закрытым ключом. PK - это самоподписанный ключ.
  • Сгенерируйте пару KEK и подпишите открытый ключ KEK, используя закрытый ключ PK.
  • Сгенерируйте пару ключей БД и подпишите открытый ключ БД, используя закрытый ключ KEK
  • Сгенерируйте пару ключей DBX и подпишите пару ключей DBX, используя закрытый ключ KEK

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

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

  • Сгенерируйте пару ключей
  • подпишите свою утилиту закрытым ключом (используя sbsign)
  • добавить публичный ключ в утилиту MOK (с помощью утилиты mokutility)
  • также описано в ссылке, упомянутой выше
person ruchir khatri    schedule 14.01.2020