CryptospeC: a Trust Module System for 64-bit RISC-V Core ... · CryptospeC: a Trust Module System...

15
CryptospeC: a Trust Module System for 64-bit RISC-V Core Complex Shumpei Kawasaki, Murthy Vedula Software Hardware Consulting Group Kesami Hagiwara, Cong-Kha Pham University of Electro-Communications 2019/3/13 SHC Copyrighted 20182019 1

Transcript of CryptospeC: a Trust Module System for 64-bit RISC-V Core ... · CryptospeC: a Trust Module System...

Page 1: CryptospeC: a Trust Module System for 64-bit RISC-V Core ... · CryptospeC: a Trust Module System for 64-bit RISC-V Core Complex Shumpei Kawasaki, Murthy Vedula Software Hardware

CryptospeC: a Trust Module System for 64-bit RISC-V Core Complex

Shumpei Kawasaki, Murthy Vedula

Software Hardware Consulting Group

Kesami Hagiwara, Cong-Kha Pham

University of Electro-Communications

2019/3/13 SHC Copyrighted 2018、2019 1

Page 2: CryptospeC: a Trust Module System for 64-bit RISC-V Core ... · CryptospeC: a Trust Module System for 64-bit RISC-V Core Complex Shumpei Kawasaki, Murthy Vedula Software Hardware

Presenter’s History

Montgomery Modulo Multiplier

CPU

RAM E2PROM

Mask ROM

2019/3/13 SHC Copyrighted 2018、2019 2

Joined Hitachi 68K DMAC, AI Chip, TRON FPU for

Space Program, Saturn, Dreamcast Chip Set

<Chill Period>

2001 Became a US local.

Started Java Card™ Development

2003 US Router Auth Chip C-Callable Crypto Lib

2007 US Smartphone Auth Chip Secure OS

<Chill Period Mostly>

2013 Co-Founded SHC

Page 3: CryptospeC: a Trust Module System for 64-bit RISC-V Core ... · CryptospeC: a Trust Module System for 64-bit RISC-V Core Complex Shumpei Kawasaki, Murthy Vedula Software Hardware

Needs for an Open Source Security Platform

• Open source security IPs would lower barriers to secure systems

and makes future exciting application products safe (e.g. AI,

cyber-physical systems, and robotics).

• Proprietary designs sometimes slow down countermeasures (e.g.

meltdown / spectrum).

• Third-parties can confirm vulnerability for white box security

functions (source code release).

• Open source helps transition from security based on “obscurity”

to one based on “let enemy know”.

2019/3/13 SHC Copyrighted 2018、2019 3

Page 4: CryptospeC: a Trust Module System for 64-bit RISC-V Core ... · CryptospeC: a Trust Module System for 64-bit RISC-V Core Complex Shumpei Kawasaki, Murthy Vedula Software Hardware

2. The system

must not require

secrecy and can

be stolen by the

enemy without

causing trouble;

“Enigma” by Arthur Scherbius 1918

Kerckhoffs‘ Principles « La cryptographie militaire » or circa 1883

Page 5: CryptospeC: a Trust Module System for 64-bit RISC-V Core ... · CryptospeC: a Trust Module System for 64-bit RISC-V Core Complex Shumpei Kawasaki, Murthy Vedula Software Hardware

Cryptanalysis machine "Bomb" 1941 Shannon «confidential system communication theory» 1949

“Bombe” by Alan Turing 1941

Plain test

Encrypt Tk

PT M

Decrypt Tk−1

ENC E

Enemy Crypto Analyst

PT M

鍵生成

KEY K KEY K

E

E

Page 6: CryptospeC: a Trust Module System for 64-bit RISC-V Core ... · CryptospeC: a Trust Module System for 64-bit RISC-V Core Complex Shumpei Kawasaki, Murthy Vedula Software Hardware

The key management table was distributed for each month. The key management table can not be brought into a plane. In a ship, the chart was

destroyed before enemy reaches.

Enigma Key Chart

Day Key

Settings

Page 7: CryptospeC: a Trust Module System for 64-bit RISC-V Core ... · CryptospeC: a Trust Module System for 64-bit RISC-V Core Complex Shumpei Kawasaki, Murthy Vedula Software Hardware

Modern Crypto Technology

7

Cloud

Factory

Reject Malicious SW

Scramble Leak

Signals Side-Channel Attack

Ofusticate Keys Physical

Analysis

Security Patches

Cyber Attack

Attack Via Devkits

OTA Update Remote Attestation

Payment Support

Identify Real System from Fake

2019/3/13 SHC Copyrighted 2018、2019

Page 8: CryptospeC: a Trust Module System for 64-bit RISC-V Core ... · CryptospeC: a Trust Module System for 64-bit RISC-V Core Complex Shumpei Kawasaki, Murthy Vedula Software Hardware

Trust Module System

2019/3/13 SHC Copyrighted 2018、2019 8

CryptospeC

Hardware Security

Module(HSM) Server

Data Server (Cloud Data Storage)

Secure MCU Applet

Coreplex Apps e.g. TEE Apps

RISC-V Secure MCU

RISC-V Coreplex

Auth Server (True/False

Judgement & Authentication)

Desktop Development

System

Service Box (Inject Certs

etc.)

Secure OS TEE + Rich OS + Bootloader

Mail Box

Debug (Encrypted)

Debug

SoC

Coreplex

Page 9: CryptospeC: a Trust Module System for 64-bit RISC-V Core ... · CryptospeC: a Trust Module System for 64-bit RISC-V Core Complex Shumpei Kawasaki, Murthy Vedula Software Hardware

Supply Chain

2019/3/13 SHC Copyrighted 2018、2019 9

Unique Key Injection

Packaging Shipping

Board Testing Personalization

Breach Detection Retirement

Zeroize

Key Management Server

Use DIV to do Emulation

Extract Serial # Associate this with Package (e.g. 10Ku)

Personalize Device

In-Circuit Emulation

Device Manufacturing

Deployment Retirement

Wafer Probe

Connection to Emulator

Inject Keys

Package Assembly

Page 10: CryptospeC: a Trust Module System for 64-bit RISC-V Core ... · CryptospeC: a Trust Module System for 64-bit RISC-V Core Complex Shumpei Kawasaki, Murthy Vedula Software Hardware

Key Provisioning, ICE Debug Port, etc.

• Key Provisioning Service Box • Associated cost of the box may be a concern for customers with very low

volumes.

• Might provide an alternate solution for user to generate his own keys, i.e. generating his/her own keys using RNG.

• We are drafting a key provisioning protocol. Might use an existing

protocol for this purpose. • The draft may simply refer to the relevant protocol document such as TLS1.3

spec or a NIST spec.

• Using this protocol assumes that digital certificate is already on the device.

• We believe having the same workflow for ICE interface and chip would be better.

2019/3/13 SHC Copyrighted 2018、2019 10

Page 11: CryptospeC: a Trust Module System for 64-bit RISC-V Core ... · CryptospeC: a Trust Module System for 64-bit RISC-V Core Complex Shumpei Kawasaki, Murthy Vedula Software Hardware

Chip Block Diagram

2019/3/13 SHC Copyrighted 2018、2019 11

64-bit RISC–V TEE Coreplex CPU, FPU, MMU, L1 Cache

TileLink Switch

Accelerators

Cryptospec

Crypto DMAC

TileLink Coherence Manager

AES Encrypt

DDRC NIC

Serial SPI I2C

SD/eMMC Timers

Banked L2 Cache, RAM

DRAM NIC MODE CLK KEY Realtime

I/Os

FIPS140-2 Cryptographic Boundary

Reset, Clock, Debug

TileLink Switch

Retro uC

e.g. SH-2

64-bit RV64IMAC or RV32IMAC

MCU

MMM

Timers, UART, PWM, GPIO, TRNG, (NIC)

TRNG

Debug RESET NAND Flash

SPI

NOR Flash

Page 12: CryptospeC: a Trust Module System for 64-bit RISC-V Core ... · CryptospeC: a Trust Module System for 64-bit RISC-V Core Complex Shumpei Kawasaki, Murthy Vedula Software Hardware

Secure OS

• EEPROM/Flash/OTP stores long-term,

permanent keys (e.g. RSA/DSA/ECDSA) and

private keys (e.g. 3DES/AES/HMAC).

• RAM stores short-term (e.g. TLS session

keys (e.g. 3DES/AES/HMAC).

• Privacy information is stored in on-chip Flash

or external Flash encrypted.

• Optional SSL/TLS separate from Linux

SSL/TLS.

• Callback, Integrity check, Caller address list.

2019/3/13 SHC Copyrighted 2018、2019 12

Downloaded 3rd Party

Applets

Long-

Term

Permanent

/Private

Keys

Secure OS

(Host Command APIs,

Crypto Library APIs,

Encrypted Debug Facility,

SSL/TLS etc.)

Secure MCU (Secure OS)

Short-Term Keys

Physical Memory Protection

RAM

OTP/

Flash/

EEPROM

Mask

ROM

Hardware

Page 13: CryptospeC: a Trust Module System for 64-bit RISC-V Core ... · CryptospeC: a Trust Module System for 64-bit RISC-V Core Complex Shumpei Kawasaki, Murthy Vedula Software Hardware

University of Electro Communications

VDEC

64b RISC-V RV64GC Experimental Chip

Please go to see

Poster Presentation

“Implementing 64-bit RISC-V Chip with MMU, L1 and L2 Memories

Using Academic Shuttle in Japan”

2019/3/13 SHC Copyrighted 2018、2019 13

Page 14: CryptospeC: a Trust Module System for 64-bit RISC-V Core ... · CryptospeC: a Trust Module System for 64-bit RISC-V Core Complex Shumpei Kawasaki, Murthy Vedula Software Hardware

Secure MCU Development Platform

2019/3/13 SHC Copyrighted 2018、2019 14

Page 15: CryptospeC: a Trust Module System for 64-bit RISC-V Core ... · CryptospeC: a Trust Module System for 64-bit RISC-V Core Complex Shumpei Kawasaki, Murthy Vedula Software Hardware

Conclusions • We are developing an open RISC-V security system platform.

• Secure MCU complements RISC-V TEE development ongoing in TEE working group.

• Address supply chain lifecycle of an Iot / AI Edge device.

• We make disclosures from time to time.

• welcome collaboration and peer reviews.

This work is in part supported by New Energy and Industrial Technology Development Organization (NEDO) Grant P16007. The work leverages VDEC program and facilities.

2019/3/13 15