SlideShare a Scribd company logo
Where are we today?
Devices and Solutions are exploding
●  personal
o  fitness, watches, ...
●  household
o  lights, detectors, thermostats, appliances, ...
●  medical
o  heart rate monitors, ...
Emerging Pattern
Each device has it’s own service in the cloud
Device reports data to the service
User accesses their device’s data via cloud
APIs
Three examples
Internet Connected Dishwasher
Big Data analytics
●  how often I wash dishes
●  when I have guests
●  when I’m not at home
●  when I’m canning
Challenges
Security
Ubiquity & Variety
Data Model
User Experience & Management
Bruce Schneider
https://www.schneier.com/essays/archives/2014/01/the_internet_of_thin.html
The computers in our routers and modems are much more powerful than
the PCs of the mid-1990s, and the Internet of Things will put computers
into all sorts of consumer devices.
The industries producing these devices are even less capable of fixing the
problem than the PC and software industries were.
Security Layers
Samsung Gear Live
Types of “things”
personal (fitbit)
shared (family, doctor, neighbor)
medical (heart monitor)
industrial (air conditioner)
temporary (beer glasses)
Data Model Requirements
Authorization / Revocation
Co-ownership
Grouping / Aggregation
Policy Inheritance
Privacy By Design
User Experience
●  How do I allow my son to change the
thermostat but only within a limited range?
●  How do I easily add a light bulb to the family
room and have it inherit the policy already
assigned to the other lights in the “family
room”?
●  How do I let my friend borrow the car such
that driving data is delivered to both of us?
User Experience
●  How do I sell my washing machine? (and
reset to initial state?)
o  Can I save my policy from the old washing machine
and apply it to the new one?
●  How do I craft custom experiences such that
when a World Cup game comes on, the light
change to my preferred team’s colors, the
blinds close and the TV tunes to the correct
channel?
Key Elements to Usability
Simple onboarding process
●  provisioning device into personal cloud
●  grouping device with other like devices
●  pre-authorization of
o  who/what can query the device
o  who/what can control the device
Key Elements to Usability
Simple Authorization model
●  out-of-band user consent channel
●  alerts of abnormalities
●  sharing / multi-access
●  centralized policy management
Key Elements to Usability
Simple de-provisioning
●  revocation of authorized capabilities
●  reset of device to initial state
●  removal of device from groups and
relationships
●  archive activity data for historical purposes
Building for a Better
Tomorrow
Building Blocks
OAuth2
OpenID Connect
User Managed Access
Personal Clouds
OAuth2 Basics
●  Framework for API
Authorization
o  e.g. Valet Key
●  Get a token (RFC 6749)
o  code, implicit,
refresh, assertion, ...
●  Use a token (RFC 6750)
o  bearer token profile
OAuth2 Dynamic Registration
Client Registration Endpoint
●  Initial Access Token
o  out-of-band AuthZ
●  Software Statement
o  signed claims provided by software stack
OAuth2 Dynamic Registration flow
OpenID Connect Basics
Identity layer build on top of OAuth2
●  id_token
●  user claims
●  session management
●  logout
User Managed Access (UMA)
resource owner
resource server
authorization
server
client
protected
resources
(unnamed till
now)
UMA, Kantara Initiative: Used with Permission
UMA & Online Sharing
I want to share this stuff
selectively
•  Among my own apps
•  With family and friends
•  With organizations
I want to protect this stuff
from being seen by
everyone in the world
UMA, Kantara Initiative: Used with Permission
I want to control access
proactively, not just feel forced
to consent over and over
UMA request flow
Alice shares calendar with Bob
●  Alice emails Bob a link to her calendar
●  Bob goes to his calendar software and
subscribes to Alice’s calendar using the link
provided by Alice in the email
OAuth2 Code Flow
UMA Request Flow
UMA 3.1.1UMA 3.4.1UMA 3.1.2UMA 3.2.2 / OAuth2 Token Introspection
Personal Clouds
Slide by Phil Windley: Used with Permission
Persistent Compute Object (PICO)
Identity—they represent a specific entity
Storage—they persistently encapsulate both structured and unstructured data
Open event network—they respond to events
Processing—they run applications autonomously
Event Channels—they have connections to other picos
APIs—they provide access to and access other online services
Slide by Phil Windley: Used with Permission
Picos are Decentralized & Networked
Slide by Phil Windley: Used with Permission
Picos Use an Event Query Model
Slide by Phil Windley: Used with Permission
Programming Model
Program in any language you like
OAuth access to pico
Pico provides
user data
processing
API and inter-pico communications
Slide by Phil Windley: Used with Permission
Applying to IoT
Sample Use Case
Adding new garage door opener to my Internet
of Things
- already have Car, Lights, Thermostat, etc
Goal: garage door is up when I drive in the
driveway
Data Model
Solution Key Components
Trusted Introduction
Transport Security
Activity Authorization
Standards Support
●  OAuth2
●  UMA
Architectural Requirements
Owner Pico functions as the UMA AS
Each Pico functions as an UMA client
●  pico channel authz is RPT introspection
Smart phone app functions as an UMA client
Tight binding between device and device Pico
Assumptions
Device manufactured with a Software
Statement
Device supports bi-directional NFC
Device supports HTTPS
User has a smart phone bound to their
personal cloud (trusted app)
Software Statement
JSON Signed Web Token (JWS)
●  Issuer claim [iss] (manufacturer)
●  Subject claim [sub] (device unique id)
●  JWT ID claim [jti] (unique id)
●  Device type [com.example.device.type]
Public key for signature must be retrievable via
the issuer claim.
User Experience
User runs personal cloud app and “taps” the Garage Door
opener
Garage Door opener flashes an LED to signal success
Personal cloud app shows Garage Door as being
connected to the House pico
Personal cloud app can query (or change) the open/closed
state of the door
NFC “Tap” garage door opener
1. Device transfers
software statement
to phone
2. Phone transfers
UMA AS endpoint
to device
a.  optionally network
connectivity creds
Phone app adds device to cloud
Pre-Register Device
[Software_Statement]
Add Garage Door Opener
to House?
Create ‘Garage Door’
Garage Door Obtains Access_Token
Register Device
[Software_Statement]
Client_ID & Client_Secret
OAuth2 Client
Assertion Flow
Access_Token
[UMA AAT]
Garage Door connects to pico
Where’s my Pico?
[AAT]
Endpoint: https://…
Pico ID: 123UMA RPT Req (3.4.1)
[AAT, Pico ID]
RPT
(pre-authorized) Establish Connection
[RPT]
Where are we?
Garage Door device is connected to it’s pico
Policy for what/who can query/control the
garage door managed by the Owner pico and
implemented via UMA
What do we want?
Garage door to open when I drive into the
driveway
Assume:
Car is already connected to it’s ‘Car’ pico
‘Car’ pico has a channel with the ‘House’ pico
Car has geo-fence capability
Opening the Garage Door
Decommissioning the Garage Door
1.  User via their trusted app instructs the Owner pico to remove the ‘Garage
Door’ pico
2.  The Owner pico sends a message to the ‘House’ pico to delete the
‘Garage Door’ pico
3.  The ‘Garage Door’ pico can now archive any historical data before sending
a message to the ‘Garage Door’ to reset to factory defaults
4.  Owner pico revokes all ‘Garage Door’ access tokens
Benefits of this approach
●  Collected data is stored and managed under
the user’s control
●  Authorization policy across the personal IoT
cloud is centrally managed
o  Lots of opportunity for innovation in how to help the
user manage their devices
o  Authorization policy can be inherited across the data
model
●  Implementable today with existing standards
References
UMA
●  UMA 101 2013-10-29
●  UMA Webinar 2014-03-20
●  UMA Core Spec
Personal Clouds:
●  Connecting Things
OAuth 2:
●  Dynamic Client Registration
●  Token Introspection
JOSE
●  JSON Web Token
●  JSON Web Signature
Questions
Acknowledgements
●  UMA: Eve Maler & Domenico Catalano
●  CloudOS: Phil Windley
Appendix

More Related Content

What's hot (20)

PDF
ACTAtek corporate presentation march 2013
Aurangzeb Mufti
 
PDF
ACTAtek 3 Introduction
Aurangzeb Mufti
 
PDF
Federated Identity for IoT with OAuth2
Paul Fremantle
 
PPTX
Null mumbai-iot-workshop
Nitesh Malviya
 
PDF
ACTAtek unique features
Aurangzeb Mufti
 
PPTX
Security for iot and cloud aug 25b 2017
Ulf Mattsson
 
PPTX
Introduction to IOT security
Priyab Satoshi
 
PDF
IRJET- Secure Buddy: An Intelligent Door Lock
IRJET Journal
 
PDF
The Future of Authentication for IoT
FIDO Alliance
 
PPTX
Flak general v2 5
digiflak
 
PDF
Make the Smartcard great again
Eric Larcheveque
 
PPTX
Iot security and Authentication solution
Pradeep Jeswani
 
PDF
Blockchain solutions leading to better security practices
Eric Larcheveque
 
PPTX
Using FIWARE and Microsoft Azure for the development of IoT solutions
DunavNET
 
PDF
Apache Milagro Presentation at ApacheCon Europe 2016
Brian Spector
 
PPTX
Security in IoT
gr9293
 
PPTX
Anonymous Individual Integration for IoT
Paul Fremantle
 
PDF
Demystifying Apple 'Pie' & TouchID
Sebastián Guerrero Selma
 
PDF
Rebooting the smartcard
Eric Larcheveque
 
PDF
Edcon - Hardware wallets and smart contracts
Eric Larcheveque
 
ACTAtek corporate presentation march 2013
Aurangzeb Mufti
 
ACTAtek 3 Introduction
Aurangzeb Mufti
 
Federated Identity for IoT with OAuth2
Paul Fremantle
 
Null mumbai-iot-workshop
Nitesh Malviya
 
ACTAtek unique features
Aurangzeb Mufti
 
Security for iot and cloud aug 25b 2017
Ulf Mattsson
 
Introduction to IOT security
Priyab Satoshi
 
IRJET- Secure Buddy: An Intelligent Door Lock
IRJET Journal
 
The Future of Authentication for IoT
FIDO Alliance
 
Flak general v2 5
digiflak
 
Make the Smartcard great again
Eric Larcheveque
 
Iot security and Authentication solution
Pradeep Jeswani
 
Blockchain solutions leading to better security practices
Eric Larcheveque
 
Using FIWARE and Microsoft Azure for the development of IoT solutions
DunavNET
 
Apache Milagro Presentation at ApacheCon Europe 2016
Brian Spector
 
Security in IoT
gr9293
 
Anonymous Individual Integration for IoT
Paul Fremantle
 
Demystifying Apple 'Pie' & TouchID
Sebastián Guerrero Selma
 
Rebooting the smartcard
Eric Larcheveque
 
Edcon - Hardware wallets and smart contracts
Eric Larcheveque
 

Similar to CIS14: Securing the Internet of Things with Open Standards (20)

PPTX
Internet of Things: Identity & Security with Open Standards
George Fletcher
 
PDF
Consumerizing Industrial Access Control: Using UMA to Add Privacy and Usabili...
ForgeRock
 
PDF
Consumerizing Industrial IoT Access Control: Using UMA to Add Privacy and Usa...
Eve Maler
 
PDF
UMA for ACE
Hannes Tschofenig
 
PPTX
Authorization for Internet of Things using OAuth 2.0
Hannes Tschofenig
 
PDF
[Droidcon Italy 2017] Client and server, 3 meters above the cloud
Matteo Ferroni
 
PPTX
IoT mobile app device cloud identity and security architecture
Vinod Wilson
 
PDF
Privacy and Security in the Internet of Things / Конфиденциальность и безопас...
Positive Hack Days
 
PPTX
Con8823 access management for the internet of things-final
OracleIDM
 
PPTX
Identity Management: Using OIDC to Empower the Next-Generation Apps
Tom Freestone
 
PPTX
IoT World - creating a secure robust IoT reference architecture
Paul Fremantle
 
PPTX
A Reference Architecture for IoT: How to create a resilient, secure IoT cloud
WSO2
 
PDF
WSO2Con EU 2015: Keynote - The Identity of Things: The Next Internet Challenge
WSO2
 
PDF
Hello, Dishwasher! The Looming Identity Crisis on the Internet of Things
CA Technologies
 
PDF
Digital Trust: How Identity Tackles the Privacy, Security and IoT Challenge
ForgeRock
 
PPT
Canberra Executive Breakfast - A Citizen-Centric Approach to Identity
ForgeRock
 
PDF
This Time, It’s Personal: Why Security and the IoT Is Different
Justin Grammens
 
PDF
FIWARE Tech Summit - Complete Framework for Identity, Access Control and API ...
FIWARE
 
PPTX
FI-WARE Access Control GE (Part 3) – IdM OAuth Setup & Interfaces
cdanger
 
PDF
Security & Identity for the Internet of Things Webinar
ForgeRock
 
Internet of Things: Identity & Security with Open Standards
George Fletcher
 
Consumerizing Industrial Access Control: Using UMA to Add Privacy and Usabili...
ForgeRock
 
Consumerizing Industrial IoT Access Control: Using UMA to Add Privacy and Usa...
Eve Maler
 
UMA for ACE
Hannes Tschofenig
 
Authorization for Internet of Things using OAuth 2.0
Hannes Tschofenig
 
[Droidcon Italy 2017] Client and server, 3 meters above the cloud
Matteo Ferroni
 
IoT mobile app device cloud identity and security architecture
Vinod Wilson
 
Privacy and Security in the Internet of Things / Конфиденциальность и безопас...
Positive Hack Days
 
Con8823 access management for the internet of things-final
OracleIDM
 
Identity Management: Using OIDC to Empower the Next-Generation Apps
Tom Freestone
 
IoT World - creating a secure robust IoT reference architecture
Paul Fremantle
 
A Reference Architecture for IoT: How to create a resilient, secure IoT cloud
WSO2
 
WSO2Con EU 2015: Keynote - The Identity of Things: The Next Internet Challenge
WSO2
 
Hello, Dishwasher! The Looming Identity Crisis on the Internet of Things
CA Technologies
 
Digital Trust: How Identity Tackles the Privacy, Security and IoT Challenge
ForgeRock
 
Canberra Executive Breakfast - A Citizen-Centric Approach to Identity
ForgeRock
 
This Time, It’s Personal: Why Security and the IoT Is Different
Justin Grammens
 
FIWARE Tech Summit - Complete Framework for Identity, Access Control and API ...
FIWARE
 
FI-WARE Access Control GE (Part 3) – IdM OAuth Setup & Interfaces
cdanger
 
Security & Identity for the Internet of Things Webinar
ForgeRock
 
Ad

More from CloudIDSummit (20)

PPTX
CIS 2016 Content Highlights
CloudIDSummit
 
PPTX
Top 6 Reasons You Should Attend Cloud Identity Summit 2016
CloudIDSummit
 
PDF
CIS 2015 Security Without Borders: Taming the Cloud and Mobile Frontier - And...
CloudIDSummit
 
PDF
Mobile security, identity & authentication reasons for optimism 20150607 v2
CloudIDSummit
 
PDF
CIS 2015 Mobile Security, Identity & Authentication: Reasons for Optimism - R...
CloudIDSummit
 
PDF
CIS 2015 Virtual Identity: The Vision, Challenges and Experiences in Driving ...
CloudIDSummit
 
PDF
CIS 2015 Deploying Strong Authentication to a Global Enterprise: A Comedy in ...
CloudIDSummit
 
PDF
CIS 2015 Without Great Security, Digital Identity is Not Worth the Electrons ...
CloudIDSummit
 
PDF
CIS 2015 Mergers & Acquisitions in a Cloud Enabled World - Brian Puhl
CloudIDSummit
 
PDF
CIS 2015 IoT and IDM in your Mobile Enterprise - Brian Katz
CloudIDSummit
 
PDF
CIS 2015 Practical Deployments Enterprise Cloud Access Management Platform - ...
CloudIDSummit
 
PDF
CIS 2015 What I Learned From Pitching IAM To My CIO - Steve Tout
CloudIDSummit
 
PDF
CIS 2015 How to secure the Internet of Things? Hannes Tschofenig
CloudIDSummit
 
PDF
CIS 2015 The IDaaS Dating Game - Sean Deuby
CloudIDSummit
 
PDF
CIS 2015 SSO for Mobile and Web Apps Ashish Jain
CloudIDSummit
 
PDF
The Industrial Internet, the Identity of Everything and the Industrial Enterp...
CloudIDSummit
 
PDF
CIS 2015 SAML-IN / SAML-OUT - Scott Tomilson & John Dasilva
CloudIDSummit
 
PDF
CIS 2015 Session Management at Scale - Scott Tomilson & Jamshid Khosravian
CloudIDSummit
 
PDF
CIS 2015 So you want to SSO … Scott Tomilson & John Dasilva
CloudIDSummit
 
PDF
CIS 2015 Identity Relationship Management in the Internet of Things
CloudIDSummit
 
CIS 2016 Content Highlights
CloudIDSummit
 
Top 6 Reasons You Should Attend Cloud Identity Summit 2016
CloudIDSummit
 
CIS 2015 Security Without Borders: Taming the Cloud and Mobile Frontier - And...
CloudIDSummit
 
Mobile security, identity & authentication reasons for optimism 20150607 v2
CloudIDSummit
 
CIS 2015 Mobile Security, Identity & Authentication: Reasons for Optimism - R...
CloudIDSummit
 
CIS 2015 Virtual Identity: The Vision, Challenges and Experiences in Driving ...
CloudIDSummit
 
CIS 2015 Deploying Strong Authentication to a Global Enterprise: A Comedy in ...
CloudIDSummit
 
CIS 2015 Without Great Security, Digital Identity is Not Worth the Electrons ...
CloudIDSummit
 
CIS 2015 Mergers & Acquisitions in a Cloud Enabled World - Brian Puhl
CloudIDSummit
 
CIS 2015 IoT and IDM in your Mobile Enterprise - Brian Katz
CloudIDSummit
 
CIS 2015 Practical Deployments Enterprise Cloud Access Management Platform - ...
CloudIDSummit
 
CIS 2015 What I Learned From Pitching IAM To My CIO - Steve Tout
CloudIDSummit
 
CIS 2015 How to secure the Internet of Things? Hannes Tschofenig
CloudIDSummit
 
CIS 2015 The IDaaS Dating Game - Sean Deuby
CloudIDSummit
 
CIS 2015 SSO for Mobile and Web Apps Ashish Jain
CloudIDSummit
 
The Industrial Internet, the Identity of Everything and the Industrial Enterp...
CloudIDSummit
 
CIS 2015 SAML-IN / SAML-OUT - Scott Tomilson & John Dasilva
CloudIDSummit
 
CIS 2015 Session Management at Scale - Scott Tomilson & Jamshid Khosravian
CloudIDSummit
 
CIS 2015 So you want to SSO … Scott Tomilson & John Dasilva
CloudIDSummit
 
CIS 2015 Identity Relationship Management in the Internet of Things
CloudIDSummit
 
Ad

Recently uploaded (20)

PDF
"Beyond English: Navigating the Challenges of Building a Ukrainian-language R...
Fwdays
 
PPTX
Q2 Leading a Tableau User Group - Onboarding
lward7
 
PDF
Blockchain Transactions Explained For Everyone
CIFDAQ
 
PDF
Smart Trailers 2025 Update with History and Overview
Paul Menig
 
PDF
Fl Studio 24.2.2 Build 4597 Crack for Windows Free Download 2025
faizk77g
 
PDF
Timothy Rottach - Ramp up on AI Use Cases, from Vector Search to AI Agents wi...
AWS Chicago
 
PDF
NewMind AI - Journal 100 Insights After The 100th Issue
NewMind AI
 
PDF
Jak MŚP w Europie Środkowo-Wschodniej odnajdują się w świecie AI
dominikamizerska1
 
PDF
"AI Transformation: Directions and Challenges", Pavlo Shaternik
Fwdays
 
PPTX
AUTOMATION AND ROBOTICS IN PHARMA INDUSTRY.pptx
sameeraaabegumm
 
PDF
Building Real-Time Digital Twins with IBM Maximo & ArcGIS Indoors
Safe Software
 
PPTX
MSP360 Backup Scheduling and Retention Best Practices.pptx
MSP360
 
PDF
Log-Based Anomaly Detection: Enhancing System Reliability with Machine Learning
Mohammed BEKKOUCHE
 
PDF
DevBcn - Building 10x Organizations Using Modern Productivity Metrics
Justin Reock
 
PDF
SFWelly Summer 25 Release Highlights July 2025
Anna Loughnan Colquhoun
 
PDF
CIFDAQ Weekly Market Wrap for 11th July 2025
CIFDAQ
 
PPTX
Q2 FY26 Tableau User Group Leader Quarterly Call
lward7
 
PPTX
Top iOS App Development Company in the USA for Innovative Apps
SynapseIndia
 
PDF
CIFDAQ Token Spotlight for 9th July 2025
CIFDAQ
 
PDF
LLMs.txt: Easily Control How AI Crawls Your Site
Keploy
 
"Beyond English: Navigating the Challenges of Building a Ukrainian-language R...
Fwdays
 
Q2 Leading a Tableau User Group - Onboarding
lward7
 
Blockchain Transactions Explained For Everyone
CIFDAQ
 
Smart Trailers 2025 Update with History and Overview
Paul Menig
 
Fl Studio 24.2.2 Build 4597 Crack for Windows Free Download 2025
faizk77g
 
Timothy Rottach - Ramp up on AI Use Cases, from Vector Search to AI Agents wi...
AWS Chicago
 
NewMind AI - Journal 100 Insights After The 100th Issue
NewMind AI
 
Jak MŚP w Europie Środkowo-Wschodniej odnajdują się w świecie AI
dominikamizerska1
 
"AI Transformation: Directions and Challenges", Pavlo Shaternik
Fwdays
 
AUTOMATION AND ROBOTICS IN PHARMA INDUSTRY.pptx
sameeraaabegumm
 
Building Real-Time Digital Twins with IBM Maximo & ArcGIS Indoors
Safe Software
 
MSP360 Backup Scheduling and Retention Best Practices.pptx
MSP360
 
Log-Based Anomaly Detection: Enhancing System Reliability with Machine Learning
Mohammed BEKKOUCHE
 
DevBcn - Building 10x Organizations Using Modern Productivity Metrics
Justin Reock
 
SFWelly Summer 25 Release Highlights July 2025
Anna Loughnan Colquhoun
 
CIFDAQ Weekly Market Wrap for 11th July 2025
CIFDAQ
 
Q2 FY26 Tableau User Group Leader Quarterly Call
lward7
 
Top iOS App Development Company in the USA for Innovative Apps
SynapseIndia
 
CIFDAQ Token Spotlight for 9th July 2025
CIFDAQ
 
LLMs.txt: Easily Control How AI Crawls Your Site
Keploy
 

CIS14: Securing the Internet of Things with Open Standards

  • 1. Where are we today? Devices and Solutions are exploding ●  personal o  fitness, watches, ... ●  household o  lights, detectors, thermostats, appliances, ... ●  medical o  heart rate monitors, ...
  • 2. Emerging Pattern Each device has it’s own service in the cloud Device reports data to the service User accesses their device’s data via cloud APIs
  • 4. Internet Connected Dishwasher Big Data analytics ●  how often I wash dishes ●  when I have guests ●  when I’m not at home ●  when I’m canning
  • 5. Challenges Security Ubiquity & Variety Data Model User Experience & Management
  • 6. Bruce Schneider https://www.schneier.com/essays/archives/2014/01/the_internet_of_thin.html The computers in our routers and modems are much more powerful than the PCs of the mid-1990s, and the Internet of Things will put computers into all sorts of consumer devices. The industries producing these devices are even less capable of fixing the problem than the PC and software industries were.
  • 9. Types of “things” personal (fitbit) shared (family, doctor, neighbor) medical (heart monitor) industrial (air conditioner) temporary (beer glasses)
  • 10. Data Model Requirements Authorization / Revocation Co-ownership Grouping / Aggregation Policy Inheritance Privacy By Design
  • 11. User Experience ●  How do I allow my son to change the thermostat but only within a limited range? ●  How do I easily add a light bulb to the family room and have it inherit the policy already assigned to the other lights in the “family room”? ●  How do I let my friend borrow the car such that driving data is delivered to both of us?
  • 12. User Experience ●  How do I sell my washing machine? (and reset to initial state?) o  Can I save my policy from the old washing machine and apply it to the new one? ●  How do I craft custom experiences such that when a World Cup game comes on, the light change to my preferred team’s colors, the blinds close and the TV tunes to the correct channel?
  • 13. Key Elements to Usability Simple onboarding process ●  provisioning device into personal cloud ●  grouping device with other like devices ●  pre-authorization of o  who/what can query the device o  who/what can control the device
  • 14. Key Elements to Usability Simple Authorization model ●  out-of-band user consent channel ●  alerts of abnormalities ●  sharing / multi-access ●  centralized policy management
  • 15. Key Elements to Usability Simple de-provisioning ●  revocation of authorized capabilities ●  reset of device to initial state ●  removal of device from groups and relationships ●  archive activity data for historical purposes
  • 16. Building for a Better Tomorrow
  • 17. Building Blocks OAuth2 OpenID Connect User Managed Access Personal Clouds
  • 18. OAuth2 Basics ●  Framework for API Authorization o  e.g. Valet Key ●  Get a token (RFC 6749) o  code, implicit, refresh, assertion, ... ●  Use a token (RFC 6750) o  bearer token profile
  • 19. OAuth2 Dynamic Registration Client Registration Endpoint ●  Initial Access Token o  out-of-band AuthZ ●  Software Statement o  signed claims provided by software stack
  • 21. OpenID Connect Basics Identity layer build on top of OAuth2 ●  id_token ●  user claims ●  session management ●  logout
  • 22. User Managed Access (UMA) resource owner resource server authorization server client protected resources (unnamed till now) UMA, Kantara Initiative: Used with Permission
  • 23. UMA & Online Sharing I want to share this stuff selectively •  Among my own apps •  With family and friends •  With organizations I want to protect this stuff from being seen by everyone in the world UMA, Kantara Initiative: Used with Permission I want to control access proactively, not just feel forced to consent over and over
  • 24. UMA request flow Alice shares calendar with Bob ●  Alice emails Bob a link to her calendar ●  Bob goes to his calendar software and subscribes to Alice’s calendar using the link provided by Alice in the email
  • 25. OAuth2 Code Flow UMA Request Flow UMA 3.1.1UMA 3.4.1UMA 3.1.2UMA 3.2.2 / OAuth2 Token Introspection
  • 26. Personal Clouds Slide by Phil Windley: Used with Permission
  • 27. Persistent Compute Object (PICO) Identity—they represent a specific entity Storage—they persistently encapsulate both structured and unstructured data Open event network—they respond to events Processing—they run applications autonomously Event Channels—they have connections to other picos APIs—they provide access to and access other online services Slide by Phil Windley: Used with Permission
  • 28. Picos are Decentralized & Networked Slide by Phil Windley: Used with Permission
  • 29. Picos Use an Event Query Model Slide by Phil Windley: Used with Permission
  • 30. Programming Model Program in any language you like OAuth access to pico Pico provides user data processing API and inter-pico communications Slide by Phil Windley: Used with Permission
  • 32. Sample Use Case Adding new garage door opener to my Internet of Things - already have Car, Lights, Thermostat, etc Goal: garage door is up when I drive in the driveway
  • 34. Solution Key Components Trusted Introduction Transport Security Activity Authorization Standards Support ●  OAuth2 ●  UMA
  • 35. Architectural Requirements Owner Pico functions as the UMA AS Each Pico functions as an UMA client ●  pico channel authz is RPT introspection Smart phone app functions as an UMA client Tight binding between device and device Pico
  • 36. Assumptions Device manufactured with a Software Statement Device supports bi-directional NFC Device supports HTTPS User has a smart phone bound to their personal cloud (trusted app)
  • 37. Software Statement JSON Signed Web Token (JWS) ●  Issuer claim [iss] (manufacturer) ●  Subject claim [sub] (device unique id) ●  JWT ID claim [jti] (unique id) ●  Device type [com.example.device.type] Public key for signature must be retrievable via the issuer claim.
  • 38. User Experience User runs personal cloud app and “taps” the Garage Door opener Garage Door opener flashes an LED to signal success Personal cloud app shows Garage Door as being connected to the House pico Personal cloud app can query (or change) the open/closed state of the door
  • 39. NFC “Tap” garage door opener 1. Device transfers software statement to phone 2. Phone transfers UMA AS endpoint to device a.  optionally network connectivity creds
  • 40. Phone app adds device to cloud Pre-Register Device [Software_Statement] Add Garage Door Opener to House? Create ‘Garage Door’
  • 41. Garage Door Obtains Access_Token Register Device [Software_Statement] Client_ID & Client_Secret OAuth2 Client Assertion Flow Access_Token [UMA AAT]
  • 42. Garage Door connects to pico Where’s my Pico? [AAT] Endpoint: https://… Pico ID: 123UMA RPT Req (3.4.1) [AAT, Pico ID] RPT (pre-authorized) Establish Connection [RPT]
  • 43. Where are we? Garage Door device is connected to it’s pico Policy for what/who can query/control the garage door managed by the Owner pico and implemented via UMA
  • 44. What do we want? Garage door to open when I drive into the driveway Assume: Car is already connected to it’s ‘Car’ pico ‘Car’ pico has a channel with the ‘House’ pico Car has geo-fence capability
  • 46. Decommissioning the Garage Door 1.  User via their trusted app instructs the Owner pico to remove the ‘Garage Door’ pico 2.  The Owner pico sends a message to the ‘House’ pico to delete the ‘Garage Door’ pico 3.  The ‘Garage Door’ pico can now archive any historical data before sending a message to the ‘Garage Door’ to reset to factory defaults 4.  Owner pico revokes all ‘Garage Door’ access tokens
  • 47. Benefits of this approach ●  Collected data is stored and managed under the user’s control ●  Authorization policy across the personal IoT cloud is centrally managed o  Lots of opportunity for innovation in how to help the user manage their devices o  Authorization policy can be inherited across the data model ●  Implementable today with existing standards
  • 48. References UMA ●  UMA 101 2013-10-29 ●  UMA Webinar 2014-03-20 ●  UMA Core Spec Personal Clouds: ●  Connecting Things OAuth 2: ●  Dynamic Client Registration ●  Token Introspection JOSE ●  JSON Web Token ●  JSON Web Signature
  • 49. Questions Acknowledgements ●  UMA: Eve Maler & Domenico Catalano ●  CloudOS: Phil Windley