SlideShare una empresa de Scribd logo
1 de 43
Descargar para leer sin conexión
Building and Managing IoT Apps
with Lightweight M2M
Virtual IoT Meetup - Sept. 10, 2015
Julien Vermillard – Sierra Wireless
Building and Managing IoT Apps
with Lightweight M2M
Virtual IoT Meetup - Sept. 10, 2015
Julien Vermillard – Sierra Wireless
Agenda
● From M2M to Web-of -Things
● Device management 101
● Intro to Lightweight M2M
● Security with LwM2M
○ End-to-End vs Gateways
○ Secrets & Access control
● Get started with Leshan & Wakaama
Machine-to-Machine
Server
Machine A Machine B Machine C
Internet-of-Things
Web-of-Things
/walk
/hand/left/raise
/eye/picture
/on
/red
/green
/blue
/mtbf
/on
/on
/buttons
/buttons/1/push
/bat-level
/engine/status
/position
/fuel
/CO2
/noise
/lights/on
Conquering the last mile
Low power networks plugged to the Internet
● 6LowPAN
● Bluetooth Smart 4.2
● Thread
IPv6 MTU: 1280 bytes, 6LowPAN: ~100 bytes
TCP, HTTP,MQTT doesn’t fit
CoAP: a new protocol for the IoT
Class 1 devices
~100KiB Flash
~10KiB RAM
~$1
Low-power networks
<100Bytes packets
CoAP in a nutshell
RESTful protocol designed from scratch
URIs, Internet Media Types
GET, POST, PUT, DELETE
Transparent mapping to HTTP
Additional features for M2M scenarios
Observe
CoAP: Constrained Application Protocol
Binary protocol
- Low parsing complexity
- Small message size
Options
- Binary HTTP-like headers
0 – 8 Bytes Token
Exchange handle for client
4-byte Base Header
Version | Type | T-len | Code | ID
Options
Location, Max-Age, ETag, …
Marker
0xFF
Payload
Representation
Device management?
Secure, monitor, manage a fleet of devices
● Configure the device
● Update the firmware (and maybe the app)
● Monitor and gather connectivity statistics
Device management
You don't know yet what hardware will power
your IoT projects on the field,
But you MUST be able to do device management
in a consistent way without vendor lock
OMA Lightweight M2M
An API on top of CoAP
Lightweight M2M
REST API for:
Security, Device, Server
Connectivity monitoring, Connectivity statistics
Location, Firmware Upgrade, Software management,
Swipe & Lock
But objects have a numerical identifier
Lightweight M2M - CoAP URLs
/{object}/{instance}/{resource}
Examples:
● "/6/0" the whole location object (binary record)
● "/6/0/1" only the longitude (degree)
Example: Object Device
Manufacturer
Model number
Serial number
Firmware version
Reboot
Factory reset
Power sources
Power V/A
Battery level
Memory free
Error code
Current time
UTC offset
Timezone
Also with applicative objects
You can define your own objects
Discoverable using CoAP Link Format
IPSO Alliance Smart Objects:
accelerometer, temperature, sensors,...
Demo!
Security with LwM2M
DTLS and secret management
Authentication and encryption
Based on DTLS 1.2 (TLS for Datagrams)
Focus on AES & Elliptic Curve Cryptography (ECC)
AES Hardware acceleration in IoT oriented SoC
Works on Low Power networks (~100bytes MTU)
TLS_PSK_WITH_AES_128_CCM_8
Pre-Shared-Key:
password for session authentication
AES 128bits (or 256) - Counter CBC Mode:
encryption and integrity (AEAD cipher)
8 bytes for integrity in place of CCM usual 16
What? :D
PSK: No certificates, just password
CCM8: compactness
Full DTLS-PSK-CCM8 handshake in ~1030 bytes
Ex: HTTPS TLS handshake ~6000bytes
More security: TLS_ECDHE_ECDSA_WITH_AES_128_CCM_8
ECDHE: Perfect Forward Secrecy (PFS)
Someone rob your private key: he can’t decrypt
past communications
ECDSA: use public key in place of password
You can use X.509 certificates (like HTTPS)
Security with gateways
public network
Sensor network
(ex: Zigbee)
Gateway:
collect data and
push to cloud
cable, 4G, etc..
Secure transportLow or no security
Security with gateways
public network
Sensor network
(ex: Zigbee)
cable, 4G, etc..
Attack gateway
get access to
all the network
Local wireless
sniffing
Other gateway architecture flaws
Complexity: mixing IP and non IP networks
Lack of flexibility compared to end-to-end IP
Hard to scale vs IP routing
End-to-end security
public network
Low power nodes:
security starts here
Sensor network
(ex: Thread)
Router
cable, 4G, etc..
See only encrypted communication
Not your Achilles heel
At scale?
You will have a fleet of device
They needs secrets (key, password, etc..)
Unique across devices
You need to be able to change those secrets
You will probably don’t trust your factory
Lightweight M2M Bootstrap
Flash bootstrap
credentials
I only have bootstrap
credentials or I can’t
reach final server
Lightweight M2M Bootstrap
Lightweight M2M Bootstrap
Give me key
and my
server(s)
Bootstrap Server
Lightweight M2M Bootstrap
New key and
server(s) URLs
and ACL
Bootstrap Server
Lightweight M2M Bootstrap
Registration
Bootstrap Server
Registration
Home Automation
Server
Device Manag.
Server
Access Control Lists
Define which operation on a given object for a
given server
One server for Over-The-Air upgrade:
“/5/”+“/9/” read, write, exec
One server for application, maybe with:
“/5” read only
Hands-On!
Getting started with Leshan & Wakaama
Leshan
Java library for implementing servers & clients
Friendly for any Java developer
Simple (no framework, few dependencies)
But also a Web UI for discovering and testing
Build using “mvn install”
Based on Californium and Scandium
Public sandbox
http://leshan.eclipse.org
Bleeding edge: deployed on master commit
IPv4 and IPv6
Press “CoAP messages” for low-level traces
Wakaama
A C client and server implementation of LwM2M
Not a shared library (.so/.dll)
Embedded friendly but using malloc/free
Plug your own IP stack and DTLS implementation
Wakaama features
Register, registration update, deregister
Read, write resources
Read, write, create, delete object instances
TLV or plain text
Observe
Wakaama internals
core :
internals.h liblwm2m.c liblwm2m.h
list.c management.c objects.c observe.c
packet.c registration.c tlv.c transaction.c
uri.c utils.c
core/er-coap-13 :
er-coap-13.c er-coap-13.h
Tinydtls
Eclipse Proposal
“Support session multiplexing in single-threaded
applications and thus targets specifically on
embedded systems.”
Examples for Linux, or Contiki OS
TLS_PSK_WITH_AES_128_CCM_8
TLS_ECDHE_ECDSA_WITH_AES128_CCM_8
In real hardware?
Spark Core:
Cortex-M3 STM32,
RAM/ROM 20/128k, 72MHz
WiFi
Arduino Mega
AVR, ATmega2560,
RAM/ROM 8/256k, 16MHz
Ethernet
Thank you!
Questions?
http://eclipse.org/leshan
@vrmvrm
jvermillard@sierrawireless.com

Más contenido relacionado

Destacado

OMA LwM2M Workshop - Julien Vermillard, OMA LwM2M Projects in Eclipse Foundation
OMA LwM2M Workshop - Julien Vermillard, OMA LwM2M Projects in Eclipse FoundationOMA LwM2M Workshop - Julien Vermillard, OMA LwM2M Projects in Eclipse Foundation
OMA LwM2M Workshop - Julien Vermillard, OMA LwM2M Projects in Eclipse FoundationOpen Mobile Alliance
 
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
 
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
 
Vehicle To Vehicle Communication System
Vehicle To Vehicle Communication SystemVehicle To Vehicle Communication System
Vehicle To Vehicle Communication SystemMonaco Motors
 
The 5 elements of IoT security
The 5 elements of IoT securityThe 5 elements of IoT security
The 5 elements of IoT securityJulien Vermillard
 

Destacado (7)

OMA LwM2M Workshop - Julien Vermillard, OMA LwM2M Projects in Eclipse Foundation
OMA LwM2M Workshop - Julien Vermillard, OMA LwM2M Projects in Eclipse FoundationOMA LwM2M Workshop - Julien Vermillard, OMA LwM2M Projects in Eclipse Foundation
OMA LwM2M Workshop - Julien Vermillard, OMA LwM2M Projects in Eclipse Foundation
 
VANET, Security and Trust
VANET, Security and TrustVANET, Security and Trust
VANET, Security and Trust
 
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
 
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?
 
Vehicle To Vehicle Communication System
Vehicle To Vehicle Communication SystemVehicle To Vehicle Communication System
Vehicle To Vehicle Communication System
 
Introduction to VANET
Introduction to VANETIntroduction to VANET
Introduction to VANET
 
The 5 elements of IoT security
The 5 elements of IoT securityThe 5 elements of IoT security
The 5 elements of IoT security
 

Último

🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024The Digital Insurer
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slidevu2urc
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure servicePooja Nehwal
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024The Digital Insurer
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityPrincipled Technologies
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Enterprise Knowledge
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...apidays
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Allon Mureinik
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024The Digital Insurer
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Paola De la Torre
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 

Último (20)

🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 

Building and managing iot applications with Lightweight M2M