我已经创建了一个EFI,并使用docs -
与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-boothands-on-on-ecperience/
并启动:
sudo qemu-system-x86_64 -L . -pflash /usr/share/qemu/OVMF.fd -hda fat:uefi_disk
UEFI磁盘包含签名的EFI文件
但是要确保启动我需要
DB
DBX
KEK
PK
以便我可以注册OVMF安全启动但是在教程中,从来没有得到这些如何产生。请建议
除了生成安全启动的密钥外,还需要照顾签名密钥。在此处详细定义了用于生成密钥,签名并将其存储到密钥库的过程https://www.rodsbooks.com/efi-bootloaders/secureboot.html
安全密钥可以通过两种方式进行私人和公共和安全启动遵循信任根的启动链,以添加pk => kek => db。需要使用KEK Private密钥签署数据库的任何更改,PK私钥需要签署KEK的更改,并且PK中的更改需要由以前的PK Publik键的私有密钥签名。
。- 生成PK对并使用私钥签名PK公钥。PK是一个自签名的钥匙。
- 生成kek对并使用PK私有密钥签名kek public键
- 生成DB密钥对并使用KEK私有密钥签名DB公钥
- 使用kek私有密钥生成DBX密钥对并签名DBX密钥对
注意:要替换BIOS的先前PK,您将需要一个由平台所有者签名的空键。大多数BIOSS允许更改键而无需验证,但理想情况下不允许使用。安全启动的全部目的是可以追溯到信任的根和验证。
除了生成全新的键外,您还可以使用机器所有者的钥匙MOK来注册使用安全启动的新密钥。
- 生成钥匙对
- 使用私钥(使用SBSIGN)签署实用程序
- 向MOK实用程序添加公钥(使用Mokutility)
- 在上面提到的链接中也描述了