2 Dong Matteo UEFI Updates and Open Source …...presented by UEFI Updates and Open Source Firmware...

17
presented by UEFI Updates and Open Source Firmware Evolutions on Arm Spring 2019 UEFI Plugfest April 8‐12, 2019 Presented by Dong Wei & Matteo Carlini (Arm) www.uefi.org 1

Transcript of 2 Dong Matteo UEFI Updates and Open Source …...presented by UEFI Updates and Open Source Firmware...

Page 1: 2 Dong Matteo UEFI Updates and Open Source …...presented by UEFI Updates and Open Source Firmware Evolutions on Arm Spring 2019 UEFI Plugfest April 8‐12, 2019 Presented by Dong

presented by

UEFI Updates and Open Source Firmware Evolutions on Arm

Spring 2019 UEFI PlugfestApril 8‐12, 2019

Presented by Dong Wei & Matteo Carlini (Arm)

www.uefi.org 1

Page 2: 2 Dong Matteo UEFI Updates and Open Source …...presented by UEFI Updates and Open Source Firmware Evolutions on Arm Spring 2019 UEFI Plugfest April 8‐12, 2019 Presented by Dong

Agenda

• UEFI SBBR & EBBR Updates• Open Source Firmware evolutions on Arm–Trusted Firmware Updates– Secure Software Isolation Recap– Firmware challenges for Edge

• Questions?www.uefi.org 2

Page 3: 2 Dong Matteo UEFI Updates and Open Source …...presented by UEFI Updates and Open Source Firmware Evolutions on Arm Spring 2019 UEFI Plugfest April 8‐12, 2019 Presented by Dong

www.uefi.org 3

UEFI Updates: Server Base Boot Requirements & Embedded Base Boot Requirements

Page 4: 2 Dong Matteo UEFI Updates and Open Source …...presented by UEFI Updates and Open Source Firmware Evolutions on Arm Spring 2019 UEFI Plugfest April 8‐12, 2019 Presented by Dong

Arm Specs• PSCI• SMCCC• Arm FFH• Arm MM

SBBR: Server Base Boot RequirementsOperating systems running on standard server hardware require standard firmware interfaces to be present in order to boot and function correctly. The Server Base Board Boot Requirements (SBBR) document describes these firmware requirements. The SBBR covers UEFI, ACPI and SMBIOS industry standards as well as standards specific to Arm, such as PSCI. Together with SBSA, the SBBR provides a standard based approach to building Arm servers and their firmware. The specification is developed in conjunctions with partners across the industry.

For more information, please visit:https://developer.arm.com/products/architecture/system-architecture/server-system-architecture

Industry Standards

• UEFI• ACPI

• SMBIOS

• PCI FW spec

• TCG FW spec

LicenseArm Confidential Proprietary Notice for drafts and Arm Non‐Confidential Proprietary Notice for released final spec.

ContributionMembers of the Arm Server Advisory Committee may submit Engineering Change Requests (ECRs) and the Committee decides to approve/reject the ECRs. There is a mailing list and a monthly conference call.

ReleaseCurrent version 1.1, ServerReady v1.0 launched Oct 2018Working on content for the next version.

Page 5: 2 Dong Matteo UEFI Updates and Open Source …...presented by UEFI Updates and Open Source Firmware Evolutions on Arm Spring 2019 UEFI Plugfest April 8‐12, 2019 Presented by Dong

Arm Specs• PSCI• SMCCC• TF‐A

EBBR: Embedded Base Boot RequirementsThe Embedded Base Boot Requirements specification defines requirements for embedded systems to enable inter‐operability between SoCs, hardware platforms, firmware implementations, and operating system distributions. The aim is to establish consistent boot ABIs and behavior so that supporting new hardware platforms does not require custom engineering work.

EBBR is intended for embedded and things‐edge devices

For more information, please visit:https://github.com/ARM-software/ebbr

Industry Standards

LicenseThis work is licensed under the Creative Commons Attribution‐ShareAlike 4.0 International License (CC‐BY‐SA‐4.0). To view a copy of this license, visit http://creativecommons.org/licenses/by‐sa/4.0/

Contributions are accepted under the same with sign‐off under the Developer's Certificate of Origin. 

ContributionAnyone may contribute to EBBR. Discussion is on the boot‐[email protected] and arm.ebbr‐[email protected] mailing list, and there is a weekly conference call. 

Releasev1.0 in March 2019Secure Boot and Capsule Services for Firmware Update are of interest in future versions

Page 6: 2 Dong Matteo UEFI Updates and Open Source …...presented by UEFI Updates and Open Source Firmware Evolutions on Arm Spring 2019 UEFI Plugfest April 8‐12, 2019 Presented by Dong

Open Source Firmware Evolutions on Arm

www.uefi.org 6

Page 7: 2 Dong Matteo UEFI Updates and Open Source …...presented by UEFI Updates and Open Source Firmware Evolutions on Arm Spring 2019 UEFI Plugfest April 8‐12, 2019 Presented by Dong

Trusted Firmware Updates• Arm Trusted Firmware TrustedFirmware.org– Open Governance project– Reference implementation of secure world software for Armv7‐A, Armv8‐A and Armv8‐M

– Trusted Firmware‐A for A‐class (TF‐A)– Trusted Firmware‐M for M‐class (TF‐M)– Foundation of Arm’s Platform Security Architecture (PSA)

– https://www.trustedfirmware.org/www.uefi.org 7

Page 8: 2 Dong Matteo UEFI Updates and Open Source …...presented by UEFI Updates and Open Source Firmware Evolutions on Arm Spring 2019 UEFI Plugfest April 8‐12, 2019 Presented by Dong

Secure Software Isolation Recap• As the firmware on the Application Processor (AP) is getting bigger 

and more complex to audit, there is a strong need for:– Separation of liability amongst services through isolation– Restriction of the level of privilege available to each service

• Software architecture support needed to provide isolation between components  in the Arm Secure world– Applicable to existing Armv8.3 and earlier Armv8 architecture– Ready to support Armv8.4 Secure‐EL2 virtualization extension

• Standard interfaces at component boundaries to enable– Distinct software to interoperate and be audited separately– Removal of vendor specific code from secure firmware

www.uefi.org 8

Page 9: 2 Dong Matteo UEFI Updates and Open Source …...presented by UEFI Updates and Open Source Firmware Evolutions on Arm Spring 2019 UEFI Plugfest April 8‐12, 2019 Presented by Dong

OS Kernel

Secure Partitions Recap – Single SP Secure Partitions (SP):• Unprivileged software sandbox 

environment running in the Secure world

• Isolated execution context• Limited access to system resources • Execute UEFI image with Standalone 

Management Mode support to execute secure management services

• Leverage Arm MM Specification: MM_COMMUNICATE SMC to request partition services

• Code reuse between normal/secure world whenever possible

• Reduced services code into privileged Trusted  Firmware (EL3)

• EDK2 StandaloneMmPkg

MM_COMMUNICATE

Secure Partition

www.uefi.org

UEFI Standalone MM Service 

(StandaloneMmPkg)

SPM proprietary interface

UEFI FirmwareUEFI Service

OS App OS AppEL0

EL1

EL2

EL3

Secure worldNormal world

S-EL0

S-EL1SPM shim (SVC to SMC)

Trusted Firmware‐A Secure Partition Manager

OS/Application Vendor

SiP/ODM/OEM specific

Generic OSS/FW

Standard InterfacesTrustZoneBo

undary

9

Page 10: 2 Dong Matteo UEFI Updates and Open Source …...presented by UEFI Updates and Open Source Firmware Evolutions on Arm Spring 2019 UEFI Plugfest April 8‐12, 2019 Presented by Dong

Secure Partitions Recap – Multiple SPs Secure Partition Manager (SPM):• Runs at EL3 as part of the Runtime 

portion of Trusted Firmware‐A• Enforces principle of least privilege• Initializes SP at boot time and 

manages runtime requests• Enables communication between 

service requestors and providers• Implements Secure Partition Client 

Interfaces (SPCI), MM evolutionUse‐cases:• Secure Variable access / FW Update• fTPM implementation• Errata handling / RAS Errors 

handling• BMC communication

OS App

SPCI

Hypervisor /UEFI Firmware

www.uefi.org

SPCI

SPCI

OS App

OS Kernel SPM shim (SVC to SMC)

SPCI

TrustZoneBo

undary

EL0

EL1

EL2

EL3

Secure worldNormal world

S-EL0

S-EL1

Trusted Firmware‐AOS/Application Vendor

SiP/ODM/OEM specific

Generic OSS/FW

Standard Interfaces

Secure Partition Manager

UEFI MM Service1

UEFI MM Service2

S‐EL2 Firmware

10

Page 11: 2 Dong Matteo UEFI Updates and Open Source …...presented by UEFI Updates and Open Source Firmware Evolutions on Arm Spring 2019 UEFI Plugfest April 8‐12, 2019 Presented by Dong

End game on Armv8 UEFI systems?

www.uefi.org 11

Page 12: 2 Dong Matteo UEFI Updates and Open Source …...presented by UEFI Updates and Open Source Firmware Evolutions on Arm Spring 2019 UEFI Plugfest April 8‐12, 2019 Presented by Dong

• Firmware specific challenges in the Edge space1. UEFI Standalone MM Services plus concurrent Trusted OS/Apps2. UEFI & ACPI on legacy U‐Boot/DT Edge devices

• Multiple Firmware Signing Domains for Secure Services– Common problem to Edge/Infrastructure/Cloud

Here comes the Edge

www.uefi.org 12

Cloud Edge

…still few problems to solve…

Page 13: 2 Dong Matteo UEFI Updates and Open Source …...presented by UEFI Updates and Open Source Firmware Evolutions on Arm Spring 2019 UEFI Plugfest April 8‐12, 2019 Presented by Dong

SPCI

Deployment requirements with mixed scenarios of:• Trusted OS – handling dedicated 

Trusted Applications for specific security tasks

• Secure Partition(s) running UEFI Standalone MM services for handling separate platform functions

Secure Partition Client Interfaceaccommodates TOS specific needs, enabling• Standardised communication 

between any Secure Partition and Normal/Secure world

• Migration path towards Armv8.4 S‐EL2 virtualization extension www.uefi.org

SPCITrustedOS

Trusted App1

Trusted App2

Edge: UEFI Services plus Trusted OS

TOS/TA Vendors

UEFI Service

EL0

EL1

EL2

EL3

Secure worldNormal world

S-EL0

S-EL1

OS App

Hypervisor /UEFI Firmware

SPCI

OS App

OS Kernel

SPCI

Trusted Firmware‐AOS/Application Vendor

SiP/ODM/OEM specific

Generic OSS/FW

Standard InterfacesTrustZoneBo

undary

Secure Partition Manager

13

SPM shim

Page 14: 2 Dong Matteo UEFI Updates and Open Source …...presented by UEFI Updates and Open Source Firmware Evolutions on Arm Spring 2019 UEFI Plugfest April 8‐12, 2019 Presented by Dong

SPCI

Armv8.4 architecture introduces a Secure‐EL2 virtualization extension

Coupled with secure SMMUv3.2 & GICv3.1 virtualization extension, this will allow HW enforced isolation and virtualization based security in the Secure world

The related Software architecture will enable scenarios with:• TEE/TOS coexistence with 

Standalone MM secure services running into fully isolated Secure Partitions at either S‐EL0/S‐EL1

www.uefi.org

SPCITrustedOS

Trusted App1

Trusted App2

Edge: The road to HW Virtualization

TOS/TA Vendors

EL0

EL1

EL2

EL3

Secure worldNormal world

S-EL0

S-EL1

OS App

Hypervisor /UEFI Firmware

SPCI

OS App

OS Kernel

SPCI

Trusted Firmware‐AOS/Application Vendor

SiP/ODM/OEM specific

Generic OSS/FW

Standard InterfacesTrustZoneBo

undary

S‐EL2 FirmwareSecure Partition Manager

14

UEFI Service

Page 15: 2 Dong Matteo UEFI Updates and Open Source …...presented by UEFI Updates and Open Source Firmware Evolutions on Arm Spring 2019 UEFI Plugfest April 8‐12, 2019 Presented by Dong

Problem: different signing owners for different Secure FW entities:• SiP

– Trusted Firmware‐A– Platform Services

• ODM/OEM/IBV– UEFI Firmware– UEFI Standalone MM 

Services– (Trusted OSs + TAs)

Each signing entity might be independent from any other: no cascade‐signing for independent deployment www.uefi.org

TrustedOS

Trusted App1

Trusted App2

Multiple Firmware Signing Domains

EL0

EL1

EL2

EL3

Secure worldNormal world

OS App

Hypervisor /UEFI Firmware

OS App

OS Kernel

Trusted Firmware‐ASiP Ownership

TrustZoneBo

undary

15

UEFI Service

Platform Service

ODM/OEM/IBV Ownership

S‐EL2 Firmware

Page 16: 2 Dong Matteo UEFI Updates and Open Source …...presented by UEFI Updates and Open Source Firmware Evolutions on Arm Spring 2019 UEFI Plugfest April 8‐12, 2019 Presented by Dong

Signing Domains and Chain of TrustExisting single cascading CoT for Trusted Boot Flow

Investigating CoT split with different signing domains on Trusted Boot

www.uefi.org 16

BL31 RuntimeTrusted Firmware BL1 ROM

BL2

Root of Trust PK

BL32Secure Partition

BL33 UEFI Firmware

SiP signing ODM/OEM/IBV signing

EL0

EL1

EL2

EL3

Trusted Components

BL32SP2

BL32SP1

SiP signing ODM/OEM/IBV signing

Trusted Components

BL31 RuntimeTrusted Firmware BL1 ROM

Root of Trust PK UEFI/NW Root of Trust PK

OS App OS App

OS Kernel

OS App OS App

OS KernelBL2

BL33 UEFI Firmware

Page 17: 2 Dong Matteo UEFI Updates and Open Source …...presented by UEFI Updates and Open Source Firmware Evolutions on Arm Spring 2019 UEFI Plugfest April 8‐12, 2019 Presented by Dong

UEFI & ACPI on legacy Edge devices?How we pretend it to look like…UEFI Firmware availableGeneric HLOS based on ACPI/AMLDifferent Firmware and HLOS owners

How it looks like in reality…U‐Boot based boot flow, NO UEFIDT system description, NO ACPIEmbedded OS, bundled with FW

www.uefi.org

EL1

EL2 Hypervisor /UEFI Firmware

Host/Guest OS+ACPI

EL3 Trusted Firmware‐A

EL1

EL2 U‐Boot

Embedded OSCustom Kernel

EL3 Trusted Firmware‐A

DT

DT

17

OS/Application Vendor

ODM/OEM/IBV

Generic OSS/FW

SiP provided