Crie o blob binário da AWS para o UEFI Secure Boot
É possível usar as seguintes etapas para personalizar as variáveis do UEFI Secure Boot durante a criação da AMI. A KEK usado nessas etapas está atual desde de setembro de 2021. Se a Microsoft atualizar a KEK, você deverá usar a KEK mais recente.
Para criar o blob binário da AWS
-
Crie uma lista de assinaturas PK vazia.
touch empty_key.crt cert-to-efi-sig-list empty_key.crt PK.esl
-
Baixe os certificados de KEK.
https://go.microsoft.com/fwlink/?LinkId=321185
-
Empacote os certificados de KEK em uma lista de assinaturas UEFI (
siglist
).sbsiglist --owner 77fa9abd-0359-4d32-bd60-28f4e78f784b --type x509 --output MS_Win_KEK.esl MicCorKEKCA2011_2011-06-24.crt
-
Baixe os certificados de db da Microsoft.
https://www.microsoft.com/pkiops/certs/MicWinProPCA2011_2011-10-19.crt https://www.microsoft.com/pkiops/certs/MicCorUEFCA2011_2011-06-27.crt
-
Gere a lista de assinaturas db.
sbsiglist --owner 77fa9abd-0359-4d32-bd60-28f4e78f784b --type x509 --output MS_Win_db.esl MicWinProPCA2011_2011-10-19.crt sbsiglist --owner 77fa9abd-0359-4d32-bd60-28f4e78f784b --type x509 --output MS_UEFI_db.esl MicCorUEFCA2011_2011-06-27.crt cat MS_Win_db.esl MS_UEFI_db.esl > MS_db.esl
-
Baixe uma solicitação de alteração de dbx atualizada no link a seguir.
https://uefi.org/revocationlistfile
-
A solicitação de alteração de dbx que você baixou na etapa anterior já está assinada com a Microsoft KEK, então você precisa extraí-la ou descompactá-la. É possível usar os links a seguir.
https://gist.github.com/out0xb2/f8e0bae94214889a89ac67fceb37f8c0
https://support.microsoft.com/en-us/topic/microsoft-guidance-for-applying-secure-boot-dbx-update-e3b9e4cb-a330-b3ba-a602-15083965d9ca
-
Construa um armazenamento de variáveis UEFI usando o script
uefivars.py
../uefivars.py -i none -o aws -O uefiblob-microsoft-keys-empty-pk.bin -P ~/PK.esl -K ~/MS_Win_KEK.esl --db ~/MS_db.esl --dbx ~/dbx-2021-April.bin
-
Verifique o blob binário e o armazenamento de variáveis UEFI.
./uefivars.py -i aws -I uefiblob-microsoft-keys-empty-pk.bin -o json | less
-
É possível atualizar o blob passando-o para a mesma ferramenta novamente.
./uefivars.py -i aws -I uefiblob-microsoft-keys-empty-pk.bin -o aws -O uefiblob-microsoft-keys-empty-pk.bin -P ~/PK.esl -K ~/MS_Win_KEK.esl --db ~/MS_db.esl --dbx ~/dbx-2021-April.bin
Saída esperada
Replacing PK Replacing KEK Replacing db Replacing dbx