arm iot tutorial · 5 open mobile alliance is well known for device management (dm) oma lightweight...
TRANSCRIPT
2
Tutorial Overview
Why Lightweight Device Management
OMA Lightweight M2M Standard
Benefits
Architecture
Features
Object Model
Security
Interfaces
©Sensinode 2013
3
Traditional Device Management is widely used in Mobile Devices
Used by Operators and Enterprises for managing mobile devices
Some M2M use today with Cellular devices, mostly proprietary
OMA DM the only standard, however fragmented by handset vendors using proprietary
mechanisms
Lightweight Device Management provides the ideal Internet of Things solution
OMA Lightweight M2M (LWM2M) standard suitable for the whole IoT market
Only fragmented, proprietary silo solutions on the market today for device management
Applicable to both Cellular, WiFi and WSN devices (Just needs IP)
Much larger accessible market, often 500x more devices
Extensible Object Model and registry open to the whole industry
Enables both Management and Application data with the same solution
Why Lightweight Device Management?
©Sensinode 2013
4
Why Lightweight Device Management?
Mobile Device
Management
Device
Management
Bootstrapping
Device
Configuration
Firmware
Update
Fault
Management
Key management
Service provisioning
Changes to settings
Changes to parameters of the device
Update application and system software
Bug fixes
Report Errors from devices
Query about status of devices
Application Configuration &
Control
Reporting
Configure settings of the application
Send control commands
Notify changes in sensor values
Notify alarms and events
5
Open Mobile Alliance is well known for Device Management (DM)
OMA Lightweight M2M (LWM2M) is a new standard from the alliance
Focused on constrained Cellular and other WSN devices
ARM is a member of OMA and helped to define the standard
The standard defines
Efficient Device-Server interface based on open IETF standards
CoAP and DTLS protocol stack with bindings to UDP and SMS
Extensible Object and Resource model for application semantics
Public registry of Objects from OMA, other SDOs or enterprises
Timeline
Requirements & architecture was completed 3Q/2012
Technical specification was stable 2Q/2013
Standard was approved and published December 2013
OMA Lightweight M2M
©Sensinode 2013
6
Simple, efficient protocol, interfaces and payload formats
Banking class security based on DTLS
With Pre-shared and Public Key modes, Provisioning and Bootstrapping
Powerful Object and Resource model
Global registry and public lookup of all Objects
Provides application semantics that are easy to use and re-use
Standard device management Objects already defined by OMA
Applicable to Cellular, 6LoWPAN, WiFi and ZigBee IP or any other IP based constrained
devices or networks
Ideal time-to-market for the standard
LWM2M is commercially deployable now
Can be combined with existing DM offerings and other protocol standards
Will be supported in OneM2M
Benefits of OMA Lightweight M2M
©Sensinode 2013
8
Based on efficient, secure IETF standards
CoAP and DTLS with UDP and SMS bindings
Interfaces
Bootstrapping – Pre-provisioned or Client/Server Initiated
Registration – Register the Client and its Objects
Management & Service Enablement – Server access to Object or Resource
Information Reporting – Notifications with new Resource values
Object Model
Object defines Resources, each can have Instances
OMA, other SDOs or enterprises can define & register Objects
Efficient Payloads
Plain text for individual resources
Binary TLV or JSON for resource batches (Object or Resource arrays)
Features
©Sensinode 2013
9
A Client has one or more Object Instances
An Object is a collection of Resources
A Resource is an atomic piece of information that can be
Read, Written or Executed
Resources can have multiple instances
Access control list (ACL) objects control access to objects
by LWM2M Servers
Objects and Resources are identified by a 16-bit Integer,
Instances by an 8-bit Integer
Objects/Resources are accessed with simple URIs:
/{Object ID}/{Object Instance}/{Resource ID}
e.g.
/3/0/1 (Device Object, Manufacturer Resource)
Object Model
©Sensinode 2013
10
The LWM2M Technical Specification defines eight normative Objects
Standard Device Management Objects
©Sensinode 2013
Object Name ID Multiple Instances? Description
LWM2M Security 0 Yes This LWM2M Object provides the keying material of a LWM2M
Client appropriate to access a specified LWM2M Server.
LWM2M Server 1 Yes This LWM2M objects provides the data related to a LWM2M
server.
Access Control 2 Yes Access Control Object is used to check whether the LWM2M
Server has access right for performing an operation.
Device 3 No This LWM2M Object provides a range of device related
information which can be queried by the LWM2M Server, and
a device reboot and factory reset function.
Connectivity Monitoring 4 No This LWM2M objects enables monitoring of parameters
related to network connectivity.
Firmware 5 No This Object includes installing firmware package, updating
firmware, and performing actions after updating firmware.
Location 6 No The GPS location of the device.
Connectivity Statistics 7 No This LWM2M Objects enables client to collect statistical
information and enables the LWM2M Server to retrieve these
information, set the collection duration and reset the statistical
parameters.
12
Defining a new Object is straightforward
Object IDs are registered with the OMA Naming Authority (OMNA)
Who can register an Object?
OMA working groups
3rd party organizations
Enterprises
How to register an Object?
Write a specification filling out the Object template tables:
Object Name, Description and if it can have Multiple Instances
The list of resources the Object defines
Fill out the Lightweight Object form on-line:
http://technical.openmobilealliance.org/Tech/OMNA/omna-lightweight-m2m-object-
resource-registry.aspx
Defining new Objects
©Sensinode 2013
13
IPSO Web Objects
The IPSO Alliance promotes the Internet Protocol for smart objects.
We need semantics to build a Web of Things
Web Objects exposes the state and behavior of a device.
IPSO defines Web Object guidelines
Compatible with OMA LWM2M
14
IPSO Object Example: Temperature
Example
Temperature sensor: This IPSO object should be used over a temperature sensor to report a remote temperature measurement. It also provides resources for
minimum/maximum measured values and the minimum/maximum range that can be measured by the temperature sensor. The unit used here is Celsius degree.
Object info
Resource Info
Object Object ID Object URN Multiple Instances?
IPSO Temperature 3303 urn:oma:lwm2m:ext:3303 Yes
Resource Name Resource ID Access Type Multiple Instances? Type Units Descriptions
Sensor Value 5700 R No Decimal Cel This resource type returns the Temperature Value in °C
Min Measured Value 5601 R No Decimal Cel The minimum value measured by the sensor since it is ON
Max Measured Value 5602 R No Decimal Cel The maximum value measured by the sensor since it is ON
Purpose : Define state and behavior of a device.
Accessing the Resources
• Temperature Value /3303/0/5700
• Min Measured Value /3303/0/5601
• Max Measured Value /3303/0/5602
LWM2M Client
/3303/0
5700
5601
5602
Temperature Value
Min Measured Value
Max Measured Value
Object
15
Lightweight M2M defines a strong, holistic security solution
DTLS v1.2 security for all CoAP communication
Three DTLS security modes are defined
Pre-Shared Key, Raw Public Key and Certificate mode
Interoperable TLS Cipher suites for each mode are defined
Per Server and Object Instance access control using Objects
Bootstrapping for complete provisioning and key management
Pre-configured Bootstrapping (from e.g. Flash)
Smart Card Bootstrapping (from e.g. a SIM card)
Use of a Bootstrap Server for initial setup or re-configuration and keying
Client-initiated Bootstrapping
Server-initiated Bootstrapping
Security
©Sensinode 2013
16
Bootstrap Interface
Configure Servers & Keying
Pre-Configuration, Smart Card, Client and Server
Initiated Bootstrap
Registration Interface
RFC6690 based Resource Directory
Management & Service Interface
Access to Object Instances and Resources
Reporting Interface
Subscription to Object Instances and Resources
Asynchronous notification
Interfaces
©Sensinode 2013