SlideShare une entreprise Scribd logo
1  sur  67
Télécharger pour lire hors ligne
M2M,IoT, device management: 
one protocol to rule them all? 
Julien Vermillard - Sierra Wireless
Who am I? 
Software Engineer at Sierra Wireless, 
implementing various protocols for AirVantage 
cloud service 
Apache member, Eclipse IoT committer 
Californium, Wakaama, 
Leshan open-source Lightweight M2M server 
Tinkerer: electronics, reversing, Linux
Photo Credit:https://www.flickr.com/photos/90514086@N00/952121271/ CC by-nc-sa
Agenda 
M2M/IoT application protocols (XMPP, MQTT) 
Web-of-things (CoAP) 
IoT protocol security 
Device management (TR-069, OMA-DM, OMA-LwM2M) 
Impact on IoT architectures
Let’s start with.. 
QUESTIONS!
Questions 
Know MQTT?
Questions 
Use MQTT?
Questions 
Know or use 
CoAP?
Questions 
Device management: 
OMA-DM, 
Lightweight M2M 
or TR-069?
Application protocols 
XMPP 
MQTT 
CoAP
XMPP 
Chat protocol based on XML recycled for IoT 
XEP-0322 (PDF) Efficient XML Interchange (EXI) Format Standards - 2014-03-10 
XEP-0323 (PDF) Internet of Things - Sensor Data - Experimental - 2014-04-07 
XEP-0324 (PDF) Internet of Things - Provisioning - Experimental - 2014-05-21 
XEP-0325 (PDF) Internet of Things - Control -Experimental 2014-04-07 
XEP-0326 (PDF) Internet of Things - Concentrators - Experimental 2014-03-10
XMPP 
<message from='device@clayster.com' 
to='client@clayster.com/amr'> 
<fields xmlns='urn:xmpp:iot:sensordata' seqnr='5'> 
<node nodeId='Device02'> 
<timestamp value='2013-03-07T19:31:15'> 
<numeric name='Temperature' momentary='true' 
automaticReadout='true' value='23.4' unit='°C'/> 
</timestamp> 
</node> 
</fields> 
</message>
MQ Telemetry Transport 
Killer protocol for M2M applications 
Connect everything with a central broker 
Content agnostic 
Simplicity is MQTT feature #1
MQ Telemetry Transport 
- a sensor pushes telemetry values on topics 
greenhouse/42/temperature 
greenhouse/42/humidity 
greenhouse/42/luminosity 
- actions are on another topic 
greenhouse/42/open-the-roof 
- payload format is free (json,binary,whatever..)
MQTT security 
- Username and password 
- TLS on top of the TCP stream
MQ Telemetry Transport @ Eclipse IoT 
Write your first MQTT application today :) 
Mosquitto lightweight broker 
Moquette Java based broker 
Paho clients Java, C/C++, Go, Python, Lua 
Ponte bridge MQTT, CoAP and HTTP 
Kura Java OSGi application framework
M2M: devices to a server 
Server Server
IoT: devices on Internet 
Internet
Web of things 
IP address for everything! 
6LoWPAN on 802.15.4, Bluetooth LE 
Small IPv6 stack in battery powered devices 
Create mesh network with RPL (RFC 6550)
Web of things 
REST for everything! 
Sensor will live for decades 
Applications will evolve 
Things should expose dumb REST API, put the 
behaviour in mashup applications
Web of things
CoAP 
Constrained Application Protocol 
Internet Eng. Task Force standard for IoT 
Started around 2010! 
Final RFC 7252 published
CoAP 
Co: Constrained 
Simple to encode/decode: target 1$ 8bits MCU 
100K Flash, 10K RAM
CoAP 
Co: Constrained 
HTTP and TCP are not a good fit, use UDP 
Low power networks
CoAP 
AP: Application Protocol 
RESTful protocol designed from scratch 
Transparent mapping to HTTP 
Additional features of M2M scenarios 
GET, POST, PUT, DELETE 
URIs and media types 
Deduplication 
Optional retransmissions 
Observation, SMS
CoAP 
Protocol structure 
Binary protocol 
● Low parsing complexity 
● Small message size 
Options 
● Numbers with IANA registry 
● Type-Length-Value 
● Special option header 
marks payload if present
CoAP 
Discoverability 
Based on Web Linking (RFC5988) 
Extended to Core Link Format (RFC6690) 
GET /.well-known/core 
</config/groups>;rt="core.gp";ct=39, 
</sensors/temp>;rt="ucum.Cel";ct="0 50";obs, 
</large>;rt="block";sz=1280 
;title="Large resource" 
Decentralized discovery: Multicast Discovery 
Infrastructure-based: Resource Directories
CoAP 
Security 
Based on DTLS (TLS/SSL for Datagrams) 
Focus on Elliptic Curve Cryptography (ECC) 
ECDH, ECDSA, AES 
Hardware acceleration for IoT devices
Californium 
CoAP @ Eclipse IoT 
Pure Java library 
DTLS PSK/RPK/X509 
Unconstrained: 
For large devices or cloud services 
http://eclipse.org/californium
M2M/IoT Protocol security
IoT/M2M protocol security 
TLS for TCP (RFC 5246) 
DTLS for UDP (RFC 6347) 
Rolling your own is still not recommended :)
TLS/DTLS complexity? 
It’s customizable: 
X.509 certificate: certificate with chain of trust (CA & PKI) 
Raw-Public-key: only private/public key 
Pre-Shared-Key: symmetric keys without forward secrecy
TLS/DTLS complexity? 
Arduino Uno can run CoAP/MQTT 
But not in a secure way :( 
ROM/RAM cost estimation for (D)TLS: 
http://www.ietf.org/id/draft-ietf-lwig-tls-minimal-01.txt
(D)TLS Pre-Shared-Key mode 
+----------------------+-----------------+ 
| | 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
(D)TLS Raw Public Key mode 
+----------------------------+---------------+ 
| Cryptographic functions | Code size | 
+----------------------------+---------------+ 
| MD5 | 4,856 bytes | 
| SHA1 | 2,432 bytes | 
| HMAC | 2,928 bytes | 
| RSA | 3,984 bytes | 
| Big Integer Implementation | 8,328 bytes | 
| AES | 7,096 bytes | 
| RC4 | 1,496 bytes | 
| Random Number Generator | 4,840 bytes | 
+----------------------------+---------------+
(D)TLS Raw certificate mode 
You need to add: 
ASN.1 parser 
X509 certificate check code 
Revocation?
TLS for embedded 
It’s still a challenge on some platform 
IETF DICE working group https://datatracker. 
ietf.org/wg/dice/ 
But weirdly TLS PSK is not used 
Certificate revocation is also a mess for IoT
Open-source DTLS implementation 
TinyDTLS: http://tinydtls.sourceforge.net 
MIT licensed embedded friendly 
Lua binding: https://github.com/sbernard31/luadtls 
Eclipse Californium Scandium: 
A Java implementation of DTLS 
https://github.com/eclipse/californium.scandium
More security challenges ;) 
Provisioning your key from the factory and 
pushing them on the server... 
... for million of devices with different keys 
… and with the capability of changing the keys 
over-the-air
Device Management
Device management 
Monitor, configure, secure, and update your 
devices 
All you need for operating a fleet of IoT devices 
Not tied to your application
Interoperability is the key 
You don't know yet what hardware will power 
your IoT projects on the field 
but you MUST be able to do management in a 
consistent way
D.M. protocols 
Usual suspects: 
TR-069 
OMA-DM 
Lightweight M2M
TR-069 
Bidirectional SOAP API for : 
broadband modems, gateway, set-top-boxes 
Configure, monitor, firmware upgrades. 
Yeah SOAP : HTTPS and XML :( 
Not wireless friendly
OMA-DM 
An Open Mobile Alliance standard for Device 
Management 
Targets mobile phone terminals but can be 
used for M2M 
Mean to be used by mobile network operators.
OMA-DM features 
Read, write configuration or monitoring nodes. 
Trigger remote commands (Exec) 
FUMO: Firmware Update Management Object 
SCOMO: 
Software Component Management Object
OMA-DM flaws 
Phone oriented 
HTTP+XML (or binary XML) not compact at all
OMA-DM flaws: Hello world :) 
<?xml version="1.0" encoding="UTF-8"?> 
<SyncML xmlns="SYNCML:SYNCML1.2"> 
<SyncHdr> 
<VerDTD>1.2</VerDTD> 
<VerProto>DM/1.2</VerProto> 
<SessionID>D101</SessionID> 
<MsgID>1</MsgID> 
<Target> 
<LocURI>http://na.airvantage.net</LocURI> 
</Target> 
<Source><LocURI>IMEI:1234567890</LocURI></Source> 
<Meta>
<MaxMsgSize>20480</MaxMsgSize> 
<MaxObjSize>512000</MaxObjSize> 
</Meta> 
</SyncHdr> 
<SyncBody> 
<Alert> 
<CmdID>1</CmdID> 
<Data>1201</Data> 
</Alert> 
<Replace> 
<CmdID>2</CmdID> 
<Item> 
<Source><LocURI>./DevInfo/DevId</LocURI></Source> 
<Data>IMEI:1234567890</Data> 
</Item>
<Item> 
<Source><LocURI>./DevInfo/Man</LocURI></Source> 
<Data>Sierra Wireless</Data> 
</Item> 
<Item> 
<Source><LocURI>./DevInfo/Mod</LocURI></Source> 
<Data>SL6087</Data> 
</Item> 
<Item> 
<Source><LocURI>./DevInfo/DmV</LocURI></Source> 
<Data>Sierra Wireless OMC v2.0</Data> 
</Item> 
<Item> 
<Source><LocURI>./DevInfo/Lang</LocURI></Source><Data>en</Data> 
</Item> 
</Replace> 
<Final /> 
</SyncBody> 
</SyncML>
OMA-DM: Helloworld server reply 
<?xml version='1.0' encoding='UTF-8' standalone='no' ?> 
<SyncML xmlns="SYNCML:SYNCML1.2"> 
<SyncHdr><VerDTD>1.2</VerDTD><VerProto>DM/1.2</VerProto><SessionID>D101</SessionID> 
<MsgID>1</MsgID> 
<Target><LocURI>IMEI:1234567890</LocURI></Target> 
<Source><LocURI>http://na.airvantage.net</LocURI> 
<LocName>AIRVANTAGE-SERVER</LocName> 
</Source> 
</SyncHdr> 
<SyncBody> 
<Status> 
<CmdID>5</CmdID><MsgRef>1</MsgRef><CmdRef>0</CmdRef><Cmd>SyncHdr</Cmd> 
<Chal><Meta> 
<Format xmlns="syncml:metinf">b64</Format> 
<Type xmlns="syncml:metinf">syncml:auth-MAC</Type> 
XML QUOTA EXCEEDED..
OMA-DM security flaws 
Weak security (MD5-HMAC) on top of HTTP 
Use full HTTPS for higher grade security 
Complex to implement correctly, no streaming 
due to HMAC 
Unnecessary complex protocols is the safest 
way to security holes
OMA-DM 
But works :) 
Your mobile phone is managed using OMA-DM
OMA Lightweight M2M 
A reboot of OMA-DM but for M2M 
Built on top of CoAP 
REST API for device management
Lightweight M2M: API 
Security 
Device 
Server 
Connectivity monitoring 
Connectivity statistics 
Location 
Firmware 
The objects have a numerical identifier.
Lightweight M2M: URL 
/{object}/{instance}/{resource} 
Examples: 
"/6/0" the whole position object (binary 
record). 
"/6/0/2" only the altitude.
Lightweight M2M: API 
You can define your custom objects 
Published or not 
Structure is discovered using the CoAP link 
object format (RFC 6690)
Lightweight M2M: bootstrap 
Initial keying and configuration 
Well defined security lifecycle 
How to update credential and security scheme 
Keying from factory, smartcard, or over-the-air
Lightweight M2M: bootstrap 
Device can go out of factory with just BS 
credential 
When it goes live the BS server provisions the 
DM keys 
Future proof, and the BS server can be really 
robust
Eclipse Wakaama 
http://eclipse.org/wakaama 
A C library for implementing LWM2M 
Embedded friendly 
Lua binding for Wakaama: 
https://github.com/sbernard31/lualwm2m
More Lightweight M2M open source 
Leshan A Java implementation of LWM2M 
Server library based on Eclipse Californium 
Server UI 
http://github.com/jvermillard/leshan
LWM2M Demo 
SHOWTIME!
Protocol convergence 
M2M/IoT is not a simple problem 
Security and provisioning are really the hardest 
ones 
Try hard to reduce the number of protocols to 
make your life easier!
Burning in IoT hell: Mixing protocols 
Cloud servers 
OMA-DM 
Radio module 
2G/3G/LTE 
ZigBee/6LowPan 
WiFi, etc.. 
App1 
Linux O/S 
Supervisor 
App2 
App3 
Low power 
App 
OMA-DM 
MQTT/CoAP 
Ad-hoc 
TR-069 
Network 
Operator
LWM2M + CoAP 
LWM2M provide device management and 
security workflow for CoAP application using 
the same protocol! 
Huge simplicity and security win!
Key takeaways 
Break silos: embrace the web-of-things 
Think security first, it’s your biggest challenge 
Use standards for device management and 
keying 
CoAP + LWM2M for your next IoT application!
Thanks! 
Twitter: @vrmvrm 
E-mail: jvermillard@sierrawireless.com 
Creative Commons – Attribution (CC BY 3.0) 
Microchip designed by Nicolò Bertoncin from the Noun Project 
Cloud designed by James Fenton from the Noun Project 
Secure by Charlene Chen from The Noun Project 
Chat by Icomatic from The Noun Project 
Microchip designed by Mario Verduzco from the Noun Project 
Certificate designed by Charlene Chen from the Noun Project

Contenu connexe

Tendances

Securing Millions of Devices
Securing Millions of DevicesSecuring Millions of Devices
Securing Millions of DevicesKai Hudalla
 
Internet of Things (IoT) protocols COAP MQTT OSCON2014
Internet of Things (IoT) protocols  COAP MQTT OSCON2014Internet of Things (IoT) protocols  COAP MQTT OSCON2014
Internet of Things (IoT) protocols COAP MQTT OSCON2014Vidhya Gholkar
 
Android Implementation using MQTT Protocol
Android Implementation using MQTT ProtocolAndroid Implementation using MQTT Protocol
Android Implementation using MQTT ProtocolFatih Özlü
 
Introduction to CoAP
Introduction to CoAPIntroduction to CoAP
Introduction to CoAPEMQ
 
Protocols for internet of things
Protocols for internet of thingsProtocols for internet of things
Protocols for internet of thingsCharles Gibbons
 
Powering your next IoT application with MQTT - JavaOne 2014 tutorial
Powering your next IoT application with MQTT - JavaOne 2014 tutorialPowering your next IoT application with MQTT - JavaOne 2014 tutorial
Powering your next IoT application with MQTT - JavaOne 2014 tutorialBenjamin Cabé
 
20 - IDNOG03 - Franki Lim (ARISTA) - Overlay Networking with VXLAN
20 - IDNOG03 - Franki Lim (ARISTA) - Overlay Networking with VXLAN20 - IDNOG03 - Franki Lim (ARISTA) - Overlay Networking with VXLAN
20 - IDNOG03 - Franki Lim (ARISTA) - Overlay Networking with VXLANIndonesia Network Operators Group
 
OpenStack and OpenContrail for FreeBSD platform by Michał Dubiel
OpenStack and OpenContrail for FreeBSD platform by Michał DubielOpenStack and OpenContrail for FreeBSD platform by Michał Dubiel
OpenStack and OpenContrail for FreeBSD platform by Michał Dubieleurobsdcon
 
Hands on with lightweight m2m and Eclipse Leshan
Hands on with lightweight m2m and Eclipse LeshanHands on with lightweight m2m and Eclipse Leshan
Hands on with lightweight m2m and Eclipse LeshanJulien Vermillard
 
Npppd: easy vpn with OpenBSD
Npppd: easy vpn with OpenBSDNpppd: easy vpn with OpenBSD
Npppd: easy vpn with OpenBSDGiovanni Bechis
 
OpenStack MeetUp - OpenContrail Presentation
OpenStack MeetUp - OpenContrail PresentationOpenStack MeetUp - OpenContrail Presentation
OpenStack MeetUp - OpenContrail PresentationStacy Véronneau
 
Cisco Router As A Vpn Server
Cisco Router As A Vpn ServerCisco Router As A Vpn Server
Cisco Router As A Vpn Servermmoizuddin
 
[http://1PU.SH] Building Wireless Sensor Networks with MQTT-SN, RaspberryPi a...
[http://1PU.SH] Building Wireless Sensor Networks with MQTT-SN, RaspberryPi a...[http://1PU.SH] Building Wireless Sensor Networks with MQTT-SN, RaspberryPi a...
[http://1PU.SH] Building Wireless Sensor Networks with MQTT-SN, RaspberryPi a...Zvi Avraham
 
PLNOG 13: Nicolai van der Smagt: SDN
PLNOG 13: Nicolai van der Smagt: SDNPLNOG 13: Nicolai van der Smagt: SDN
PLNOG 13: Nicolai van der Smagt: SDNPROIDEA
 
Introduction MQTT in English
Introduction MQTT in EnglishIntroduction MQTT in English
Introduction MQTT in EnglishEric Xiao
 
Network and Service Virtualization tutorial at ONUG Spring 2015
Network and Service Virtualization tutorial at ONUG Spring 2015Network and Service Virtualization tutorial at ONUG Spring 2015
Network and Service Virtualization tutorial at ONUG Spring 2015SDN Hub
 
OMA Lightweight M2M Tutorial
OMA Lightweight M2M TutorialOMA Lightweight M2M Tutorial
OMA Lightweight M2M Tutorialzdshelby
 
ONIC Japan 2016 - Contrail アップデート
ONIC Japan 2016 - Contrail アップデートONIC Japan 2016 - Contrail アップデート
ONIC Japan 2016 - Contrail アップデートJuniper Networks (日本)
 
Getting started with MQTT - Virtual IoT Meetup presentation
Getting started with MQTT - Virtual IoT Meetup presentationGetting started with MQTT - Virtual IoT Meetup presentation
Getting started with MQTT - Virtual IoT Meetup presentationChristian Götz
 
IoT Communication Protocols, Socket Programming with Python, MQTT & HTTP
IoT Communication Protocols, Socket Programming with Python, MQTT & HTTPIoT Communication Protocols, Socket Programming with Python, MQTT & HTTP
IoT Communication Protocols, Socket Programming with Python, MQTT & HTTPAnshu Pandey
 

Tendances (20)

Securing Millions of Devices
Securing Millions of DevicesSecuring Millions of Devices
Securing Millions of Devices
 
Internet of Things (IoT) protocols COAP MQTT OSCON2014
Internet of Things (IoT) protocols  COAP MQTT OSCON2014Internet of Things (IoT) protocols  COAP MQTT OSCON2014
Internet of Things (IoT) protocols COAP MQTT OSCON2014
 
Android Implementation using MQTT Protocol
Android Implementation using MQTT ProtocolAndroid Implementation using MQTT Protocol
Android Implementation using MQTT Protocol
 
Introduction to CoAP
Introduction to CoAPIntroduction to CoAP
Introduction to CoAP
 
Protocols for internet of things
Protocols for internet of thingsProtocols for internet of things
Protocols for internet of things
 
Powering your next IoT application with MQTT - JavaOne 2014 tutorial
Powering your next IoT application with MQTT - JavaOne 2014 tutorialPowering your next IoT application with MQTT - JavaOne 2014 tutorial
Powering your next IoT application with MQTT - JavaOne 2014 tutorial
 
20 - IDNOG03 - Franki Lim (ARISTA) - Overlay Networking with VXLAN
20 - IDNOG03 - Franki Lim (ARISTA) - Overlay Networking with VXLAN20 - IDNOG03 - Franki Lim (ARISTA) - Overlay Networking with VXLAN
20 - IDNOG03 - Franki Lim (ARISTA) - Overlay Networking with VXLAN
 
OpenStack and OpenContrail for FreeBSD platform by Michał Dubiel
OpenStack and OpenContrail for FreeBSD platform by Michał DubielOpenStack and OpenContrail for FreeBSD platform by Michał Dubiel
OpenStack and OpenContrail for FreeBSD platform by Michał Dubiel
 
Hands on with lightweight m2m and Eclipse Leshan
Hands on with lightweight m2m and Eclipse LeshanHands on with lightweight m2m and Eclipse Leshan
Hands on with lightweight m2m and Eclipse Leshan
 
Npppd: easy vpn with OpenBSD
Npppd: easy vpn with OpenBSDNpppd: easy vpn with OpenBSD
Npppd: easy vpn with OpenBSD
 
OpenStack MeetUp - OpenContrail Presentation
OpenStack MeetUp - OpenContrail PresentationOpenStack MeetUp - OpenContrail Presentation
OpenStack MeetUp - OpenContrail Presentation
 
Cisco Router As A Vpn Server
Cisco Router As A Vpn ServerCisco Router As A Vpn Server
Cisco Router As A Vpn Server
 
[http://1PU.SH] Building Wireless Sensor Networks with MQTT-SN, RaspberryPi a...
[http://1PU.SH] Building Wireless Sensor Networks with MQTT-SN, RaspberryPi a...[http://1PU.SH] Building Wireless Sensor Networks with MQTT-SN, RaspberryPi a...
[http://1PU.SH] Building Wireless Sensor Networks with MQTT-SN, RaspberryPi a...
 
PLNOG 13: Nicolai van der Smagt: SDN
PLNOG 13: Nicolai van der Smagt: SDNPLNOG 13: Nicolai van der Smagt: SDN
PLNOG 13: Nicolai van der Smagt: SDN
 
Introduction MQTT in English
Introduction MQTT in EnglishIntroduction MQTT in English
Introduction MQTT in English
 
Network and Service Virtualization tutorial at ONUG Spring 2015
Network and Service Virtualization tutorial at ONUG Spring 2015Network and Service Virtualization tutorial at ONUG Spring 2015
Network and Service Virtualization tutorial at ONUG Spring 2015
 
OMA Lightweight M2M Tutorial
OMA Lightweight M2M TutorialOMA Lightweight M2M Tutorial
OMA Lightweight M2M Tutorial
 
ONIC Japan 2016 - Contrail アップデート
ONIC Japan 2016 - Contrail アップデートONIC Japan 2016 - Contrail アップデート
ONIC Japan 2016 - Contrail アップデート
 
Getting started with MQTT - Virtual IoT Meetup presentation
Getting started with MQTT - Virtual IoT Meetup presentationGetting started with MQTT - Virtual IoT Meetup presentation
Getting started with MQTT - Virtual IoT Meetup presentation
 
IoT Communication Protocols, Socket Programming with Python, MQTT & HTTP
IoT Communication Protocols, Socket Programming with Python, MQTT & HTTPIoT Communication Protocols, Socket Programming with Python, MQTT & HTTP
IoT Communication Protocols, Socket Programming with Python, MQTT & HTTP
 

Similaire à Iot Conference Berlin M2M,IoT, device management: one protocol to rule them all?

2016-09-eclipse-iot-cf-summit
2016-09-eclipse-iot-cf-summit2016-09-eclipse-iot-cf-summit
2016-09-eclipse-iot-cf-summitMike Milinkovich
 
Building the Internet of Things with Eclipse IoT - IoTBE meetup
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é
 
Endüstriyel Router Çözümleri
Endüstriyel Router ÇözümleriEndüstriyel Router Çözümleri
Endüstriyel Router ÇözümleriElmarkPlusTurkiye
 
Webinar: Comunicação TCP/IP segura
Webinar: Comunicação TCP/IP seguraWebinar: Comunicação TCP/IP segura
Webinar: Comunicação TCP/IP seguraEmbarcados
 
Leveraging the strength of OSGi to deliver a convergent IoT Ecosystem - O Log...
Leveraging the strength of OSGi to deliver a convergent IoT Ecosystem - O Log...Leveraging the strength of OSGi to deliver a convergent IoT Ecosystem - O Log...
Leveraging the strength of OSGi to deliver a convergent IoT Ecosystem - O Log...mfrancis
 
SDN_and_NFV_technologies_in_IoT_Networks
SDN_and_NFV_technologies_in_IoT_NetworksSDN_and_NFV_technologies_in_IoT_Networks
SDN_and_NFV_technologies_in_IoT_NetworksSrinivasa Addepalli
 
Enabling Multi-access Edge Computing (MEC) Platform-as-a-Service for Enterprises
Enabling Multi-access Edge Computing (MEC) Platform-as-a-Service for EnterprisesEnabling Multi-access Edge Computing (MEC) Platform-as-a-Service for Enterprises
Enabling Multi-access Edge Computing (MEC) Platform-as-a-Service for EnterprisesMichelle Holley
 
Using open source for IoT
Using open source for IoTUsing open source for IoT
Using open source for IoTIan Skerrett
 
Advancing IoT Communication Security with TLS and DTLS v1.3
Advancing IoT Communication Security with TLS and DTLS v1.3Advancing IoT Communication Security with TLS and DTLS v1.3
Advancing IoT Communication Security with TLS and DTLS v1.3Hannes Tschofenig
 
SDN/OpenFlow #lspe
SDN/OpenFlow #lspeSDN/OpenFlow #lspe
SDN/OpenFlow #lspeChris Westin
 
(MBL313) NEW! AWS IoT: Understanding Hardware Kits, SDKs, & Protocols
(MBL313) NEW! AWS IoT: Understanding Hardware Kits, SDKs, & Protocols(MBL313) NEW! AWS IoT: Understanding Hardware Kits, SDKs, & Protocols
(MBL313) NEW! AWS IoT: Understanding Hardware Kits, SDKs, & ProtocolsAmazon Web Services
 
Node home automation with Node.js and MQTT
Node home automation with Node.js and MQTTNode home automation with Node.js and MQTT
Node home automation with Node.js and MQTTMichael Dawson
 
Open source building blocks for the Internet of Things - Jfokus 2013
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 2013Benjamin Cabé
 
Data Capture in IBM WebSphere Premises Server - Aldo Eisma, IBM
Data Capture in IBM WebSphere Premises Server - Aldo Eisma, IBMData Capture in IBM WebSphere Premises Server - Aldo Eisma, IBM
Data Capture in IBM WebSphere Premises Server - Aldo Eisma, IBMmfrancis
 
Cotopaxi - IoT testing toolkit (Black Hat Asia 2019 Arsenal)
Cotopaxi - IoT testing toolkit (Black Hat Asia 2019 Arsenal)Cotopaxi - IoT testing toolkit (Black Hat Asia 2019 Arsenal)
Cotopaxi - IoT testing toolkit (Black Hat Asia 2019 Arsenal)Jakub Botwicz
 
Protocol and Integration Challenges for SDN
Protocol and Integration Challenges for SDNProtocol and Integration Challenges for SDN
Protocol and Integration Challenges for SDNGerardo Pardo-Castellote
 
IoT Seminar (Oct. 2016) Jong Young Lee - MDS Technology
IoT Seminar (Oct. 2016) Jong Young Lee - MDS TechnologyIoT Seminar (Oct. 2016) Jong Young Lee - MDS Technology
IoT Seminar (Oct. 2016) Jong Young Lee - MDS TechnologyOpen Mobile Alliance
 
Securing the Internet of Things
Securing the Internet of ThingsSecuring the Internet of Things
Securing the Internet of ThingsPaul Fremantle
 

Similaire à Iot Conference Berlin M2M,IoT, device management: one protocol to rule them all? (20)

2016-09-eclipse-iot-cf-summit
2016-09-eclipse-iot-cf-summit2016-09-eclipse-iot-cf-summit
2016-09-eclipse-iot-cf-summit
 
Building the Internet of Things with Eclipse IoT - IoTBE meetup
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
 
Endüstriyel Router Çözümleri
Endüstriyel Router ÇözümleriEndüstriyel Router Çözümleri
Endüstriyel Router Çözümleri
 
Webinar: Comunicação TCP/IP segura
Webinar: Comunicação TCP/IP seguraWebinar: Comunicação TCP/IP segura
Webinar: Comunicação TCP/IP segura
 
Leveraging the strength of OSGi to deliver a convergent IoT Ecosystem - O Log...
Leveraging the strength of OSGi to deliver a convergent IoT Ecosystem - O Log...Leveraging the strength of OSGi to deliver a convergent IoT Ecosystem - O Log...
Leveraging the strength of OSGi to deliver a convergent IoT Ecosystem - O Log...
 
DevCon 5 (July 2013) - WebSockets
DevCon 5 (July 2013) - WebSocketsDevCon 5 (July 2013) - WebSockets
DevCon 5 (July 2013) - WebSockets
 
SDN_and_NFV_technologies_in_IoT_Networks
SDN_and_NFV_technologies_in_IoT_NetworksSDN_and_NFV_technologies_in_IoT_Networks
SDN_and_NFV_technologies_in_IoT_Networks
 
Enabling Multi-access Edge Computing (MEC) Platform-as-a-Service for Enterprises
Enabling Multi-access Edge Computing (MEC) Platform-as-a-Service for EnterprisesEnabling Multi-access Edge Computing (MEC) Platform-as-a-Service for Enterprises
Enabling Multi-access Edge Computing (MEC) Platform-as-a-Service for Enterprises
 
Using open source for IoT
Using open source for IoTUsing open source for IoT
Using open source for IoT
 
Advancing IoT Communication Security with TLS and DTLS v1.3
Advancing IoT Communication Security with TLS and DTLS v1.3Advancing IoT Communication Security with TLS and DTLS v1.3
Advancing IoT Communication Security with TLS and DTLS v1.3
 
SDN/OpenFlow #lspe
SDN/OpenFlow #lspeSDN/OpenFlow #lspe
SDN/OpenFlow #lspe
 
(MBL313) NEW! AWS IoT: Understanding Hardware Kits, SDKs, & Protocols
(MBL313) NEW! AWS IoT: Understanding Hardware Kits, SDKs, & Protocols(MBL313) NEW! AWS IoT: Understanding Hardware Kits, SDKs, & Protocols
(MBL313) NEW! AWS IoT: Understanding Hardware Kits, SDKs, & Protocols
 
Node home automation with Node.js and MQTT
Node home automation with Node.js and MQTTNode home automation with Node.js and MQTT
Node home automation with Node.js and MQTT
 
Open source building blocks for the Internet of Things - Jfokus 2013
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
 
Data Capture in IBM WebSphere Premises Server - Aldo Eisma, IBM
Data Capture in IBM WebSphere Premises Server - Aldo Eisma, IBMData Capture in IBM WebSphere Premises Server - Aldo Eisma, IBM
Data Capture in IBM WebSphere Premises Server - Aldo Eisma, IBM
 
Cotopaxi - IoT testing toolkit (Black Hat Asia 2019 Arsenal)
Cotopaxi - IoT testing toolkit (Black Hat Asia 2019 Arsenal)Cotopaxi - IoT testing toolkit (Black Hat Asia 2019 Arsenal)
Cotopaxi - IoT testing toolkit (Black Hat Asia 2019 Arsenal)
 
Protocol and Integration Challenges for SDN
Protocol and Integration Challenges for SDNProtocol and Integration Challenges for SDN
Protocol and Integration Challenges for SDN
 
IoT Seminar (Oct. 2016) Jong Young Lee - MDS Technology
IoT Seminar (Oct. 2016) Jong Young Lee - MDS TechnologyIoT Seminar (Oct. 2016) Jong Young Lee - MDS Technology
IoT Seminar (Oct. 2016) Jong Young Lee - MDS Technology
 
GREAT MINDS
GREAT MINDSGREAT MINDS
GREAT MINDS
 
Securing the Internet of Things
Securing the Internet of ThingsSecuring the Internet of Things
Securing the Internet of Things
 

Dernier

Call Girls In The Ocean Pearl Retreat Hotel New Delhi 9873777170
Call Girls In The Ocean Pearl Retreat Hotel New Delhi 9873777170Call Girls In The Ocean Pearl Retreat Hotel New Delhi 9873777170
Call Girls In The Ocean Pearl Retreat Hotel New Delhi 9873777170Sonam Pathan
 
Q4-1-Illustrating-Hypothesis-Testing.pptx
Q4-1-Illustrating-Hypothesis-Testing.pptxQ4-1-Illustrating-Hypothesis-Testing.pptx
Q4-1-Illustrating-Hypothesis-Testing.pptxeditsforyah
 
Contact Rya Baby for Call Girls New Delhi
Contact Rya Baby for Call Girls New DelhiContact Rya Baby for Call Girls New Delhi
Contact Rya Baby for Call Girls New Delhimiss dipika
 
SCM Symposium PPT Format Customer loyalty is predi
SCM Symposium PPT Format Customer loyalty is prediSCM Symposium PPT Format Customer loyalty is predi
SCM Symposium PPT Format Customer loyalty is predieusebiomeyer
 
PHP-based rendering of TYPO3 Documentation
PHP-based rendering of TYPO3 DocumentationPHP-based rendering of TYPO3 Documentation
PHP-based rendering of TYPO3 DocumentationLinaWolf1
 
『澳洲文凭』买詹姆士库克大学毕业证书成绩单办理澳洲JCU文凭学位证书
『澳洲文凭』买詹姆士库克大学毕业证书成绩单办理澳洲JCU文凭学位证书『澳洲文凭』买詹姆士库克大学毕业证书成绩单办理澳洲JCU文凭学位证书
『澳洲文凭』买詹姆士库克大学毕业证书成绩单办理澳洲JCU文凭学位证书rnrncn29
 
NSX-T and Service Interfaces presentation
NSX-T and Service Interfaces presentationNSX-T and Service Interfaces presentation
NSX-T and Service Interfaces presentationMarko4394
 
Potsdam FH学位证,波茨坦应用技术大学毕业证书1:1制作
Potsdam FH学位证,波茨坦应用技术大学毕业证书1:1制作Potsdam FH学位证,波茨坦应用技术大学毕业证书1:1制作
Potsdam FH学位证,波茨坦应用技术大学毕业证书1:1制作ys8omjxb
 
办理(UofR毕业证书)罗切斯特大学毕业证成绩单原版一比一
办理(UofR毕业证书)罗切斯特大学毕业证成绩单原版一比一办理(UofR毕业证书)罗切斯特大学毕业证成绩单原版一比一
办理(UofR毕业证书)罗切斯特大学毕业证成绩单原版一比一z xss
 
Top 10 Interactive Website Design Trends in 2024.pptx
Top 10 Interactive Website Design Trends in 2024.pptxTop 10 Interactive Website Design Trends in 2024.pptx
Top 10 Interactive Website Design Trends in 2024.pptxDyna Gilbert
 
『澳洲文凭』买拉筹伯大学毕业证书成绩单办理澳洲LTU文凭学位证书
『澳洲文凭』买拉筹伯大学毕业证书成绩单办理澳洲LTU文凭学位证书『澳洲文凭』买拉筹伯大学毕业证书成绩单办理澳洲LTU文凭学位证书
『澳洲文凭』买拉筹伯大学毕业证书成绩单办理澳洲LTU文凭学位证书rnrncn29
 
办理多伦多大学毕业证成绩单|购买加拿大UTSG文凭证书
办理多伦多大学毕业证成绩单|购买加拿大UTSG文凭证书办理多伦多大学毕业证成绩单|购买加拿大UTSG文凭证书
办理多伦多大学毕业证成绩单|购买加拿大UTSG文凭证书zdzoqco
 
Font Performance - NYC WebPerf Meetup April '24
Font Performance - NYC WebPerf Meetup April '24Font Performance - NYC WebPerf Meetup April '24
Font Performance - NYC WebPerf Meetup April '24Paul Calvano
 
Call Girls Near The Suryaa Hotel New Delhi 9873777170
Call Girls Near The Suryaa Hotel New Delhi 9873777170Call Girls Near The Suryaa Hotel New Delhi 9873777170
Call Girls Near The Suryaa Hotel New Delhi 9873777170Sonam Pathan
 
Film cover research (1).pptxsdasdasdasdasdasa
Film cover research (1).pptxsdasdasdasdasdasaFilm cover research (1).pptxsdasdasdasdasdasa
Film cover research (1).pptxsdasdasdasdasdasa494f574xmv
 

Dernier (17)

Call Girls In The Ocean Pearl Retreat Hotel New Delhi 9873777170
Call Girls In The Ocean Pearl Retreat Hotel New Delhi 9873777170Call Girls In The Ocean Pearl Retreat Hotel New Delhi 9873777170
Call Girls In The Ocean Pearl Retreat Hotel New Delhi 9873777170
 
Q4-1-Illustrating-Hypothesis-Testing.pptx
Q4-1-Illustrating-Hypothesis-Testing.pptxQ4-1-Illustrating-Hypothesis-Testing.pptx
Q4-1-Illustrating-Hypothesis-Testing.pptx
 
Hot Sexy call girls in Rk Puram 🔝 9953056974 🔝 Delhi escort Service
Hot Sexy call girls in  Rk Puram 🔝 9953056974 🔝 Delhi escort ServiceHot Sexy call girls in  Rk Puram 🔝 9953056974 🔝 Delhi escort Service
Hot Sexy call girls in Rk Puram 🔝 9953056974 🔝 Delhi escort Service
 
Contact Rya Baby for Call Girls New Delhi
Contact Rya Baby for Call Girls New DelhiContact Rya Baby for Call Girls New Delhi
Contact Rya Baby for Call Girls New Delhi
 
SCM Symposium PPT Format Customer loyalty is predi
SCM Symposium PPT Format Customer loyalty is prediSCM Symposium PPT Format Customer loyalty is predi
SCM Symposium PPT Format Customer loyalty is predi
 
PHP-based rendering of TYPO3 Documentation
PHP-based rendering of TYPO3 DocumentationPHP-based rendering of TYPO3 Documentation
PHP-based rendering of TYPO3 Documentation
 
『澳洲文凭』买詹姆士库克大学毕业证书成绩单办理澳洲JCU文凭学位证书
『澳洲文凭』买詹姆士库克大学毕业证书成绩单办理澳洲JCU文凭学位证书『澳洲文凭』买詹姆士库克大学毕业证书成绩单办理澳洲JCU文凭学位证书
『澳洲文凭』买詹姆士库克大学毕业证书成绩单办理澳洲JCU文凭学位证书
 
young call girls in Uttam Nagar🔝 9953056974 🔝 Delhi escort Service
young call girls in Uttam Nagar🔝 9953056974 🔝 Delhi escort Serviceyoung call girls in Uttam Nagar🔝 9953056974 🔝 Delhi escort Service
young call girls in Uttam Nagar🔝 9953056974 🔝 Delhi escort Service
 
NSX-T and Service Interfaces presentation
NSX-T and Service Interfaces presentationNSX-T and Service Interfaces presentation
NSX-T and Service Interfaces presentation
 
Potsdam FH学位证,波茨坦应用技术大学毕业证书1:1制作
Potsdam FH学位证,波茨坦应用技术大学毕业证书1:1制作Potsdam FH学位证,波茨坦应用技术大学毕业证书1:1制作
Potsdam FH学位证,波茨坦应用技术大学毕业证书1:1制作
 
办理(UofR毕业证书)罗切斯特大学毕业证成绩单原版一比一
办理(UofR毕业证书)罗切斯特大学毕业证成绩单原版一比一办理(UofR毕业证书)罗切斯特大学毕业证成绩单原版一比一
办理(UofR毕业证书)罗切斯特大学毕业证成绩单原版一比一
 
Top 10 Interactive Website Design Trends in 2024.pptx
Top 10 Interactive Website Design Trends in 2024.pptxTop 10 Interactive Website Design Trends in 2024.pptx
Top 10 Interactive Website Design Trends in 2024.pptx
 
『澳洲文凭』买拉筹伯大学毕业证书成绩单办理澳洲LTU文凭学位证书
『澳洲文凭』买拉筹伯大学毕业证书成绩单办理澳洲LTU文凭学位证书『澳洲文凭』买拉筹伯大学毕业证书成绩单办理澳洲LTU文凭学位证书
『澳洲文凭』买拉筹伯大学毕业证书成绩单办理澳洲LTU文凭学位证书
 
办理多伦多大学毕业证成绩单|购买加拿大UTSG文凭证书
办理多伦多大学毕业证成绩单|购买加拿大UTSG文凭证书办理多伦多大学毕业证成绩单|购买加拿大UTSG文凭证书
办理多伦多大学毕业证成绩单|购买加拿大UTSG文凭证书
 
Font Performance - NYC WebPerf Meetup April '24
Font Performance - NYC WebPerf Meetup April '24Font Performance - NYC WebPerf Meetup April '24
Font Performance - NYC WebPerf Meetup April '24
 
Call Girls Near The Suryaa Hotel New Delhi 9873777170
Call Girls Near The Suryaa Hotel New Delhi 9873777170Call Girls Near The Suryaa Hotel New Delhi 9873777170
Call Girls Near The Suryaa Hotel New Delhi 9873777170
 
Film cover research (1).pptxsdasdasdasdasdasa
Film cover research (1).pptxsdasdasdasdasdasaFilm cover research (1).pptxsdasdasdasdasdasa
Film cover research (1).pptxsdasdasdasdasdasa
 

Iot Conference Berlin M2M,IoT, device management: one protocol to rule them all?

  • 1. M2M,IoT, device management: one protocol to rule them all? Julien Vermillard - Sierra Wireless
  • 2. Who am I? Software Engineer at Sierra Wireless, implementing various protocols for AirVantage cloud service Apache member, Eclipse IoT committer Californium, Wakaama, Leshan open-source Lightweight M2M server Tinkerer: electronics, reversing, Linux
  • 4. Agenda M2M/IoT application protocols (XMPP, MQTT) Web-of-things (CoAP) IoT protocol security Device management (TR-069, OMA-DM, OMA-LwM2M) Impact on IoT architectures
  • 5. Let’s start with.. QUESTIONS!
  • 8. Questions Know or use CoAP?
  • 9. Questions Device management: OMA-DM, Lightweight M2M or TR-069?
  • 11. XMPP Chat protocol based on XML recycled for IoT XEP-0322 (PDF) Efficient XML Interchange (EXI) Format Standards - 2014-03-10 XEP-0323 (PDF) Internet of Things - Sensor Data - Experimental - 2014-04-07 XEP-0324 (PDF) Internet of Things - Provisioning - Experimental - 2014-05-21 XEP-0325 (PDF) Internet of Things - Control -Experimental 2014-04-07 XEP-0326 (PDF) Internet of Things - Concentrators - Experimental 2014-03-10
  • 12. XMPP <message from='device@clayster.com' to='client@clayster.com/amr'> <fields xmlns='urn:xmpp:iot:sensordata' seqnr='5'> <node nodeId='Device02'> <timestamp value='2013-03-07T19:31:15'> <numeric name='Temperature' momentary='true' automaticReadout='true' value='23.4' unit='°C'/> </timestamp> </node> </fields> </message>
  • 13. MQ Telemetry Transport Killer protocol for M2M applications Connect everything with a central broker Content agnostic Simplicity is MQTT feature #1
  • 14. MQ Telemetry Transport - a sensor pushes telemetry values on topics greenhouse/42/temperature greenhouse/42/humidity greenhouse/42/luminosity - actions are on another topic greenhouse/42/open-the-roof - payload format is free (json,binary,whatever..)
  • 15. MQTT security - Username and password - TLS on top of the TCP stream
  • 16. MQ Telemetry Transport @ Eclipse IoT Write your first MQTT application today :) Mosquitto lightweight broker Moquette Java based broker Paho clients Java, C/C++, Go, Python, Lua Ponte bridge MQTT, CoAP and HTTP Kura Java OSGi application framework
  • 17. M2M: devices to a server Server Server
  • 18. IoT: devices on Internet Internet
  • 19. Web of things IP address for everything! 6LoWPAN on 802.15.4, Bluetooth LE Small IPv6 stack in battery powered devices Create mesh network with RPL (RFC 6550)
  • 20. Web of things REST for everything! Sensor will live for decades Applications will evolve Things should expose dumb REST API, put the behaviour in mashup applications
  • 22. CoAP Constrained Application Protocol Internet Eng. Task Force standard for IoT Started around 2010! Final RFC 7252 published
  • 23. CoAP Co: Constrained Simple to encode/decode: target 1$ 8bits MCU 100K Flash, 10K RAM
  • 24. CoAP Co: Constrained HTTP and TCP are not a good fit, use UDP Low power networks
  • 25. CoAP AP: Application Protocol RESTful protocol designed from scratch Transparent mapping to HTTP Additional features of M2M scenarios GET, POST, PUT, DELETE URIs and media types Deduplication Optional retransmissions Observation, SMS
  • 26. CoAP Protocol structure Binary protocol ● Low parsing complexity ● Small message size Options ● Numbers with IANA registry ● Type-Length-Value ● Special option header marks payload if present
  • 27. CoAP Discoverability Based on Web Linking (RFC5988) Extended to Core Link Format (RFC6690) GET /.well-known/core </config/groups>;rt="core.gp";ct=39, </sensors/temp>;rt="ucum.Cel";ct="0 50";obs, </large>;rt="block";sz=1280 ;title="Large resource" Decentralized discovery: Multicast Discovery Infrastructure-based: Resource Directories
  • 28. CoAP Security Based on DTLS (TLS/SSL for Datagrams) Focus on Elliptic Curve Cryptography (ECC) ECDH, ECDSA, AES Hardware acceleration for IoT devices
  • 29. Californium CoAP @ Eclipse IoT Pure Java library DTLS PSK/RPK/X509 Unconstrained: For large devices or cloud services http://eclipse.org/californium
  • 31. IoT/M2M protocol security TLS for TCP (RFC 5246) DTLS for UDP (RFC 6347) Rolling your own is still not recommended :)
  • 32. TLS/DTLS complexity? It’s customizable: X.509 certificate: certificate with chain of trust (CA & PKI) Raw-Public-key: only private/public key Pre-Shared-Key: symmetric keys without forward secrecy
  • 33. TLS/DTLS complexity? Arduino Uno can run CoAP/MQTT But not in a secure way :( ROM/RAM cost estimation for (D)TLS: http://www.ietf.org/id/draft-ietf-lwig-tls-minimal-01.txt
  • 34. (D)TLS Pre-Shared-Key mode +----------------------+-----------------+ | | 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
  • 35. (D)TLS Raw Public Key mode +----------------------------+---------------+ | Cryptographic functions | Code size | +----------------------------+---------------+ | MD5 | 4,856 bytes | | SHA1 | 2,432 bytes | | HMAC | 2,928 bytes | | RSA | 3,984 bytes | | Big Integer Implementation | 8,328 bytes | | AES | 7,096 bytes | | RC4 | 1,496 bytes | | Random Number Generator | 4,840 bytes | +----------------------------+---------------+
  • 36. (D)TLS Raw certificate mode You need to add: ASN.1 parser X509 certificate check code Revocation?
  • 37. TLS for embedded It’s still a challenge on some platform IETF DICE working group https://datatracker. ietf.org/wg/dice/ But weirdly TLS PSK is not used Certificate revocation is also a mess for IoT
  • 38. Open-source DTLS implementation TinyDTLS: http://tinydtls.sourceforge.net MIT licensed embedded friendly Lua binding: https://github.com/sbernard31/luadtls Eclipse Californium Scandium: A Java implementation of DTLS https://github.com/eclipse/californium.scandium
  • 39. More security challenges ;) Provisioning your key from the factory and pushing them on the server... ... for million of devices with different keys … and with the capability of changing the keys over-the-air
  • 41. Device management Monitor, configure, secure, and update your devices All you need for operating a fleet of IoT devices Not tied to your application
  • 42. Interoperability is the key You don't know yet what hardware will power your IoT projects on the field but you MUST be able to do management in a consistent way
  • 43. D.M. protocols Usual suspects: TR-069 OMA-DM Lightweight M2M
  • 44. TR-069 Bidirectional SOAP API for : broadband modems, gateway, set-top-boxes Configure, monitor, firmware upgrades. Yeah SOAP : HTTPS and XML :( Not wireless friendly
  • 45. OMA-DM An Open Mobile Alliance standard for Device Management Targets mobile phone terminals but can be used for M2M Mean to be used by mobile network operators.
  • 46. OMA-DM features Read, write configuration or monitoring nodes. Trigger remote commands (Exec) FUMO: Firmware Update Management Object SCOMO: Software Component Management Object
  • 47. OMA-DM flaws Phone oriented HTTP+XML (or binary XML) not compact at all
  • 48. OMA-DM flaws: Hello world :) <?xml version="1.0" encoding="UTF-8"?> <SyncML xmlns="SYNCML:SYNCML1.2"> <SyncHdr> <VerDTD>1.2</VerDTD> <VerProto>DM/1.2</VerProto> <SessionID>D101</SessionID> <MsgID>1</MsgID> <Target> <LocURI>http://na.airvantage.net</LocURI> </Target> <Source><LocURI>IMEI:1234567890</LocURI></Source> <Meta>
  • 49. <MaxMsgSize>20480</MaxMsgSize> <MaxObjSize>512000</MaxObjSize> </Meta> </SyncHdr> <SyncBody> <Alert> <CmdID>1</CmdID> <Data>1201</Data> </Alert> <Replace> <CmdID>2</CmdID> <Item> <Source><LocURI>./DevInfo/DevId</LocURI></Source> <Data>IMEI:1234567890</Data> </Item>
  • 50. <Item> <Source><LocURI>./DevInfo/Man</LocURI></Source> <Data>Sierra Wireless</Data> </Item> <Item> <Source><LocURI>./DevInfo/Mod</LocURI></Source> <Data>SL6087</Data> </Item> <Item> <Source><LocURI>./DevInfo/DmV</LocURI></Source> <Data>Sierra Wireless OMC v2.0</Data> </Item> <Item> <Source><LocURI>./DevInfo/Lang</LocURI></Source><Data>en</Data> </Item> </Replace> <Final /> </SyncBody> </SyncML>
  • 51. OMA-DM: Helloworld server reply <?xml version='1.0' encoding='UTF-8' standalone='no' ?> <SyncML xmlns="SYNCML:SYNCML1.2"> <SyncHdr><VerDTD>1.2</VerDTD><VerProto>DM/1.2</VerProto><SessionID>D101</SessionID> <MsgID>1</MsgID> <Target><LocURI>IMEI:1234567890</LocURI></Target> <Source><LocURI>http://na.airvantage.net</LocURI> <LocName>AIRVANTAGE-SERVER</LocName> </Source> </SyncHdr> <SyncBody> <Status> <CmdID>5</CmdID><MsgRef>1</MsgRef><CmdRef>0</CmdRef><Cmd>SyncHdr</Cmd> <Chal><Meta> <Format xmlns="syncml:metinf">b64</Format> <Type xmlns="syncml:metinf">syncml:auth-MAC</Type> XML QUOTA EXCEEDED..
  • 52. OMA-DM security flaws Weak security (MD5-HMAC) on top of HTTP Use full HTTPS for higher grade security Complex to implement correctly, no streaming due to HMAC Unnecessary complex protocols is the safest way to security holes
  • 53. OMA-DM But works :) Your mobile phone is managed using OMA-DM
  • 54. OMA Lightweight M2M A reboot of OMA-DM but for M2M Built on top of CoAP REST API for device management
  • 55. Lightweight M2M: API Security Device Server Connectivity monitoring Connectivity statistics Location Firmware The objects have a numerical identifier.
  • 56. Lightweight M2M: URL /{object}/{instance}/{resource} Examples: "/6/0" the whole position object (binary record). "/6/0/2" only the altitude.
  • 57. Lightweight M2M: API You can define your custom objects Published or not Structure is discovered using the CoAP link object format (RFC 6690)
  • 58. Lightweight M2M: bootstrap Initial keying and configuration Well defined security lifecycle How to update credential and security scheme Keying from factory, smartcard, or over-the-air
  • 59. Lightweight M2M: bootstrap Device can go out of factory with just BS credential When it goes live the BS server provisions the DM keys Future proof, and the BS server can be really robust
  • 60. Eclipse Wakaama http://eclipse.org/wakaama A C library for implementing LWM2M Embedded friendly Lua binding for Wakaama: https://github.com/sbernard31/lualwm2m
  • 61. More Lightweight M2M open source Leshan A Java implementation of LWM2M Server library based on Eclipse Californium Server UI http://github.com/jvermillard/leshan
  • 63. Protocol convergence M2M/IoT is not a simple problem Security and provisioning are really the hardest ones Try hard to reduce the number of protocols to make your life easier!
  • 64. Burning in IoT hell: Mixing protocols Cloud servers OMA-DM Radio module 2G/3G/LTE ZigBee/6LowPan WiFi, etc.. App1 Linux O/S Supervisor App2 App3 Low power App OMA-DM MQTT/CoAP Ad-hoc TR-069 Network Operator
  • 65. LWM2M + CoAP LWM2M provide device management and security workflow for CoAP application using the same protocol! Huge simplicity and security win!
  • 66. Key takeaways Break silos: embrace the web-of-things Think security first, it’s your biggest challenge Use standards for device management and keying CoAP + LWM2M for your next IoT application!
  • 67. Thanks! Twitter: @vrmvrm E-mail: jvermillard@sierrawireless.com Creative Commons – Attribution (CC BY 3.0) Microchip designed by Nicolò Bertoncin from the Noun Project Cloud designed by James Fenton from the Noun Project Secure by Charlene Chen from The Noun Project Chat by Icomatic from The Noun Project Microchip designed by Mario Verduzco from the Noun Project Certificate designed by Charlene Chen from the Noun Project