1. INTRODUCTION BACKGROUND XMPP EXTENDED PROTOCOLS PROJECT MILESTONES CONCLUSION
Project Proposal
The Internet of Things using XMPP
******** *************
******** *******
April 23, 2014
2. INTRODUCTION BACKGROUND XMPP EXTENDED PROTOCOLS PROJECT MILESTONES CONCLUSION
TABLE OF CONTENTS I
INTRODUCTION
BACKGROUND
Internet of Things (IoT)
XMPP
XMPP EXTENDED PROTOCOLS
Base IoT Protocols
Extra IoT Protocols
PROJECT
Research Question
Implementation
Tests
MILESTONES
Realistic
Caffeine
Adderall
CONCLUSION
4. INTRODUCTION BACKGROUND XMPP EXTENDED PROTOCOLS PROJECT MILESTONES CONCLUSION
IOT: DEFINITION
“The Internet of Things represents a vision in which the
Internet extends into the real world embracing everyday
objects. Physical items are no longer disconnected from the
virtual world, but can be controlled remotely and can act as
physical access points.”[1]
5. INTRODUCTION BACKGROUND XMPP EXTENDED PROTOCOLS PROJECT MILESTONES CONCLUSION
IOT: PROBLEMS
Lower Power
Scalability
Interoperability
Rolling Updates
Security
6. INTRODUCTION BACKGROUND XMPP EXTENDED PROTOCOLS PROJECT MILESTONES CONCLUSION
PROBLEM: LOW POWER
Good batteries don’t exist yet
Want any potential device to be able to connect to the
network and stay connected
Physically small like a wrist watch
Limited battery space and mW hours with possibly
infrequent charging like an umbrella
7. INTRODUCTION BACKGROUND XMPP EXTENDED PROTOCOLS PROJECT MILESTONES CONCLUSION
PROBLEM: SCALABILITY
Expected every person is connected to the Internet
Each person reasonable to have at least 5 devices
connected to the Internet at any given time
Needs to scale to Billions of devices
Layer 1 - 3 needs to be able to handle number of active
devices being routed and addressable
IoT protocols need to be able to be inherently cache-able,
distributable, and redundant
8. INTRODUCTION BACKGROUND XMPP EXTENDED PROTOCOLS PROJECT MILESTONES CONCLUSION
PROBLEM: INTEROPERABILITY
Need to be able to communicate with functionally
compatible protocols
Protocol needs to work on tiny devices
Agnostic of Layers 1-3
9. INTRODUCTION BACKGROUND XMPP EXTENDED PROTOCOLS PROJECT MILESTONES CONCLUSION
PROBLEM: ROLLING UPDATES
Even harder to change once as widely adopted as IPv4
Infinite backwards compatibility shouldn’t be expected
Goal having the same quality of service as mainframes
with 0% downtime
10. INTRODUCTION BACKGROUND XMPP EXTENDED PROTOCOLS PROJECT MILESTONES CONCLUSION
PROBLEM: SECURITY
Privacy
Anonymity
Robust protocol
Fail close protocol
Semantics of protocol need to be as simple as possible not
Turing Comlete
Protocol pushes for better coding practices if where-ever
possible
11. INTRODUCTION BACKGROUND XMPP EXTENDED PROTOCOLS PROJECT MILESTONES CONCLUSION
XMPP
Extensible Messaging and Presence Protocol
Communications protocol for message-oriented
middleware based on XML
Core Features
Channel Encryption
Authentication
Error Handling
Communication primitives for messaging
Network Availability
Request-Response interactions
12. INTRODUCTION BACKGROUND XMPP EXTENDED PROTOCOLS PROJECT MILESTONES CONCLUSION
XMPP: PROTOCOL OVERVIEW
1. Determine IP and port to connect
2. Open TCP Connection
3. Open XML Stream over TCP (TLS Optional)
4. Authenticate using Simple Authentication and Security
Layer (SASL) mechanism
5. Bind resource to the stream
6. Exchange XML Data
7. Close XML Stream and TCP Connection
13. INTRODUCTION BACKGROUND XMPP EXTENDED PROTOCOLS PROJECT MILESTONES CONCLUSION
XEP-0325: IOT CONTROL
IoT requires all devices to have actuators
Devices that can be controlled through the network and act
as with outside world
Example - Control door locks
14. INTRODUCTION BACKGROUND XMPP EXTENDED PROTOCOLS PROJECT MILESTONES CONCLUSION
XEP-0323: IOT SENSOR DATA
Basic operations and data structures for sensor data
communication
Sensor networks contain many different architectures
Temperature Sensor - Analog Value value with
precision/physical unit
Annoying censors on CSL doors - digital value (0 or 1)
XEP 0323 is designed to be simple due to different
architectures and scalability
15. INTRODUCTION BACKGROUND XMPP EXTENDED PROTOCOLS PROJECT MILESTONES CONCLUSION
XPE-0326: IOT CONCENTRATORS
Used for concentrating management of a sub set of devices
(usually sensors) to one point
Devices will be of different makes and models
XEP 0326 has a small set of reduced operations for basic
maintenance and interoperability
Set of devices can be
Small connecting all the windows in a house
Medium all of the locks at a business
Large all the devices at a college campus
Massive all of the sensors and actuators at a power plant
Convenience
Ability to work with massive quantities of entities
Effective syncronization between interested parties
16. INTRODUCTION BACKGROUND XMPP EXTENDED PROTOCOLS PROJECT MILESTONES CONCLUSION
XPE-0324: IOT PROVISIONING
Used for efficient management of access rights and
privileges
What things can read data from what other things, and
what data
User Control and privileges But wait! Not all sensors can
provide a user interface to control privileges
Distributed third party
Provide rich user interface and configurable options
Control communication and available content Relies on
Sensor Data & Control XMPP Extensions
Example- Only the owner of the car may tell the car to start
17. INTRODUCTION BACKGROUND XMPP EXTENDED PROTOCOLS PROJECT MILESTONES CONCLUSION
XEP-0347: DISCOVERY
Used for secure installation, configuration, and connection
of massive amounts of things
Goal is for 0 configuration networking
Trade off is simplicity vs security
18. INTRODUCTION BACKGROUND XMPP EXTENDED PROTOCOLS PROJECT MILESTONES CONCLUSION
RESEARCH QUESTION
Does the existing XEP IoT protocols solve the the major
problems of IoT?
19. INTRODUCTION BACKGROUND XMPP EXTENDED PROTOCOLS PROJECT MILESTONES CONCLUSION
XMPP IMPLEMENTATION
Use existing XMPP base code
Implement XEP 0325 - Control
Implement XEP 0323 - Sensor Data
Note: Protocols are experimental and were updated last
week.
20. INTRODUCTION BACKGROUND XMPP EXTENDED PROTOCOLS PROJECT MILESTONES CONCLUSION
TEST BED
NS-3
Form of WAN and LAN emulation (e.g. CORE)
21. INTRODUCTION BACKGROUND XMPP EXTENDED PROTOCOLS PROJECT MILESTONES CONCLUSION
SCALABILITY TESTS
Test overhead of protocol for data
Test how many devices can simultaneously be connected
to one XMPP Server
22. INTRODUCTION BACKGROUND XMPP EXTENDED PROTOCOLS PROJECT MILESTONES CONCLUSION
SECURITY TESTS
Test how identifiable a person/device is from plain text
and TLS encryption
Test where can privacy can be broken, most likely
assuming compromised server or concentrator
23. INTRODUCTION BACKGROUND XMPP EXTENDED PROTOCOLS PROJECT MILESTONES CONCLUSION
REALISTIC: MILESTONE 1
Implement Sensor/Control XEPs
Scalability no concentrators
Security anonymity and privacy no concentrators
24. INTRODUCTION BACKGROUND XMPP EXTENDED PROTOCOLS PROJECT MILESTONES CONCLUSION
CAFFEINATED: MILESTONE 2
Implement Concentrator
Test scalability improvements with concentrators
Test Security with concentrators
25. INTRODUCTION BACKGROUND XMPP EXTENDED PROTOCOLS PROJECT MILESTONES CONCLUSION
CAFFEINATED: MILESTONE 3
Implement Provisioning
Test Scalability what additional traffic added?
Test Security what data is leaked by provisioning?
26. INTRODUCTION BACKGROUND XMPP EXTENDED PROTOCOLS PROJECT MILESTONES CONCLUSION
ADDERALL: MILESTONE 4
Implement Discovery
Test Scalability what additional traffic added?
Test Security what data is leaked by provisioning?
28. INTRODUCTION BACKGROUND XMPP EXTENDED PROTOCOLS PROJECT MILESTONES CONCLUSION
COMMENTS & QUESTIONS
What do you think?
29. INTRODUCTION BACKGROUND XMPP EXTENDED PROTOCOLS PROJECT MILESTONES CONCLUSION
REFERENCES I
C. F. Friedman Mattern, “From the internet of computer to
the internet of things,” Distributed Systems Group.