SlideShare uma empresa Scribd logo
1 de 44
Baixar para ler offline
Julien Vermillard, Sierra Wireless
M2M, IoT, DEVICE MANAGEMENT:
ONE PROTOCOL TO RULE THEM
ALL?
Software Engineer at Sierra Wireless,
implementing various protocols for AirVantage
cloud service.
Apache Software Foundation member.
Initial Eclipse committer on Californium and
Wakaama.
Disclaimer: opinions expressed are mine :o)
M2M/IoT protocols:
MQTT and CoAP
Device management:
TR-069, OMA-DM, LWM2M
Application + DM => Protocol hell.
My definition:
Large fleet of cloud connected devices solving
a business problem.
(Ex: oil pump monitoring, truck fleet tracking)
Usual suspects:
MQTT
CoAP
XMPP
Very simple and light protocol on top of TCP.
Good fit for wireless applications.
Publish/Subscribe paradigm.
Websocket support.
On the wire messages:
- connect (with or without authentication)
- publish/puback
- subscribe/suback
- ping/pingack for keepalive
- disconnect
And voilà!
0 = fire and forget
1 = at least once
2 = exactly one time delivery
- a sensor pushes telemetry values on some
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..)
Uses SSL/TLS on top of the TCP stream.
Pre-shared key encryption is supported.
MQTT for Sensor Networks
A lighter MQTT for low bandwidth, high failure
networks (Can use UDP/IP or plain Zigbee)
Security should be provided by the network
(forget plain Internet!)
Paho for clients Java, C/C++, Python, Js, Go, Lua ...
Mosquitto feature full broker.
Ponte: Node.js server bridging MQTT, HTTP and
CoAP.
Kura: M2M application framework
with MQTT as default transport
Internet Eng. Task Force standard
for Internet of Things.
Started in 2010!
Draft-18 is the final one.
Simple to encode: targets 8 bits MCU.
UDP based, targets low power IP networks.
Two level of QoS: confirmable message or not.
Simple observation mechanism.
REST paradigm for things:
URI: coap://hostname/lamps/12/status
HTTP like verbs:
- GET for reads
- POST, PUT, DELETE for mutation
But in a compact binary datagram.
.0 1 2 3
.0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|Ver| T | TKL | Code | Message ID |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Token (if any, TKL bytes) ...
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Options (if any) ...
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|1 1 1 1 1 1 1 1| Payload (if any) ...
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
GET coap://hostname/.well-known/core
Provides a list of all supported resources!
DTLS (TLS on UDP Datagrams)
Pre-shared key or not
DTLS is not really light :(
Californium: Java CoAP server and client
Ponte
Definition:
Secure, monitor, manage fleet of deployed devices.
Configure the device.
Update the firmware (and maybe the app)
Monitor and gather connectivity statistics.
Usual suspects:
TR-069
OMA-DM
Lightweight M2M
Goals: provide an application agnostic way to
manage fleets of devices.
An Open Mobile Alliance standard for Device
Management.
Targets mobile phone terminals but can be used
for M2M devices.
Mean to be used by mobile network operators.
Read, write configuration or monitoring nodes.
Trigger remote commands (Exec)
FUMO:
Firmware Update Management Object
SCOMO:
Software Component Management Object
HTTP/XML based, with a binary XML (WBXML)
encoding.
Weird phone features gets in the way: every
communication the device gives its language (ex:
EN_en)
Binary SMS for wakeup and bootstraping.
HMAC MD5: HTTP Header signing the payload
Use HTTPS if you need confidentiality
A new Open Mobile Alliance standard
An OMA-DM successor for M2M targets
Built on top of CoAP:
Really lighter than OMA-DM or TRS-069.
Firmware upgrades (in band or thru http)
Device monitoring and configuration
Server provisioning (bootstraping)
SMS can be used for waking-up the device.
Or for any GET/POST/PUT!
Device
Server
Connectivity monitoring
Connectivity statistics
Location
Firmware
The objects have a numerical identifier.
URLs:
/{object}/{instance}/{resource}
Ex:
/6/0 = whole position object (binary TLV)
/6/0/2 = only the altitude value
Wakaama (ex liblwm2m):
A C library for implementing LWM2M in your
devices.
Leshan:
A Java based LWM2M server.
Based on Californium (Eclipse).
http://github.com/jvermillard/leshan
Cloud serversEmbedded
Application
Cloud serversEmbedded
Application
MQTT or CoAP
for fun and profits!
Cloud servers
MQTT or
CoAP
OMA-DM
Application
Supervisor
O/S
Cloud servers
Radio module
2G/3G/LTE
ZigBee/6LowPan
WiFi, etc..
App1
App2
App3
Supervisor
Low power
App
OMA-DM
MQTT/CoAP
OMA-DM
Ad-hoc
Linux O/S
OMA-DM
Network
Operator
Every processor and every application need to be
configured, upgraded and monitored.
Device management is not an option!
Each protocol must be secured.
And synchronized:
You can’t trigger an update with a protocol, while
you are rebooting the device using another.
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!
CoAP with LWM2M can provide a light device
management and application protocol to rule
them all!
But CoAP is still a newcomer in the field and not a
one size fits all solution.
Let’s specify device management on top of
MQTT!
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
Twitter: @vrmvrm
E-mail: jvermillard@sierrawireless.com
M2M, IoT, Device management: one protocol to rule them all? - EclipseCon 2014

Mais conteúdo relacionado

Mais procurados

MQTT - A practical protocol for the Internet of Things
MQTT - A practical protocol for the Internet of ThingsMQTT - A practical protocol for the Internet of Things
MQTT - A practical protocol for the Internet of ThingsBryan Boyd
 
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
 
M2M Protocols for Constrained Environments in the Context of IoT: A Compariso...
M2M Protocols for Constrained Environments in the Context of IoT: A Compariso...M2M Protocols for Constrained Environments in the Context of IoT: A Compariso...
M2M Protocols for Constrained Environments in the Context of IoT: A Compariso...Edielson P. Frigieri
 
TCP over 6LoWPAN for Industrial Applications
TCP over 6LoWPAN for Industrial ApplicationsTCP over 6LoWPAN for Industrial Applications
TCP over 6LoWPAN for Industrial ApplicationsAhmed Ayadi
 
OMA LwM2M Workshop - Friedhelm Rodermund, OMA LwM2M in the IoT Space
OMA LwM2M Workshop - Friedhelm Rodermund, OMA LwM2M in the IoT SpaceOMA LwM2M Workshop - Friedhelm Rodermund, OMA LwM2M in the IoT Space
OMA LwM2M Workshop - Friedhelm Rodermund, OMA LwM2M in the IoT SpaceOpen Mobile Alliance
 
ARM CoAP Tutorial
ARM CoAP TutorialARM CoAP Tutorial
ARM CoAP Tutorialzdshelby
 
IAB-5039 : MQTT: A Protocol for the Internet of Things (InterConnect 2015)
IAB-5039 : MQTT: A Protocol for the Internet of Things (InterConnect 2015)IAB-5039 : MQTT: A Protocol for the Internet of Things (InterConnect 2015)
IAB-5039 : MQTT: A Protocol for the Internet of Things (InterConnect 2015)PeterNiblett
 
Introduction MQTT in English
Introduction MQTT in EnglishIntroduction MQTT in English
Introduction MQTT in EnglishEric Xiao
 
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
 
Taking Security Groups to Ludicrous Speed with OVS (OpenStack Summit 2015)
Taking Security Groups to Ludicrous Speed with OVS (OpenStack Summit 2015)Taking Security Groups to Ludicrous Speed with OVS (OpenStack Summit 2015)
Taking Security Groups to Ludicrous Speed with OVS (OpenStack Summit 2015)Thomas Graf
 
Openstack Neutron, interconnections with BGP/MPLS VPNs
Openstack Neutron, interconnections with BGP/MPLS VPNsOpenstack Neutron, interconnections with BGP/MPLS VPNs
Openstack Neutron, interconnections with BGP/MPLS VPNsThomas Morin
 
Interconnecting Neutron and Network Operators' BGP VPNs
Interconnecting Neutron and Network Operators' BGP VPNsInterconnecting Neutron and Network Operators' BGP VPNs
Interconnecting Neutron and Network Operators' BGP VPNsThomas Morin
 
OpenStack MeetUp - OpenContrail Presentation
OpenStack MeetUp - OpenContrail PresentationOpenStack MeetUp - OpenContrail Presentation
OpenStack MeetUp - OpenContrail PresentationStacy Véronneau
 
MQTT, Eclipse Paho and Java - Messaging for the Internet of Things
MQTT, Eclipse Paho and Java - Messaging for the Internet of ThingsMQTT, Eclipse Paho and Java - Messaging for the Internet of Things
MQTT, Eclipse Paho and Java - Messaging for the Internet of ThingsAndy Piper
 
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
 
CoAP in Reactive Blocks
CoAP in Reactive BlocksCoAP in Reactive Blocks
CoAP in Reactive BlocksBitreactive
 
What's new at Eclipse IoT - EclipseCon 2014
What's new at Eclipse IoT - EclipseCon 2014What's new at Eclipse IoT - EclipseCon 2014
What's new at Eclipse IoT - EclipseCon 2014Benjamin Cabé
 
How do Things talk? IoT Application Protocols 101
How do Things talk? IoT Application Protocols 101How do Things talk? IoT Application Protocols 101
How do Things talk? IoT Application Protocols 101Christian Götz
 

Mais procurados (20)

MQTT - A practical protocol for the Internet of Things
MQTT - A practical protocol for the Internet of ThingsMQTT - A practical protocol for the Internet of Things
MQTT - A practical protocol for the Internet of Things
 
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
 
M2M Protocols for Constrained Environments in the Context of IoT: A Compariso...
M2M Protocols for Constrained Environments in the Context of IoT: A Compariso...M2M Protocols for Constrained Environments in the Context of IoT: A Compariso...
M2M Protocols for Constrained Environments in the Context of IoT: A Compariso...
 
Low-power IP: 6LoWPAN & Co.
Low-power IP: 6LoWPAN & Co.Low-power IP: 6LoWPAN & Co.
Low-power IP: 6LoWPAN & Co.
 
TCP over 6LoWPAN for Industrial Applications
TCP over 6LoWPAN for Industrial ApplicationsTCP over 6LoWPAN for Industrial Applications
TCP over 6LoWPAN for Industrial Applications
 
OMA LwM2M Workshop - Friedhelm Rodermund, OMA LwM2M in the IoT Space
OMA LwM2M Workshop - Friedhelm Rodermund, OMA LwM2M in the IoT SpaceOMA LwM2M Workshop - Friedhelm Rodermund, OMA LwM2M in the IoT Space
OMA LwM2M Workshop - Friedhelm Rodermund, OMA LwM2M in the IoT Space
 
ARM CoAP Tutorial
ARM CoAP TutorialARM CoAP Tutorial
ARM CoAP Tutorial
 
IAB-5039 : MQTT: A Protocol for the Internet of Things (InterConnect 2015)
IAB-5039 : MQTT: A Protocol for the Internet of Things (InterConnect 2015)IAB-5039 : MQTT: A Protocol for the Internet of Things (InterConnect 2015)
IAB-5039 : MQTT: A Protocol for the Internet of Things (InterConnect 2015)
 
Introduction MQTT in English
Introduction MQTT in EnglishIntroduction MQTT in English
Introduction MQTT in English
 
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
 
Taking Security Groups to Ludicrous Speed with OVS (OpenStack Summit 2015)
Taking Security Groups to Ludicrous Speed with OVS (OpenStack Summit 2015)Taking Security Groups to Ludicrous Speed with OVS (OpenStack Summit 2015)
Taking Security Groups to Ludicrous Speed with OVS (OpenStack Summit 2015)
 
Openstack Neutron, interconnections with BGP/MPLS VPNs
Openstack Neutron, interconnections with BGP/MPLS VPNsOpenstack Neutron, interconnections with BGP/MPLS VPNs
Openstack Neutron, interconnections with BGP/MPLS VPNs
 
Interconnecting Neutron and Network Operators' BGP VPNs
Interconnecting Neutron and Network Operators' BGP VPNsInterconnecting Neutron and Network Operators' BGP VPNs
Interconnecting Neutron and Network Operators' BGP VPNs
 
OpenStack MeetUp - OpenContrail Presentation
OpenStack MeetUp - OpenContrail PresentationOpenStack MeetUp - OpenContrail Presentation
OpenStack MeetUp - OpenContrail Presentation
 
MQTT, Eclipse Paho and Java - Messaging for the Internet of Things
MQTT, Eclipse Paho and Java - Messaging for the Internet of ThingsMQTT, Eclipse Paho and Java - Messaging for the Internet of Things
MQTT, Eclipse Paho and Java - Messaging for the Internet of Things
 
MQTT and CoAP
MQTT and CoAPMQTT and CoAP
MQTT and CoAP
 
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
 
CoAP in Reactive Blocks
CoAP in Reactive BlocksCoAP in Reactive Blocks
CoAP in Reactive Blocks
 
What's new at Eclipse IoT - EclipseCon 2014
What's new at Eclipse IoT - EclipseCon 2014What's new at Eclipse IoT - EclipseCon 2014
What's new at Eclipse IoT - EclipseCon 2014
 
How do Things talk? IoT Application Protocols 101
How do Things talk? IoT Application Protocols 101How do Things talk? IoT Application Protocols 101
How do Things talk? IoT Application Protocols 101
 

Semelhante a M2M, IoT, Device management: one protocol to rule them all? - EclipseCon 2014

M2M, IOT, Device Managment: COAP/LWM2M to rule them all?
M2M, IOT, Device Managment: COAP/LWM2M to rule them all?M2M, IOT, Device Managment: COAP/LWM2M to rule them all?
M2M, IOT, Device Managment: COAP/LWM2M to rule them all?Julien Vermillard
 
Securing & Enforcing Network Policy and Encryption with Weave Net
Securing & Enforcing Network Policy and Encryption with Weave NetSecuring & Enforcing Network Policy and Encryption with Weave Net
Securing & Enforcing Network Policy and Encryption with Weave NetLuke Marsden
 
MikroTik & RouterOS
MikroTik & RouterOSMikroTik & RouterOS
MikroTik & RouterOSFaelix Ltd
 
QoS Classification on Cisco IOS Router
QoS Classification on Cisco IOS RouterQoS Classification on Cisco IOS Router
QoS Classification on Cisco IOS RouterNetProtocol Xpert
 
Chapter 3. sensors in the network domain
Chapter 3. sensors in the network domainChapter 3. sensors in the network domain
Chapter 3. sensors in the network domainPhu Nguyen
 
Securing Millions of Devices
Securing Millions of DevicesSecuring Millions of Devices
Securing Millions of DevicesKai Hudalla
 
Ground-Cloud-Cloud-Ground - NAB 2022 IP Showcase
Ground-Cloud-Cloud-Ground - NAB 2022 IP ShowcaseGround-Cloud-Cloud-Ground - NAB 2022 IP Showcase
Ground-Cloud-Cloud-Ground - NAB 2022 IP ShowcaseKieran Kunhya
 
Witekio IoT presentation
Witekio IoT presentation Witekio IoT presentation
Witekio IoT presentation Witekio
 
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
 
Data centre networking at London School of Economics and Political Science - ...
Data centre networking at London School of Economics and Political Science - ...Data centre networking at London School of Economics and Political Science - ...
Data centre networking at London School of Economics and Political Science - ...Jisc
 
L2 over l3 ecnaspsulations (english)
L2 over l3 ecnaspsulations (english)L2 over l3 ecnaspsulations (english)
L2 over l3 ecnaspsulations (english)Motonori Shindo
 
INFA 620Laboratory 4 Configuring a FirewallIn this exercise.docx
INFA 620Laboratory 4 Configuring a FirewallIn this exercise.docxINFA 620Laboratory 4 Configuring a FirewallIn this exercise.docx
INFA 620Laboratory 4 Configuring a FirewallIn this exercise.docxcarliotwaycave
 
[Advantech] ADAM-3600 training kit and Taglink
[Advantech]  ADAM-3600 training kit and Taglink[Advantech]  ADAM-3600 training kit and Taglink
[Advantech] ADAM-3600 training kit and TaglinkMing-Hung Hseih
 
The advantages of Arista/OVH configurations, and the technologies behind buil...
The advantages of Arista/OVH configurations, and the technologies behind buil...The advantages of Arista/OVH configurations, and the technologies behind buil...
The advantages of Arista/OVH configurations, and the technologies behind buil...OVHcloud
 

Semelhante a M2M, IoT, Device management: one protocol to rule them all? - EclipseCon 2014 (20)

M2M, IOT, Device Managment: COAP/LWM2M to rule them all?
M2M, IOT, Device Managment: COAP/LWM2M to rule them all?M2M, IOT, Device Managment: COAP/LWM2M to rule them all?
M2M, IOT, Device Managment: COAP/LWM2M to rule them all?
 
F5 tcpdump
F5 tcpdumpF5 tcpdump
F5 tcpdump
 
Securing & Enforcing Network Policy and Encryption with Weave Net
Securing & Enforcing Network Policy and Encryption with Weave NetSecuring & Enforcing Network Policy and Encryption with Weave Net
Securing & Enforcing Network Policy and Encryption with Weave Net
 
MikroTik & RouterOS
MikroTik & RouterOSMikroTik & RouterOS
MikroTik & RouterOS
 
Ccna Imp Guide
Ccna Imp GuideCcna Imp Guide
Ccna Imp Guide
 
QoS Classification on Cisco IOS Router
QoS Classification on Cisco IOS RouterQoS Classification on Cisco IOS Router
QoS Classification on Cisco IOS Router
 
Chapter 3. sensors in the network domain
Chapter 3. sensors in the network domainChapter 3. sensors in the network domain
Chapter 3. sensors in the network domain
 
Securing Millions of Devices
Securing Millions of DevicesSecuring Millions of Devices
Securing Millions of Devices
 
Ground-Cloud-Cloud-Ground - NAB 2022 IP Showcase
Ground-Cloud-Cloud-Ground - NAB 2022 IP ShowcaseGround-Cloud-Cloud-Ground - NAB 2022 IP Showcase
Ground-Cloud-Cloud-Ground - NAB 2022 IP Showcase
 
Dc fabric path
Dc fabric pathDc fabric path
Dc fabric path
 
Witekio IoT presentation
Witekio IoT presentation Witekio IoT presentation
Witekio IoT presentation
 
Protocol overhead
Protocol overheadProtocol overhead
Protocol overhead
 
Switching
SwitchingSwitching
Switching
 
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)
 
Data centre networking at London School of Economics and Political Science - ...
Data centre networking at London School of Economics and Political Science - ...Data centre networking at London School of Economics and Political Science - ...
Data centre networking at London School of Economics and Political Science - ...
 
L2 over l3 ecnaspsulations (english)
L2 over l3 ecnaspsulations (english)L2 over l3 ecnaspsulations (english)
L2 over l3 ecnaspsulations (english)
 
INFA 620Laboratory 4 Configuring a FirewallIn this exercise.docx
INFA 620Laboratory 4 Configuring a FirewallIn this exercise.docxINFA 620Laboratory 4 Configuring a FirewallIn this exercise.docx
INFA 620Laboratory 4 Configuring a FirewallIn this exercise.docx
 
[Advantech] ADAM-3600 training kit and Taglink
[Advantech]  ADAM-3600 training kit and Taglink[Advantech]  ADAM-3600 training kit and Taglink
[Advantech] ADAM-3600 training kit and Taglink
 
RAZORPOINT TCP/UDP PORTS LIST
RAZORPOINT TCP/UDP PORTS LISTRAZORPOINT TCP/UDP PORTS LIST
RAZORPOINT TCP/UDP PORTS LIST
 
The advantages of Arista/OVH configurations, and the technologies behind buil...
The advantages of Arista/OVH configurations, and the technologies behind buil...The advantages of Arista/OVH configurations, and the technologies behind buil...
The advantages of Arista/OVH configurations, and the technologies behind buil...
 

Último

Zeshan Sattar- Assessing the skill requirements and industry expectations for...
Zeshan Sattar- Assessing the skill requirements and industry expectations for...Zeshan Sattar- Assessing the skill requirements and industry expectations for...
Zeshan Sattar- Assessing the skill requirements and industry expectations for...itnewsafrica
 
Design pattern talk by Kaya Weers - 2024 (v2)
Design pattern talk by Kaya Weers - 2024 (v2)Design pattern talk by Kaya Weers - 2024 (v2)
Design pattern talk by Kaya Weers - 2024 (v2)Kaya Weers
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxLoriGlavin3
 
A Framework for Development in the AI Age
A Framework for Development in the AI AgeA Framework for Development in the AI Age
A Framework for Development in the AI AgeCprime
 
Varsha Sewlal- Cyber Attacks on Critical Critical Infrastructure
Varsha Sewlal- Cyber Attacks on Critical Critical InfrastructureVarsha Sewlal- Cyber Attacks on Critical Critical Infrastructure
Varsha Sewlal- Cyber Attacks on Critical Critical Infrastructureitnewsafrica
 
Time Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsTime Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsNathaniel Shimoni
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxLoriGlavin3
 
Bridging Between CAD & GIS: 6 Ways to Automate Your Data Integration
Bridging Between CAD & GIS:  6 Ways to Automate Your Data IntegrationBridging Between CAD & GIS:  6 Ways to Automate Your Data Integration
Bridging Between CAD & GIS: 6 Ways to Automate Your Data Integrationmarketing932765
 
Connecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdfConnecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdfNeo4j
 
Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...
Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...
Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...Nikki Chapple
 
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...Alkin Tezuysal
 
MuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotes
MuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotesMuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotes
MuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotesManik S Magar
 
Emixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native developmentEmixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native developmentPim van der Noll
 
Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...Farhan Tariq
 
Data governance with Unity Catalog Presentation
Data governance with Unity Catalog PresentationData governance with Unity Catalog Presentation
Data governance with Unity Catalog PresentationKnoldus Inc.
 
2024 April Patch Tuesday
2024 April Patch Tuesday2024 April Patch Tuesday
2024 April Patch TuesdayIvanti
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxLoriGlavin3
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxLoriGlavin3
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxLoriGlavin3
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity PlanDatabarracks
 

Último (20)

Zeshan Sattar- Assessing the skill requirements and industry expectations for...
Zeshan Sattar- Assessing the skill requirements and industry expectations for...Zeshan Sattar- Assessing the skill requirements and industry expectations for...
Zeshan Sattar- Assessing the skill requirements and industry expectations for...
 
Design pattern talk by Kaya Weers - 2024 (v2)
Design pattern talk by Kaya Weers - 2024 (v2)Design pattern talk by Kaya Weers - 2024 (v2)
Design pattern talk by Kaya Weers - 2024 (v2)
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
 
A Framework for Development in the AI Age
A Framework for Development in the AI AgeA Framework for Development in the AI Age
A Framework for Development in the AI Age
 
Varsha Sewlal- Cyber Attacks on Critical Critical Infrastructure
Varsha Sewlal- Cyber Attacks on Critical Critical InfrastructureVarsha Sewlal- Cyber Attacks on Critical Critical Infrastructure
Varsha Sewlal- Cyber Attacks on Critical Critical Infrastructure
 
Time Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsTime Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directions
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
 
Bridging Between CAD & GIS: 6 Ways to Automate Your Data Integration
Bridging Between CAD & GIS:  6 Ways to Automate Your Data IntegrationBridging Between CAD & GIS:  6 Ways to Automate Your Data Integration
Bridging Between CAD & GIS: 6 Ways to Automate Your Data Integration
 
Connecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdfConnecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdf
 
Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...
Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...
Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...
 
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
 
MuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotes
MuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotesMuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotes
MuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotes
 
Emixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native developmentEmixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native development
 
Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...
 
Data governance with Unity Catalog Presentation
Data governance with Unity Catalog PresentationData governance with Unity Catalog Presentation
Data governance with Unity Catalog Presentation
 
2024 April Patch Tuesday
2024 April Patch Tuesday2024 April Patch Tuesday
2024 April Patch Tuesday
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity Plan
 

M2M, IoT, Device management: one protocol to rule them all? - EclipseCon 2014

  • 1. Julien Vermillard, Sierra Wireless M2M, IoT, DEVICE MANAGEMENT: ONE PROTOCOL TO RULE THEM ALL?
  • 2. Software Engineer at Sierra Wireless, implementing various protocols for AirVantage cloud service. Apache Software Foundation member. Initial Eclipse committer on Californium and Wakaama. Disclaimer: opinions expressed are mine :o)
  • 3. M2M/IoT protocols: MQTT and CoAP Device management: TR-069, OMA-DM, LWM2M Application + DM => Protocol hell.
  • 4. My definition: Large fleet of cloud connected devices solving a business problem. (Ex: oil pump monitoring, truck fleet tracking)
  • 6. Very simple and light protocol on top of TCP. Good fit for wireless applications. Publish/Subscribe paradigm. Websocket support.
  • 7. On the wire messages: - connect (with or without authentication) - publish/puback - subscribe/suback - ping/pingack for keepalive - disconnect And voilà!
  • 8. 0 = fire and forget 1 = at least once 2 = exactly one time delivery
  • 9. - a sensor pushes telemetry values on some 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..)
  • 10. Uses SSL/TLS on top of the TCP stream. Pre-shared key encryption is supported.
  • 11. MQTT for Sensor Networks A lighter MQTT for low bandwidth, high failure networks (Can use UDP/IP or plain Zigbee) Security should be provided by the network (forget plain Internet!)
  • 12. Paho for clients Java, C/C++, Python, Js, Go, Lua ... Mosquitto feature full broker. Ponte: Node.js server bridging MQTT, HTTP and CoAP. Kura: M2M application framework with MQTT as default transport
  • 13. Internet Eng. Task Force standard for Internet of Things. Started in 2010! Draft-18 is the final one.
  • 14. Simple to encode: targets 8 bits MCU. UDP based, targets low power IP networks. Two level of QoS: confirmable message or not. Simple observation mechanism.
  • 15. REST paradigm for things: URI: coap://hostname/lamps/12/status HTTP like verbs: - GET for reads - POST, PUT, DELETE for mutation But in a compact binary datagram.
  • 16. .0 1 2 3 .0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |Ver| T | TKL | Code | Message ID | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Token (if any, TKL bytes) ... +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Options (if any) ... +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |1 1 1 1 1 1 1 1| Payload (if any) ... +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  • 17. GET coap://hostname/.well-known/core Provides a list of all supported resources!
  • 18. DTLS (TLS on UDP Datagrams) Pre-shared key or not DTLS is not really light :(
  • 19. Californium: Java CoAP server and client Ponte
  • 20. Definition: Secure, monitor, manage fleet of deployed devices.
  • 21. Configure the device. Update the firmware (and maybe the app) Monitor and gather connectivity statistics.
  • 22. Usual suspects: TR-069 OMA-DM Lightweight M2M Goals: provide an application agnostic way to manage fleets of devices.
  • 23. An Open Mobile Alliance standard for Device Management. Targets mobile phone terminals but can be used for M2M devices. Mean to be used by mobile network operators.
  • 24. Read, write configuration or monitoring nodes. Trigger remote commands (Exec) FUMO: Firmware Update Management Object SCOMO: Software Component Management Object
  • 25. HTTP/XML based, with a binary XML (WBXML) encoding. Weird phone features gets in the way: every communication the device gives its language (ex: EN_en) Binary SMS for wakeup and bootstraping.
  • 26. HMAC MD5: HTTP Header signing the payload Use HTTPS if you need confidentiality
  • 27. A new Open Mobile Alliance standard An OMA-DM successor for M2M targets
  • 28. Built on top of CoAP: Really lighter than OMA-DM or TRS-069.
  • 29. Firmware upgrades (in band or thru http) Device monitoring and configuration Server provisioning (bootstraping)
  • 30. SMS can be used for waking-up the device. Or for any GET/POST/PUT!
  • 32. URLs: /{object}/{instance}/{resource} Ex: /6/0 = whole position object (binary TLV) /6/0/2 = only the altitude value
  • 33. Wakaama (ex liblwm2m): A C library for implementing LWM2M in your devices.
  • 34. Leshan: A Java based LWM2M server. Based on Californium (Eclipse). http://github.com/jvermillard/leshan
  • 36. Cloud serversEmbedded Application MQTT or CoAP for fun and profits!
  • 38. Cloud servers Radio module 2G/3G/LTE ZigBee/6LowPan WiFi, etc.. App1 App2 App3 Supervisor Low power App OMA-DM MQTT/CoAP OMA-DM Ad-hoc Linux O/S OMA-DM Network Operator
  • 39. Every processor and every application need to be configured, upgraded and monitored. Device management is not an option!
  • 40. Each protocol must be secured. And synchronized: You can’t trigger an update with a protocol, while you are rebooting the device using another.
  • 41. 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!
  • 42. CoAP with LWM2M can provide a light device management and application protocol to rule them all! But CoAP is still a newcomer in the field and not a one size fits all solution. Let’s specify device management on top of MQTT!
  • 43. 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 Twitter: @vrmvrm E-mail: jvermillard@sierrawireless.com