May 9, 2016 1
Trust Based IoT Security mechanism for ARM based SoC’s
May 9, 2016
[email protected]@open-silicon.com
Open Silicon Inc.
May 9, 2016 22
AgendaIOT and its Need for Security
Attacks and Threats
Security Measures
Security Classification
SHUBHAM FPGA Platform
Use cases
Summary and Conclusion
Resource Considerations
May 9, 2016 33
Things Gateway Cloud
Key Attributes•Low Power•Secure•Peer-2-Peer
Components•Sensors/Actuators
•Local Processing•Communication
Devices Gateway to Back-end
Key Attributes•Multi protocol•Secure
Components•Router
•Switch•Load Balancer
Back-endComponents
•Servers •Storage•Service Platforms
Key Attributes•Private/Public •Secure•Analytics
Human Machine Interfaces
Edge Device ASICs
Internet of Things
May 9, 2016 4
IOT and its Need for Security: It’s not optionalVulnerabilities
Communication Channel Threats Wired/Wireless
Hardware Attacks and Threats On-chip probing
IO pins, Debug ports Side channel attacks
Key Extraction Enclosure/Mechanical attacks or EMI/ESD interference.
Chip de-capping and die analysis, etc
Software Attacks and Threats Image hacking Data tampering
Malware and Viruses Snooping and Tapping Password sniffing, etc
May 9, 2016 55
Security Classification
Security Classification:• Security Class A: Device within a closed network
– Thread is limited, example: smart lock, smart oven/heater• Security Class B: Device within a subnetwork
– Thread is moderate, example: smart meter• Security Class C: Device in the open network/model
– Thread is significantly high, example: mobile phone
May 9, 2016 6
• Secure boot (Root of trust)
• Secure firmware upgrade
• Device identification/authentication (subscribing and provisioning of device)
• Data security including local storage and data over the network
• Secure application execution environment
• Secure debugging
• Advance packaging technologies to prevent probing attacks
• EMI shielding and prevent against ESD on exposed I/Os
• Do not rely on end user to supply voltage within recommended operating conditions. Implement linear regulators or DC-DC converter
• Counter measure against SCA like randomize your transaction, insert dummy cycles to have constant execution paths (like NOP, MUL) etc
6
Security Measures
May 9, 2016 7
Resource Considerations
7
• Frequency
• Memory (Flash/SRAM/CMEM/DMEM)
• Host interface (Interconnect, Interrupts, DMA, Reset)
• Cryptographic support
• Overheads at different levels.
• Configurability and power domain considerations.
• Processing Time and Power consumption
May 9, 2016 88
SHUBHAM Daughter board
TE741 Kintex FPGA
ARM Cortex
M4FI2C0
UART0
GPIO
SPI
UART2
UART3
DMEM(256K)
Sonic NOC
JTAG AXI
UART1
I2C1
IMEM(256K)
SRAM(256K)Boot(256K)DAP-Lite
LoRa/Display
QSPI
ARM Trustzone Cryptocell
XBee
BLE
WHART
HRM Sensors
All sensors
Temperature, HumidityPressure, AltitudeGas, Light
Debug Console
SHUBHAM FPGA platform
May 9, 2016 99
Factory Floor Sensor HUB
Carriots Platform
User Interface through HTML
BrowserW-
HART WH Manager
LoRa
Z-BeeUSB
LAN
Outdoor Floor Sensor HUB
In room Sensor HUB
May 9, 2016 1010
Cryptocell IPHardware Block
• Support for popular Encryption Algorithms• Version controlling feature • Life cycle state (LCS) Indicator• Easy to integrate Software module for achieving use
cases like Secure Boot, Firmware over the air update (FOTA), content management, User Authentication
May 9, 2016 11
Secure boot
11
Security framework involves evaluating certificate chain of trust of key and content certificate.
Device Flash contains -OEM Public key HASH
-Device root and keys info -Latest Version of the Certificate
Key Certificate Contains -Private OEM key and its password
-Public key HASH of content certificate -Certificate versioning information Certificate Chaining Process
Content Certificate Contains -Private Key of content certificate and its password
-AES encryption key if used -SW images .bin names and load addresses in Device Flash
-Certificate versioning information
May 9, 2016 12
Secure boot (cont…)
12
May 9, 2016 1313
• In the typical IoT subsystem where the data it sent to cloud using a gateway
device, the data is sent over wireless communication channel which needs to
be secured.
• The End device data e.g. data from the sensors, data stored in external
memory like FLASH can be secured at runtime using the IP.
• The IP provides a software interface (library) which exposes APIs to the
programmer to leverage the cryptographic services.
• User Data/Content can be stored in a secure fashion using the library APIs.
Data Management
May 9, 2016 14
Firmware Over The Air Update (FOTA)
14
New application binary is sent from GUI
Carriots cloud
Lora
Temp
Altitude
SHUB platform
SHUBCM4F +
Kintex FPGA
OLED
W-HART
LoRa
Z-Bee
OTA: MQTT basedmetadata and
Application binary chunkpackets
OTA: REST APIsmetadata and
Application binary chunkpackets
OTA :raw binary packets
over Low Power RF link
Air Quality
FLASH
New application is written into the flash memory
OSI A9 based gateway platform
May 9, 2016 1515
• End device hot target due to vulnerabilities
• Secure radio communication channel
• Encrypted Application image
• Chain of trust verification
• Booting application
Securing FOTA
May 9, 2016 1616
• Gate count: Around 30609 Gates
• Boot Code Analysis:
Summary
Chain of Trust verification
Application size
30 sec 10 KB
Total ELF Size Code Section Size
(.text)
Data Section Size
(.data + .bss)
Minimum Stack and Heap Size
With Security Blocks
311 KB 63.4KB 4.92 KB 4KB
Without Security Blocks
197KB 35.2KB 0.63KB 2KB
May 9, 2016 17
Conclusion
17
• Determine what to protect, why you are protecting it, and who you are protecting against • No one solution fits everyone
• Do not release product with a plan to implement security later• It usually never happens
• Be aware of latest attack methodologies & trends
• Careful consideration on hardware and software partitioning
• As design is in progress, allocate time to analyze and break product
• Nothing is 100% secure