lightweight trusted computing - nist · › adas / autonom. driving › connected car › car...

24
©2019 Trusted Computing Group Lightweight Trusted Computing NIST Lightweight Cryptography Workshop November 2019 Tom Broström Research Technical Director Cyber Pack Ventures, Inc.

Upload: others

Post on 20-Jul-2020

0 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Lightweight Trusted Computing - NIST · › ADAS / autonom. driving › Connected car › Car security › (H)EV . Commercial, agriculture & construction vehicles. incl. Trucks &

©2019 Trusted Computing Group

Lightweight Trusted Computing

NIST Lightweight Cryptography WorkshopNovember 2019Tom Broström

Research Technical DirectorCyber Pack Ventures, Inc.

Page 2: Lightweight Trusted Computing - NIST · › ADAS / autonom. driving › Connected car › Car security › (H)EV . Commercial, agriculture & construction vehicles. incl. Trucks &

©2019 Trusted Computing Group

Imagine…• 2025• 8B Humans• 75B Connected Things

Page 3: Lightweight Trusted Computing - NIST · › ADAS / autonom. driving › Connected car › Car security › (H)EV . Commercial, agriculture & construction vehicles. incl. Trucks &

©2019 Trusted Computing Group

In the News

Page 4: Lightweight Trusted Computing - NIST · › ADAS / autonom. driving › Connected car › Car security › (H)EV . Commercial, agriculture & construction vehicles. incl. Trucks &

©2019 Trusted Computing Group

IoT MarketsFactory automation› Industrial automation

- Motor & motion controller- Power quality- Power tools

› Industrial robotics

Smart vehicles

Smart cars› ADAS / autonom.

driving› Connected car› Car security› (H)EV

Commercial, agriculture & construction vehiclesincl. Trucks & Busses› ADAS / autonom. driving› Secured connectivity› (H)EV

Smart city & energy Smart industry & business

Smartphones, tablets & PCs

Consumer Electronics & wearables› Media players, smart

glasses, smart watches› Well-being (health &

fitness, assisted living› Gaming

Smart home› Home automation incl.

home appliances› Home energy

management› Home security & safety› Lighting

Smart home &consumer devices

Other businesses› e. g. Banking &

securities, education, mining, retail and wholesale, transportation and logistics

Other forms of transport › Commercial aircraft› Connected trains› Ships (ferry & container)› Light electric vehicles

Energy & infrastructure› Generation (renewables)› Advanced transmission

& distribution / storage› Utilities (water), traffic

(electr. toll collection), outdoors, government

› Environmental sensors

Building automation› Automation› Access control› Air conditioning› Elevators/escalators

Professional lighting- Building lighting - Street lighting- etc.

Data Center / Server FarmsCommunication Networks

ICT

Medical equipment› Health sensors

Diagnostics› Rehabilitation systems

Source: Infineon Technologies | graphics are courtesy of Infineon

Page 5: Lightweight Trusted Computing - NIST · › ADAS / autonom. driving › Connected car › Car security › (H)EV . Commercial, agriculture & construction vehicles. incl. Trucks &

©2019 Trusted Computing Group

IoT Defenses

Source: Infineon Technologies | graphics are courtesy of Infineon

Page 6: Lightweight Trusted Computing - NIST · › ADAS / autonom. driving › Connected car › Car security › (H)EV . Commercial, agriculture & construction vehicles. incl. Trucks &

©2019 Trusted Computing Group

Verified vs. Measured Boot• Both compute a measurement• Both verify measurement against known good

VERIFICATION PERFORMED

WHEN WHERE WITH MEASUREMENTS

VERIFIEDBOOT

Before executed

Booting device

Decrypted copy from signature Discarded

MEASURED BOOT

After booted

Measurement Assessment

Authority

Golden measurements

Retained inEvent Log

Page 7: Lightweight Trusted Computing - NIST · › ADAS / autonom. driving › Connected car › Car security › (H)EV . Commercial, agriculture & construction vehicles. incl. Trucks &

©2019 Trusted Computing Group

Boot Process

INIT UEFI DRIVERS

UEFI APPS

UEFI BOOT

LOADER

OS LOADER KERNEL SYSTEM

DRIVERSELAM

DRIVERS

Page 8: Lightweight Trusted Computing - NIST · › ADAS / autonom. driving › Connected car › Car security › (H)EV . Commercial, agriculture & construction vehicles. incl. Trucks &

©2019 Trusted Computing Group

0 0 0 0 0 0

# # # # # # # # # # # # # # # # # #

EXTENDED MEASUREMENT

1. LOAD

2. MEASURE

3. EXTEND

4. EXECUTE

MUTABLE, UNTRUSTEDIMMUTABLE,

TRUSTED

RTM

TRUSTED PLATFORM MODULE

ROOTS OF TRUST:• STORAGE• REPORTING

Page 9: Lightweight Trusted Computing - NIST · › ADAS / autonom. driving › Connected car › Car security › (H)EV . Commercial, agriculture & construction vehicles. incl. Trucks &

©2019 Trusted Computing Group

Enter the TCG• Global non-profit consortium• Creates open technical specifications• Building block trust and security technologies

– Endpoint devices: servers to IoT– Storage devices– Networking elements & protocols

Page 10: Lightweight Trusted Computing - NIST · › ADAS / autonom. driving › Connected car › Car security › (H)EV . Commercial, agriculture & construction vehicles. incl. Trucks &

©2019 Trusted Computing Group

Board of Directors

Contributor Advisors:

46 Contributor17 Adopter

Page 11: Lightweight Trusted Computing - NIST · › ADAS / autonom. driving › Connected car › Car security › (H)EV . Commercial, agriculture & construction vehicles. incl. Trucks &

©2019 Trusted Computing Group

Trusted Platform Module• Capabilities

– Roots of Trust for Storage & Reporting– Shielded Storage– Algorithm Agility

• Use Cases– Non-spoofable device identification– Non-spoofable device health attestation– Secure generation & storage of keys– NVRAM for Certificate Storage, etc.

Page 12: Lightweight Trusted Computing - NIST · › ADAS / autonom. driving › Connected car › Car security › (H)EV . Commercial, agriculture & construction vehicles. incl. Trucks &

©2019 Trusted Computing Group

IoT Problem• Connected Things, 75B by 2025

– No TPM• no RTS/RTR• Nothing to protect M&A resources

– No Asymmetric Crypto• Solution:

– Integrate minimal RTS/RTR in microcontroller– Symmetric attestation

25

Page 13: Lightweight Trusted Computing - NIST · › ADAS / autonom. driving › Connected car › Car security › (H)EV . Commercial, agriculture & construction vehicles. incl. Trucks &

©2019 Trusted Computing Group

MSP430

http://www.ti.com/lit/ds/slas704f/slas704f.pdf

Page 14: Lightweight Trusted Computing - NIST · › ADAS / autonom. driving › Connected car › Car security › (H)EV . Commercial, agriculture & construction vehicles. incl. Trucks &

©2019 Trusted Computing Group

Embedded Systems Working Group

MARS SubgroupMeasurement and Attestation

RootS

©2019 Trusted Computing Group

Page 15: Lightweight Trusted Computing - NIST · › ADAS / autonom. driving › Connected car › Car security › (H)EV . Commercial, agriculture & construction vehicles. incl. Trucks &

©2019 Trusted Computing Group

“The Tiniest TPM”• RTS

– TPM2_PCR_Extend– TPM2_PCR_Read

• RTR– TPM2_Quote

• Need lightweight hashing and symmetric signing• Would LOVE to have lightweight asym signing

26

Page 16: Lightweight Trusted Computing - NIST · › ADAS / autonom. driving › Connected car › Car security › (H)EV . Commercial, agriculture & construction vehicles. incl. Trucks &

©2019 Trusted Computing Group

MARS activities• Use Cases

– Identity– Integrity measuring, storing, reporting– Seal, Unseal

• Profile– Requirements to construct MARS

• Provisioning, rekeying, zeroizing, …

Page 17: Lightweight Trusted Computing - NIST · › ADAS / autonom. driving › Connected car › Car security › (H)EV . Commercial, agriculture & construction vehicles. incl. Trucks &

©2019 Trusted Computing Group

MICRO-CONTROLLER (SoC?)

MICRO PROCESSOR

CLOCK RxM

I2CDMAINT

BUS

TPM

USART GPIO

AES

Page 18: Lightweight Trusted Computing - NIST · › ADAS / autonom. driving › Connected car › Car security › (H)EV . Commercial, agriculture & construction vehicles. incl. Trucks &

Research w/ UMBC

• FPGA Prototype• Project Radicle• ARM + RoT• Encrypt = Simon

• ASIC Prototype• RISC-V + RoT

ENCRYPT

HASH

EXTEND HMAC

DECRYPT CMAC

QUOTE

Page 19: Lightweight Trusted Computing - NIST · › ADAS / autonom. driving › Connected car › Car security › (H)EV . Commercial, agriculture & construction vehicles. incl. Trucks &

Results• Intel/Altera Cyclone V FPGA resources

• Adaptive Logic Modules (ALM)• Block Memory Bits (BMB)

APPROACH ENGINE CORE WRAPPER TOTAL

CONVENTIONAL

SHA-256 1009\ 384 256\0 1265\ 384

AES-256 648\75776 186\0 834\75776

Total 1657\76160 442\0 2099\76160

OPTIMIZED Simon 106\ 0 165\0 271\ 0

ALM\BMB Consumption of Conventional andOptimized Prototypes

Page 20: Lightweight Trusted Computing - NIST · › ADAS / autonom. driving › Connected car › Car security › (H)EV . Commercial, agriculture & construction vehicles. incl. Trucks &

AcknowledgmentsThanks to the Laboratory for Advanced Cybersecurity Research in the National Security Agency’s Research Directorate who sponsored this work.

Page 22: Lightweight Trusted Computing - NIST · › ADAS / autonom. driving › Connected car › Car security › (H)EV . Commercial, agriculture & construction vehicles. incl. Trucks &

Hash Methods

• Vi = EMi(Vi-1) ⊕ Vi-1

• Davies–Meyer Compression

• SHA-3 Semi-finalists• SHAvite-3• SIMD

PLAINTEXT

CIPHERTEXT

EKEYH

V

MESSAGE

INITDIGEST

MESSAGE E

VINITDIGEST

CONVENTIONAL OPTIMIZED

Page 23: Lightweight Trusted Computing - NIST · › ADAS / autonom. driving › Connected car › Car security › (H)EV . Commercial, agriculture & construction vehicles. incl. Trucks &

EXTEND Methods

PCR0 = 0PCR1 = H(0 || D1)PCR2 = H( H(0 || D1) || D2)PCRi = H(… H( H(0 || D1) || D2) … || Di)

PCR0 = H()PCR1 = H(D1)PCR2 = H(D1 || D2)PCRi = H(D1 || D2 … || Di)• Eliminates redundant hash

initializations and padding• “digest of digests”• Simplified state machine

CONVENTIONAL OPTIMIZED

PCRi = H(PCRi-1 || Di)

DIGEST E

VPCR

H

V

PAD, DIGEST, PCR

INIT

Page 24: Lightweight Trusted Computing - NIST · › ADAS / autonom. driving › Connected car › Car security › (H)EV . Commercial, agriculture & construction vehicles. incl. Trucks &

UDS

SLICER

hdat cvin

din dout

ctrl

ENCRYPT

PCR

en

dindout

dsr

pcr

reset

hash

extend

quote

*

*selCV

*selDI

32/128b-inputs bank

HOST ROOT-OF-TRUST – EXTEND EXAMPLEPCR = EDSR (PCR) ^ PCR

DSR

endin dout 32

b-ou

tput

s ban

k

rst

*

*

*

*selCV

*selDI

*

*