20130226 how personal is your cloud?

30
IOT = (Proprietary Networks != Internet) Of Things

Upload: trob-wyatt

Post on 18-Jan-2015

447 views

Category:

Technology


0 download

DESCRIPTION

February 26, 2013 Personal Clouds meetup in San Francisco. http://personal-clouds.org

TRANSCRIPT

Page 1: 20130226 How Personal Is Your Cloud?

IOT = (Proprietary Networks != Internet) Of Things

Page 2: 20130226 How Personal Is Your Cloud?

T.Rob Wyatt»WebSphere MQ security guy»Security blogger»Autistic blogger»Enthusiastic fan of Internet of Things

Moved to IBM in order to improve the state of middleware security and to help build the instrumented, networked, interactive world of pervasive, embedded computing.

Page 3: 20130226 How Personal Is Your Cloud?
Page 4: 20130226 How Personal Is Your Cloud?

1. Subscribe to service2. Possibly configure gateway3. Configure device to network4. Possibly configure device to gateway5. Device talks to vendor cloud6. User Interface talks to cloud

Page 5: 20130226 How Personal Is Your Cloud?

Device Gateway Local data intercept?

WiThings scale Wi-Fi Router No

Fitbit PC, Phone No

Garmin, Omron PC File

Schlage LiNK Z-Wave Bridge No

iFit Wi-Fi Router No

Summer Baby Monitor Proprietary No

Ford Sync Cell data modem No

Ninja Blocks Ethernet Router No (Open HW/SW FTW!)

Ceiva photo frame Wi-Fi router No

LIFX LED Bulb Wi-Fi / Mesh network No

Page 6: 20130226 How Personal Is Your Cloud?

» Security is hard. Solve the problem with an encrypted tunnel from the device to the vendor.

» No need to authenticate data so long as the secure connection provides identity context.

In a world where vendors claim ownership of your data, this model is expected. It is the status quo. Who would even think of doing it any other way?

WE would, that's who. Our data is OUR data. That's why we call it that.

Page 7: 20130226 How Personal Is Your Cloud?

» Network goes down? The house blue screens?» You want to push a device's feed to a 3rd party?» You want H/A or offsite redundancy?» You want a different data granularity or

availability than the vendor gives you?» Your vendor goes out of business and you have

10,000 hours left on your $100 LED bulb?

Page 8: 20130226 How Personal Is Your Cloud?
Page 9: 20130226 How Personal Is Your Cloud?

» User needs to configure each device type» Doesn’t scale» Devices don’t talk to one another» Functionality degrades or fails without

connectivity» Vendor-first data capture» User options severely limited by vendors» Lot$ of $ub$cription$» Limited sense-and-respond, esp. across vendors

Page 10: 20130226 How Personal Is Your Cloud?

» Devices self-configure» Devices talk locally first, to vendor is optional» Local functionality does not require Internet» Full if-this-then-that capability in home» Data owners are free to use their own data» Interoperability across different device types

and/or different vendors

Page 11: 20130226 How Personal Is Your Cloud?

1. Consumer enters device GUID into their dashboard.2. Power up the device in the vicinity of the router. Press the sync

button on the device, then the WPS* button on the router.3. Device joins the network and acquires an IP address from DHCP.4. Device issues MQTT Connect on DHCP server port 18835. Device subscribes to an admin topic that publishes on-boarding

info.6. Device now publishes the manufacturer's MQTT feed URL to the

dashboard.7. User dashboard now displays device-specific options to publish

to the vendor, subscribe from the vendor, etc.8. User has options to publish topic feeds at any level to 3rd parties.

(* Note: Requires some rework to make WPS secure or to replace it.)

Page 12: 20130226 How Personal Is Your Cloud?

After install of the new device, all data is exchanged locally unless specifically provisioned by the user.

Page 13: 20130226 How Personal Is Your Cloud?

Optionally, the user can authorize various interactions with device vendor:1.Publish device data to vendor.2.Subscribe to vendor administrative alerts (recall notices, offers, etc.)3.Allow vendor to send inbound control messages.

Page 14: 20130226 How Personal Is Your Cloud?
Page 15: 20130226 How Personal Is Your Cloud?

IT’S MY DATA!If I want to give it to someone

OTHERthan the device manufacturer,

Why can’t I?

Page 16: 20130226 How Personal Is Your Cloud?

What’s the point if…»My device vendor controls all my device data…»My ability to correlate across devices depends on my vendors communicating with one another and writing code…»The protocols are all proprietary…»I can’t inject my own events into the ecosystem…

Page 17: 20130226 How Personal Is Your Cloud?

Optional interaction with 3rd party vendors:1.User registers with 3rd party value-added service.2.3rd party provides a URL for device notifications.3.User subscribes external URL to topic using local dashboard,4.3rd party now receives/sends dataand events from homeowner.

Page 18: 20130226 How Personal Is Your Cloud?

» Community / Regional load control» Volunteer distributed sensor net for research» Aggregators/rules engines (Smart Things, IFTTT)» Special Interest communities» Activists (e.g. green-ness badges)» Notification providers (stocks, weather alerts)» Augmented reality» ___________________________ (You pick it)

Page 19: 20130226 How Personal Is Your Cloud?

» WPS that actually works as intended » User dashboard» Local event capture, correlation and rules » Pub/Sub messaging architecture» Internet traversable protocols» Globally managed topic namespace

(But can be prototyped with existing public servers.)

Page 20: 20130226 How Personal Is Your Cloud?

Questions? Comments? Rotten tomatoes?

T.Rob [email protected]@t-rob.net http://t-rob.nethttp://linkedin.com/in/tdotrob http://facebook.com/tdotrob

Page 21: 20130226 How Personal Is Your Cloud?

You really need these next slides but there was no way to fit them in the 5 minutes I had to talk so I cheated and sort of stuck them in the end where you'll find them if you download this deck and accidentally scroll past the Thank You! Page because your finger twitched, your curiosity got the better of you or perhaps you are one of those people who sits through the movie credits thinking there will be an Easter Egg scene at the very end that makes it all worthwhile. There is.

Page 22: 20130226 How Personal Is Your Cloud?

» An open, royalty-free protocol invented in 1999.

» Optimized for constrained devices, unreliable networks and high bandwidth costs.

» Proposed to OASIS for standards acceptance.» Implemented samples in dozens of languages.» Scales to millions of connected devices.» Backed by Eclipse Foundation Paho project.» http://mqtt.org » http://bit.ly/oasismqtttc

Page 23: 20130226 How Personal Is Your Cloud?

» Stephen Nicholas performed some power profiling on Android to measure battery drain.

» Mutually authenticated connections.» Comet polling for HTTPS.» MQTT wins by large margin.» Effects multiplied when polling on more than

one subscription.» http://stephendnicholas.com/archives/1217

Page 24: 20130226 How Personal Is Your Cloud?

» Open-source (BSD licensed) MQTT broker» Binaries for the usual Linuxes, but also iPhone,

Open WRT, Raspberry PI, and others.» I easily got it running on a Synology NAS drive.» Free test broker

˃ Unencrypted @ test. mosquitto.org:1883˃ Server-auth SSL @ test. mosquitto.org:8883˃ Mutual-auth SSL @ test. mosquitto.org:8883

» http://mosquitto.org

Page 25: 20130226 How Personal Is Your Cloud?

» Open Messaging for M2M and IoT» Focused on protocol standardization, tools.» C & Java clients delivered.» Clients developed under EPL 1.0» http://projects.eclipse.org/projects/technology.paho

Page 26: 20130226 How Personal Is Your Cloud?

» Provide M2M development, simulation, testing, debugging and deployment tools.

» Initial focus on the Lua language» Delivered development, modeling and

simulator tools so far.» http://projects.eclipse.org/projects/technology.koneki

Page 27: 20130226 How Personal Is Your Cloud?

» Embedded runtime exposing high-level Lua API that can be used to develop portable M2M applications easily.

» Project and samples on Eclipse git» http://projects.eclipse.org/projects/technology.mihini

Page 28: 20130226 How Personal Is Your Cloud?

» Eclipse-based visual development and server platform for mobile apps.

» Build, test, deploy, and manage your smartphone and tablet apps for iOS, Android, Blackberry, and Windows Phone devices.

» http://ibm.co/dWworklight

Page 29: 20130226 How Personal Is Your Cloud?

» Gelernter, David, Mirror Worlds (Oxford University Press, 1991).» Kelley, Kevin, Out of Control: The New Biology of Machines, Social

Systems, & the Economic World (Addison, Wesley, 1994).» Mitchell, William J., City of Bits (MIT Press, 1995).» Dyson, George B., Darwin Among the Machines

(Perseus Books, 1997).» Dodsworth, Clark Jr., Contributing Editor, Digital Illusion:

Entertaining the Future with High Technology (ACM Press, 1998).» Holland, John H., Emergence: From Chaos to Order

(Perseus Books 1998).» Gershenfeld, Neil, When Things Start to Think

(Harry Holt and Company, 1999).

Page 30: 20130226 How Personal Is Your Cloud?