29
INTRODUCTION BACKGROUND XMPP EXTENDED PROTOCOLS PROJECT MILESTONES CONCLUSION Project Proposal The Internet of Things using XMPP ******** ************* ******** ******* April 23, 2014

Project Proposal: Internet of Things uxing XMPP

Embed Size (px)

DESCRIPTION

 

Citation preview

Page 1: Project Proposal: Internet of Things uxing XMPP

INTRODUCTION BACKGROUND XMPP EXTENDED PROTOCOLS PROJECT MILESTONES CONCLUSION

Project ProposalThe Internet of Things using XMPP

******** ********************* *******

April 23, 2014

Page 2: Project Proposal: Internet of Things uxing XMPP

INTRODUCTION BACKGROUND XMPP EXTENDED PROTOCOLS PROJECT MILESTONES CONCLUSION

TABLE OF CONTENTS IINTRODUCTION

BACKGROUND

Internet of Things (IoT)XMPP

XMPP EXTENDED PROTOCOLS

Base IoT ProtocolsExtra IoT Protocols

PROJECT

Research QuestionImplementationTests

MILESTONES

RealisticCaffeineAdderall

CONCLUSION

Page 3: Project Proposal: Internet of Things uxing XMPP

INTRODUCTION BACKGROUND XMPP EXTENDED PROTOCOLS PROJECT MILESTONES CONCLUSION

TABLE OF CONTENTS IIConclusion

Page 4: Project Proposal: Internet of Things uxing XMPP

INTRODUCTION BACKGROUND XMPP EXTENDED PROTOCOLS PROJECT MILESTONES CONCLUSION

IOT: DEFINITION

“The Internet of Things represents a vision in which theInternet extends into the real world embracing everydayobjects. Physical items are no longer disconnected from thevirtual world, but can be controlled remotely and can act asphysical access points.”[1]

Page 5: Project Proposal: Internet of Things uxing XMPP

INTRODUCTION BACKGROUND XMPP EXTENDED PROTOCOLS PROJECT MILESTONES CONCLUSION

IOT: PROBLEMS

I Lower PowerI ScalabilityI InteroperabilityI Rolling UpdatesI Security

Page 6: Project Proposal: Internet of Things uxing XMPP

INTRODUCTION BACKGROUND XMPP EXTENDED PROTOCOLS PROJECT MILESTONES CONCLUSION

PROBLEM: LOW POWER

I Good batteries don’t exist yetI Want any potential device to be able to connect to the

network and stay connectedI Physically small like a wrist watchI Limited battery space and mW hours with possibly

infrequent charging like an umbrella

Page 7: Project Proposal: Internet of Things uxing XMPP

INTRODUCTION BACKGROUND XMPP EXTENDED PROTOCOLS PROJECT MILESTONES CONCLUSION

PROBLEM: SCALABILITY

I Expected every person is connected to the InternetI Each person reasonable to have at least 5 devices

connected to the Internet at any given timeI Needs to scale to Billions of devicesI Layer 1 - 3 needs to be able to handle number of active

devices being routed and addressableI IoT protocols need to be able to be inherently cache-able,

distributable, and redundant

Page 8: Project Proposal: Internet of Things uxing XMPP

INTRODUCTION BACKGROUND XMPP EXTENDED PROTOCOLS PROJECT MILESTONES CONCLUSION

PROBLEM: INTEROPERABILITY

I Need to be able to communicate with functionallycompatible protocols

I Protocol needs to work on tiny devicesI Agnostic of Layers 1-3

Page 9: Project Proposal: Internet of Things uxing XMPP

INTRODUCTION BACKGROUND XMPP EXTENDED PROTOCOLS PROJECT MILESTONES CONCLUSION

PROBLEM: ROLLING UPDATES

I Even harder to change once as widely adopted as IPv4I Infinite backwards compatibility shouldn’t be expectedI Goal having the same quality of service as mainframes

with 0% downtime

Page 10: Project Proposal: Internet of Things uxing XMPP

INTRODUCTION BACKGROUND XMPP EXTENDED PROTOCOLS PROJECT MILESTONES CONCLUSION

PROBLEM: SECURITY

I PrivacyI AnonymityI Robust protocolI Fail close protocolI Semantics of protocol need to be as simple as possible not

Turing ComleteI Protocol pushes for better coding practices if where-ever

possible

Page 11: Project Proposal: Internet of Things uxing XMPP

INTRODUCTION BACKGROUND XMPP EXTENDED PROTOCOLS PROJECT MILESTONES CONCLUSION

XMPP

I Extensible Messaging and Presence ProtocolI Communications protocol for message-oriented

middleware based on XMLI Core Features

I Channel EncryptionI AuthenticationI Error HandlingI Communication primitives for messagingI Network AvailabilityI Request-Response interactions

Page 12: Project Proposal: Internet of Things uxing XMPP

INTRODUCTION BACKGROUND XMPP EXTENDED PROTOCOLS PROJECT MILESTONES CONCLUSION

XMPP: PROTOCOL OVERVIEW

1. Determine IP and port to connect2. Open TCP Connection3. Open XML Stream over TCP (TLS Optional)4. Authenticate using Simple Authentication and Security

Layer (SASL) mechanism5. Bind resource to the stream6. Exchange XML Data7. Close XML Stream and TCP Connection

Page 13: Project Proposal: Internet of Things uxing XMPP

INTRODUCTION BACKGROUND XMPP EXTENDED PROTOCOLS PROJECT MILESTONES CONCLUSION

XEP-0325: IOT CONTROL

I IoT requires all devices to have actuatorsI Devices that can be controlled through the network and act

as with outside worldI Example - Control door locks

Page 14: Project Proposal: Internet of Things uxing XMPP

INTRODUCTION BACKGROUND XMPP EXTENDED PROTOCOLS PROJECT MILESTONES CONCLUSION

XEP-0323: IOT SENSOR DATA

I Basic operations and data structures for sensor datacommunication

I Sensor networks contain many different architecturesI Temperature Sensor - Analog Value value with

precision/physical unitI Annoying censors on CSL doors - digital value (0 or 1)I XEP 0323 is designed to be simple due to different

architectures and scalability

Page 15: Project Proposal: Internet of Things uxing XMPP

INTRODUCTION BACKGROUND XMPP EXTENDED PROTOCOLS PROJECT MILESTONES CONCLUSION

XPE-0326: IOT CONCENTRATORS

I Used for concentrating management of a sub set of devices(usually sensors) to one point

I Devices will be of different makes and modelsI XEP 0326 has a small set of reduced operations for basic

maintenance and interoperabilityI Set of devices can be

I Small connecting all the windows in a houseI Medium all of the locks at a businessI Large all the devices at a college campusI Massive all of the sensors and actuators at a power plant

I ConvenienceI Ability to work with massive quantities of entitiesI Effective syncronization between interested parties

Page 16: Project Proposal: Internet of Things uxing XMPP

INTRODUCTION BACKGROUND XMPP EXTENDED PROTOCOLS PROJECT MILESTONES CONCLUSION

XPE-0324: IOT PROVISIONING

I Used for efficient management of access rights andprivileges

I What things can read data from what other things, andwhat data

I User Control and privileges But wait! Not all sensors canprovide a user interface to control privileges

I Distributed third partyI Provide rich user interface and configurable optionsI Control communication and available content Relies on

Sensor Data & Control XMPP ExtensionsI Example- Only the owner of the car may tell the car to start

Page 17: Project Proposal: Internet of Things uxing XMPP

INTRODUCTION BACKGROUND XMPP EXTENDED PROTOCOLS PROJECT MILESTONES CONCLUSION

XEP-0347: DISCOVERY

I Used for secure installation, configuration, and connectionof massive amounts of things

I Goal is for 0 configuration networkingI Trade off is simplicity vs security

Page 18: Project Proposal: Internet of Things uxing XMPP

INTRODUCTION BACKGROUND XMPP EXTENDED PROTOCOLS PROJECT MILESTONES CONCLUSION

RESEARCH QUESTION

Does the existing XEP IoT protocols solve the the majorproblems of IoT?

Page 19: Project Proposal: Internet of Things uxing XMPP

INTRODUCTION BACKGROUND XMPP EXTENDED PROTOCOLS PROJECT MILESTONES CONCLUSION

XMPP IMPLEMENTATION

I Use existing XMPP base codeI Implement XEP 0325 - ControlI Implement XEP 0323 - Sensor DataI Note: Protocols are experimental and were updated last

week.

Page 20: Project Proposal: Internet of Things uxing XMPP

INTRODUCTION BACKGROUND XMPP EXTENDED PROTOCOLS PROJECT MILESTONES CONCLUSION

TEST BED

I NS-3I Form of WAN and LAN emulation (e.g. CORE)

Page 21: Project Proposal: Internet of Things uxing XMPP

INTRODUCTION BACKGROUND XMPP EXTENDED PROTOCOLS PROJECT MILESTONES CONCLUSION

SCALABILITY TESTS

I Test overhead of protocol for dataI Test how many devices can simultaneously be connected

to one XMPP Server

Page 22: Project Proposal: Internet of Things uxing XMPP

INTRODUCTION BACKGROUND XMPP EXTENDED PROTOCOLS PROJECT MILESTONES CONCLUSION

SECURITY TESTS

I Test how identifiable a person/device is from plain textand TLS encryption

I Test where can privacy can be broken, most likelyassuming compromised server or concentrator

Page 23: Project Proposal: Internet of Things uxing XMPP

INTRODUCTION BACKGROUND XMPP EXTENDED PROTOCOLS PROJECT MILESTONES CONCLUSION

REALISTIC: MILESTONE 1

I Implement Sensor/Control XEPsI Scalability no concentratorsI Security anonymity and privacy no concentrators

Page 24: Project Proposal: Internet of Things uxing XMPP

INTRODUCTION BACKGROUND XMPP EXTENDED PROTOCOLS PROJECT MILESTONES CONCLUSION

CAFFEINATED: MILESTONE 2

I Implement ConcentratorI Test scalability improvements with concentratorsI Test Security with concentrators

Page 25: Project Proposal: Internet of Things uxing XMPP

INTRODUCTION BACKGROUND XMPP EXTENDED PROTOCOLS PROJECT MILESTONES CONCLUSION

CAFFEINATED: MILESTONE 3

I Implement ProvisioningI Test Scalability what additional traffic added?I Test Security what data is leaked by provisioning?

Page 26: Project Proposal: Internet of Things uxing XMPP

INTRODUCTION BACKGROUND XMPP EXTENDED PROTOCOLS PROJECT MILESTONES CONCLUSION

ADDERALL: MILESTONE 4

I Implement DiscoveryI Test Scalability what additional traffic added?I Test Security what data is leaked by provisioning?

Page 27: Project Proposal: Internet of Things uxing XMPP

INTRODUCTION BACKGROUND XMPP EXTENDED PROTOCOLS PROJECT MILESTONES CONCLUSION

CONCLUSION

Fin

Page 28: Project Proposal: Internet of Things uxing XMPP

INTRODUCTION BACKGROUND XMPP EXTENDED PROTOCOLS PROJECT MILESTONES CONCLUSION

COMMENTS & QUESTIONS

What do you think?

Page 29: Project Proposal: Internet of Things uxing XMPP

INTRODUCTION BACKGROUND XMPP EXTENDED PROTOCOLS PROJECT MILESTONES CONCLUSION

REFERENCES I

C. F. Friedman Mattern, “From the internet of computer tothe internet of things,” Distributed Systems Group.