copyright 2014 1
Security protocols in
constrained environments
Chris Swan, CTO
@cpswan
Cloud native networking
copyright 2014
TL;DR
System type Such as Will it work? The issue
Low end
embedded
Atmel 8-bit AVR
(most Arduino),
TI MSP-430
No SRAM
Mid-high end
embedded
Anything ARM
based (e.g. STM
Discovery, TI
Stellaris) inc.
Arduino Due
With some effort Library, key and
cipher suite
wrangling
Linux OS Raspberry Pi,
BeagleBone,
Arduino Yún
Yes -
copyright 2014
What would #FHB say?
3
copyright 2014
Agenda
• Anatomy of a security protocol
• The key exchange dance
• Linux makes things easy
• Libraries for higher end microcontrollers
• SRAM on low end microcontrollers
• 2014 – things happened
• Summary
copyright 2014
Which security protocols?
The ‘S’ protocols:
Secure Sockets Layer (SSL)
Superseded by Transport Layer Security (TLS)
Secure SHell (SSH)
Internet Protocol Security (IPsec)
copyright 2014
SSL Handshake
copyright 2014
Client Hello
copyright 2014
It’s a similar story for SSH
copyright 2014
and IPsec
copyright 2014
Linux makes this easy
If not already built in to a particular distribution then use
favourite package manager to get:
(no relation)
copyright 2014
Things get trickier with embedded
But by no means impossible…
copyright 2014
Stack trades offs may be made
copyright 2014
But those keys won’t fit into 2K
At least not with anything resembling a useful application…
… regular Arduino struggles with MQTT and 1wire
copyright 2014
Things that happened…
14
copyright 2014
Things that are happening…
15
copyright 2014
Summary
System type Such as Will it work? The issue
Low end
embedded
Atmel 8-bit AVR
(most Arduino),
TI MSP-430
No SRAM
Mid-high end
embedded
Anything ARM
based (e.g. STM
Discovery, TI
Stellaris) inc.
Arduino Due
With some effort Library, key and
cipher suite
wrangling
Linux OS Raspberry Pi,
BeagleBone,
Arduino Yún
Yes -
copyright 2014
Further reading
PolarSSL tutorial
https://polarssl.org/kb/how-to/polarssl-tutorial
AVR32753: AVR32 UC3 How to connect to an SSL-server
http://www.atmel.com/Images/doc32111.pdf
STM32 Discovery: Porting Polar SSL
http://hobbymc.blogspot.co.uk/2011/02/stm32-discovery-porting-polar-ssl.html
Netflix tech Blog: Message Security Layer: A Modern Take on Securing
Communication
http://techblog.netflix.com/2014/10/message-security-layer-modern-take-on.html
copyright 2014 18
Chicago, US
ContactMe@cohesiveft.com
+1 888 444 3962
Questions?

Chris Swan's presentation for Thingmonk 2014 - security protocols in constrained environments