SlideShare a Scribd company logo
Session 2
Communication & Operation
IEEE P1451.99 IoT Harmonization
Trust Anchor Group
TAG
Trust Anchor Group
Infrastructure and smart transactions
for modern societies
Peter Waher
XMPP
Trust Anchor Group
TAG
eXtensible Messaging and Presence Protocol
What is XMPP?
Trust Anchor Group
TAG
eXtensible Messaging and
Presence Protocol
● Standardized by the IETF
○ RFC 6120
○ RFC 6121
○ RFC 6122
● Originally developed in the late 1990-ies.
● Instant Messaging
● “Jabber”
● Based on XML
Basic features
Trust Anchor Group
TAG
Some basic features of XMPP include:
● Global scalability (federation)
● Topology Independence
● Extensibility (namespaces)
● Robustness (20 years of operation)
● Open (public & free)
● Standardized
● Secure
● Interoperable
Communication
Trust Anchor Group
TAG
● Brokers
○ Identities (Accounts)
○ Rosters
○ Routing
○ Federation
○ Topology insensitive
● Server-less
○ Peer-to-peer
● Authentication
○ SASL
● Ubiquitous Encryption
○ TLS
○ E2E
Communication Patterns
Trust Anchor Group
TAG
Intrinsic patterns:
● Asynchronous messages (message)
● Request/Response (iq)
● Publish/Subscribe (presence)
Extended:
● Publish/Subscribe (XEP-0060, XEP-0163)
● Multicasting (XEP-0045)
● etc.
Security
Trust Anchor Group
TAG
Standard layers of security:
● Authentication (SASL)
● Encryption (TLS)
● Consent-based Authorization
(presence subscription)
● Blocking
● Spam reporting
● End-to-end encryption
Federation
Trust Anchor Group
TAG
● No single centralized authority
● Domains cooperate
● Improves
○ Scalability
○ Resilience
○ Interoperability
● Reduces
○ Risk
Backbone
Trust Anchor Group
TAG
● Efficiency
● Interoperability
● Global scalability
● Bridges technologies
vs
Connectivity
Trust Anchor Group
TAG
● Direct to XMPP network
○ TCP
○ HTTP (BOSH)
○ Web-socket
○ UDP (experimental)
● XML Fragments
● Mechanisms for
○ Authentication (SASL)
○ Sessions
○ Binding
○ Encryption (TLS)
○ Roster
○ Components
○ Extensions
Representation
Trust Anchor Group
TAG
https://gitlab.com/IEEE-SA/XMPPI/IoT#representation
In IEEE P1451.99
Sensor Data
Trust Anchor Group
TAG
● Loosely coupled representation
● M2M & M2H
● Meta-data describing information
● Localizable
Control Operations
Trust Anchor Group
TAG
● Loosely coupled representation
● M2M & M2H
● Meta-data
● Localizable
Communication Patterns
Trust Anchor Group
TAG
Overview
Asynchronous Messages
Trust Anchor Group
TAG
Asynchronous Messages
Trust Anchor Group
TAG
● Spontaneous communication
● From anyone to anyone (Peers)
● Parties identified
● Full duplex
● Quality of Service
○ At most once (“Unacknowledged”)
○ At least once (“Acknowledged”)
○ Exactly once (“Assured”, “Reliable Messaging”)
● Can be used to build any other pattern
Examples: CoAP, XMPP, IoT Harmonization
Request / Response
Trust Anchor Group
TAG
Request / Response
Trust Anchor Group
TAG
● Limited Client / Server roles
● Client initiates communication
● Server identified
● No requirement to identify client
● Half duplex
● Polling
● Event-based communication from server difficult
Examples: HTTP, CoAP, LWM2M, XMPP, IoT
Harmonization
Event Subscription (“Observe”)
Trust Anchor Group
TAG
Event Subscription (“Observe”)
Trust Anchor Group
TAG
● Combines Req./Resp. & Asynch. Msg.
● Client initiates subscription
● Server initiates updates
● Client determines conditions
○ Server does not have to know client use case
● More efficient than polling
Examples: CoAP, LWM2M, IoT Harmonization
Multicast
Trust Anchor Group
TAG
Multicast
Trust Anchor Group
TAG
● Group membership
○ Often only security mechanism
○ Group encryption difficult
● Anyone in group can send a message
● Everyone in a group receives messages
○ Detailed authorization difficult
● Synchronizing events
○ Clocks
○ Updates
● Multicast Streaming (like IP-TV)
● Discovery in ad hoc networks
Examples: CoAP, XMPP, IoT Harmonization
Publish / Subscribe
Trust Anchor Group
TAG
Publish / Subscribe
Trust Anchor Group
TAG
● Publishers send messages
● Subscribers receive messages
● Degree of separation between actors
● Authorization on Topics or Nodes
● Efficient if Subscriber:Publisher ratio high
○ Mass distribution
○ Syndication
● Inefficient if Subscriber:Publisher ratio low
○ Emulation of Asynch. Msg or Req./Resp.
● Difficult to federate a topic/node tree
Examples: MQTT, XMPP, IoT Harmonization
Queue
Trust Anchor Group
TAG
Queue
Trust Anchor Group
TAG
● Publishers send work items
● Workers collaborate processing items
○ One worker per item
● Degree of separation between actors
● Authorization on Topics or Nodes
● Load balancing
● Mostly used in high-load back-ends
Examples: AMQP, IoT Harmonization
Federated brokers
Trust Anchor Group
TAG
Federated brokers
Trust Anchor Group
TAG
● Global scalability
○ Divide & Conquer (federations/domains)
○ Brokers cooperate
■ Each domain controls its part of the network
■ Cross-domain cooperation easy
● Decentralization
● Resilience
● Global distributed identities
● Solves Topology Problem
Examples: XMPP, IoT Harmonization, (SMTP)
Decentralization / Edge
Trust Anchor Group
TAG
Decentralization / Edge
Trust Anchor Group
TAG
● Processing done at the source
○ Permits centralized processing (if required)
● Cloud used for support
○ Identity
○ Transport
○ Discovery
○ Decision Support (Orchestration, Provisioning)
● Protects Privacy
● Enforces Ownership of Information
● Distributes processing power
● Scalable
Examples: XMPP, IoT Harmonization
Basic Operations
Trust Anchor Group
TAG
with Examples
https://gitlab.com/IEEE-SA/XMPPI/IoT#communication-patterns
Simple Sensor Data Request
Trust Anchor Group
TAG
https://gitlab.com/IEEE-SA/XMPPI/IoT/blob/master/SensorDataRequestResponse.md
Slow Responses
Trust Anchor Group
TAG
https://gitlab.com/IEEE-SA/XMPPI/IoT/blob/master/SensorDataRequestResponse.md
Scheduled / Queued responses
Trust Anchor Group
TAG
https://gitlab.com/IEEE-SA/XMPPI/IoT/blob/master/SensorDataRequestResponse.md
Fragmented responses
Trust Anchor Group
TAG
https://gitlab.com/IEEE-SA/XMPPI/IoT/blob/master/SensorDataRequestResponse.md
Example: Simple Readout
Trust Anchor Group
TAG
https://gitlab.com/IEEE-SA/XMPPI/IoT/blob/master/SensorDataRequestResponse.md
Event Subscription
Trust Anchor Group
TAG
https://gitlab.com/IEEE-SA/XMPPI/IoT/blob/master/SensorDataEventSubscription.md
Fragmented events
Trust Anchor Group
TAG
https://gitlab.com/IEEE-SA/XMPPI/IoT/blob/master/SensorDataEventSubscription.md
Example: Event Subscription
Trust Anchor Group
TAG
https://gitlab.com/IEEE-SA/XMPPI/IoT/blob/master/SensorDataEventSubscription.md
Publish/Subscribe (PEP)
Trust Anchor Group
TAG
https://gitlab.com/IEEE-SA/XMPPI/IoT/blob/master/SensorDataPublishSubscribe.md
Publish (PEP)
Trust Anchor Group
TAG
https://gitlab.com/IEEE-SA/XMPPI/IoT/blob/master/SensorDataPublishSubscribe.md
Notification (PEP)
Trust Anchor Group
TAG
https://gitlab.com/IEEE-SA/XMPPI/IoT/blob/master/SensorDataPublishSubscribe.md
Simple Control Action
Trust Anchor Group
TAG
https://gitlab.com/IEEE-SA/XMPPI/IoT/blob/master/ControlSimpleActions.md
Example: Simple Control
Trust Anchor Group
TAG
https://gitlab.com/IEEE-SA/XMPPI/IoT/blob/master/ControlSimpleActions.md
Data Form Control Actions
Trust Anchor Group
TAG
https://gitlab.com/IEEE-SA/XMPPI/IoT/blob/master/ControlDataForm.md
Getting Parameter Form
Trust Anchor Group
TAG
https://gitlab.com/IEEE-SA/XMPPI/IoT/blob/master/ControlDataForm.md
Setting Parameter Form
Trust Anchor Group
TAG
https://gitlab.com/IEEE-SA/XMPPI/IoT/blob/master/ControlDataForm.md
Infrastructure Services
Trust Anchor Group
TAG
Edge
Trust Anchor Group
TAG
Cloud Edge
Bespoke
Standardized
Edge services
Trust Anchor Group
TAG
● Identity
● Federation
● Thing Registry
○ Ownership
○ Discovery
● Decision Support
○ Provisioning
○ Orchestration
● Tokens
○ Distributed operations
● Synchronization
● Updates
● Smart Contracts
○ Legal identities
○ Automation of provisioning
○ Certification
● Monetization
XMPP
IEEE P1451.99
Thing Registries
Trust Anchor Group
TAG
● Dynamic Discovery
● Searchable
● Ownership pairing
● Zero configuration
● Network ID ↔ Meta-data as
name/value tags
● Updateable
● Open APIs
○ XMPP: IEEE 1451.99
○ HTTPS: PAS 212:2016
● Standard/Replaceable
components
https://gitlab.com/IEEE-SA/XMPPI/IoT/blob/master/Discovery.md
Tags
Trust Anchor Group
TAG
Tag Name Type Description
ALT Numeric Altitude (meters)
APT String Apartment associated with the Thing
AREA String Area associated with the Thing
BLD String Building associated with the Thing
CITY String City associated with the Thing
CLASS String Class of Thing
COUNTRY String Country associated with the Thing
KEY String Key, shared between thing and owner
LAT Numeric Latitude (degrees)
LON Numeric Longitude (degrees)
MAN String Domain name owned by the Manufacturer
MLOC String Meter Location ID
MNR String Meter Number
MODEL String Name of Model
NAME String Name associated with the Thing
PURL String URL to product information for the Thing
R String Registry Address. Used in iotdisco URIs only
REGION String Region associated with the Thing
ROOM String Room associated with the Thing
SN String Serial Number
STREET String Street Name
STREETNR String Street Number
V Numeric Version Number
Life-cycle
Trust Anchor Group
TAG
● Production
● Installation
● Configuration
● Ownership
● Discoverability
● Transfer of ownership
● Decommissioning
iotdisco URI scheme
Trust Anchor Group
TAG
● Encodes meta-data
○ Unique identities (e.g. ownership claims)
○ Searches
● URI strings easy to process
● Works with Federated Thing Registries
● Simple to transmit (messages, QR codes)
iotdisco:SN=98734238472634;MAN=www.example.org;MODEL
=Device;#V=1.0;KEY=3453485763440213840928;R=discover
y.example.org
iotdisco:MAN=www.example.org;MODEL=Device;SN~*9873*;
#V>=1.0;#V<2;#LON>=-72;#LON<=-70;#LAT>=-34;#LAT<=-33
https://gitlab.com/IEEE-SA/XMPPI/IoT/blob/master/Discovery.md
https://www.iana.org/assignments/uri-schemes/prov/iotdisco.pdf
Ownership & Discovery
Trust Anchor Group
TAG
Registering Thing
Trust Anchor Group
TAG
https://gitlab.com/IEEE-SA/XMPPI/IoT/blob/master/Discovery.md
Claiming Device
Trust Anchor Group
TAG
https://gitlab.com/IEEE-SA/XMPPI/IoT/blob/master/Discovery.md
Notifying Device & Owner
Trust Anchor Group
TAG
https://gitlab.com/IEEE-SA/XMPPI/IoT/blob/master/Discovery.md
Searching for Devices
Trust Anchor Group
TAG
https://gitlab.com/IEEE-SA/XMPPI/IoT/blob/master/Discovery.md
Decision Support
Trust Anchor Group
TAG
Checking friendships
Trust Anchor Group
TAG
https://gitlab.com/IEEE-SA/XMPPI/IoT/blob/master/DecisionSupport.md
Sensor data authorization
Trust Anchor Group
TAG
https://gitlab.com/IEEE-SA/XMPPI/IoT/blob/master/DecisionSupport.md
Control operation authorization
Trust Anchor Group
TAG
https://gitlab.com/IEEE-SA/XMPPI/IoT/blob/master/DecisionSupport.md
Automated provisioning
Trust Anchor Group
TAG
Provisioning for Owners
Trust Anchor Group
TAG
● Event messages sent asynchronously
● Owner responds with rule increments
○ Friendships
○ Sensor Data Access
○ Control Operations
● Manage rules
https://gitlab.com/IEEE-SA/XMPPI/IoT/blob/master/Provisioning.md
Distributed Transactions
Trust Anchor Group
TAG
● Tokens
○ User identities
○ Service identities
○ Device identities
● Challengeable
● PKI based
○ Public key registered with broker
○ Broker issues token
○ Private key used to respond to challenges
● Multiple tokens can be distributed
● Authorization on original, not intermediate, identity
https://gitlab.com/IEEE-SA/XMPPI/IoT/blob/master/Tokens.md
Clock Synchronization
Trust Anchor Group
TAG
● Synchronization of events across Internet
● Across multiple networks & time-bases
● High-frequency clocks
● < 1 ms precision in stable conditions
● Adaptation during network/clock reconfigurations
https://gitlab.com/IEEE-SA/XMPPI/IoT/blob/master/ClockSynchronization.md
Software Updates
Trust Anchor Group
TAG
● Software updates
● Cryptographic signatures
● Global Scalability
● Distribute patches & updates
● Notifications
https://gitlab.com/IEEE-SA/XMPPI/IoT/blob/master/SoftwareUpdates.md
Smart Contracts
Trust Anchor Group
TAG
● Legal identities
● Smart Contracts
○ Owner defines rules for access
● Automation of Provisioning
○ Zero configuration
○ Signing smart contract gives access
● Certificates
○ Verifiable claims
○ Maturity Index
○ Cross-domain interoperation
● Economic Feedback
○ Billing based on usage
Concentrators
Trust Anchor Group
TAG
https://gitlab.com/IEEE-SA/XMPPI/IoT/blob/master/Concentrator.md
Connectivity
Trust Anchor Group
TAG
● Direct to XMPP network
○ TCP
○ HTTP (BOSH)
○ Web-socket
○ UDP (experimental)
● Via Concentrator (“Thing of Things”)
○ Embedded
○ Gateway
■ Bridge protocols
■ Bridge patterns
■ System Integration
Extended addressing
Trust Anchor Group
TAG
Attribute Type Description
id xs:string Node identity
src xs:string Source identity
pt xs:string Partition
PLC
Trust Anchor Group
TAG
● Embeds logical/embedded devices
● One connection to XMPP network
Protocol/Pattern bridge
Trust Anchor Group
TAG
● Connecting other technologies
● Adding security
● Adding interoperability
System Integration
Trust Anchor Group
TAG
● Integration with Back-end systems
Capabilities
Trust Anchor Group
TAG
● Browse Sources
● View/Create/Edit/Delete/Order Nodes
● Loose coupling
● Mass-management
● Machine & Human Interfaces
● Event notifications on changes
● Node commands & queries
● Troubleshooting
Capabilities
Trust Anchor Group
TAG
Operation Small/static Bridge/Gateway Subsystem Operation Small/static Bridge/Gateway Subsystem
getCapabilities x x x destroyNode x x
getAllDataSources x x x moveNodeUp x x
getRootDataSources x x moveNodeDown x x
getChildDataSources x x moveNodesUp x x
containsNode x x x moveNodesDown x x
containsNodes x subscribe x x
getNode x x x unsubscribe x x
getNodes x getNodeCommands x x x
getAllNodes x x x getCommandParameters (x) x x
getNodeInheritance x x executeNodeCommand x x x
getRootNodes x x x executeNodeQuery (x) x x
getChildNodes x x x getCommonNodeCommands x
getAncestors x x getCommonCommandParameters x
getNodeParametersForEdit x x executeCommonNodeCommand x
setNodeParametersAfterEdit x x executeCommonNodeQuery x
getCommonNodeParametersForEdit x abortNodeQuery (x) x x
setCommonNodeParametersAfterEdit x abortCommonNodeQuery x x
getAddableNodeTypes x x registerSniffer x x
getParametersForNewNode x x unregisterSniffer x x
createNewNode x x
End Session 2
Trust Anchor Group
TAG

More Related Content

PPTX
Federated and legal identities in industrial and financial applications
PPTX
IEEE Standards Impact in IoT and 5G, Day 2 - Architectural Requirements for S...
PPTX
New business opportunities in smart societies and industry 4.0
PPTX
IEEE Standards Impact in IoT and 5G, Day 1, Session 3 - Smart contracts, Mone...
PPTX
Secure interoperation across cyber physical systems in smart societies with i...
PPTX
Smart contracts for certification of smart devices
PPTX
Globally Scalable Mobile Digital ID using IEEE P1451.99
PPTX
Privacy for IoT with XMPP
Federated and legal identities in industrial and financial applications
IEEE Standards Impact in IoT and 5G, Day 2 - Architectural Requirements for S...
New business opportunities in smart societies and industry 4.0
IEEE Standards Impact in IoT and 5G, Day 1, Session 3 - Smart contracts, Mone...
Secure interoperation across cyber physical systems in smart societies with i...
Smart contracts for certification of smart devices
Globally Scalable Mobile Digital ID using IEEE P1451.99
Privacy for IoT with XMPP

What's hot (20)

PDF
Brief Introduction to Blockchain Security
PPTX
The future of data security and blockchain
PDF
Firepower ngfw internet
PDF
Global Cybersecurity Blockchain Group
PDF
Introduction to Blockchain Governance Models
PDF
PKI_in_Depth__TATT__Niza_Ben_Neji__TMGC
PDF
Azure blockchain service
PDF
Hyperledger Aries: Open Source Interoperable Identity Solution – Nathan George
PPTX
Public Digital Identity as a Service
PPTX
The Blockchain and the Future of Cybersecurity
PDF
Komodo Blockchain Security Service Brochure
PDF
Code for America 2018 - Using Hyperledger Technologies to Deliver Government ...
PDF
OSCON 2018 Getting Started with Hyperledger Indy
PDF
Getting Started in Blockchain Security and Smart Contract Auditing
PDF
Towards Self Sovereign Identity 20180508
PDF
Decentralized Identifier (DIDs) fundamentals deep dive
PDF
All you need to know about SSI for Corporates and IoT – Heather Vescent
PDF
Blockchain Security Issues and Challenges
PDF
Identity and the quest for Self-Sovereign Identity - Daniel Hardman
PDF
Introduction to Ion – a layer 2 network for Decentralized Identifiers with Bi...
Brief Introduction to Blockchain Security
The future of data security and blockchain
Firepower ngfw internet
Global Cybersecurity Blockchain Group
Introduction to Blockchain Governance Models
PKI_in_Depth__TATT__Niza_Ben_Neji__TMGC
Azure blockchain service
Hyperledger Aries: Open Source Interoperable Identity Solution – Nathan George
Public Digital Identity as a Service
The Blockchain and the Future of Cybersecurity
Komodo Blockchain Security Service Brochure
Code for America 2018 - Using Hyperledger Technologies to Deliver Government ...
OSCON 2018 Getting Started with Hyperledger Indy
Getting Started in Blockchain Security and Smart Contract Auditing
Towards Self Sovereign Identity 20180508
Decentralized Identifier (DIDs) fundamentals deep dive
All you need to know about SSI for Corporates and IoT – Heather Vescent
Blockchain Security Issues and Challenges
Identity and the quest for Self-Sovereign Identity - Daniel Hardman
Introduction to Ion – a layer 2 network for Decentralized Identifiers with Bi...
Ad

Similar to IEEE Standards Impact in IoT and 5G, Day 1, Session 2 - Communication & Operation (20)

PPTX
Smart City Lecture 4 - Harmonizing the Internet of Things
PPTX
XMPP and IoT - an overview
PDF
Protocol and Integration Challenges for SDN
PPTX
XMPP IoT Sensor Data (XEP-0323)
PPTX
IoT Security
PDF
Fundamental components of the Internet of Things unit 1.pdf
PDF
IoT - Understanding internet of things
PPTX
IOT and System Platform From Concepts to Code
PDF
From the Internet of Things to Intelligent Systems: A Developer's Primer
PPTX
Protocols for internet of things
PPTX
Protocols for internet of things
PPTX
Internet of Things: Protocols for M2M
PPTX
Protocols for internet of things
PPTX
Protocols for internet of things
PPTX
Protocols for internet of things
PPTX
IOTprotocols and overview (SSI)
PPTX
Cross domain autonomous cooperation cross-domain autonomous cooperation
PDF
From the Internet of Things to Intelligent Systems A Developer's Primer - Gar...
PPT
UNIT2_PPT.ppt
PDF
XMPP in Embedded Systems uhhivjvghbbbhhvhh
Smart City Lecture 4 - Harmonizing the Internet of Things
XMPP and IoT - an overview
Protocol and Integration Challenges for SDN
XMPP IoT Sensor Data (XEP-0323)
IoT Security
Fundamental components of the Internet of Things unit 1.pdf
IoT - Understanding internet of things
IOT and System Platform From Concepts to Code
From the Internet of Things to Intelligent Systems: A Developer's Primer
Protocols for internet of things
Protocols for internet of things
Internet of Things: Protocols for M2M
Protocols for internet of things
Protocols for internet of things
Protocols for internet of things
IOTprotocols and overview (SSI)
Cross domain autonomous cooperation cross-domain autonomous cooperation
From the Internet of Things to Intelligent Systems A Developer's Primer - Gar...
UNIT2_PPT.ppt
XMPP in Embedded Systems uhhivjvghbbbhhvhh
Ad

More from Peter Waher (17)

PPTX
Tokenization of sustainable real estate in Smart Cities - Monetization as bas...
PPTX
Interoperabilidad e Internet
PPTX
IEEE Standards Impact in IoT and 5G, Day 1, Session 1 - Introduction & Overview
PPTX
IoT Security
PPTX
Smart City Lab 6 - Decision Support for your Devices
PPTX
Smart City Lecture 6 - Earning by Sharing in the Smart City
PPTX
Smart City Lab 5 - Controlling Actuators
PPTX
Smart City Lecture 5 - Introduction to Encryption
PPTX
Smart City Lab 4 - Publishing and Discovering Devices
PPTX
Smart City Lecture 3 - An Open And/Or Secure Smart City
PPTX
Smart City Lab 3 - Publishing Data from your Sensor
PPTX
Smart City Lecture 2 - Privacy in the Smart City
PPTX
Smart City Lab 2 - Connect and Chat with your Device
PPTX
Smart City Lab 1 - Sensors and Actuators
PPTX
Smart City Lecture 1: How to build a Smart City
PPTX
Web 3.0 & IoT (English)
PPTX
XSF - XMPP Standards Foundation
Tokenization of sustainable real estate in Smart Cities - Monetization as bas...
Interoperabilidad e Internet
IEEE Standards Impact in IoT and 5G, Day 1, Session 1 - Introduction & Overview
IoT Security
Smart City Lab 6 - Decision Support for your Devices
Smart City Lecture 6 - Earning by Sharing in the Smart City
Smart City Lab 5 - Controlling Actuators
Smart City Lecture 5 - Introduction to Encryption
Smart City Lab 4 - Publishing and Discovering Devices
Smart City Lecture 3 - An Open And/Or Secure Smart City
Smart City Lab 3 - Publishing Data from your Sensor
Smart City Lecture 2 - Privacy in the Smart City
Smart City Lab 2 - Connect and Chat with your Device
Smart City Lab 1 - Sensors and Actuators
Smart City Lecture 1: How to build a Smart City
Web 3.0 & IoT (English)
XSF - XMPP Standards Foundation

Recently uploaded (20)

PPTX
artificial intelligence overview of it and more
PDF
Paper PDF World Game (s) Great Redesign.pdf
PPT
tcp ip networks nd ip layering assotred slides
PDF
Cloud-Scale Log Monitoring _ Datadog.pdf
PPTX
Slides PPTX World Game (s) Eco Economic Epochs.pptx
PDF
Slides PDF The World Game (s) Eco Economic Epochs.pdf
PDF
APNIC Update, presented at PHNOG 2025 by Shane Hermoso
PDF
An introduction to the IFRS (ISSB) Stndards.pdf
PPTX
presentation_pfe-universite-molay-seltan.pptx
PDF
WebRTC in SignalWire - troubleshooting media negotiation
PDF
Vigrab.top – Online Tool for Downloading and Converting Social Media Videos a...
PDF
SASE Traffic Flow - ZTNA Connector-1.pdf
PDF
Testing WebRTC applications at scale.pdf
PPTX
Funds Management Learning Material for Beg
PDF
RPKI Status Update, presented by Makito Lay at IDNOG 10
PDF
💰 𝐔𝐊𝐓𝐈 𝐊𝐄𝐌𝐄𝐍𝐀𝐍𝐆𝐀𝐍 𝐊𝐈𝐏𝐄𝐑𝟒𝐃 𝐇𝐀𝐑𝐈 𝐈𝐍𝐈 𝟐𝟎𝟐𝟓 💰
PPTX
Introduction to Information and Communication Technology
PDF
Decoding a Decade: 10 Years of Applied CTI Discipline
PPTX
Digital Literacy And Online Safety on internet
PDF
Triggering QUIC, presented by Geoff Huston at IETF 123
artificial intelligence overview of it and more
Paper PDF World Game (s) Great Redesign.pdf
tcp ip networks nd ip layering assotred slides
Cloud-Scale Log Monitoring _ Datadog.pdf
Slides PPTX World Game (s) Eco Economic Epochs.pptx
Slides PDF The World Game (s) Eco Economic Epochs.pdf
APNIC Update, presented at PHNOG 2025 by Shane Hermoso
An introduction to the IFRS (ISSB) Stndards.pdf
presentation_pfe-universite-molay-seltan.pptx
WebRTC in SignalWire - troubleshooting media negotiation
Vigrab.top – Online Tool for Downloading and Converting Social Media Videos a...
SASE Traffic Flow - ZTNA Connector-1.pdf
Testing WebRTC applications at scale.pdf
Funds Management Learning Material for Beg
RPKI Status Update, presented by Makito Lay at IDNOG 10
💰 𝐔𝐊𝐓𝐈 𝐊𝐄𝐌𝐄𝐍𝐀𝐍𝐆𝐀𝐍 𝐊𝐈𝐏𝐄𝐑𝟒𝐃 𝐇𝐀𝐑𝐈 𝐈𝐍𝐈 𝟐𝟎𝟐𝟓 💰
Introduction to Information and Communication Technology
Decoding a Decade: 10 Years of Applied CTI Discipline
Digital Literacy And Online Safety on internet
Triggering QUIC, presented by Geoff Huston at IETF 123

IEEE Standards Impact in IoT and 5G, Day 1, Session 2 - Communication & Operation

  • 1. Session 2 Communication & Operation IEEE P1451.99 IoT Harmonization Trust Anchor Group TAG Trust Anchor Group Infrastructure and smart transactions for modern societies Peter Waher
  • 2. XMPP Trust Anchor Group TAG eXtensible Messaging and Presence Protocol
  • 3. What is XMPP? Trust Anchor Group TAG eXtensible Messaging and Presence Protocol ● Standardized by the IETF ○ RFC 6120 ○ RFC 6121 ○ RFC 6122 ● Originally developed in the late 1990-ies. ● Instant Messaging ● “Jabber” ● Based on XML
  • 4. Basic features Trust Anchor Group TAG Some basic features of XMPP include: ● Global scalability (federation) ● Topology Independence ● Extensibility (namespaces) ● Robustness (20 years of operation) ● Open (public & free) ● Standardized ● Secure ● Interoperable
  • 5. Communication Trust Anchor Group TAG ● Brokers ○ Identities (Accounts) ○ Rosters ○ Routing ○ Federation ○ Topology insensitive ● Server-less ○ Peer-to-peer ● Authentication ○ SASL ● Ubiquitous Encryption ○ TLS ○ E2E
  • 6. Communication Patterns Trust Anchor Group TAG Intrinsic patterns: ● Asynchronous messages (message) ● Request/Response (iq) ● Publish/Subscribe (presence) Extended: ● Publish/Subscribe (XEP-0060, XEP-0163) ● Multicasting (XEP-0045) ● etc.
  • 7. Security Trust Anchor Group TAG Standard layers of security: ● Authentication (SASL) ● Encryption (TLS) ● Consent-based Authorization (presence subscription) ● Blocking ● Spam reporting ● End-to-end encryption
  • 8. Federation Trust Anchor Group TAG ● No single centralized authority ● Domains cooperate ● Improves ○ Scalability ○ Resilience ○ Interoperability ● Reduces ○ Risk
  • 9. Backbone Trust Anchor Group TAG ● Efficiency ● Interoperability ● Global scalability ● Bridges technologies vs
  • 10. Connectivity Trust Anchor Group TAG ● Direct to XMPP network ○ TCP ○ HTTP (BOSH) ○ Web-socket ○ UDP (experimental) ● XML Fragments ● Mechanisms for ○ Authentication (SASL) ○ Sessions ○ Binding ○ Encryption (TLS) ○ Roster ○ Components ○ Extensions
  • 12. Sensor Data Trust Anchor Group TAG ● Loosely coupled representation ● M2M & M2H ● Meta-data describing information ● Localizable
  • 13. Control Operations Trust Anchor Group TAG ● Loosely coupled representation ● M2M & M2H ● Meta-data ● Localizable
  • 16. Asynchronous Messages Trust Anchor Group TAG ● Spontaneous communication ● From anyone to anyone (Peers) ● Parties identified ● Full duplex ● Quality of Service ○ At most once (“Unacknowledged”) ○ At least once (“Acknowledged”) ○ Exactly once (“Assured”, “Reliable Messaging”) ● Can be used to build any other pattern Examples: CoAP, XMPP, IoT Harmonization
  • 17. Request / Response Trust Anchor Group TAG
  • 18. Request / Response Trust Anchor Group TAG ● Limited Client / Server roles ● Client initiates communication ● Server identified ● No requirement to identify client ● Half duplex ● Polling ● Event-based communication from server difficult Examples: HTTP, CoAP, LWM2M, XMPP, IoT Harmonization
  • 20. Event Subscription (“Observe”) Trust Anchor Group TAG ● Combines Req./Resp. & Asynch. Msg. ● Client initiates subscription ● Server initiates updates ● Client determines conditions ○ Server does not have to know client use case ● More efficient than polling Examples: CoAP, LWM2M, IoT Harmonization
  • 22. Multicast Trust Anchor Group TAG ● Group membership ○ Often only security mechanism ○ Group encryption difficult ● Anyone in group can send a message ● Everyone in a group receives messages ○ Detailed authorization difficult ● Synchronizing events ○ Clocks ○ Updates ● Multicast Streaming (like IP-TV) ● Discovery in ad hoc networks Examples: CoAP, XMPP, IoT Harmonization
  • 23. Publish / Subscribe Trust Anchor Group TAG
  • 24. Publish / Subscribe Trust Anchor Group TAG ● Publishers send messages ● Subscribers receive messages ● Degree of separation between actors ● Authorization on Topics or Nodes ● Efficient if Subscriber:Publisher ratio high ○ Mass distribution ○ Syndication ● Inefficient if Subscriber:Publisher ratio low ○ Emulation of Asynch. Msg or Req./Resp. ● Difficult to federate a topic/node tree Examples: MQTT, XMPP, IoT Harmonization
  • 26. Queue Trust Anchor Group TAG ● Publishers send work items ● Workers collaborate processing items ○ One worker per item ● Degree of separation between actors ● Authorization on Topics or Nodes ● Load balancing ● Mostly used in high-load back-ends Examples: AMQP, IoT Harmonization
  • 28. Federated brokers Trust Anchor Group TAG ● Global scalability ○ Divide & Conquer (federations/domains) ○ Brokers cooperate ■ Each domain controls its part of the network ■ Cross-domain cooperation easy ● Decentralization ● Resilience ● Global distributed identities ● Solves Topology Problem Examples: XMPP, IoT Harmonization, (SMTP)
  • 29. Decentralization / Edge Trust Anchor Group TAG
  • 30. Decentralization / Edge Trust Anchor Group TAG ● Processing done at the source ○ Permits centralized processing (if required) ● Cloud used for support ○ Identity ○ Transport ○ Discovery ○ Decision Support (Orchestration, Provisioning) ● Protects Privacy ● Enforces Ownership of Information ● Distributes processing power ● Scalable Examples: XMPP, IoT Harmonization
  • 31. Basic Operations Trust Anchor Group TAG with Examples https://gitlab.com/IEEE-SA/XMPPI/IoT#communication-patterns
  • 32. Simple Sensor Data Request Trust Anchor Group TAG https://gitlab.com/IEEE-SA/XMPPI/IoT/blob/master/SensorDataRequestResponse.md
  • 33. Slow Responses Trust Anchor Group TAG https://gitlab.com/IEEE-SA/XMPPI/IoT/blob/master/SensorDataRequestResponse.md
  • 34. Scheduled / Queued responses Trust Anchor Group TAG https://gitlab.com/IEEE-SA/XMPPI/IoT/blob/master/SensorDataRequestResponse.md
  • 35. Fragmented responses Trust Anchor Group TAG https://gitlab.com/IEEE-SA/XMPPI/IoT/blob/master/SensorDataRequestResponse.md
  • 36. Example: Simple Readout Trust Anchor Group TAG https://gitlab.com/IEEE-SA/XMPPI/IoT/blob/master/SensorDataRequestResponse.md
  • 37. Event Subscription Trust Anchor Group TAG https://gitlab.com/IEEE-SA/XMPPI/IoT/blob/master/SensorDataEventSubscription.md
  • 38. Fragmented events Trust Anchor Group TAG https://gitlab.com/IEEE-SA/XMPPI/IoT/blob/master/SensorDataEventSubscription.md
  • 39. Example: Event Subscription Trust Anchor Group TAG https://gitlab.com/IEEE-SA/XMPPI/IoT/blob/master/SensorDataEventSubscription.md
  • 40. Publish/Subscribe (PEP) Trust Anchor Group TAG https://gitlab.com/IEEE-SA/XMPPI/IoT/blob/master/SensorDataPublishSubscribe.md
  • 41. Publish (PEP) Trust Anchor Group TAG https://gitlab.com/IEEE-SA/XMPPI/IoT/blob/master/SensorDataPublishSubscribe.md
  • 42. Notification (PEP) Trust Anchor Group TAG https://gitlab.com/IEEE-SA/XMPPI/IoT/blob/master/SensorDataPublishSubscribe.md
  • 43. Simple Control Action Trust Anchor Group TAG https://gitlab.com/IEEE-SA/XMPPI/IoT/blob/master/ControlSimpleActions.md
  • 44. Example: Simple Control Trust Anchor Group TAG https://gitlab.com/IEEE-SA/XMPPI/IoT/blob/master/ControlSimpleActions.md
  • 45. Data Form Control Actions Trust Anchor Group TAG https://gitlab.com/IEEE-SA/XMPPI/IoT/blob/master/ControlDataForm.md
  • 46. Getting Parameter Form Trust Anchor Group TAG https://gitlab.com/IEEE-SA/XMPPI/IoT/blob/master/ControlDataForm.md
  • 47. Setting Parameter Form Trust Anchor Group TAG https://gitlab.com/IEEE-SA/XMPPI/IoT/blob/master/ControlDataForm.md
  • 49. Edge Trust Anchor Group TAG Cloud Edge Bespoke Standardized
  • 50. Edge services Trust Anchor Group TAG ● Identity ● Federation ● Thing Registry ○ Ownership ○ Discovery ● Decision Support ○ Provisioning ○ Orchestration ● Tokens ○ Distributed operations ● Synchronization ● Updates ● Smart Contracts ○ Legal identities ○ Automation of provisioning ○ Certification ● Monetization XMPP IEEE P1451.99
  • 51. Thing Registries Trust Anchor Group TAG ● Dynamic Discovery ● Searchable ● Ownership pairing ● Zero configuration ● Network ID ↔ Meta-data as name/value tags ● Updateable ● Open APIs ○ XMPP: IEEE 1451.99 ○ HTTPS: PAS 212:2016 ● Standard/Replaceable components https://gitlab.com/IEEE-SA/XMPPI/IoT/blob/master/Discovery.md
  • 52. Tags Trust Anchor Group TAG Tag Name Type Description ALT Numeric Altitude (meters) APT String Apartment associated with the Thing AREA String Area associated with the Thing BLD String Building associated with the Thing CITY String City associated with the Thing CLASS String Class of Thing COUNTRY String Country associated with the Thing KEY String Key, shared between thing and owner LAT Numeric Latitude (degrees) LON Numeric Longitude (degrees) MAN String Domain name owned by the Manufacturer MLOC String Meter Location ID MNR String Meter Number MODEL String Name of Model NAME String Name associated with the Thing PURL String URL to product information for the Thing R String Registry Address. Used in iotdisco URIs only REGION String Region associated with the Thing ROOM String Room associated with the Thing SN String Serial Number STREET String Street Name STREETNR String Street Number V Numeric Version Number
  • 53. Life-cycle Trust Anchor Group TAG ● Production ● Installation ● Configuration ● Ownership ● Discoverability ● Transfer of ownership ● Decommissioning
  • 54. iotdisco URI scheme Trust Anchor Group TAG ● Encodes meta-data ○ Unique identities (e.g. ownership claims) ○ Searches ● URI strings easy to process ● Works with Federated Thing Registries ● Simple to transmit (messages, QR codes) iotdisco:SN=98734238472634;MAN=www.example.org;MODEL =Device;#V=1.0;KEY=3453485763440213840928;R=discover y.example.org iotdisco:MAN=www.example.org;MODEL=Device;SN~*9873*; #V>=1.0;#V<2;#LON>=-72;#LON<=-70;#LAT>=-34;#LAT<=-33 https://gitlab.com/IEEE-SA/XMPPI/IoT/blob/master/Discovery.md https://www.iana.org/assignments/uri-schemes/prov/iotdisco.pdf
  • 55. Ownership & Discovery Trust Anchor Group TAG
  • 56. Registering Thing Trust Anchor Group TAG https://gitlab.com/IEEE-SA/XMPPI/IoT/blob/master/Discovery.md
  • 57. Claiming Device Trust Anchor Group TAG https://gitlab.com/IEEE-SA/XMPPI/IoT/blob/master/Discovery.md
  • 58. Notifying Device & Owner Trust Anchor Group TAG https://gitlab.com/IEEE-SA/XMPPI/IoT/blob/master/Discovery.md
  • 59. Searching for Devices Trust Anchor Group TAG https://gitlab.com/IEEE-SA/XMPPI/IoT/blob/master/Discovery.md
  • 61. Checking friendships Trust Anchor Group TAG https://gitlab.com/IEEE-SA/XMPPI/IoT/blob/master/DecisionSupport.md
  • 62. Sensor data authorization Trust Anchor Group TAG https://gitlab.com/IEEE-SA/XMPPI/IoT/blob/master/DecisionSupport.md
  • 63. Control operation authorization Trust Anchor Group TAG https://gitlab.com/IEEE-SA/XMPPI/IoT/blob/master/DecisionSupport.md
  • 65. Provisioning for Owners Trust Anchor Group TAG ● Event messages sent asynchronously ● Owner responds with rule increments ○ Friendships ○ Sensor Data Access ○ Control Operations ● Manage rules https://gitlab.com/IEEE-SA/XMPPI/IoT/blob/master/Provisioning.md
  • 66. Distributed Transactions Trust Anchor Group TAG ● Tokens ○ User identities ○ Service identities ○ Device identities ● Challengeable ● PKI based ○ Public key registered with broker ○ Broker issues token ○ Private key used to respond to challenges ● Multiple tokens can be distributed ● Authorization on original, not intermediate, identity https://gitlab.com/IEEE-SA/XMPPI/IoT/blob/master/Tokens.md
  • 67. Clock Synchronization Trust Anchor Group TAG ● Synchronization of events across Internet ● Across multiple networks & time-bases ● High-frequency clocks ● < 1 ms precision in stable conditions ● Adaptation during network/clock reconfigurations https://gitlab.com/IEEE-SA/XMPPI/IoT/blob/master/ClockSynchronization.md
  • 68. Software Updates Trust Anchor Group TAG ● Software updates ● Cryptographic signatures ● Global Scalability ● Distribute patches & updates ● Notifications https://gitlab.com/IEEE-SA/XMPPI/IoT/blob/master/SoftwareUpdates.md
  • 69. Smart Contracts Trust Anchor Group TAG ● Legal identities ● Smart Contracts ○ Owner defines rules for access ● Automation of Provisioning ○ Zero configuration ○ Signing smart contract gives access ● Certificates ○ Verifiable claims ○ Maturity Index ○ Cross-domain interoperation ● Economic Feedback ○ Billing based on usage
  • 71. Connectivity Trust Anchor Group TAG ● Direct to XMPP network ○ TCP ○ HTTP (BOSH) ○ Web-socket ○ UDP (experimental) ● Via Concentrator (“Thing of Things”) ○ Embedded ○ Gateway ■ Bridge protocols ■ Bridge patterns ■ System Integration
  • 72. Extended addressing Trust Anchor Group TAG Attribute Type Description id xs:string Node identity src xs:string Source identity pt xs:string Partition
  • 73. PLC Trust Anchor Group TAG ● Embeds logical/embedded devices ● One connection to XMPP network
  • 74. Protocol/Pattern bridge Trust Anchor Group TAG ● Connecting other technologies ● Adding security ● Adding interoperability
  • 75. System Integration Trust Anchor Group TAG ● Integration with Back-end systems
  • 76. Capabilities Trust Anchor Group TAG ● Browse Sources ● View/Create/Edit/Delete/Order Nodes ● Loose coupling ● Mass-management ● Machine & Human Interfaces ● Event notifications on changes ● Node commands & queries ● Troubleshooting
  • 77. Capabilities Trust Anchor Group TAG Operation Small/static Bridge/Gateway Subsystem Operation Small/static Bridge/Gateway Subsystem getCapabilities x x x destroyNode x x getAllDataSources x x x moveNodeUp x x getRootDataSources x x moveNodeDown x x getChildDataSources x x moveNodesUp x x containsNode x x x moveNodesDown x x containsNodes x subscribe x x getNode x x x unsubscribe x x getNodes x getNodeCommands x x x getAllNodes x x x getCommandParameters (x) x x getNodeInheritance x x executeNodeCommand x x x getRootNodes x x x executeNodeQuery (x) x x getChildNodes x x x getCommonNodeCommands x getAncestors x x getCommonCommandParameters x getNodeParametersForEdit x x executeCommonNodeCommand x setNodeParametersAfterEdit x x executeCommonNodeQuery x getCommonNodeParametersForEdit x abortNodeQuery (x) x x setCommonNodeParametersAfterEdit x abortCommonNodeQuery x x getAddableNodeTypes x x registerSniffer x x getParametersForNewNode x x unregisterSniffer x x createNewNode x x
  • 78. End Session 2 Trust Anchor Group TAG