Securing the Internet of Things

Paul Fremantle
Paul FremantleCTO, Co-Founder, Entrepreneur, Apache Member, ESB/SOA and Cloud Expert at University of Portsmouth
Securing the Internet of Things
Paul Fremantle
CTO, WSO2 (paul@wso2.com)
PhD researcher, Portsmouth University
(paul.fremantle@port.ac.uk)
@pzfreo
Paul Madsen*
Technical Architect, PingIdentity
(pmadsen@pingidentity.com)
@paulmadsen
*Paul M helped me with the initial content, but I take responsibility for anything you don’t like in this slide deck.
Securing the Internet of Things
About me
• CTO and Co-Founder
WSO2
– Open Source Middleware
platform
• Part-time PhD looking at
security
• Working in Apache for
14 years
• Working with Cloud,
SOA, APIs, MQTT, IoT
3
Firstly, does it matter?
Securing the Internet of Things
Securing the Internet of Things
“Google
Hacking”
http://www.forbes.com/sites/kashmirhill/2013/07/26/smart-homes-hack/
Securing the Internet of Things
http://freo.me/1pbUmof
So what is different about IoT?
• The longevity of the device
– Updates are harder (or impossible)
• The size of the device
– Capabilities are limited – especially around crypto
• The fact there is a device
– Usually no UI for entering userids and passwords
• The data
– Often highly personal
• The mindset
– Appliance manufacturers don’t think like security experts
– Embedded systems are often developed by grabbing existing
chips, designs, etc
Physical Hacks
A Practical Attack on the MIFARE Classic:
http://www.cs.ru.nl/~flaviog/publications/Attack.MIFARE.pdf
Karsten Nohl and Henryk Plotz. MIFARE, Little Security, Despite Obscurity
Securing the Internet of Things
Or try this at home?
http://freo.me/1g15BiG
http://www.cl.cam.ac.uk/techreports/UCAM-CL-TR-630.html
Hardware recommendations
• Don’t rely on obscurity
Hardware recommendations
• Don’t rely on obscurity
• Don’t rely on obscurity
• Don’t rely on obscurity
• Don’t rely on obscurity
• Don’t rely on obscurity
• Don’t rely on obscurity
• Don’t rely on obscurity
Hardware Recommendation #2
• Unlocking a single device should risk only that
device’s data
The Network
Crypto on small devices
• Practical Considerations and Implementation
Experiences in Securing Smart Object Networks
– http://tools.ietf.org/html/draft-aks-crypto-sensors-02
ROM requirements
ECC is possible
(and about fast enough)
Securing the Internet of Things
Crypto
Borrowed from Chris Swan:
http://www.slideshare.net/cpswan/security-protocols-in-constrained-environments/13
Won’t ARM just solve this problem?
Cost matters
8 bits
$5 retail
$1 or less to embed
32 bits
$25 retail
$?? to embed
Another option?
SIMON and SPECK
https://www.schneier.com/blog/archives/2013/07/simon_and_speck.html
Datagram Transport Layer Security
(DTLS)
• UDP based equivalent to TLS
• https://tools.ietf.org/html/rfc4347
Key distribution
Securing the Internet of Things
CoAP
• Constrained Application Protocol
– http://tools.ietf.org/html/draft-ietf-core-coap-18
– REST-like model built on UDP
– Californium project coming soon to Eclipse IoT
• No authentication or authorization
– Relies on DLTS or data in the body
MQTT
MQTT
• Very lightweight messaging protocol
– Designed for 8-bit controllers, SCADA, etc
– Low power, low bandwidth
– Binary header of 2 bytes
– Lots of implementations
• Mosquitto, Paho, RSMB and Moquette from Eclipse
– Clients:
• Arduino, Perl, Python, PHP, C, Java, JS/Node.js, .Net, etc
• Plus an even lighter-weight version for Zigbee
– MQTT-SN (Sensor Network)
MQTT
• Relies on TLS for confidentiality
• Username/Password field
Passwords
• Passwords suck for humans
• They suck even more for devices
Tokens
Securing the Internet of Things
Why OAuth2?
• Widely implemented
• Pretty good
– Of course there is never 100% agreement
– Or certainty with security protocols
• Not just HTTP:
– http://tools.ietf.org/html/draft-ietf-kitten-sasl-
oauth-12
– OAuth2 used with SSL
Securing the Internet of Things
Securing the Internet of Things
Why FIAM for IoT?
• Can enable a meaningful consent mechanism
for sharing of device data
• Giving a device a token to use on API calls
better than giving it a password
– Revokable
– Granular
• May be relevant for both
– Device to cloud
– Cloud to app
Two aspects using OAuth with IoT
• On the device
– Tokens are good
– Limiting the access of the device
• On the cloud
– Putting users in control of their data
– Just good current practice
• Demo with MQTT
– But not just for MQTT
– Also for the cloud, CoAP, and other protocols too
Demo components
Mosquitto
(Open Source MQTT
Broker)
Acting as “Resource
Server”
Mosquitto_py_auth
mqtt-oauth2.py
IdP
WSO2 Identity
Server
ESB
Introspection
API
Refresher.py
Arduino
CreateToken.py
1
2
3
4
5
6
WSO2 Identity Server
Lessons learnt
• MQTT and MPU / I2C code is 97% of Duemilanove
– Adding the final logic to do OAuth2 flow pushed it to 99%
– No TLS in this demo is a big issue
• Different Oauth2 implementations behave differently
(e.g. changing the refresh token every time you refresh)
• Need to be able to update the scope of token if this will
work for long term embedded devices
• The refresh flow should not really go via the Resource
server
– Easy fix
• MQTT should have a well defined model for sending a
message to just one client (securely)
What I haven’t covered enough of
Summary
• Think about security with your next device
• We as a community need to make sure that
the next generation of IoT devices are secure
• We need to create exemplars
– Shields
– Libraries
– Server software
– Standards
Questions?
1 of 49

Recommended

Internet of Things Security by
Internet of Things SecurityInternet of Things Security
Internet of Things SecurityTutun Juhana
2.1K views21 slides
The 5 elements of IoT security by
The 5 elements of IoT securityThe 5 elements of IoT security
The 5 elements of IoT securityJulien Vermillard
17.3K views48 slides
IoT Security Imperative: Stop your Fridge from Sending you Spam by
IoT Security Imperative: Stop your Fridge from Sending you SpamIoT Security Imperative: Stop your Fridge from Sending you Spam
IoT Security Imperative: Stop your Fridge from Sending you SpamAmit Rohatgi
2.5K views44 slides
Your Thing is Pwned - Security Challenges for the IoT by
Your Thing is Pwned - Security Challenges for the IoTYour Thing is Pwned - Security Challenges for the IoT
Your Thing is Pwned - Security Challenges for the IoTWSO2
1.6K views54 slides
Internet of Things Security Patterns by
Internet of Things Security PatternsInternet of Things Security Patterns
Internet of Things Security PatternsMark Benson
517 views11 slides
IoT World - creating a secure robust IoT reference architecture by
IoT World - creating a secure robust IoT reference architectureIoT World - creating a secure robust IoT reference architecture
IoT World - creating a secure robust IoT reference architecturePaul Fremantle
2K views39 slides

More Related Content

What's hot

Federated Identity for IoT with OAuth2 by
Federated Identity for IoT with OAuth2Federated Identity for IoT with OAuth2
Federated Identity for IoT with OAuth2Paul Fremantle
5.7K views21 slides
Application layer Security in IoT: A Survey by
Application layer Security in IoT: A SurveyApplication layer Security in IoT: A Survey
Application layer Security in IoT: A SurveyAdeel Ahmed
162 views24 slides
Introduction to the Internet of Things by
Introduction to the Internet of ThingsIntroduction to the Internet of Things
Introduction to the Internet of ThingsAlexandru Radovici
6.2K views28 slides
Security Fundamental for IoT Devices; Creating the Internet of Secure Things by
Security Fundamental for IoT Devices; Creating the Internet of Secure ThingsSecurity Fundamental for IoT Devices; Creating the Internet of Secure Things
Security Fundamental for IoT Devices; Creating the Internet of Secure ThingsDesign World
1.5K views33 slides
Owasp top 10 by
Owasp top 10 Owasp top 10
Owasp top 10 veerababu penugonda(Mr-IoT)
744 views43 slides
Iot Security by
Iot SecurityIot Security
Iot SecurityMAITREYA MISRA
515 views24 slides

What's hot(20)

Federated Identity for IoT with OAuth2 by Paul Fremantle
Federated Identity for IoT with OAuth2Federated Identity for IoT with OAuth2
Federated Identity for IoT with OAuth2
Paul Fremantle5.7K views
Application layer Security in IoT: A Survey by Adeel Ahmed
Application layer Security in IoT: A SurveyApplication layer Security in IoT: A Survey
Application layer Security in IoT: A Survey
Adeel Ahmed162 views
Security Fundamental for IoT Devices; Creating the Internet of Secure Things by Design World
Security Fundamental for IoT Devices; Creating the Internet of Secure ThingsSecurity Fundamental for IoT Devices; Creating the Internet of Secure Things
Security Fundamental for IoT Devices; Creating the Internet of Secure Things
Design World1.5K views
Security challenges for IoT by WSO2
Security challenges for IoTSecurity challenges for IoT
Security challenges for IoT
WSO23.4K views
Iot top 10 vulnerabilities and misconceptions 2016 by Erez Metula
Iot top 10 vulnerabilities and misconceptions 2016Iot top 10 vulnerabilities and misconceptions 2016
Iot top 10 vulnerabilities and misconceptions 2016
Erez Metula955 views
IoT Security Briefing FBI 07 23-2017 final by Frank Siepmann
IoT Security Briefing FBI 07 23-2017 finalIoT Security Briefing FBI 07 23-2017 final
IoT Security Briefing FBI 07 23-2017 final
Frank Siepmann190 views
Automatski - The Internet of Things - Security in IoT by automatskicorporation
Automatski - The Internet of Things - Security in IoTAutomatski - The Internet of Things - Security in IoT
Automatski - The Internet of Things - Security in IoT
Security in the Internet of Things by ForgeRock
Security in the Internet of ThingsSecurity in the Internet of Things
Security in the Internet of Things
ForgeRock14.5K views
IoT Security – Executing an Effective Security Testing Process by EC-Council
IoT Security – Executing an Effective Security Testing Process IoT Security – Executing an Effective Security Testing Process
IoT Security – Executing an Effective Security Testing Process
EC-Council2.2K views
Iot Security, Internet of Things by Bryan Len
Iot Security, Internet of ThingsIot Security, Internet of Things
Iot Security, Internet of Things
Bryan Len725 views
Enabling Data Protection through PKI encryption in IoT m-Health Devices by Charalampos Doukas
Enabling Data Protection through PKI encryption in IoT m-Health DevicesEnabling Data Protection through PKI encryption in IoT m-Health Devices
Enabling Data Protection through PKI encryption in IoT m-Health Devices
IoT Security in Action - Boston Sept 2015 by Eurotech
IoT Security in Action - Boston Sept 2015IoT Security in Action - Boston Sept 2015
IoT Security in Action - Boston Sept 2015
Eurotech3.4K views
IOT privacy and Security by noornabi16
IOT privacy and SecurityIOT privacy and Security
IOT privacy and Security
noornabi16515 views
Internet of Things: Identity & Security with Open Standards by George Fletcher
Internet of Things: Identity & Security with Open StandardsInternet of Things: Identity & Security with Open Standards
Internet of Things: Identity & Security with Open Standards
George Fletcher1.3K views

Viewers also liked

A military perspective on cyber security by
A military perspective on cyber securityA military perspective on cyber security
A military perspective on cyber securityJoey Hernandez
4.1K views19 slides
Practical Security with MQTT and Mosquitto by
Practical Security with MQTT and MosquittoPractical Security with MQTT and Mosquitto
Practical Security with MQTT and Mosquittonbarendt
3K views46 slides
MQTT Hacks for Fun and... Fun! by
MQTT Hacks for Fun and... Fun!MQTT Hacks for Fun and... Fun!
MQTT Hacks for Fun and... Fun!Andy Piper
4.4K views32 slides
Securing MQTT - BuildingIoT 2016 slides by
Securing MQTT - BuildingIoT 2016 slidesSecuring MQTT - BuildingIoT 2016 slides
Securing MQTT - BuildingIoT 2016 slidesDominik Obermaier
6.6K views65 slides
MQTT - MQ Telemetry Transport for Message Queueing by
MQTT - MQ Telemetry Transport for Message QueueingMQTT - MQ Telemetry Transport for Message Queueing
MQTT - MQ Telemetry Transport for Message QueueingPeter R. Egli
58.5K views33 slides
Military Robots by
Military RobotsMilitary Robots
Military Robotsnsapre
33.8K views18 slides

Viewers also liked(13)

A military perspective on cyber security by Joey Hernandez
A military perspective on cyber securityA military perspective on cyber security
A military perspective on cyber security
Joey Hernandez4.1K views
Practical Security with MQTT and Mosquitto by nbarendt
Practical Security with MQTT and MosquittoPractical Security with MQTT and Mosquitto
Practical Security with MQTT and Mosquitto
nbarendt3K views
MQTT Hacks for Fun and... Fun! by Andy Piper
MQTT Hacks for Fun and... Fun!MQTT Hacks for Fun and... Fun!
MQTT Hacks for Fun and... Fun!
Andy Piper4.4K views
Securing MQTT - BuildingIoT 2016 slides by Dominik Obermaier
Securing MQTT - BuildingIoT 2016 slidesSecuring MQTT - BuildingIoT 2016 slides
Securing MQTT - BuildingIoT 2016 slides
Dominik Obermaier6.6K views
MQTT - MQ Telemetry Transport for Message Queueing by Peter R. Egli
MQTT - MQ Telemetry Transport for Message QueueingMQTT - MQ Telemetry Transport for Message Queueing
MQTT - MQ Telemetry Transport for Message Queueing
Peter R. Egli58.5K views
Military Robots by nsapre
Military RobotsMilitary Robots
Military Robots
nsapre33.8K views
Network security by Gichelle Amon
Network securityNetwork security
Network security
Gichelle Amon215.4K views
Civil – military relations in india a perspective by Umong Sethi
Civil – military relations in india   a perspectiveCivil – military relations in india   a perspective
Civil – military relations in india a perspective
Umong Sethi5.5K views
Cyber security by Siblu28
Cyber securityCyber security
Cyber security
Siblu28668.7K views
Network Security Threats and Solutions by Colin058
Network Security Threats and SolutionsNetwork Security Threats and Solutions
Network Security Threats and Solutions
Colin058132.8K views
IoT - IT 423 ppt by Mhae Lyn
IoT - IT 423 pptIoT - IT 423 ppt
IoT - IT 423 ppt
Mhae Lyn246.1K views

Similar to Securing the Internet of Things

Securing IoT Applications by
Securing IoT Applications Securing IoT Applications
Securing IoT Applications WSO2
1.9K views48 slides
Building the Internet of Things with Eclipse IoT - IoTBE meetup by
Building the Internet of Things with Eclipse IoT - IoTBE meetupBuilding the Internet of Things with Eclipse IoT - IoTBE meetup
Building the Internet of Things with Eclipse IoT - IoTBE meetupBenjamin Cabé
3.1K views68 slides
Kumar cscl final by
Kumar cscl finalKumar cscl final
Kumar cscl finalKumar Gaurav
28 views32 slides
Supercharge your IOT toolbox with MQTT and Node-RED by
Supercharge your IOT toolbox with MQTT and Node-REDSupercharge your IOT toolbox with MQTT and Node-RED
Supercharge your IOT toolbox with MQTT and Node-REDSimen Sommerfeldt
4.9K views57 slides
The Considerations for Internet of Things @ 2017 by
The Considerations for Internet of Things @ 2017The Considerations for Internet of Things @ 2017
The Considerations for Internet of Things @ 2017Jian-Hong Pan
1.5K views54 slides
From the Internet of Things to Intelligent Systems A Developer's Primer - Gar... by
From the Internet of Things to Intelligent Systems A Developer's Primer - Gar...From the Internet of Things to Intelligent Systems A Developer's Primer - Gar...
From the Internet of Things to Intelligent Systems A Developer's Primer - Gar...Rick G. Garibay
12.9K views63 slides

Similar to Securing the Internet of Things(20)

Securing IoT Applications by WSO2
Securing IoT Applications Securing IoT Applications
Securing IoT Applications
WSO21.9K views
Building the Internet of Things with Eclipse IoT - IoTBE meetup by Benjamin Cabé
Building the Internet of Things with Eclipse IoT - IoTBE meetupBuilding the Internet of Things with Eclipse IoT - IoTBE meetup
Building the Internet of Things with Eclipse IoT - IoTBE meetup
Benjamin Cabé3.1K views
Supercharge your IOT toolbox with MQTT and Node-RED by Simen Sommerfeldt
Supercharge your IOT toolbox with MQTT and Node-REDSupercharge your IOT toolbox with MQTT and Node-RED
Supercharge your IOT toolbox with MQTT and Node-RED
Simen Sommerfeldt4.9K views
The Considerations for Internet of Things @ 2017 by Jian-Hong Pan
The Considerations for Internet of Things @ 2017The Considerations for Internet of Things @ 2017
The Considerations for Internet of Things @ 2017
Jian-Hong Pan1.5K views
From the Internet of Things to Intelligent Systems A Developer's Primer - Gar... by Rick G. Garibay
From the Internet of Things to Intelligent Systems A Developer's Primer - Gar...From the Internet of Things to Intelligent Systems A Developer's Primer - Gar...
From the Internet of Things to Intelligent Systems A Developer's Primer - Gar...
Rick G. Garibay12.9K views
Industrial IoT Mayhem? Java IoT Gateways to the Rescue by Eurotech
Industrial IoT Mayhem? Java IoT Gateways to the RescueIndustrial IoT Mayhem? Java IoT Gateways to the Rescue
Industrial IoT Mayhem? Java IoT Gateways to the Rescue
Eurotech1.3K views
Open source building blocks for the Internet of Things - Jfokus 2013 by Benjamin Cabé
Open source building blocks for the Internet of Things - Jfokus 2013Open source building blocks for the Internet of Things - Jfokus 2013
Open source building blocks for the Internet of Things - Jfokus 2013
Benjamin Cabé2.2K views
Test Execution Infrastructure for IoT Quality analysis by Axel Rennoch
Test Execution Infrastructure for IoT Quality analysisTest Execution Infrastructure for IoT Quality analysis
Test Execution Infrastructure for IoT Quality analysis
Axel Rennoch240 views
Using open source for IoT by Ian Skerrett
Using open source for IoTUsing open source for IoT
Using open source for IoT
Ian Skerrett8.8K views
Pushing Data from S7-1200 to Cloud by DMC, Inc.
Pushing Data from S7-1200 to CloudPushing Data from S7-1200 to Cloud
Pushing Data from S7-1200 to Cloud
DMC, Inc.11.4K views
Iot Conference Berlin M2M,IoT, device management: one protocol to rule them all? by Julien Vermillard
Iot Conference Berlin M2M,IoT, device management: one protocol to rule them all?Iot Conference Berlin M2M,IoT, device management: one protocol to rule them all?
Iot Conference Berlin M2M,IoT, device management: one protocol to rule them all?
Julien Vermillard10.9K views
Building the Internet of Things with Thingsquare and Contiki - day 1, part 3 by Adam Dunkels
Building the Internet of Things with Thingsquare and Contiki - day 1, part 3Building the Internet of Things with Thingsquare and Contiki - day 1, part 3
Building the Internet of Things with Thingsquare and Contiki - day 1, part 3
Adam Dunkels62.6K views
Io t standard_bis_arpanpal by Arpan Pal
Io t standard_bis_arpanpalIo t standard_bis_arpanpal
Io t standard_bis_arpanpal
Arpan Pal236 views
COMP8045 - Project Report v.1.3 by Soon Zoo Kwon
COMP8045 - Project Report v.1.3COMP8045 - Project Report v.1.3
COMP8045 - Project Report v.1.3
Soon Zoo Kwon584 views
Secure IOT Gateway by LF Events
Secure IOT GatewaySecure IOT Gateway
Secure IOT Gateway
LF Events2.7K views
Authentication system with Decentralized chat app by IRJET Journal
Authentication system with Decentralized chat appAuthentication system with Decentralized chat app
Authentication system with Decentralized chat app
IRJET Journal9 views
Open Source IoT at Eclipse by Ian Skerrett
Open Source IoT at EclipseOpen Source IoT at Eclipse
Open Source IoT at Eclipse
Ian Skerrett7.5K views

More from Paul Fremantle

IoT and Blockchains - enhancing security and privacy by
IoT and Blockchains - enhancing security and privacyIoT and Blockchains - enhancing security and privacy
IoT and Blockchains - enhancing security and privacyPaul Fremantle
611 views24 slides
Anonymous Individual Integration for IoT by
Anonymous Individual Integration for IoTAnonymous Individual Integration for IoT
Anonymous Individual Integration for IoTPaul Fremantle
508 views39 slides
Web API Management meets the Internet of Things by
Web API Management meets the Internet of ThingsWeb API Management meets the Internet of Things
Web API Management meets the Internet of ThingsPaul Fremantle
1.4K views24 slides
Apache Stratos - Building a PaaS using OSGi and Equinox by
Apache Stratos - Building a PaaS using OSGi and EquinoxApache Stratos - Building a PaaS using OSGi and Equinox
Apache Stratos - Building a PaaS using OSGi and EquinoxPaul Fremantle
3.1K views36 slides
Beyond Economics - Cloud as a Business Enabler by
Beyond Economics - Cloud as a Business EnablerBeyond Economics - Cloud as a Business Enabler
Beyond Economics - Cloud as a Business EnablerPaul Fremantle
973 views24 slides
Evolution of PaaS by
Evolution of PaaSEvolution of PaaS
Evolution of PaaSPaul Fremantle
3K views37 slides

More from Paul Fremantle(17)

IoT and Blockchains - enhancing security and privacy by Paul Fremantle
IoT and Blockchains - enhancing security and privacyIoT and Blockchains - enhancing security and privacy
IoT and Blockchains - enhancing security and privacy
Paul Fremantle611 views
Anonymous Individual Integration for IoT by Paul Fremantle
Anonymous Individual Integration for IoTAnonymous Individual Integration for IoT
Anonymous Individual Integration for IoT
Paul Fremantle508 views
Web API Management meets the Internet of Things by Paul Fremantle
Web API Management meets the Internet of ThingsWeb API Management meets the Internet of Things
Web API Management meets the Internet of Things
Paul Fremantle1.4K views
Apache Stratos - Building a PaaS using OSGi and Equinox by Paul Fremantle
Apache Stratos - Building a PaaS using OSGi and EquinoxApache Stratos - Building a PaaS using OSGi and Equinox
Apache Stratos - Building a PaaS using OSGi and Equinox
Paul Fremantle3.1K views
Beyond Economics - Cloud as a Business Enabler by Paul Fremantle
Beyond Economics - Cloud as a Business EnablerBeyond Economics - Cloud as a Business Enabler
Beyond Economics - Cloud as a Business Enabler
Paul Fremantle973 views
The Evolution of Integration by Paul Fremantle
The Evolution of IntegrationThe Evolution of Integration
The Evolution of Integration
Paul Fremantle5.9K views
High Volume Web API Management with the WSO2 ESB by Paul Fremantle
High Volume Web API Management with the WSO2 ESBHigh Volume Web API Management with the WSO2 ESB
High Volume Web API Management with the WSO2 ESB
Paul Fremantle2K views
Stratos Open PaaS OSCON 2011 by Paul Fremantle
Stratos Open PaaS OSCON 2011Stratos Open PaaS OSCON 2011
Stratos Open PaaS OSCON 2011
Paul Fremantle2.7K views
Stratos and PaaS for London Java Community by Paul Fremantle
Stratos and PaaS for London Java CommunityStratos and PaaS for London Java Community
Stratos and PaaS for London Java Community
Paul Fremantle2.2K views
Understanding Platform as a Service by Paul Fremantle
Understanding Platform as a ServiceUnderstanding Platform as a Service
Understanding Platform as a Service
Paul Fremantle4.5K views
Making Apache Tomcat Multi-tenant, Elastic and Metered by Paul Fremantle
Making Apache Tomcat Multi-tenant, Elastic and MeteredMaking Apache Tomcat Multi-tenant, Elastic and Metered
Making Apache Tomcat Multi-tenant, Elastic and Metered
Paul Fremantle6.6K views
Building Cloud Native Software by Paul Fremantle
Building Cloud Native SoftwareBuilding Cloud Native Software
Building Cloud Native Software
Paul Fremantle8.3K views
Building Innovation with Open Source Approaches by Paul Fremantle
Building Innovation with Open Source ApproachesBuilding Innovation with Open Source Approaches
Building Innovation with Open Source Approaches
Paul Fremantle556 views
Fast SOA with Apache Synapse by Paul Fremantle
Fast SOA with Apache SynapseFast SOA with Apache Synapse
Fast SOA with Apache Synapse
Paul Fremantle6.2K views
REST vs WS-*: Myths Facts and Lies by Paul Fremantle
REST vs WS-*: Myths Facts and LiesREST vs WS-*: Myths Facts and Lies
REST vs WS-*: Myths Facts and Lies
Paul Fremantle8.9K views

Recently uploaded

Top 10 Strategic Technologies in 2024: AI and Automation by
Top 10 Strategic Technologies in 2024: AI and AutomationTop 10 Strategic Technologies in 2024: AI and Automation
Top 10 Strategic Technologies in 2024: AI and AutomationAutomationEdge Technologies
14 views14 slides
Attacking IoT Devices from a Web Perspective - Linux Day by
Attacking IoT Devices from a Web Perspective - Linux Day Attacking IoT Devices from a Web Perspective - Linux Day
Attacking IoT Devices from a Web Perspective - Linux Day Simone Onofri
15 views68 slides
Igniting Next Level Productivity with AI-Infused Data Integration Workflows by
Igniting Next Level Productivity with AI-Infused Data Integration Workflows Igniting Next Level Productivity with AI-Infused Data Integration Workflows
Igniting Next Level Productivity with AI-Infused Data Integration Workflows Safe Software
225 views86 slides
RADIUS-Omnichannel Interaction System by
RADIUS-Omnichannel Interaction SystemRADIUS-Omnichannel Interaction System
RADIUS-Omnichannel Interaction SystemRADIUS
15 views21 slides
The Importance of Cybersecurity for Digital Transformation by
The Importance of Cybersecurity for Digital TransformationThe Importance of Cybersecurity for Digital Transformation
The Importance of Cybersecurity for Digital TransformationNUS-ISS
27 views26 slides
.conf Go 2023 - How KPN drives Customer Satisfaction on IPTV by
.conf Go 2023 - How KPN drives Customer Satisfaction on IPTV.conf Go 2023 - How KPN drives Customer Satisfaction on IPTV
.conf Go 2023 - How KPN drives Customer Satisfaction on IPTVSplunk
88 views20 slides

Recently uploaded(20)

Attacking IoT Devices from a Web Perspective - Linux Day by Simone Onofri
Attacking IoT Devices from a Web Perspective - Linux Day Attacking IoT Devices from a Web Perspective - Linux Day
Attacking IoT Devices from a Web Perspective - Linux Day
Simone Onofri15 views
Igniting Next Level Productivity with AI-Infused Data Integration Workflows by Safe Software
Igniting Next Level Productivity with AI-Infused Data Integration Workflows Igniting Next Level Productivity with AI-Infused Data Integration Workflows
Igniting Next Level Productivity with AI-Infused Data Integration Workflows
Safe Software225 views
RADIUS-Omnichannel Interaction System by RADIUS
RADIUS-Omnichannel Interaction SystemRADIUS-Omnichannel Interaction System
RADIUS-Omnichannel Interaction System
RADIUS15 views
The Importance of Cybersecurity for Digital Transformation by NUS-ISS
The Importance of Cybersecurity for Digital TransformationThe Importance of Cybersecurity for Digital Transformation
The Importance of Cybersecurity for Digital Transformation
NUS-ISS27 views
.conf Go 2023 - How KPN drives Customer Satisfaction on IPTV by Splunk
.conf Go 2023 - How KPN drives Customer Satisfaction on IPTV.conf Go 2023 - How KPN drives Customer Satisfaction on IPTV
.conf Go 2023 - How KPN drives Customer Satisfaction on IPTV
Splunk88 views
Special_edition_innovator_2023.pdf by WillDavies22
Special_edition_innovator_2023.pdfSpecial_edition_innovator_2023.pdf
Special_edition_innovator_2023.pdf
WillDavies2216 views
Black and White Modern Science Presentation.pptx by maryamkhalid2916
Black and White Modern Science Presentation.pptxBlack and White Modern Science Presentation.pptx
Black and White Modern Science Presentation.pptx
maryamkhalid291614 views
How to reduce cold starts for Java Serverless applications in AWS at JCON Wor... by Vadym Kazulkin
How to reduce cold starts for Java Serverless applications in AWS at JCON Wor...How to reduce cold starts for Java Serverless applications in AWS at JCON Wor...
How to reduce cold starts for Java Serverless applications in AWS at JCON Wor...
Vadym Kazulkin75 views
Business Analyst Series 2023 - Week 3 Session 5 by DianaGray10
Business Analyst Series 2023 -  Week 3 Session 5Business Analyst Series 2023 -  Week 3 Session 5
Business Analyst Series 2023 - Week 3 Session 5
DianaGray10209 views
[2023] Putting the R! in R&D.pdf by Eleanor McHugh
[2023] Putting the R! in R&D.pdf[2023] Putting the R! in R&D.pdf
[2023] Putting the R! in R&D.pdf
Eleanor McHugh38 views
How the World's Leading Independent Automotive Distributor is Reinventing Its... by NUS-ISS
How the World's Leading Independent Automotive Distributor is Reinventing Its...How the World's Leading Independent Automotive Distributor is Reinventing Its...
How the World's Leading Independent Automotive Distributor is Reinventing Its...
NUS-ISS15 views
Future of Learning - Khoong Chan Meng by NUS-ISS
Future of Learning - Khoong Chan MengFuture of Learning - Khoong Chan Meng
Future of Learning - Khoong Chan Meng
NUS-ISS33 views
Data-centric AI and the convergence of data and model engineering: opportunit... by Paolo Missier
Data-centric AI and the convergence of data and model engineering:opportunit...Data-centric AI and the convergence of data and model engineering:opportunit...
Data-centric AI and the convergence of data and model engineering: opportunit...
Paolo Missier34 views
DALI Basics Course 2023 by Ivory Egg
DALI Basics Course  2023DALI Basics Course  2023
DALI Basics Course 2023
Ivory Egg14 views
Emerging & Future Technology - How to Prepare for the Next 10 Years of Radica... by NUS-ISS
Emerging & Future Technology - How to Prepare for the Next 10 Years of Radica...Emerging & Future Technology - How to Prepare for the Next 10 Years of Radica...
Emerging & Future Technology - How to Prepare for the Next 10 Years of Radica...
NUS-ISS16 views
Digital Product-Centric Enterprise and Enterprise Architecture - Tan Eng Tsze by NUS-ISS
Digital Product-Centric Enterprise and Enterprise Architecture - Tan Eng TszeDigital Product-Centric Enterprise and Enterprise Architecture - Tan Eng Tsze
Digital Product-Centric Enterprise and Enterprise Architecture - Tan Eng Tsze
NUS-ISS19 views

Securing the Internet of Things

  • 1. Securing the Internet of Things Paul Fremantle CTO, WSO2 (paul@wso2.com) PhD researcher, Portsmouth University (paul.fremantle@port.ac.uk) @pzfreo Paul Madsen* Technical Architect, PingIdentity (pmadsen@pingidentity.com) @paulmadsen *Paul M helped me with the initial content, but I take responsibility for anything you don’t like in this slide deck.
  • 3. About me • CTO and Co-Founder WSO2 – Open Source Middleware platform • Part-time PhD looking at security • Working in Apache for 14 years • Working with Cloud, SOA, APIs, MQTT, IoT 3
  • 11. So what is different about IoT? • The longevity of the device – Updates are harder (or impossible) • The size of the device – Capabilities are limited – especially around crypto • The fact there is a device – Usually no UI for entering userids and passwords • The data – Often highly personal • The mindset – Appliance manufacturers don’t think like security experts – Embedded systems are often developed by grabbing existing chips, designs, etc
  • 12. Physical Hacks A Practical Attack on the MIFARE Classic: http://www.cs.ru.nl/~flaviog/publications/Attack.MIFARE.pdf Karsten Nohl and Henryk Plotz. MIFARE, Little Security, Despite Obscurity
  • 14. Or try this at home? http://freo.me/1g15BiG
  • 17. Hardware recommendations • Don’t rely on obscurity • Don’t rely on obscurity • Don’t rely on obscurity • Don’t rely on obscurity • Don’t rely on obscurity • Don’t rely on obscurity • Don’t rely on obscurity
  • 18. Hardware Recommendation #2 • Unlocking a single device should risk only that device’s data
  • 20. Crypto on small devices • Practical Considerations and Implementation Experiences in Securing Smart Object Networks – http://tools.ietf.org/html/draft-aks-crypto-sensors-02
  • 22. ECC is possible (and about fast enough)
  • 24. Crypto Borrowed from Chris Swan: http://www.slideshare.net/cpswan/security-protocols-in-constrained-environments/13
  • 25. Won’t ARM just solve this problem?
  • 26. Cost matters 8 bits $5 retail $1 or less to embed 32 bits $25 retail $?? to embed
  • 29. Datagram Transport Layer Security (DTLS) • UDP based equivalent to TLS • https://tools.ietf.org/html/rfc4347
  • 32. CoAP • Constrained Application Protocol – http://tools.ietf.org/html/draft-ietf-core-coap-18 – REST-like model built on UDP – Californium project coming soon to Eclipse IoT • No authentication or authorization – Relies on DLTS or data in the body
  • 33. MQTT
  • 34. MQTT • Very lightweight messaging protocol – Designed for 8-bit controllers, SCADA, etc – Low power, low bandwidth – Binary header of 2 bytes – Lots of implementations • Mosquitto, Paho, RSMB and Moquette from Eclipse – Clients: • Arduino, Perl, Python, PHP, C, Java, JS/Node.js, .Net, etc • Plus an even lighter-weight version for Zigbee – MQTT-SN (Sensor Network)
  • 35. MQTT • Relies on TLS for confidentiality • Username/Password field
  • 36. Passwords • Passwords suck for humans • They suck even more for devices
  • 39. Why OAuth2? • Widely implemented • Pretty good – Of course there is never 100% agreement – Or certainty with security protocols • Not just HTTP: – http://tools.ietf.org/html/draft-ietf-kitten-sasl- oauth-12 – OAuth2 used with SSL
  • 42. Why FIAM for IoT? • Can enable a meaningful consent mechanism for sharing of device data • Giving a device a token to use on API calls better than giving it a password – Revokable – Granular • May be relevant for both – Device to cloud – Cloud to app
  • 43. Two aspects using OAuth with IoT • On the device – Tokens are good – Limiting the access of the device • On the cloud – Putting users in control of their data – Just good current practice • Demo with MQTT – But not just for MQTT – Also for the cloud, CoAP, and other protocols too
  • 44. Demo components Mosquitto (Open Source MQTT Broker) Acting as “Resource Server” Mosquitto_py_auth mqtt-oauth2.py IdP WSO2 Identity Server ESB Introspection API Refresher.py Arduino CreateToken.py 1 2 3 4 5 6
  • 46. Lessons learnt • MQTT and MPU / I2C code is 97% of Duemilanove – Adding the final logic to do OAuth2 flow pushed it to 99% – No TLS in this demo is a big issue • Different Oauth2 implementations behave differently (e.g. changing the refresh token every time you refresh) • Need to be able to update the scope of token if this will work for long term embedded devices • The refresh flow should not really go via the Resource server – Easy fix • MQTT should have a well defined model for sending a message to just one client (securely)
  • 47. What I haven’t covered enough of
  • 48. Summary • Think about security with your next device • We as a community need to make sure that the next generation of IoT devices are secure • We need to create exemplars – Shields – Libraries – Server software – Standards