37
Project Update Matteo Carlini & Shebu V. Kuriakose

Trusted Firmware Project Update · 2019. 9. 25. · What’s on Architecture enablement Armv8.5 Memory Tagging Extension (MTE) use at EL3 Platform Security Requirements Attestation

  • Upload
    others

  • View
    2

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Trusted Firmware Project Update · 2019. 9. 25. · What’s on Architecture enablement Armv8.5 Memory Tagging Extension (MTE) use at EL3 Platform Security Requirements Attestation

Project UpdateMatteo Carlini & Shebu V. Kuriakose

Page 2: Trusted Firmware Project Update · 2019. 9. 25. · What’s on Architecture enablement Armv8.5 Memory Tagging Extension (MTE) use at EL3 Platform Security Requirements Attestation

Agenda

● Trusted Firmware Community Project update

● Trusted Firmware-A updates

● Trusted Firmware-M updates

● How to get involved

Page 3: Trusted Firmware Project Update · 2019. 9. 25. · What’s on Architecture enablement Armv8.5 Memory Tagging Extension (MTE) use at EL3 Platform Security Requirements Attestation

Open Source

Open Governance

Open CI

Open Collaborative

Platform

Trusted Firmware Community Project

Page 4: Trusted Firmware Project Update · 2019. 9. 25. · What’s on Architecture enablement Armv8.5 Memory Tagging Extension (MTE) use at EL3 Platform Security Requirements Attestation

Oct 2013

Arm Trusted Firmware

Mar 2018

Trusted Firmware-M

Trusted Firmware-A

Oct 2018

TrustedFirmware.org

Today

Trusted Firmware History

Page 5: Trusted Firmware Project Update · 2019. 9. 25. · What’s on Architecture enablement Armv8.5 Memory Tagging Extension (MTE) use at EL3 Platform Security Requirements Attestation

Welcome OP-TEE into TrustedFirmware.org!

Page 6: Trusted Firmware Project Update · 2019. 9. 25. · What’s on Architecture enablement Armv8.5 Memory Tagging Extension (MTE) use at EL3 Platform Security Requirements Attestation

TrustedFirmware.org: Secure world software and Secure services reference implementation

TF-M

OP-TEE

TF-AAll Arm-based

systems

Easily portable to

many other trusted

software

implementations

Page 7: Trusted Firmware Project Update · 2019. 9. 25. · What’s on Architecture enablement Armv8.5 Memory Tagging Extension (MTE) use at EL3 Platform Security Requirements Attestation

Current members

Page 8: Trusted Firmware Project Update · 2019. 9. 25. · What’s on Architecture enablement Armv8.5 Memory Tagging Extension (MTE) use at EL3 Platform Security Requirements Attestation

All market segments

Devices

IoT/Mobile/Auto/Laptop

Embedded Edge

Cloud

Server

Page 9: Trusted Firmware Project Update · 2019. 9. 25. · What’s on Architecture enablement Armv8.5 Memory Tagging Extension (MTE) use at EL3 Platform Security Requirements Attestation

Trusted Firmware-A Updates

Page 10: Trusted Firmware Project Update · 2019. 9. 25. · What’s on Architecture enablement Armv8.5 Memory Tagging Extension (MTE) use at EL3 Platform Security Requirements Attestation

2019 Stats…and counting!● Half of commits now coming from partners

● 30+ partners Platforms supported upstream

● 16+ different vendors (not counting Arm Ltd platforms)

● Collaboration dramatically increased in the past 2 years!

51%

49%

2019 (Jan-Jun)

Arm

Partners

0

200

400

600

800

1000

2013 2014 2015 2016 2017 2018 2019

Partners commits over years

+600%

in 3yrs

(2019 projections)

Page 11: Trusted Firmware Project Update · 2019. 9. 25. · What’s on Architecture enablement Armv8.5 Memory Tagging Extension (MTE) use at EL3 Platform Security Requirements Attestation

v2.2 release highlights (October 2019)● Armv8.3 Pointer Authentication use in Secure world (EL3 and lower S-ELs)

● Armv8.5 Branch Target Identifier (BTI)

● Armv8.5 Memory Tagging Extension (MTE) enabled for Normal world

● GICv3 Driver updates for multi socket GIC redistributor discovery (tentative)

● RSA-3072 support as per latest versions of TBSA/TBFU

● Arm Cores/Platform support:○ Fixed errata for Neoverse-N1 & Cortex-A76

○ Hercules & Hercules-AE (tentative)

○ Cortex-A65 & Cortex-A65AE (tentative)

○ Enable AMU for Zeus & Hercules

Page 12: Trusted Firmware Project Update · 2019. 9. 25. · What’s on Architecture enablement Armv8.5 Memory Tagging Extension (MTE) use at EL3 Platform Security Requirements Attestation

What’s on● Architecture enablement

○ Armv8.5 Memory Tagging Extension (MTE) use at EL3

● Platform Security Requirements○ Attestation and Measured Boot with TPM APIs

○ Multiple Signing Domains and separate CoT

○ Secure Firmware Update

● New build environment (cmake based)

● New Documentation: https://trustedfirmware-a.readthedocs.io/

● Open CI○ Continuous Build open-source infrastructure○ Continuous Testing on Juno (LAVA Board Farm)○ Continuous Testing on Arm FVPs

Page 13: Trusted Firmware Project Update · 2019. 9. 25. · What’s on Architecture enablement Armv8.5 Memory Tagging Extension (MTE) use at EL3 Platform Security Requirements Attestation
Page 14: Trusted Firmware Project Update · 2019. 9. 25. · What’s on Architecture enablement Armv8.5 Memory Tagging Extension (MTE) use at EL3 Platform Security Requirements Attestation

Secure world software architecture today (TOS)

EL1

EL3

EL2

EL0 Client Library

Client Library

Trusted OS Driver

Operating System Kernel

Hypervisor (optional)Tr

ust

Zon

eIs

ola

tio

n B

ou

nd

ary

Trusted Firmware Platform Firmware

Client Application

Client Application

TA Library

Trusted OS

TA Library

Trusted Application

Trusted Application

Trusted hardware resource drivers

Secure services:

• DRM

• Secure payment

• Secure storage

• Crypto

Platform services:

• Trusted boot

• Power management (PSCI)

• Silicon vendor services

• Errata management

Trusted OS DD / OEM Ext

SiP Extension

Normal world Secure world Application trusted OS specific

Application provider specific

Generic software

TrustedFirwmare.org

Silicon Vendor specific software

App TOS Dispatcher

Page 15: Trusted Firmware Project Update · 2019. 9. 25. · What’s on Architecture enablement Armv8.5 Memory Tagging Extension (MTE) use at EL3 Platform Security Requirements Attestation

Secure world software architecture today

EL1

EL3

EL2

EL0 Client Library

Client Library

Operating System Kernel

Hypervisor (optional)Tr

ust

Zon

eIs

ola

tio

n B

ou

nd

ary

Trusted Firmware Platform Firmware

Client Application

Client Application

TA Library

Trusted OS

TA Library

Trusted Application

Trusted Application

Trusted hardware resource drivers

Platform services:

• Trusted boot

• Power management (PSCI)

• Silicon vendor services

• Errata management

SiP/ODM Extension

Proprietary SMCs

Normal world Secure world Application trusted OS specific

Application provider specific

Generic software

TrustedFirwmare.org

Silicon Vendor specific software

Secure services:

• DRM

• Secure payment

• Secure storage

• Crypto

Secure services

Page 16: Trusted Firmware Project Update · 2019. 9. 25. · What’s on Architecture enablement Armv8.5 Memory Tagging Extension (MTE) use at EL3 Platform Security Requirements Attestation

Secure world software architecture goal

EL1

EL3

EL2

EL0 Client Library

Client Library

Operating System Kernel

Hypervisor (optional)Tr

ust

Zon

eIs

ola

tio

n B

ou

nd

ary

Standard/Generic

Trusted Firmware

Client Application

Client Application

Secure

Services

Platform Services

Standard services:

• Trusted boot

• Power (PSCI, SCMI)

• SMCCC/SPCI

Standard SMCs

Secure services:

• DRM

• Secure payment

• Secure storage

• Crypto

Application trusted OS specific

Application provider specific

Generic software

TrustedFirwmare.org

Silicon Vendor specific software

Platform services:

• Silicon vendor services

• Errata management

• BMC communication

Configuration files

(DT-based)

Normal world Secure world

Page 17: Trusted Firmware Project Update · 2019. 9. 25. · What’s on Architecture enablement Armv8.5 Memory Tagging Extension (MTE) use at EL3 Platform Security Requirements Attestation

Secure Partition

Single Secure Partition (MM-based)

EL1

EL3

EL2

EL0 Client Library

Client Library

Operating System Kernel

Hypervisor (optional)Tr

ust

Zon

eIs

ola

tio

n B

ou

nd

ary

Generic Firmware

Client Application

Client Application StandaloneMM

Service

MM_COMMUNICATE

Secure Partition Manager

svc to smc shim

MM

Normal world Secure world

Single uniprocessor partition (MM spec)

Execute a UEFI image with StandaloneMM service

Run to completion model

Available upstream now

Application trusted OS specific

Application provider specific

Generic software

TrustedFirwmare.org

Silicon Vendor specific software

Page 18: Trusted Firmware Project Update · 2019. 9. 25. · What’s on Architecture enablement Armv8.5 Memory Tagging Extension (MTE) use at EL3 Platform Security Requirements Attestation

StandaloneMM

Service

Multiple Secure Partitions (SPCI-based)

EL1

EL3

EL2

EL0 Client Library

Client Library

Hypervisor (optional)Tr

ust

Zon

eIs

ola

tio

n B

ou

nd

aryClient

ApplicationClient

ApplicationStandaloneMM

Service

SPCI

Trusted OS (OP-TEE)Trusted HW drivers SPM

SiP/ODM Extension

Trusted OS / OP-TEE Driver

Operating System Kernel

SPCI

SPCISPCI

Generic Firmware

Secure Partition Manager

Normal world Secure world

TA Library

Trusted Application

TA Library

(PSA) Trusted

Application

Multiple SPs (SPCI spec)

Migration path towards Armv8.4 Secure EL2

Ongoing work now within TF.org

Application trusted OS specific

Application provider specific

Generic software

TrustedFirwmare.org

Silicon Vendor specific software

Page 19: Trusted Firmware Project Update · 2019. 9. 25. · What’s on Architecture enablement Armv8.5 Memory Tagging Extension (MTE) use at EL3 Platform Security Requirements Attestation

Generic Firmware

TA Library

Trusted Application

Armv8.4 Secure EL2 Virtualization extension

EL1

EL3

EL2

EL0 Client Library

Client Library

Hypervisor (optional)Tr

ust

Zon

eIs

ola

tio

n B

ou

nd

aryClient

ApplicationClient

Application

Normal world Secure world

TA Library

Trusted OS (OP-TEE)

(PSA) Trusted

Application

SiP/ODM Extension

Trusted OS / OP-TEE Driver

Operating System Kernel

SPCI

SPCISPCI

S-EL2 Firmware

Secure Partition Manager

StandaloneMM

ServiceStandaloneMM

Service

SPCI

EL3 Runtime

Isolation through virtualization in the Secure world

Coupled with new SMMU and GIC, system-wide isolation

Future development within TF.org

Application trusted OS specific

Application provider specific

Generic software

TrustedFirwmare.org

Silicon Vendor specific software

Page 20: Trusted Firmware Project Update · 2019. 9. 25. · What’s on Architecture enablement Armv8.5 Memory Tagging Extension (MTE) use at EL3 Platform Security Requirements Attestation

S-EL0 Single Partition for UEFI StandaloneMM services based (Legacy MM)

Resource descriptionCoT update / Multiple Signing domainsMeasured Boot

Pre-8.4: SPCI OP-TEE + StandaloneMM SPs + PSA TAs

Secure Firmware Update

Armv8.4 S-EL2 Secure Partition Manager (SPCI-based)

SMMU v3.2 support

Today H2 2019 H1 2020

Building

blocks for

future use-

cases

Legacy

SP/SPM

MM

based

Isolation

through

Secure

virtualization

Use-cases

TrustedOS

software-

based

isolation &

PSA services

TF-A Roadmap

H2 2020+

Page 21: Trusted Firmware Project Update · 2019. 9. 25. · What’s on Architecture enablement Armv8.5 Memory Tagging Extension (MTE) use at EL3 Platform Security Requirements Attestation

To Secure Trillion Connected DevicesTrusted Firmware-M Updates

Page 22: Trusted Firmware Project Update · 2019. 9. 25. · What’s on Architecture enablement Armv8.5 Memory Tagging Extension (MTE) use at EL3 Platform Security Requirements Attestation

Growing up as a Toddler….YVR’18 BKK’19HKG’18 SAN’19

With a Lot of Friends and Toys!!!

Page 23: Trusted Firmware Project Update · 2019. 9. 25. · What’s on Architecture enablement Armv8.5 Memory Tagging Extension (MTE) use at EL3 Platform Security Requirements Attestation

Trusted Firmware-M: Open Source Implementation of PSA

Page 24: Trusted Firmware Project Update · 2019. 9. 25. · What’s on Architecture enablement Armv8.5 Memory Tagging Extension (MTE) use at EL3 Platform Security Requirements Attestation

RTOS

TBSA-M Hardware

TF-M Core (IPC, SPM, Interrupt Handling) Secure Boot

PSA

Sto

rage

AP

I

Sto

rage

(IP

C/L

ib

)P

SA C

ryp

to A

PIs

mb

edC

ryp

to

(IP

C/L

ib)

PSA

Att

esta

tio

n A

PIs

Att

esta

tio

n

(I

PC

/Lib

)

Au

dit

AP

Is

Au

dit

(Lib

)

PSA Test Suite*

PSA

Dev

AP

Is

HAL

TBSA-M HAL

Non-Secure Secure/TF-M

• F.SECURE_STORAGE

• F.SECURE_STATE

• F.SECURE_CRYPTO

• F.SECURE_ATTESTATION

• F.SECURE_AUDIT

• PSA Dev. APIs

• F.INITIALIZATION

• F.FIRMWARE_UPDATE

• F.ISOLATION

TF-Mv1.0-RC1: Enabling L1,2 and Functional API Certification

Page 25: Trusted Firmware Project Update · 2019. 9. 25. · What’s on Architecture enablement Armv8.5 Memory Tagging Extension (MTE) use at EL3 Platform Security Requirements Attestation

Open Continuous Integration System https://ci.trustedfirmware.org

TF-M Patch

Gerrit

review.trustedfirmware.org

Jenkins

ci.trustedfirmware.org

LAVA

validation.linaro.orgMPS2 FPGA Board

Trigger

Artifacts

Build Slaves

Result +1

2 Trigger

3

Juno Board

/ TF-A Patch

Coming Soon

Page 26: Trusted Firmware Project Update · 2019. 9. 25. · What’s on Architecture enablement Armv8.5 Memory Tagging Extension (MTE) use at EL3 Platform Security Requirements Attestation

More TF-M Enabled Platforms

Musca-A, B1e AN5xx on MPS2 Cypress pSoC6NXP LPC55S69

Design Start Cortex-M33 based FPGA

platform on AWS Marketplace

• Add HW accelerator/peripherals

• Use for HW/SW co-development

Page 27: Trusted Firmware Project Update · 2019. 9. 25. · What’s on Architecture enablement Armv8.5 Memory Tagging Extension (MTE) use at EL3 Platform Security Requirements Attestation

Enablement in RTOSes● mbedOS 5.12 (March’19) onwards integrated TF-M

○ PSA Level1 and Functional API certified○ Several PSA Level1 certified platforms supported

● Zephyr PR integrating TF-M ○ For MuscaA, B1e and AN521 on MPS2○ Aiming to get PSA certified

● Integration of FreeRTOS 10.2.1 and TF-M under evaluation by FreeRTOS team ○ Investigating how best TF-M can integrate with Amazon:

FreeRTOS

● Collaboration kicked off with RT-Thread on integration

Page 28: Trusted Firmware Project Update · 2019. 9. 25. · What’s on Architecture enablement Armv8.5 Memory Tagging Extension (MTE) use at EL3 Platform Security Requirements Attestation

What’s Coming…

Page 29: Trusted Firmware Project Update · 2019. 9. 25. · What’s on Architecture enablement Armv8.5 Memory Tagging Extension (MTE) use at EL3 Platform Security Requirements Attestation

PSA Level2 Certification for TF-M Platforms ● TF-Mv1.0-RC1 tag created end of May including PSA Level2 Certification requirements

● Riscure (one of the PSA Labs.) performed a brief Leve2 security evaluation/pipecleaningduring July/August

● TF-Mv1.0-RC2 planned in October addressing observations made duringthe evaluation

● Enabling platforms to use TF-M as PSA RoT for Level2 certification.

Page 30: Trusted Firmware Project Update · 2019. 9. 25. · What’s on Architecture enablement Armv8.5 Memory Tagging Extension (MTE) use at EL3 Platform Security Requirements Attestation

Integrating with Crypto Hardware● Crypto Hardware

○ Increased Performance, Security

● Example integration on MuscaB1e ○ Cortex-M33 Cryptocell-312

Cortex-M33, M23 or Dual CPU

● Secure Boot ○ Key Hash in OTP, Authentication

Crypto Hardware

● Crypto Acceleration ○ Leverage Crypto Hardware

● Secure Storage ○ Use Key derived from Hardware Unique Key (HUK)

● Attestation ○ Use Key in OTP for signing Attestation Token

Page 31: Trusted Firmware Project Update · 2019. 9. 25. · What’s on Architecture enablement Armv8.5 Memory Tagging Extension (MTE) use at EL3 Platform Security Requirements Attestation

Library, IPC Mode,L1,L2 Isolation, PSA APIsmbedcrypto

Enabling L2 Certification,Dual v7-M,PSA 1.0.0,Crypto HW

Crypto HW,TF-M Profiles,Level3 Isolation,TF-M in CI

Provisioning,Secure Debug, Platform Services,PSA API 1.1

Today H2 2019 H1 2020

L2 Cert.,

PSA

1.0.0

PSA

APIs, L1

Cert.

More

Secure

Services

TF-M

Profiles,

Level3

Isolation

TF-M Roadmap

H2 2020+

Page 32: Trusted Firmware Project Update · 2019. 9. 25. · What’s on Architecture enablement Armv8.5 Memory Tagging Extension (MTE) use at EL3 Platform Security Requirements Attestation

TF-M Developer Workshop

ELC, Lyon● Oct 28-30th - Lyon, France

● Hosting Booth with Trusted Firmware demos

● Oct 31st, Nov 1st - Lyon, France

● Workshop open to all TF-M collaborators

● Covering various technical topics

Page 33: Trusted Firmware Project Update · 2019. 9. 25. · What’s on Architecture enablement Armv8.5 Memory Tagging Extension (MTE) use at EL3 Platform Security Requirements Attestation

How to get involved

Page 34: Trusted Firmware Project Update · 2019. 9. 25. · What’s on Architecture enablement Armv8.5 Memory Tagging Extension (MTE) use at EL3 Platform Security Requirements Attestation

Security by Scale

Shared Ownership

Faster TTM & Reduced

Cost

Less Individual

Maintenance & Minimised

TCO

Complexity solved

once for all

Build Security Collaboratively

Page 35: Trusted Firmware Project Update · 2019. 9. 25. · What’s on Architecture enablement Armv8.5 Memory Tagging Extension (MTE) use at EL3 Platform Security Requirements Attestation

How to Get Involved

● Contribute to the open source codebase!

● Join the project mailing lists!

● Evaluate adopting Trusted Firmware for your new products!

● …and last but not the least: become a project member! ([email protected])

○ Own the strategic and technical direction of the project

○ Have your board supported and maintained by the open CI

○ Become a Trusted Firmware ambassador!

Page 36: Trusted Firmware Project Update · 2019. 9. 25. · What’s on Architecture enablement Armv8.5 Memory Tagging Extension (MTE) use at EL3 Platform Security Requirements Attestation

● Join us in welcoming OP-TEE to Trustedfirmware.org family

TF-M

TF-A

● Inviting everyone to TF-M’s 2nd Birthday celebrations at next Linaro Connect

Page 37: Trusted Firmware Project Update · 2019. 9. 25. · What’s on Architecture enablement Armv8.5 Memory Tagging Extension (MTE) use at EL3 Platform Security Requirements Attestation

Thank youJoin Linaro to accelerate deployment of your Arm-based solutions through collaboration

[email protected]