The Hardware Security Platform Behind Azure Sphere - Doug Stiles Sr Director, HW Engineering Microsoft Silicon Development - Hot Chips conference

Page created by Barry Pearson
 
CONTINUE READING
The Hardware Security Platform Behind Azure Sphere - Doug Stiles Sr Director, HW Engineering Microsoft Silicon Development - Hot Chips conference
The Hardware Security
Platform Behind Azure
Sphere
Doug Stiles
Sr Director, HW Engineering
Microsoft Silicon Development
The Hardware Security Platform Behind Azure Sphere - Doug Stiles Sr Director, HW Engineering Microsoft Silicon Development - Hot Chips conference
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