The 5 Elements of IoT Security Julien Vermillard - Sierra Wireless - - PowerPoint PPT Presentation

the 5 elements of iot security
SMART_READER_LITE
LIVE PREVIEW

The 5 Elements of IoT Security Julien Vermillard - Sierra Wireless - - PowerPoint PPT Presentation

The 5 Elements of IoT Security Julien Vermillard - Sierra Wireless Who am I? Software Engineer Sierra Wireless AirVantage.net cloud service Eclipse IoT: Leshan project lead Wakaama and Californium committer Twitter: @vrmvrm Email:


slide-1
SLIDE 1

The 5 Elements of IoT Security

Julien Vermillard - Sierra Wireless

slide-2
SLIDE 2

Who am I?

Software Engineer Sierra Wireless AirVantage.net cloud service Eclipse IoT: Leshan project lead Wakaama and Californium committer Twitter: @vrmvrm Email: jvermillard@sierrawireless.com

slide-3
SLIDE 3

Agenda

In the news Hardware OTA Upgrades Secure Communication Key Distribution Cloud Security Open Source IoT Infrastructure

slide-4
SLIDE 4

In the news

“The killer toaster” “The nightmare on connected home street” “What’s wrong with connected devices”

slide-5
SLIDE 5

HP Fortify 2014 IoT security report

Reviewed the most popular devices:

TVs, webcams, thermostats, power

  • utlets, sprinkler controllers,

hubs for controlling multiple devices, door locks, home alarms,scales, and garage door openers

90% collected personal data 70% used unencrypted network services

http://h20195.www2.hp.com/V2/GetDocument.aspx?docname=4AA5-4759ENW&cc=us&lc=en

slide-6
SLIDE 6

Secure your hardware

slide-7
SLIDE 7

Hardware security

Risks: Rogue firmware Invisible backdoor Malicious certificate Eavesdropping Mitigation: Secure storage Secure boot Drawbacks: Vendor lock Tivoization Nest Example:

https://www.blackhat.com/docs/us-14/materials/us-14-Jin-Smart-Nest-Thermostat-A-Smart-Spy-In-Your-Home.pdf

slide-8
SLIDE 8

You can’t secure what you can’t update

slide-9
SLIDE 9

High engineering and BoM cost!

Custom bootloader Flash size

slide-10
SLIDE 10

Flash & switch update

Firmware V 1 Firmware V 2 Bootloader

slide-11
SLIDE 11

Reboot & Patch update

Firmware Patch Bootloader

slide-12
SLIDE 12

Must be bulletproof

Upgrading is hard:

  • NAND flash errors
  • Unexpected power loss
  • Network errors
  • Unexpected incompatibilities
  • Checksum, cryptographic signature

A 0.1% failure rate on a 1m fleet is 1000 bricked devices

slide-13
SLIDE 13

Secure Communication

slide-14
SLIDE 14

Cipher suite? Pre-shared key

TLS_PSK_WITH_AES_128_CCM_8 Client and server have a common secret Symmetric cryptography Tampering the device or the server give you access to all the future and past communications

slide-15
SLIDE 15

Secure communication is not cheap

https://tools.ietf.org/html/draft-ietf-lwig-tls-minimal-01 +----------------------+-----------------+ | | DTLS | | +--------+--------+ | | ROM | RAM | +----------------------+--------+--------+ | State Machine | 8.15 | 1.9 | | Cryptography | 3.3 | 1.5 | | DTLS Record Layer | 3.7 | 0.5 | +----------------------+--------+--------+ | TOTAL | 15.15 | 3.9 | +----------------------+--------+--------+ Table 1: Memory Requirements in KB

slide-16
SLIDE 16

Cipher suite? Public Key

TLS_ECDHE_ECDSA_WITH_AES_128_CCM_8

Server and client don’t share private keys,

  • nly public keys

Perfect forward secrecy: past communication can’t be decrypted after secret compromission

slide-17
SLIDE 17

X.509 Certificate

Chain-of-trust for validating identity! No more credential provisioning Used for HTTPS

slide-18
SLIDE 18

Certificate: revocation checks

Revocation checking is still an issue in 2015: Validity date checking: RTC? NTP? More and more complexity on the device side: CRL, OCSP, stapling Hard fail? Soft fail? Certificate pinning?

slide-19
SLIDE 19

Pre-shared key vs X.509?

PSK is lighter, can run on very small target X.509 crypto is heavier: (EC)DH,ECDSA/RSA PSK Infrastructure is simpler but weaker (Hello SIM card key files) X.509 Public Key Infrastructure is complex, but can be outsourced

slide-20
SLIDE 20

Key Distribution

slide-21
SLIDE 21

Pre-shared key generation

Everything should be provisioned at factory? Don’t move big plain text list of credentials Don’t use stupid formulas:

password = MD5(IMEI + CARRIER_NOT_SO_SECRET)

https://www.blackhat.com/docs/us-14/materials/us-14- Solnik-Cellular-Exploitation-On-A-Global-Scale-The-Rise- And-Fall-Of-The-Control-Protocol.pdf

slide-22
SLIDE 22

Secret rotation

Be sure to be ready to change them ASAP Don’t wait the next Heartbleed for doing it Good practice: Changing the factory credential during the 1st communication

slide-23
SLIDE 23

Key management protocols?

Enterprise PKI for X.509: CMP, OCSP For PSK or X.509: Lightweight M2M bootstrap

slide-24
SLIDE 24

LwM2M bootstrap in a nutshell

Flash bootstrap credentials

slide-25
SLIDE 25

LwM2M bootstrap in a nutshell

I only have bootstrap credentials or I can’t reach final server

slide-26
SLIDE 26

LwM2M bootstrap in a nutshell

POST /bs Bootstrap Server

slide-27
SLIDE 27

LwM2M bootstrap in a nutshell

Write DM URL & credentials Bootstrap Server

slide-28
SLIDE 28

LwM2M bootstrap in a nutshell

DM Server Bootstrap Server

I have credential for the DM server

slide-29
SLIDE 29

LwM2M bootstrap in a nutshell

DM Server Bootstrap Server POST /rd

slide-30
SLIDE 30

LwM2M bootstrap in a nutshell

DM Server Bootstrap Server Start managing the device

slide-31
SLIDE 31

Server Security

slide-32
SLIDE 32

Why it’s mattering?

Risk: Takeover of your whole device fleet You are a juicy target Mitigations: More security (ex. 2 factor auth) than classical web service Collect only the necessary data Isolate as much as possible web and devices

slide-33
SLIDE 33

Now where I start?

slide-34
SLIDE 34

Ask more time/budget?

slide-35
SLIDE 35
slide-36
SLIDE 36

Now you are part of the 70% unencrypted network services

slide-37
SLIDE 37

Open-source to the rescue!

slide-38
SLIDE 38

Eclipse IoT - Leshan

Lightweight M2M implementation in Java A library for building: bootstrap, and device management servers Support DTLS PSK, RPK, (X.509 soon) And also client for beefier devices or testing

slide-39
SLIDE 39

Eclipse IoT - Leshan

Update firmware, software Manage secrets (bootstrap) Monitor and configure device Can support custom object for applications IPSO objects

slide-40
SLIDE 40

Eclipse IoT - Wakaama

C implementation of Lightweight M2M Focused on embedded Bring your own IP stack Bring your own DTLS implementation Bootstrap supported

slide-41
SLIDE 41

Eclipse IoT - Wakaama

You can receive packages for firmware/software update But you need to implement live re-flashing on your platform Known to be running on Linux, Arduino mega, ARM Cortex processors

slide-42
SLIDE 42

TinyDTLS | https://tindydtls.sf.net

MIT License, Eclipse proposal! “Support session multiplexing in single- threaded applications and thus targets specifically on embedded systems.” Examples for Linux, or Contiki OS

slide-43
SLIDE 43

TinyDTLS

Supported ciphersuites: TLS_PSK_WITH_AES_128_CCM_8 TLS_ECDHE_ECDSA_WITH_AES128_CCM_8

slide-44
SLIDE 44

From Toolbox

slide-45
SLIDE 45

To Jump start

slide-46
SLIDE 46

Thanks!

Questions?

Contact me: @vrmvrm jvermillard@sierrawireless.com Blog post

slide-47
SLIDE 47

+1 0 -1

Sign in: www.eclipsecon.org

Evaluate the sessions