ARM IoT Tutorial · 5 Open Mobile Alliance is well known for Device Management (DM) OMA Lightweight...

22
1 ARM IoT Tutorial Zach Shelby May 16, 2014 OMA Lightweight M2M tutorial

Transcript of ARM IoT Tutorial · 5 Open Mobile Alliance is well known for Device Management (DM) OMA Lightweight...

1

ARM IoT Tutorial

Zach Shelby

May 16, 2014

OMA Lightweight M2M tutorial

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

7

Architecture

©Sensinode 2013

UDP

SMSDTLS

CoAP

LWM2M

Objects

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.

11

Example of the LWM2M Location Object, which has 6 Resources

Object Example

©Sensinode 2013

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

17

Interface Flows

©Sensinode 2013

18

Registration

©Sensinode 2013

19

Object Access

©Sensinode 2013

20

Notification

©Sensinode 2013

21

Bootstrapping

©Sensinode 2013

22

Queue Mode (Sleeping Devices)

©Sensinode 2013