The Hardware Security Platform Behind Azure Sphere - Doug Stiles Sr Director, HW Engineering Microsoft Silicon Development - Hot Chips conference
←
→
Page content transcription
If your browser does not render page correctly, please read the page content below
The Hardware Security Platform Behind Azure Sphere Doug Stiles Sr Director, HW Engineering Microsoft Silicon Development
Microcontrollers (MCUs) Low-Cost single chip computers Manufactured in fully depreciated fabs This older low-cost technology supports: • good compute performance • variety of connectivity solutions • sizeable on-chip memory † TMS1100: 300 KHz core, 2KB ROM, 64B RAM, 23 GPIO pins © Microsoft Corporation
The Internet of Things and Security MCUs are used everywhere 9 billion connected devices shipped in 2017 Estimated 30 billion connected devices by 2020 The Mirai virus was first identified in August, 2016 Targets devices running Linux such as IP cameras, home routers, printers Uses these devices as bots as part of a botnet in large scale Distributed Denial of Service (DDOS) attacks Dyn (a Domain Service Provider) was attacked in October, 2016 resulting in loss of major internet platforms and services in large parts of Europe and North America
Azure Sphere is an end-to-end solution for securing MCU powered devices A new Azure Sphere OS secured by Microsoft for the devices 10-year lifetime to create a trustworthy platform for new IoT experiences A new Azure Sphere class of MCUs, from silicon partners, with built-in Microsoft security technology provide connectivity and a dependable hardware root of trust. The Azure Sphere Security Service guards every Azure Sphere device; it brokers trust for device-to-device and device-to-cloud communication, detects emerging threats, and renews device security. © Microsoft Corporation
Highly-secured connected devices require 7 properties Hardware Defense Small Trusted Root of Trust in Depth Computing Base Is your device’s identity Does your device remain Is your device’s TCB and software integrity protected if a security protected from bugs in secured by hardware? mechanism is defeated? other code? Dynamic Certificate-Based Failure Renewable Compartments Authentication Reporting Security Can your device’s Does your device use Does your device Does your security protections certificates instead report back about device’s software improve after of passwords for failures and update deployment? authentication? anomalies? automatically? © Microsoft Corporation = Silicon support required = OS support required = Cloud Service support required
Azure Sphere MCUs are connected, secured, crossover devices C O N N E C T E D with built-in networking Microsoft Network Pluton FLASH Security Connection ≥ 4MB Wi-Fi in first chips S E C U R E D with built-in Microsoft silicon Subsystem C Osecurity N N E C Ttechnology E D with built-in networking including the Pluton Firewall Firewall Firewall Security Subsystem S E C U R E D with built-in Microsoft silicon security ARM ARM Cortex-A SRAM Cortex-M technology CROSS including O V E R the Pluton Security Cortex-A Subsystem processing power Optimized for ≥ 4MB For real-time brought to MCUs for the first time low power processing C R O S S O V E R Cortex-A processing power Firewall Firewall Firewall brought to MCUs for the first time Multiplexed I/O GPIO PWM TDM I2S UART I2C SPI ADC
MediaTek MT3620 – the first Azure Sphere class MCU WiFi Caches Radio System Memory Baseband Processing IO Processing PSU
MediaTek MT3620 Wi-Fi RF The first Azure Sphere class serial flash dual-band e-fuse serial flash Wi-Fi RF 4kb Clock generation Microcontroller dual channel flash controller Wi-Fi baseband ILM/DLM PMU SRAM/ROM Firewalls Wi-Fi MAC Mailboxes SWD, SWO N9 core Wi-Fi PSE SRAM Recovery 64kB ROM UART Wi-Fi subsystem TCM 128kB Pluton engine ARM Cortex e-fuse x2 M4F core 4kb Pluton security subsystem up to x72 Dedicated up to x76/x12/x6 UART x2 GPIO/UART GPIO L1 cache x12/x6 Service UART I:64kB / D:32kB DMA UART x 2 PWM/counter L2 cache Trust Zone 256kB DMA x5 SRAM UART x 2 64kB SRAM UART/SPI/I2C 4MB DMA x2 TCM / cache 192kB ARM Cortex-A7 core with NEON/FPU UART x 2 I2S x8 ARM Cortex- Application processor subsystem M4F core ADC e-fuse Cortex-M4F RTC 4kb I/O peripherals I/O subsystems
WiFi Subsystem Dedicated high-performance 160 MHz N9 32-bit RISC core Dedicated OTP e-fuse block for Wi-Fi specific calibration and configuration IEEE 802.11 a/b/g/n compliant 20MHz bandwidth in 2.4GHz and 5GHz bands Dual-band 1Tx/1Rx mode Built-in RX diversity support Full TX/RX antenna diversity support
I/O Peripherals and Processor Subsystems Two 200 MHz ARM Cortex M4 cores, each with 192kB TCM, 64kB SRAM, and integrated FPU I/O Peripheral groups are mapped by SW to their assigned M4 core Five “ISU” serial interface blocks configured as I2C master, I2C slave, SPI master, SPI slave, or UART Two I2S interfaces supporting slave and TDM slave modes Eight-channel, 12-bit, 2MS/s single-ended ADC 76 programmable GPIO (some multiplexed with other functions) 12 PWM outputs 24 external interrupt inputs
Application Processor Subsystem 500 MHz ARM Cortex A7 with NEON and FPU support 64kB L1 instruction cache 32kB L1 data cache 256kB L2 cache 4MB system memory
Pluton Security Subsystem 200 MHz Dedicated M4 Processor ROM for initialization and boot code 128 KB TCM for security runtime 4 Kb dedicated e-fuse for crypto keys, security state, and rollback state
Pluton Engine (Hardware Security Platform) AHB Bus RNG – Random Number Generator CCE – Complex Command Engine PKA – Public Key Accelerator AHB-to-AXI SHA – Secure Hash Algorithm RNG Bridge AES – Advanced Encryption System AEB – Access Enablement Block ECC – Elliptic Curve Cryptography AXI Bus Shared Fuse CCE PKA SHA AES Memory Control Isolated AEB ECC Key
Keys randomly generated Security processor is first to Hardware Root of Trust and device unique boot and initial code is in Keys in fuses and not ROM Defense in Depth software accessible Application CPU has MMU Crypto operations in HW Software in separate Small Trusted Units have HW firewalls processes Computing Base CPU to CPU messaging Separate CPUs and memory Dynamic via mailboxes for Security, OS, WiFi, and Compartments I/O processing Watchdog timers for Certificate-Based failed operations HW error detection with SW Authentication reporting to cloud Configurations are sticky Software is signed Failure and locked Reporting HW based attestation No passwords Renewable SW rollback protection Security © Microsoft Corporation
© 2018 Microsoft Corporation The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of the presentation. Microsoft makes no warrantees, express, implied or statutory, as to the information in this presentation. © Copyright Microsoft Corporation. All rights reserved.
Glossary ADC – Analog to Digital Converter AHB – Advanced High Performance Bus AXI – Advanced eXtensible Interface FPU – Floating Point Unit GPIO – General Purpose Input/Output I/O – Input/Output LDO – Low-voltage DropOut regulator MCU – Microcontroller Unit MMU – Memory Management Unit NEON - ARM technology SIMD (Single Instruction Multiple Data) extension to ARM A core OTP – One-Time Programmable PSU – Power Supply Unit PWM – Pulse Width Modulation ROM – Read Only Memory RX – Receive TCM – Tightly Coupled Memory TDM – Time Division Multiplexed TX - Transmit UART – Universal Asynchronous Receiver-Transmitter
You can also read