iotivity big picture · 2019-08-08 · - tizen wi-fi, ble and bt - arduino wi-fi, ... -...
TRANSCRIPT
![Page 1: IoTivity Big Picture · 2019-08-08 · - Tizen Wi-Fi, BLE and BT - Arduino Wi-Fi, ... - Credential(Key)/ACL Provisioning Resource Access over DTLS - Ownership Transfer - Credential(Key)](https://reader030.vdocuments.us/reader030/viewer/2022040914/5e8c28181590b032cf1bcb97/html5/thumbnails/1.jpg)
IoTivity Big Picture
MyeongGi Jeong
2016.11.17
Software R&D Center
![Page 2: IoTivity Big Picture · 2019-08-08 · - Tizen Wi-Fi, BLE and BT - Arduino Wi-Fi, ... - Credential(Key)/ACL Provisioning Resource Access over DTLS - Ownership Transfer - Credential(Key)](https://reader030.vdocuments.us/reader030/viewer/2022040914/5e8c28181590b032cf1bcb97/html5/thumbnails/2.jpg)
Copyright ⓒ 2016 SAMSUNG ELECTRONICS. ALL RIGHTS RESERVED
Contents
• Overview
• Features
– Messaging
– Security
– Service
• Q&A
![Page 3: IoTivity Big Picture · 2019-08-08 · - Tizen Wi-Fi, BLE and BT - Arduino Wi-Fi, ... - Credential(Key)/ACL Provisioning Resource Access over DTLS - Ownership Transfer - Credential(Key)](https://reader030.vdocuments.us/reader030/viewer/2022040914/5e8c28181590b032cf1bcb97/html5/thumbnails/3.jpg)
Copyright ⓒ 2016 SAMSUNG ELECTRONICS. ALL RIGHTS RESERVED
Overview
• IoTivity ? OCF ?
• Conceptual Framework
• Protocols
• Resources and Structures
![Page 4: IoTivity Big Picture · 2019-08-08 · - Tizen Wi-Fi, BLE and BT - Arduino Wi-Fi, ... - Credential(Key)/ACL Provisioning Resource Access over DTLS - Ownership Transfer - Credential(Key)](https://reader030.vdocuments.us/reader030/viewer/2022040914/5e8c28181590b032cf1bcb97/html5/thumbnails/4.jpg)
Overview | IoTivity ?? OCF ??
Governance Structure
OCF
Board Of Directors
Core Technology WG
Open Source WG
Data Model Review Board
Certification
Security WG
Strategy
.
.
IoTivity Open Source Project
Steering Group
Projects
Functions
Sponsored by OCF
Develops reference implementation of OCF standard
Coordination
![Page 5: IoTivity Big Picture · 2019-08-08 · - Tizen Wi-Fi, BLE and BT - Arduino Wi-Fi, ... - Credential(Key)/ACL Provisioning Resource Access over DTLS - Ownership Transfer - Credential(Key)](https://reader030.vdocuments.us/reader030/viewer/2022040914/5e8c28181590b032cf1bcb97/html5/thumbnails/5.jpg)
Overview | Conceptual Framework
![Page 6: IoTivity Big Picture · 2019-08-08 · - Tizen Wi-Fi, BLE and BT - Arduino Wi-Fi, ... - Credential(Key)/ACL Provisioning Resource Access over DTLS - Ownership Transfer - Credential(Key)](https://reader030.vdocuments.us/reader030/viewer/2022040914/5e8c28181590b032cf1bcb97/html5/thumbnails/6.jpg)
Overview | Protocols
Get
What’s your Status?
I’m Off.
Set
Set your Status to On
OK.
Subscribe
Tell me when your Status changes
My Status is now On
![Page 7: IoTivity Big Picture · 2019-08-08 · - Tizen Wi-Fi, BLE and BT - Arduino Wi-Fi, ... - Credential(Key)/ACL Provisioning Resource Access over DTLS - Ownership Transfer - Credential(Key)](https://reader030.vdocuments.us/reader030/viewer/2022040914/5e8c28181590b032cf1bcb97/html5/thumbnails/7.jpg)
Overview | Resources and Structures
![Page 8: IoTivity Big Picture · 2019-08-08 · - Tizen Wi-Fi, BLE and BT - Arduino Wi-Fi, ... - Credential(Key)/ACL Provisioning Resource Access over DTLS - Ownership Transfer - Credential(Key)](https://reader030.vdocuments.us/reader030/viewer/2022040914/5e8c28181590b032cf1bcb97/html5/thumbnails/8.jpg)
Overview | Resources and Structures examples (1)
Light
![Page 9: IoTivity Big Picture · 2019-08-08 · - Tizen Wi-Fi, BLE and BT - Arduino Wi-Fi, ... - Credential(Key)/ACL Provisioning Resource Access over DTLS - Ownership Transfer - Credential(Key)](https://reader030.vdocuments.us/reader030/viewer/2022040914/5e8c28181590b032cf1bcb97/html5/thumbnails/9.jpg)
Overview | Resources and Structures examples (2)
Garage
![Page 10: IoTivity Big Picture · 2019-08-08 · - Tizen Wi-Fi, BLE and BT - Arduino Wi-Fi, ... - Credential(Key)/ACL Provisioning Resource Access over DTLS - Ownership Transfer - Credential(Key)](https://reader030.vdocuments.us/reader030/viewer/2022040914/5e8c28181590b032cf1bcb97/html5/thumbnails/10.jpg)
Copyright ⓒ 2016 SAMSUNG ELECTRONICS. ALL RIGHTS RESERVED
Features
• Discovery
• Messaging
• Security
• Cloud Interface
• Resource Encapsulation
• Resource Container
• Notification
• Device Management
• Proxy
• Tools
![Page 11: IoTivity Big Picture · 2019-08-08 · - Tizen Wi-Fi, BLE and BT - Arduino Wi-Fi, ... - Credential(Key)/ACL Provisioning Resource Access over DTLS - Ownership Transfer - Credential(Key)](https://reader030.vdocuments.us/reader030/viewer/2022040914/5e8c28181590b032cf1bcb97/html5/thumbnails/11.jpg)
Features | Components (1/2)
IoTivity v1.2 Released ( 2016. 11. 1, http://www.iotivity.org )
Component ( Base Layer ) Feature 설명
Discovery Multicast Discovery, Device Presence Discover Resource, check device presence
Resource Introspection Resource type/property management
Resource Directory DNS service for Resource
Messaging CoAP Messaging Transmit messages between devices
Block-wise Transfer Block data transfer (more than 1KB data)
Connectivity Abstraction Wi-Fi, BLE, BT abstraction with CoAP
Cloud Interface CoAP/TCP, OAuth, Account, Pub/Sub
Message switching Routing thru hetero-connectivity devices
Connection management Automatic connection management (BLE)
Security DTLS/TLS Secure data channel with encryption
Security Resource Manager Access control(CRUD), Key Management
Security Provisioning Manager Transmit credential for authentication
![Page 12: IoTivity Big Picture · 2019-08-08 · - Tizen Wi-Fi, BLE and BT - Arduino Wi-Fi, ... - Credential(Key)/ACL Provisioning Resource Access over DTLS - Ownership Transfer - Credential(Key)](https://reader030.vdocuments.us/reader030/viewer/2022040914/5e8c28181590b032cf1bcb97/html5/thumbnails/12.jpg)
Features | Components (2/2)
Component ( Service Layer ) Feature 설명
Resource Encapsulation Active Discovery, Broker Dynamic Resource discovery/monitoring
Cache, Server Builder Resource data Pre-fetch with Getter/Setter API
Resource Container Bundle Loader Dynamic loading of Resource server
Configuration file Lifecycle configuration of Resource server
Device Management Scene Manager Set the devices to specific attribute values
Multi-PHY Easy Setup Network setting with mobile device help
Notification Multi Platform Noti. Forwarding Status message transmission ( Provider Consumer )
Notification Synchronizing Noti. message status synchronization
Proxy CoAP-HTTP proxing
Allows to access webserver resource information for constrained devices
Tool Simulator Virtual resource server/client Simulator (Tool)
![Page 13: IoTivity Big Picture · 2019-08-08 · - Tizen Wi-Fi, BLE and BT - Arduino Wi-Fi, ... - Credential(Key)/ACL Provisioning Resource Access over DTLS - Ownership Transfer - Credential(Key)](https://reader030.vdocuments.us/reader030/viewer/2022040914/5e8c28181590b032cf1bcb97/html5/thumbnails/13.jpg)
Features | Architecture
Base Layer
Service Layer Cloud Interface
Discovery
Resource Introspection
Multicast Discovery
Resource Directory
Messaging
Connectivity Abstraction
Resource Presence
Message Switching
Cloud Interface
CoAP Messaging
Blockwise Transfer
Security
Provisioning Manager
DTLS/TLS SRM
Resource Encapsulation
Resource Broker
Resource Cache
Active Discovery
Resource Builder
Resource Container
Configure Bundle Loader
Device Management
Scene Manager
Easy Setup
Notification
Consumer Provider
Tool
Simulator
Discovery
Resource Directory
Device Presence
Security
Group
Access Control
Account
Messaging
CoAP TCP/TLS
Broker ( Pub/Sub )
IoTivity v1.2
Proxy
CoAP-HTTP
![Page 14: IoTivity Big Picture · 2019-08-08 · - Tizen Wi-Fi, BLE and BT - Arduino Wi-Fi, ... - Credential(Key)/ACL Provisioning Resource Access over DTLS - Ownership Transfer - Credential(Key)](https://reader030.vdocuments.us/reader030/viewer/2022040914/5e8c28181590b032cf1bcb97/html5/thumbnails/14.jpg)
Features | Discovery
[ Figure 3 ] Advertise/Scan over BLE/BT
OCF Server
OCF Client
advertise OCF service
scan OCF service
response “/a/heartbeat”
find resource “/oic/res”
[ Figure 1 ] Multicast announce over Wi-Fi / Ethernet
OCF Server
OCF Client
advertise resource “/oic/ad”
multicast listen
[ port 5683 ]
[ Figure 2 ] Multicast/Unicast over WiFi / Ethernet
OCF Server
OCF Client
multicast listen
find resource “/oic/res”
[ port 5683 ]
unicast response “/a/light”
Wi-Fi and Ethernet
- IoTivity supports UDP multicast discovery using the CoAP
dedicated port number.
• IANA reserved the port number 5683 for CoAP multicast.
( 5684 for DTLS-secured )
- IoTivity supports UDP unicast discovery also, using known
IP and port number of OIC server.
BLE and Bluetooth
- IoTivity supports BLE/Bluetooth discovery using OIC
specific service UUID.
- Physical connection should be required before
resource discovery.
CoAP IANA
Constrained Application Protocol Internet Assigned Numbers Authority
![Page 15: IoTivity Big Picture · 2019-08-08 · - Tizen Wi-Fi, BLE and BT - Arduino Wi-Fi, ... - Credential(Key)/ACL Provisioning Resource Access over DTLS - Ownership Transfer - Credential(Key)](https://reader030.vdocuments.us/reader030/viewer/2022040914/5e8c28181590b032cf1bcb97/html5/thumbnails/15.jpg)
Features | CoAP Messaging
Constrained Application Protocol ( CoAP )
• IETF Standard, RFC 7252, The Constrained Application Protocol
• A specialized web transfer protocol for use with constrained nodes and constrained network.
• Designed for machine-to-machine application
• A ( piggyback style ) request/response interaction between application endpoint
![Page 16: IoTivity Big Picture · 2019-08-08 · - Tizen Wi-Fi, BLE and BT - Arduino Wi-Fi, ... - Credential(Key)/ACL Provisioning Resource Access over DTLS - Ownership Transfer - Credential(Key)](https://reader030.vdocuments.us/reader030/viewer/2022040914/5e8c28181590b032cf1bcb97/html5/thumbnails/16.jpg)
Features | Block-wise Transfer
Blockwise transfer in CoAP
• Basic CoAP messages work well for the small payloads.
• However, applications will need to transfer larger payloads, for instance, for firmware updates.
• Although UDP supports larger payloads through IP fragmentation, it is limited to 64 KB and,
more importantly, doesn't really work well for constrained applications and networks.
• Instead of relying on IP fragmentation, this specification extends basic CoAP with a pair of
"Block" options, for transferring multiple blocks of information in multiple request-response pairs.
• Reference : https://tools.ietf.org/html/rfc7959
https://wiki.iotivity.org/block-wise_transfer
![Page 17: IoTivity Big Picture · 2019-08-08 · - Tizen Wi-Fi, BLE and BT - Arduino Wi-Fi, ... - Credential(Key)/ACL Provisioning Resource Access over DTLS - Ownership Transfer - Credential(Key)](https://reader030.vdocuments.us/reader030/viewer/2022040914/5e8c28181590b032cf1bcb97/html5/thumbnails/17.jpg)
Features | Connectivity Abstraction
CA Control Component
- Target network selection and interface control and monitoring
- CoAP message serialization and parsing
- Block-wise messaging flow control
Transport Adapter Component
- Data transmission over UDP, TCP, BLE( GATT ), BT( SPP ) and NFC
- Secure data exchanging using DTLS
Platform Adapter Component
- Wi-Fi, Ethernet and BLE
- Android Wi-Fi, BLE and BT
- Tizen Wi-Fi, BLE and BT
- Arduino Wi-Fi, Ethernet and BLE
![Page 18: IoTivity Big Picture · 2019-08-08 · - Tizen Wi-Fi, BLE and BT - Arduino Wi-Fi, ... - Credential(Key)/ACL Provisioning Resource Access over DTLS - Ownership Transfer - Credential(Key)](https://reader030.vdocuments.us/reader030/viewer/2022040914/5e8c28181590b032cf1bcb97/html5/thumbnails/18.jpg)
Features | Resource Directory
① Publishes resources to Resource Directory
[ Device 1 ]
[ Device 4 ]
[ Device 2 ]
② Device 2 hosts RD and responds on behalf of device 1 & 4.
③ Multicast query request
④ Unicast response by device 2 with resources of 1, 2 and 4.
[ Device 3 ]
Concept
![Page 19: IoTivity Big Picture · 2019-08-08 · - Tizen Wi-Fi, BLE and BT - Arduino Wi-Fi, ... - Credential(Key)/ACL Provisioning Resource Access over DTLS - Ownership Transfer - Credential(Key)](https://reader030.vdocuments.us/reader030/viewer/2022040914/5e8c28181590b032cf1bcb97/html5/thumbnails/19.jpg)
Features | Cloud Interface
Messaging CoAP over TCP and TLS
Discovery Resource Directory
Authentication OAuth over CoAP
Pub/Sub CoAP PUB-SUB
![Page 20: IoTivity Big Picture · 2019-08-08 · - Tizen Wi-Fi, BLE and BT - Arduino Wi-Fi, ... - Credential(Key)/ACL Provisioning Resource Access over DTLS - Ownership Transfer - Credential(Key)](https://reader030.vdocuments.us/reader030/viewer/2022040914/5e8c28181590b032cf1bcb97/html5/thumbnails/20.jpg)
Features | Message Switching
![Page 21: IoTivity Big Picture · 2019-08-08 · - Tizen Wi-Fi, BLE and BT - Arduino Wi-Fi, ... - Credential(Key)/ACL Provisioning Resource Access over DTLS - Ownership Transfer - Credential(Key)](https://reader030.vdocuments.us/reader030/viewer/2022040914/5e8c28181590b032cf1bcb97/html5/thumbnails/21.jpg)
Features | Security overview
Resource Server
(Provisioned)
Client (Provisioned)
Provisioning Manager
(Admin Device)
- Ownership Transfer - Credential(Key)/ACL Provisioning
Resource Access over DTLS
- Ownership Transfer - Credential(Key) Provisioning
Client (Un-Provisioned)
Access Denied X
Security Provisioning Manager (Admin Device)
- OIC device initial registration, management of secure
information (Credential, Access Control Policy)
Secure Resource Manager
- Access Control, Secure Resource Management
![Page 22: IoTivity Big Picture · 2019-08-08 · - Tizen Wi-Fi, BLE and BT - Arduino Wi-Fi, ... - Credential(Key)/ACL Provisioning Resource Access over DTLS - Ownership Transfer - Credential(Key)](https://reader030.vdocuments.us/reader030/viewer/2022040914/5e8c28181590b032cf1bcb97/html5/thumbnails/22.jpg)
Features | Security Provisioning Manager
Architecture Functions
• Ownership Transfer
OIC device initial registration.
Administrator authentication,
configuration of access control
• Security Management of Device
Setting the credential for mutual authentication
and access policy into resource server.
Issued credential management.
Status check of connected devices for mutual
authentication
DTLS modules, etc. DTLS modules, etc.
Connectivity Abstraction (CA) layer
Secure Resource Manager (SRM) layer
Resource Introspection (RI) layer
DTLS modules, etc.
Provisioning Manager (PM)
Ownership Transfer Manager (OTM)
Secure Resource Provider (SRP)
Provisioning Database Manager
Provisioning Database
The red dashed line outlines the subjects of this Design specification
PM C API
![Page 23: IoTivity Big Picture · 2019-08-08 · - Tizen Wi-Fi, BLE and BT - Arduino Wi-Fi, ... - Credential(Key)/ACL Provisioning Resource Access over DTLS - Ownership Transfer - Credential(Key)](https://reader030.vdocuments.us/reader030/viewer/2022040914/5e8c28181590b032cf1bcb97/html5/thumbnails/23.jpg)
Features | Secure Resource Manager
Architecture
DTLS modules, etc.
DTLS modules, etc.
Connectivity Abstraction (CA) layer
Resource Introspection (RI) layer
DTLS modules, etc.
Secure Resource Manager (SRM)
Resource Manager (RM)
Policy Engine (PE)
Persistent Storage Interface (PSI)
Secure Virtual
Database
The red dashed line outlines the subjects of this Design specification
Functions
• Access Control
Accept or Deny the Request according to the
authority by check the permission for
GET/PUT/POST/DELETE request
• Secure Resource Management
Handling Credential and ACL received from
Provisioning Manager (Save and load in SVR DB)
Secure Resources Management for
Ownership Transfer
![Page 24: IoTivity Big Picture · 2019-08-08 · - Tizen Wi-Fi, BLE and BT - Arduino Wi-Fi, ... - Credential(Key)/ACL Provisioning Resource Access over DTLS - Ownership Transfer - Credential(Key)](https://reader030.vdocuments.us/reader030/viewer/2022040914/5e8c28181590b032cf1bcb97/html5/thumbnails/24.jpg)
Features | Resource Encapsulation
Architecture Functions
• Resource Broker
. Remote Resource Presence check regardless of
remote server supporting presence feature.
. Provide consistent reachability management for
discovered resource of interest.
• Resource Cache
. Maintains last information of Remote Resource
regardless of Remote Server is observable
. Data Centric API
: Send/Recv Message Getter/Setter, Data Cache
• Server Builder
. Att. setter to provide easy way to
create resource.
. Monitors value of attributes so that
notify-back for observation
autonomously whenever attribute
has changed
IoTivity Base Layer API (C/C++)
Resource Client Wrapper
Discovery Manager
Resource Broker
Resource encapsulation API
Resource Server Builder Resource
Cache
![Page 25: IoTivity Big Picture · 2019-08-08 · - Tizen Wi-Fi, BLE and BT - Arduino Wi-Fi, ... - Credential(Key)/ACL Provisioning Resource Access over DTLS - Ownership Transfer - Credential(Key)](https://reader030.vdocuments.us/reader030/viewer/2022040914/5e8c28181590b032cf1bcb97/html5/thumbnails/25.jpg)
Features | Resource Container
Architecture
Resource Container
ProtocolBridgeBundle.so
Bundle Activator
ProtocolBridge Resource 1
ProtocolBridge Resource 2
ProtocolBridge Connector
ProtocolBridge Resource n
ProtocolBridgeBundle.jar SoftSensorBundle.jar
Bundle Activator
SoftSensor Resource 1
SoftSensor Resource 2
SoftSensor Resource n
Resource instance1
Resource instance2
Bundle Activator
ProtocolBridge Resource 1
ProtocolBridge Resource 2
ProtocolBridge Connector
ProtocolBridge Resource n
ResourceContainerBundleAPI Reso
urc
eConta
iner
API Resource
instance3 PrimResServer
config.xm
l
1. startContainer (config.xml)
2. load with dlopen() 3. activate bundle
4. retrieve resource configuration
5. register bundle resources
6. create resource servers
Tech
nolo
gy
Adapte
r
IoTiv
ity
Bridge
![Page 26: IoTivity Big Picture · 2019-08-08 · - Tizen Wi-Fi, BLE and BT - Arduino Wi-Fi, ... - Credential(Key)/ACL Provisioning Resource Access over DTLS - Ownership Transfer - Credential(Key)](https://reader030.vdocuments.us/reader030/viewer/2022040914/5e8c28181590b032cf1bcb97/html5/thumbnails/26.jpg)
Features | Scene Manager
![Page 27: IoTivity Big Picture · 2019-08-08 · - Tizen Wi-Fi, BLE and BT - Arduino Wi-Fi, ... - Credential(Key)/ACL Provisioning Resource Access over DTLS - Ownership Transfer - Credential(Key)](https://reader030.vdocuments.us/reader030/viewer/2022040914/5e8c28181590b032cf1bcb97/html5/thumbnails/27.jpg)
Features | Notification Service
![Page 28: IoTivity Big Picture · 2019-08-08 · - Tizen Wi-Fi, BLE and BT - Arduino Wi-Fi, ... - Credential(Key)/ACL Provisioning Resource Access over DTLS - Ownership Transfer - Credential(Key)](https://reader030.vdocuments.us/reader030/viewer/2022040914/5e8c28181590b032cf1bcb97/html5/thumbnails/28.jpg)
Service | CoAP-HTTP Proxy
Way to interact with resource on HTTP Servers
Compliance to OCF resource model with ability to support both OCF and Vendor Specific resources exposed by HTTP servers.
Base Layer
Resource Introspection
Messaging Discovery
Connectivity Abstraction
Security
IoTivity Base API
CoAP-HTTP Proxy
CoAP – HTTP Mapping libcurl HTTP Parser
CoAP Request - HTTP Response Handler
Implemented as primitive services in IoTivity.
Use LibCurl open source library for HTTP/HTTPS between proxy and webservers
Use CoAP specifations proxy header
options to compliance with standards
Use-case Architecture
![Page 29: IoTivity Big Picture · 2019-08-08 · - Tizen Wi-Fi, BLE and BT - Arduino Wi-Fi, ... - Credential(Key)/ACL Provisioning Resource Access over DTLS - Ownership Transfer - Credential(Key)](https://reader030.vdocuments.us/reader030/viewer/2022040914/5e8c28181590b032cf1bcb97/html5/thumbnails/29.jpg)
Features | Simulator
![Page 30: IoTivity Big Picture · 2019-08-08 · - Tizen Wi-Fi, BLE and BT - Arduino Wi-Fi, ... - Credential(Key)/ACL Provisioning Resource Access over DTLS - Ownership Transfer - Credential(Key)](https://reader030.vdocuments.us/reader030/viewer/2022040914/5e8c28181590b032cf1bcb97/html5/thumbnails/30.jpg)
Reference sites :
http://www.iotivity.org
http://wiki.iotivity.org
http://gerrit.iotivity.org
http://jira.iotivity.org
http://openconnectivity.org
Developer mailing list :
How can I become the IoTivitier ?
![Page 31: IoTivity Big Picture · 2019-08-08 · - Tizen Wi-Fi, BLE and BT - Arduino Wi-Fi, ... - Credential(Key)/ACL Provisioning Resource Access over DTLS - Ownership Transfer - Credential(Key)](https://reader030.vdocuments.us/reader030/viewer/2022040914/5e8c28181590b032cf1bcb97/html5/thumbnails/31.jpg)
Copyright ⓒ 2016 SAMSUNG ELECTRONICS. ALL RIGHTS RESERVED
Q & A