From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from smtp.joursoir.net (smtp.joursoir.net [91.192.102.115]) by mx.groups.io with SMTP id smtpd.web10.10297.1688077575510243610 for ; Thu, 29 Jun 2023 15:26:15 -0700 Authentication-Results: mx.groups.io; dkim=missing; spf=pass (domain: joursoir.net, ip: 91.192.102.115, mailfrom: chat@joursoir.net) Received: from reeva (unknown [5.152.6.46]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange ECDHE (P-256) server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by smtp.joursoir.net (Postfix) with ESMTPSA id 9014D41DD2; Fri, 30 Jun 2023 01:26:07 +0300 (MSK) Date: Fri, 30 Jun 2023 02:26:03 +0400 From: "Joursoir" To: devel@edk2.groups.io Cc: Ard Biesheuvel , Jiewen Yao , Jordan Justen , Rebecca Cran , "Gerd Hoffmann" Subject: [PATCH v2 1/1] OvmfPkg/README: Document Secure Boot Message-ID: <20230630022603.0067d5ac@reeva> X-Mailer: Claws Mail 4.1.1 (GTK 3.24.38; x86_64-pc-linux-gnu) MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Add the new section for Secure Boot. Signed-off-by: Alexander Goncharov --- OvmfPkg/README | 40 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 40 insertions(+) diff --git a/OvmfPkg/README b/OvmfPkg/README index 0a408abf01..a5b447dae3 100644 --- a/OvmfPkg/README +++ b/OvmfPkg/README @@ -120,6 +120,46 @@ $ OvmfPkg/build.sh -a X64 qemu -cdrom /path/to/disk-image.iso To build a 32-bit OVMF without debug messages using GCC 4.8: $ OvmfPkg/build.sh -a IA32 -b RELEASE -t GCC48 +=== Secure Boot === + +Secure Boot is a security feature that ensures only trusted and digitally +signed software is allowed to run during the boot process. This is achieved +by storing Secure Boot keys in UEFI Variables, as result it can be easily +bypassed by writing directly to the flash varstore. To avoid this situation, +it's necessary to make the varstore with SB keys read-only and/or provide an +isolated execution environment for flash access (such as SMM). + +* In order to support Secure Boot, OVMF must be built with the + "-D SECURE_BOOT_ENABLE" option. + +* By default, OVMF is not shipped with any SecureBoot keys installed. The user + need to install them with "Secure Boot Configuration" utility in the firmware + UI, or enroll the default UEFI keys using the OvmfPkg/EnrollDefaultKeys app. + + For the EnrollDefaultKeys application, the hypervisor is expected to add a + string entry to the "OEM Strings" (Type 11) SMBIOS table. The string should + have the following format: + + 4e32566d-8e9e-4f52-81d3-5bb9715f9727: + + Such string can be generated with the following script, for example: + + sed \ + -e 's/^-----BEGIN CERTIFICATE-----$/4e32566d-8e9e-4f52-81d3-5bb9715f9727:/' \ + -e '/^-----END CERTIFICATE-----$/d' \ + PkKek1.pem \ + | tr -d '\n' \ + > PkKek1.oemstr + + - Using QEMU 5.2 or later, the SMBIOS type 11 field can be specified from a + file: + + -smbios type=11,path=PkKek1.oemstr \ + + - Using QEMU 5.1 or earlier, the string has to be passed as a value: + + -smbios type=11,value="$(< PkKek1.oemstr)" + === SMM support === Requirements: -- 2.41.0 -- Joursoir