SlideShare a Scribd company logo
FORGEROCK
@forgerock
IDENTITYCAFE
COME AND TASTE THE
AND ITS APPLICATION
ABOUT
Me (@steffoweber)
▪ 10yrs at Sun Microsystems, some at Oracle (Security, OS, WebServices, Identity)
▪ Lead for Customer Engineering at ForgeRock
ForgeRock (www.forgerock.com www.forgerock.org)
▪ Identity & Access Management (full platform)
▪ San Francisco based (coming from Oslo – Engineering in Bristol, Grenoble and
Vancouver VA)
▪ Open Source
▪ 400 Employees (world wide)
▪ BBC, Tom Tom, Thomson Reuters, Vodafone, Toyota, BinckBank and more
Copyright © 2016 ForgeRock, all rights reserved.
OAUTH2 MOTIVATION
Motivation
▪ sharing data between applications
▪ it’s about authorization (can I access the data on your behalf?)
XACML
▪ Policy language AND query language
▪ Fine grained (Who,What,How,When) vs OAuth scopes
▪ Can be combined at RS and AZ
NODE MCU
Copyright © 2016 ForgeRock, all rights reserved.
OAUTH2 BASIC IDEA
REGISTERED
APPLICATION
REGISTERED
USER
AGFA
INSTAGRAM
APPLICATION
RESOURCE SERVER
AUTHZ
SERVER
Copyright © 2016 ForgeRock, all rights reserved.
OAUTH2 BRIEF HISTORY
2006
▪ Ma.gnolia needed solution for authorization (AuthZ)
▪ Twitter began implementation of OpenID
▪ Foundation of OAuth discussion group
2007
▪ OAuth Core 1.0 final draft released
2008
▪ IETF workgroup on OAuth
2009
▪ Security flaw discovered in 3-legged OAuth
6
Copyright © 2016 ForgeRock, all rights reserved.
OAUTH2 BRIEF HISTORY (CONT)
7
2010
▪ All Twitter apps require OAuth
▪ OAuth standard published as RFC 5849
▪ Start work on OAuth2 (effect 2009)
‣ Not backward compatible
‣ OAuth 1.x implementations often failed due to complexity of the
cryptographic requirements
‣ Only one flow (started w 3 but then merged into 1) - ok for web apps, but
failed elsewhere
‣ Difficult to scale because requests are signed and RS endpoint needs
token_secret to verify access token.
https://hueniverse.com/2010/05/15/introducing-oauth-2-0/
Copyright © 2016 ForgeRock, all rights reserved.
OAUTH2 BRIEF HISTORY (CONT)
https://hueniverse.com/2010/05/15/introducing-oauth-2-0/
2012
▪ OAuth2 published
▪ Google & Facebook starting rollout
▪ OAuth2 now a complete Bearer framework; TLS as sole protection layer
2014
▪ OpenID Connect published as OAuth2 profile
2015
▪ UMA (User Managed Access) published as OAuth2 profile
▪ OAuth2 for devices flow
2016
▪ PoP (Proof of Posession) tokens
Copyright © 2016 ForgeRock, all rights reserved.
OAUTH2 DEVICE FLOW
https://hueniverse.com/2010/05/15/introducing-oauth-2-0/
Around 2010
▪ OAuth Drafts had reference to Device Flow (https://tools.ietf.org/html/draft-ietf-oauth-
v2-06#section-2.7)
▪ Google and Facebook had an early implementation
2015
▪ Companies like the BBC and European Broadcasting (EBU) began showing interest
▪ EBU drafted their own standard (outside the IETF body of standards) as part of ETSI
(http://www.etsi.org/deliver/etsi_ts/103400_103499/103407/01.01.01_60/
ts_103407v010101p.pdf)
▪ OpenAM contained an IdP independent implementation
2016 and later
▪ IoT made the device flow important again
Copyright © 2016 ForgeRock, all rights reserved.
OAUTH2 DEVICE FLOW
What’s the issue w restricted devices (which sometime cannot even have a simple HTTP srv)?
▪ OAuth2 flow:
‣ User accesses OAuth2 Client Service
‣ Client redirects user to OAuth2 AuthZ Server (this would at least require a medium sized display on the
Client)
‣ User has to authorize client req. AuthZ server typically asks user to sign-in (this would at least require an
input device at the client)
▪ Clients [remember client consumes a service on the user’s behalf]: TVs, Radios, Vacuum Cleans, Alarm Systems
2015
▪ Companies like BBC and European Broadcasting (EBU) began showing interest
▪ EBU drafted their own standard (outside the IETF body of standards)
▪ OpenAM contained an IdP independent implementation
2016 and later
▪ IoT made the device flow important again
Copyright © 2016 ForgeRock, all rights reserved.
OAUTH2 DEVICE FLOW
+----------+ +----------------+
| |>---(A)-- Client Identifier --->| |
| | | |
| |<---(B)-- Verification Code, --<| |
| | User Code, | |
| | & Verification URI | |
| Device | | |
| Client | Client Identifier & | |
| |>---(E)-- Verification Code --->| |
| | polling... | |
| |>---(E)-- Verification Code --->| |
| | | Authorization |
| |<---(F)-- Access Token --------<| Server |
+----------+ (w/ Optional Refresh Token) | |
v | |
: | |
(C) User Code & Verification URI | |
: | |
v | |
+----------+ | |
| End-user | | |
| at |<---(D)-- User authenticates -->| |
| Browser | | |
+----------+ +----------------+
Copyright © 2016 ForgeRock, all rights reserved.
DEMO
NodeMCU
Twillio 

(Wrapper)
OpenIG
OpenAM
Trust established
API Gateway
Copyright © 2016 ForgeRock, all rights reserved.
DEMO Alarm 

System
(NodeMCU)
1.User leaves home and activates

alarm.
2.To activate alarm, user types
or scans

code displayed by alarm system.
This requires consent to access
phone number
3.Alarm system now has an access
token
4.If alarm system detects an
incident, the system calls a
webservice which requires an
OAuth2 access token.
5.Webservice can access
phone number (scope) and
call the user.
http.get(https://twilliowrapper.io/call,
'Authorization: Bearer ‘..accessToken..’rn', callback)
Copyright © 2016 ForgeRock, all rights reserved.
DEMO Alarm 

System
(NodeMCU)
1.User leaves home and activates

alarm.
2.To activate alarm, user types
or scans

code displayed by alarm system.
This requires consent to access
phone number
3.Alarm system now has an access
token
4.If alarm system detects an
incident, the system calls a
webservice which requires an
OAuth2 access token.
5.Webservice can access
phone number (scope) and
call the user.
http.get(https://twilliowrapper.io/call,
'Authorization: Bearer ‘..accessToken..’rn', callback)
This is
NodeMCUs
serial output
Copyright © 2016 ForgeRock, all rights reserved.
SECURITYCONCERNS
Token is a Bearer token
Device might not be able to process a TLS layer
Device has ClientID / ClientSecret
Copyright © 2016 ForgeRock, all rights reserved.
SUMMARY
OAuth2 Device Flow can be used to
▪ pair a device w a user
▪ grant a restricted device access on user’s behalf
▪ protect service APIs in an OAuth2 manner
Try it out?
▪ www.forgerock.org/downloads
▪ Device simulator: github.com/smof/deviceEmulator

More Related Content

What's hot

What's hot (20)

Pimping the ForgeRock Identity Platform for a Billion Users
Pimping the ForgeRock Identity Platform for a Billion UsersPimping the ForgeRock Identity Platform for a Billion Users
Pimping the ForgeRock Identity Platform for a Billion Users
 
Connected Car: Putting Digital Identity Behind the Wheel
Connected Car: Putting Digital Identity Behind the WheelConnected Car: Putting Digital Identity Behind the Wheel
Connected Car: Putting Digital Identity Behind the Wheel
 
Identity Live London 2017 | Daniel Raskin
Identity Live London 2017 | Daniel RaskinIdentity Live London 2017 | Daniel Raskin
Identity Live London 2017 | Daniel Raskin
 
NYC Identity Summit Tech Day: Best Practices for API Security
NYC Identity Summit Tech Day: Best Practices for API SecurityNYC Identity Summit Tech Day: Best Practices for API Security
NYC Identity Summit Tech Day: Best Practices for API Security
 
Identity Gateway with the ForgeRock Identity Platform - So What’s New?
Identity Gateway with the ForgeRock Identity Platform - So What’s New?Identity Gateway with the ForgeRock Identity Platform - So What’s New?
Identity Gateway with the ForgeRock Identity Platform - So What’s New?
 
The Future is Now: The ForgeRock Identity Platform, Early 2017 Release
The Future is Now: The ForgeRock Identity Platform, Early 2017 ReleaseThe Future is Now: The ForgeRock Identity Platform, Early 2017 Release
The Future is Now: The ForgeRock Identity Platform, Early 2017 Release
 
NYC Identity Summit Business Day: Identity is the Center of Everything (Mike ...
NYC Identity Summit Business Day: Identity is the Center of Everything (Mike ...NYC Identity Summit Business Day: Identity is the Center of Everything (Mike ...
NYC Identity Summit Business Day: Identity is the Center of Everything (Mike ...
 
ForgeRock Gartner 2016 Security & Risk Management Summit
ForgeRock Gartner 2016 Security & Risk Management Summit ForgeRock Gartner 2016 Security & Risk Management Summit
ForgeRock Gartner 2016 Security & Risk Management Summit
 
GDPR is coming in Hot. Top Burning Questions Answered to Help You Keep Your C...
GDPR is coming in Hot. Top Burning Questions Answered to Help You Keep Your C...GDPR is coming in Hot. Top Burning Questions Answered to Help You Keep Your C...
GDPR is coming in Hot. Top Burning Questions Answered to Help You Keep Your C...
 
Hermann Wimmer - ForgeRock Identity Live 2017 - Dusseldorf
Hermann Wimmer - ForgeRock Identity Live 2017 - DusseldorfHermann Wimmer - ForgeRock Identity Live 2017 - Dusseldorf
Hermann Wimmer - ForgeRock Identity Live 2017 - Dusseldorf
 
NYC Identity Summit Tech Day: ForgeRock Identity Platform Overview
NYC Identity Summit Tech Day: ForgeRock Identity Platform OverviewNYC Identity Summit Tech Day: ForgeRock Identity Platform Overview
NYC Identity Summit Tech Day: ForgeRock Identity Platform Overview
 
ForgeRock Platform Release - Summer 2016
ForgeRock Platform Release - Summer 2016  ForgeRock Platform Release - Summer 2016
ForgeRock Platform Release - Summer 2016
 
Identity Live London 2017 | Ashley Stevenson
Identity Live London 2017 | Ashley StevensonIdentity Live London 2017 | Ashley Stevenson
Identity Live London 2017 | Ashley Stevenson
 
Security On The Edge - A New Way To Think About Securing the Internet of Things
Security On The Edge -  A New Way To Think About Securing the Internet of ThingsSecurity On The Edge -  A New Way To Think About Securing the Internet of Things
Security On The Edge - A New Way To Think About Securing the Internet of Things
 
Identity Live Sydney 2017 - Andrew Latham
Identity Live Sydney 2017 - Andrew LathamIdentity Live Sydney 2017 - Andrew Latham
Identity Live Sydney 2017 - Andrew Latham
 
Digital Identities in the Internet of Things - Securely Manage Devices at Scale
Digital Identities in the Internet of Things - Securely Manage Devices at ScaleDigital Identities in the Internet of Things - Securely Manage Devices at Scale
Digital Identities in the Internet of Things - Securely Manage Devices at Scale
 
Identity Live Paris 2017 | Mike Ellis
Identity Live Paris 2017 | Mike EllisIdentity Live Paris 2017 | Mike Ellis
Identity Live Paris 2017 | Mike Ellis
 
Identity Live Sydney 2017 - Ashley Stevenson
Identity Live Sydney 2017 - Ashley StevensonIdentity Live Sydney 2017 - Ashley Stevenson
Identity Live Sydney 2017 - Ashley Stevenson
 
Digital Trust: How Identity Tackles the Privacy, Security and IoT Challenge
Digital Trust: How Identity Tackles the Privacy, Security and IoT ChallengeDigital Trust: How Identity Tackles the Privacy, Security and IoT Challenge
Digital Trust: How Identity Tackles the Privacy, Security and IoT Challenge
 
Becoming Unphishable
Becoming UnphishableBecoming Unphishable
Becoming Unphishable
 

Viewers also liked

Analyst Keynote: Putting Customers First Requires Innovation and Identity - P...
Analyst Keynote: Putting Customers First Requires Innovation and Identity - P...Analyst Keynote: Putting Customers First Requires Innovation and Identity - P...
Analyst Keynote: Putting Customers First Requires Innovation and Identity - P...
ForgeRock
 

Viewers also liked (16)

The ForgeRock Identity Platform Extends CIAM, Fall 2017 Release
The ForgeRock Identity Platform Extends CIAM, Fall 2017 ReleaseThe ForgeRock Identity Platform Extends CIAM, Fall 2017 Release
The ForgeRock Identity Platform Extends CIAM, Fall 2017 Release
 
The digital pains of retail
The digital pains of retailThe digital pains of retail
The digital pains of retail
 
Identity Live Sydney 2017 - Michael Dowling
Identity Live Sydney 2017 - Michael DowlingIdentity Live Sydney 2017 - Michael Dowling
Identity Live Sydney 2017 - Michael Dowling
 
Analyst Keynote: Putting Customers First Requires Innovation and Identity - P...
Analyst Keynote: Putting Customers First Requires Innovation and Identity - P...Analyst Keynote: Putting Customers First Requires Innovation and Identity - P...
Analyst Keynote: Putting Customers First Requires Innovation and Identity - P...
 
A Backstage Tour of Identity - Paris Identity Summit 2016
A Backstage Tour of Identity - Paris Identity Summit 2016A Backstage Tour of Identity - Paris Identity Summit 2016
A Backstage Tour of Identity - Paris Identity Summit 2016
 
Identity Live London 2017 | Marko Orenius
Identity Live London 2017 | Marko OreniusIdentity Live London 2017 | Marko Orenius
Identity Live London 2017 | Marko Orenius
 
Identity Live Sydney 2017 - Tim Sheedy
Identity Live Sydney 2017 - Tim SheedyIdentity Live Sydney 2017 - Tim Sheedy
Identity Live Sydney 2017 - Tim Sheedy
 
Keynote: Tech, Trust, and Transformation - Paris Identity Summit 2016
Keynote: Tech, Trust, and Transformation - Paris Identity Summit 2016Keynote: Tech, Trust, and Transformation - Paris Identity Summit 2016
Keynote: Tech, Trust, and Transformation - Paris Identity Summit 2016
 
The Business Ecosystem is a Neighborhood - ForgeRock Identity Live Austin 2017
The Business Ecosystem is a Neighborhood - ForgeRock Identity Live Austin 2017The Business Ecosystem is a Neighborhood - ForgeRock Identity Live Austin 2017
The Business Ecosystem is a Neighborhood - ForgeRock Identity Live Austin 2017
 
OpenAM - An Introduction
OpenAM - An IntroductionOpenAM - An Introduction
OpenAM - An Introduction
 
T-Systems. Automating ForgeRock Full Stack Deployments to a Magenta Cloud.
T-Systems. Automating ForgeRock Full Stack Deployments to a Magenta Cloud.T-Systems. Automating ForgeRock Full Stack Deployments to a Magenta Cloud.
T-Systems. Automating ForgeRock Full Stack Deployments to a Magenta Cloud.
 
Identity Live Sydney 2017 - Allan Foster & Eve Maler
Identity Live Sydney 2017 - Allan Foster & Eve MalerIdentity Live Sydney 2017 - Allan Foster & Eve Maler
Identity Live Sydney 2017 - Allan Foster & Eve Maler
 
Paradigmo. Rock Kit, the Rapid Deployment Toolkit for ForgeRock Identity Plat...
Paradigmo. Rock Kit, the Rapid Deployment Toolkit for ForgeRock Identity Plat...Paradigmo. Rock Kit, the Rapid Deployment Toolkit for ForgeRock Identity Plat...
Paradigmo. Rock Kit, the Rapid Deployment Toolkit for ForgeRock Identity Plat...
 
Identity Live London 2017 | Kenneth May
Identity Live London 2017 | Kenneth MayIdentity Live London 2017 | Kenneth May
Identity Live London 2017 | Kenneth May
 
Keynote : Customer Identity Builds Digital Trust - Paris Identity Summit
Keynote : Customer Identity Builds Digital Trust - Paris Identity SummitKeynote : Customer Identity Builds Digital Trust - Paris Identity Summit
Keynote : Customer Identity Builds Digital Trust - Paris Identity Summit
 
OpenAM: An Introduction
OpenAM: An IntroductionOpenAM: An Introduction
OpenAM: An Introduction
 

Similar to IoT Wonderland: Understanding the Magic of OAuth2 Device Registration Flow

What's New with Windows Phone - FoxCon Talk
What's New with Windows Phone - FoxCon TalkWhat's New with Windows Phone - FoxCon Talk
What's New with Windows Phone - FoxCon Talk
Sam Basu
 

Similar to IoT Wonderland: Understanding the Magic of OAuth2 Device Registration Flow (20)

OPC UA Inside Out, Part 1 - Introduction and Playing Field
OPC UA Inside Out, Part 1 - Introduction and Playing FieldOPC UA Inside Out, Part 1 - Introduction and Playing Field
OPC UA Inside Out, Part 1 - Introduction and Playing Field
 
An Authentication and Authorization Architecture for a Microservices World
An Authentication and Authorization Architecture for a Microservices WorldAn Authentication and Authorization Architecture for a Microservices World
An Authentication and Authorization Architecture for a Microservices World
 
Workshop web rtc customers and use cases
Workshop web rtc customers and use casesWorkshop web rtc customers and use cases
Workshop web rtc customers and use cases
 
Eclipse IoT Overview
Eclipse IoT OverviewEclipse IoT Overview
Eclipse IoT Overview
 
Webinar: Extend The Power of The ForgeRock Identity Platform Through Scripting
Webinar: Extend The Power of The ForgeRock Identity Platform Through ScriptingWebinar: Extend The Power of The ForgeRock Identity Platform Through Scripting
Webinar: Extend The Power of The ForgeRock Identity Platform Through Scripting
 
OPC UA Inside Out Part 4 - OPC Tunneller
OPC UA Inside Out Part 4 - OPC TunnellerOPC UA Inside Out Part 4 - OPC Tunneller
OPC UA Inside Out Part 4 - OPC Tunneller
 
What's New with Windows Phone - FoxCon Talk
What's New with Windows Phone - FoxCon TalkWhat's New with Windows Phone - FoxCon Talk
What's New with Windows Phone - FoxCon Talk
 
Authorization for Internet of Things using OAuth 2.0
Authorization for Internet of Things using OAuth 2.0Authorization for Internet of Things using OAuth 2.0
Authorization for Internet of Things using OAuth 2.0
 
OPC UA Inside Out Part 3 - Edge Devices
OPC UA Inside Out Part 3 - Edge DevicesOPC UA Inside Out Part 3 - Edge Devices
OPC UA Inside Out Part 3 - Edge Devices
 
[workshop] The Revolutionary WebRTC
[workshop] The Revolutionary WebRTC[workshop] The Revolutionary WebRTC
[workshop] The Revolutionary WebRTC
 
Webrtc - rich communication - quobis - victor pascual
Webrtc  - rich communication - quobis - victor pascualWebrtc  - rich communication - quobis - victor pascual
Webrtc - rich communication - quobis - victor pascual
 
What's new in web standards?
What's new in web standards?What's new in web standards?
What's new in web standards?
 
Open Source IoT Project Flogo - Introduction, Overview and Architecture
Open Source IoT Project Flogo - Introduction, Overview and ArchitectureOpen Source IoT Project Flogo - Introduction, Overview and Architecture
Open Source IoT Project Flogo - Introduction, Overview and Architecture
 
Status of WebRTC across Asia by Alan Quayle +++
Status of WebRTC across Asia by Alan Quayle +++Status of WebRTC across Asia by Alan Quayle +++
Status of WebRTC across Asia by Alan Quayle +++
 
Implementing WebAuthn & FAPI supports on Keycloak
Implementing WebAuthn & FAPI supports on KeycloakImplementing WebAuthn & FAPI supports on Keycloak
Implementing WebAuthn & FAPI supports on Keycloak
 
OPC UA for Embedded & Constrained Devices
OPC UA for Embedded & Constrained Devices OPC UA for Embedded & Constrained Devices
OPC UA for Embedded & Constrained Devices
 
WebRTC Workshop 2013 given at the IMS World Forum
WebRTC Workshop 2013 given at the IMS World ForumWebRTC Workshop 2013 given at the IMS World Forum
WebRTC Workshop 2013 given at the IMS World Forum
 
Kurento FIWARE
Kurento FIWAREKurento FIWARE
Kurento FIWARE
 
Eclipse IOT [IoT World Santa Clara]
Eclipse IOT  [IoT World Santa Clara]Eclipse IOT  [IoT World Santa Clara]
Eclipse IOT [IoT World Santa Clara]
 
Directory Services with the ForgeRock Identity Platform - So What’s New?
Directory Services with the ForgeRock Identity Platform - So What’s New?Directory Services with the ForgeRock Identity Platform - So What’s New?
Directory Services with the ForgeRock Identity Platform - So What’s New?
 

More from ForgeRock

More from ForgeRock (20)

Get the Exact Identity Solution You Need - In the Cloud - AWS and Beyond
Get the Exact Identity Solution You Need - In the Cloud - AWS and BeyondGet the Exact Identity Solution You Need - In the Cloud - AWS and Beyond
Get the Exact Identity Solution You Need - In the Cloud - AWS and Beyond
 
Identity Live Sydney: Identity Management - A Strategic Opportunity
Identity Live Sydney: Identity Management  - A Strategic OpportunityIdentity Live Sydney: Identity Management  - A Strategic Opportunity
Identity Live Sydney: Identity Management - A Strategic Opportunity
 
Identity Live Singapore: Transform Your Cybersecurity Capability
Identity Live Singapore: Transform Your Cybersecurity CapabilityIdentity Live Singapore: Transform Your Cybersecurity Capability
Identity Live Singapore: Transform Your Cybersecurity Capability
 
Identity Live Singapore 2018 Keynote Presentation
Identity Live Singapore 2018 Keynote PresentationIdentity Live Singapore 2018 Keynote Presentation
Identity Live Singapore 2018 Keynote Presentation
 
Identity Live Sydney 2018 Keynote Presentation
Identity Live Sydney 2018 Keynote PresentationIdentity Live Sydney 2018 Keynote Presentation
Identity Live Sydney 2018 Keynote Presentation
 
Identity Live Singapore: Just Ask 'Em
Identity Live Singapore: Just Ask 'EmIdentity Live Singapore: Just Ask 'Em
Identity Live Singapore: Just Ask 'Em
 
Identity Live Singapore: Building Trust & Privacy in a Connected Society
Identity Live Singapore: Building Trust & Privacy in a Connected SocietyIdentity Live Singapore: Building Trust & Privacy in a Connected Society
Identity Live Singapore: Building Trust & Privacy in a Connected Society
 
Identity Live Sydney: Intelligent Authentication
Identity Live Sydney: Intelligent Authentication Identity Live Sydney: Intelligent Authentication
Identity Live Sydney: Intelligent Authentication
 
Identity Live Sydney: Building Trust and Privacy in a Connected Society
Identity Live  Sydney:  Building Trust and Privacy in a Connected SocietyIdentity Live  Sydney:  Building Trust and Privacy in a Connected Society
Identity Live Sydney: Building Trust and Privacy in a Connected Society
 
Get the Exact Identity Solution you Need in the Cloud - Deep Dive
Get the Exact Identity Solution you Need in the Cloud - Deep DiveGet the Exact Identity Solution you Need in the Cloud - Deep Dive
Get the Exact Identity Solution you Need in the Cloud - Deep Dive
 
Get the Exact Identity Solution You Need - In the Cloud - Overview
Get the Exact Identity Solution You Need - In the Cloud - OverviewGet the Exact Identity Solution You Need - In the Cloud - Overview
Get the Exact Identity Solution You Need - In the Cloud - Overview
 
ForgeRock and Trusona - Simplifying the Multi-factor User Experience
ForgeRock and Trusona - Simplifying the Multi-factor User ExperienceForgeRock and Trusona - Simplifying the Multi-factor User Experience
ForgeRock and Trusona - Simplifying the Multi-factor User Experience
 
Opening Keynote (Identity Live Berlin 2018)
Opening Keynote (Identity Live Berlin 2018)Opening Keynote (Identity Live Berlin 2018)
Opening Keynote (Identity Live Berlin 2018)
 
Steinberg - Customer identity as the cornerstone of our approach to digitaliz...
Steinberg - Customer identity as the cornerstone of our approach to digitaliz...Steinberg - Customer identity as the cornerstone of our approach to digitaliz...
Steinberg - Customer identity as the cornerstone of our approach to digitaliz...
 
BMW Group - Identity Enables the Next 100 Years.. (Identity Live Berlin 2018)
BMW Group - Identity Enables the Next 100 Years..  (Identity Live Berlin 2018)BMW Group - Identity Enables the Next 100 Years..  (Identity Live Berlin 2018)
BMW Group - Identity Enables the Next 100 Years.. (Identity Live Berlin 2018)
 
Trust is Everything - The Future of Identity and the ForgeRock Platform (Iden...
Trust is Everything - The Future of Identity and the ForgeRock Platform (Iden...Trust is Everything - The Future of Identity and the ForgeRock Platform (Iden...
Trust is Everything - The Future of Identity and the ForgeRock Platform (Iden...
 
Silo Busters- The Value of User and Data Centricity beyond IoT Devices (Ident...
Silo Busters- The Value of User and Data Centricity beyond IoT Devices (Ident...Silo Busters- The Value of User and Data Centricity beyond IoT Devices (Ident...
Silo Busters- The Value of User and Data Centricity beyond IoT Devices (Ident...
 
Shift from GDPR readiness to sustained compliance to improve your business an...
Shift from GDPR readiness to sustained compliance to improve your business an...Shift from GDPR readiness to sustained compliance to improve your business an...
Shift from GDPR readiness to sustained compliance to improve your business an...
 
Intelligent Authentication (Identity Live Berlin 2018)
Intelligent Authentication  (Identity Live Berlin 2018)Intelligent Authentication  (Identity Live Berlin 2018)
Intelligent Authentication (Identity Live Berlin 2018)
 
Customer Safeguarding, Fraud and GDPR: Manah Khalil
Customer Safeguarding, Fraud and GDPR: Manah KhalilCustomer Safeguarding, Fraud and GDPR: Manah Khalil
Customer Safeguarding, Fraud and GDPR: Manah Khalil
 

Recently uploaded

Essentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with ParametersEssentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with Parameters
Safe Software
 

Recently uploaded (20)

Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
 
IESVE for Early Stage Design and Planning
IESVE for Early Stage Design and PlanningIESVE for Early Stage Design and Planning
IESVE for Early Stage Design and Planning
 
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
 
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
 
Knowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and backKnowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and back
 
When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...
 
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
 
Demystifying gRPC in .Net by John Staveley
Demystifying gRPC in .Net by John StaveleyDemystifying gRPC in .Net by John Staveley
Demystifying gRPC in .Net by John Staveley
 
Essentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with ParametersEssentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with Parameters
 
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
 
How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...
 
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
 
Custom Approval Process: A New Perspective, Pavel Hrbacek & Anindya Halder
Custom Approval Process: A New Perspective, Pavel Hrbacek & Anindya HalderCustom Approval Process: A New Perspective, Pavel Hrbacek & Anindya Halder
Custom Approval Process: A New Perspective, Pavel Hrbacek & Anindya Halder
 
Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........
 
Integrating Telephony Systems with Salesforce: Insights and Considerations, B...
Integrating Telephony Systems with Salesforce: Insights and Considerations, B...Integrating Telephony Systems with Salesforce: Insights and Considerations, B...
Integrating Telephony Systems with Salesforce: Insights and Considerations, B...
 
Measures in SQL (a talk at SF Distributed Systems meetup, 2024-05-22)
Measures in SQL (a talk at SF Distributed Systems meetup, 2024-05-22)Measures in SQL (a talk at SF Distributed Systems meetup, 2024-05-22)
Measures in SQL (a talk at SF Distributed Systems meetup, 2024-05-22)
 
Unpacking Value Delivery - Agile Oxford Meetup - May 2024.pptx
Unpacking Value Delivery - Agile Oxford Meetup - May 2024.pptxUnpacking Value Delivery - Agile Oxford Meetup - May 2024.pptx
Unpacking Value Delivery - Agile Oxford Meetup - May 2024.pptx
 
IOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptx
IOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptxIOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptx
IOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptx
 
"Impact of front-end architecture on development cost", Viktor Turskyi
"Impact of front-end architecture on development cost", Viktor Turskyi"Impact of front-end architecture on development cost", Viktor Turskyi
"Impact of front-end architecture on development cost", Viktor Turskyi
 
Exploring UiPath Orchestrator API: updates and limits in 2024 🚀
Exploring UiPath Orchestrator API: updates and limits in 2024 🚀Exploring UiPath Orchestrator API: updates and limits in 2024 🚀
Exploring UiPath Orchestrator API: updates and limits in 2024 🚀
 

IoT Wonderland: Understanding the Magic of OAuth2 Device Registration Flow

  • 2. ABOUT Me (@steffoweber) ▪ 10yrs at Sun Microsystems, some at Oracle (Security, OS, WebServices, Identity) ▪ Lead for Customer Engineering at ForgeRock ForgeRock (www.forgerock.com www.forgerock.org) ▪ Identity & Access Management (full platform) ▪ San Francisco based (coming from Oslo – Engineering in Bristol, Grenoble and Vancouver VA) ▪ Open Source ▪ 400 Employees (world wide) ▪ BBC, Tom Tom, Thomson Reuters, Vodafone, Toyota, BinckBank and more
  • 3. Copyright © 2016 ForgeRock, all rights reserved. OAUTH2 MOTIVATION Motivation ▪ sharing data between applications ▪ it’s about authorization (can I access the data on your behalf?) XACML ▪ Policy language AND query language ▪ Fine grained (Who,What,How,When) vs OAuth scopes ▪ Can be combined at RS and AZ
  • 5. Copyright © 2016 ForgeRock, all rights reserved. OAUTH2 BASIC IDEA REGISTERED APPLICATION REGISTERED USER AGFA INSTAGRAM APPLICATION RESOURCE SERVER AUTHZ SERVER
  • 6. Copyright © 2016 ForgeRock, all rights reserved. OAUTH2 BRIEF HISTORY 2006 ▪ Ma.gnolia needed solution for authorization (AuthZ) ▪ Twitter began implementation of OpenID ▪ Foundation of OAuth discussion group 2007 ▪ OAuth Core 1.0 final draft released 2008 ▪ IETF workgroup on OAuth 2009 ▪ Security flaw discovered in 3-legged OAuth 6
  • 7. Copyright © 2016 ForgeRock, all rights reserved. OAUTH2 BRIEF HISTORY (CONT) 7 2010 ▪ All Twitter apps require OAuth ▪ OAuth standard published as RFC 5849 ▪ Start work on OAuth2 (effect 2009) ‣ Not backward compatible ‣ OAuth 1.x implementations often failed due to complexity of the cryptographic requirements ‣ Only one flow (started w 3 but then merged into 1) - ok for web apps, but failed elsewhere ‣ Difficult to scale because requests are signed and RS endpoint needs token_secret to verify access token. https://hueniverse.com/2010/05/15/introducing-oauth-2-0/
  • 8. Copyright © 2016 ForgeRock, all rights reserved. OAUTH2 BRIEF HISTORY (CONT) https://hueniverse.com/2010/05/15/introducing-oauth-2-0/ 2012 ▪ OAuth2 published ▪ Google & Facebook starting rollout ▪ OAuth2 now a complete Bearer framework; TLS as sole protection layer 2014 ▪ OpenID Connect published as OAuth2 profile 2015 ▪ UMA (User Managed Access) published as OAuth2 profile ▪ OAuth2 for devices flow 2016 ▪ PoP (Proof of Posession) tokens
  • 9. Copyright © 2016 ForgeRock, all rights reserved. OAUTH2 DEVICE FLOW https://hueniverse.com/2010/05/15/introducing-oauth-2-0/ Around 2010 ▪ OAuth Drafts had reference to Device Flow (https://tools.ietf.org/html/draft-ietf-oauth- v2-06#section-2.7) ▪ Google and Facebook had an early implementation 2015 ▪ Companies like the BBC and European Broadcasting (EBU) began showing interest ▪ EBU drafted their own standard (outside the IETF body of standards) as part of ETSI (http://www.etsi.org/deliver/etsi_ts/103400_103499/103407/01.01.01_60/ ts_103407v010101p.pdf) ▪ OpenAM contained an IdP independent implementation 2016 and later ▪ IoT made the device flow important again
  • 10. Copyright © 2016 ForgeRock, all rights reserved. OAUTH2 DEVICE FLOW What’s the issue w restricted devices (which sometime cannot even have a simple HTTP srv)? ▪ OAuth2 flow: ‣ User accesses OAuth2 Client Service ‣ Client redirects user to OAuth2 AuthZ Server (this would at least require a medium sized display on the Client) ‣ User has to authorize client req. AuthZ server typically asks user to sign-in (this would at least require an input device at the client) ▪ Clients [remember client consumes a service on the user’s behalf]: TVs, Radios, Vacuum Cleans, Alarm Systems 2015 ▪ Companies like BBC and European Broadcasting (EBU) began showing interest ▪ EBU drafted their own standard (outside the IETF body of standards) ▪ OpenAM contained an IdP independent implementation 2016 and later ▪ IoT made the device flow important again
  • 11. Copyright © 2016 ForgeRock, all rights reserved. OAUTH2 DEVICE FLOW +----------+ +----------------+ | |>---(A)-- Client Identifier --->| | | | | | | |<---(B)-- Verification Code, --<| | | | User Code, | | | | & Verification URI | | | Device | | | | Client | Client Identifier & | | | |>---(E)-- Verification Code --->| | | | polling... | | | |>---(E)-- Verification Code --->| | | | | Authorization | | |<---(F)-- Access Token --------<| Server | +----------+ (w/ Optional Refresh Token) | | v | | : | | (C) User Code & Verification URI | | : | | v | | +----------+ | | | End-user | | | | at |<---(D)-- User authenticates -->| | | Browser | | | +----------+ +----------------+
  • 12. Copyright © 2016 ForgeRock, all rights reserved. DEMO NodeMCU Twillio 
 (Wrapper) OpenIG OpenAM Trust established API Gateway
  • 13. Copyright © 2016 ForgeRock, all rights reserved. DEMO Alarm 
 System (NodeMCU) 1.User leaves home and activates
 alarm. 2.To activate alarm, user types or scans
 code displayed by alarm system. This requires consent to access phone number 3.Alarm system now has an access token 4.If alarm system detects an incident, the system calls a webservice which requires an OAuth2 access token. 5.Webservice can access phone number (scope) and call the user. http.get(https://twilliowrapper.io/call, 'Authorization: Bearer ‘..accessToken..’rn', callback)
  • 14. Copyright © 2016 ForgeRock, all rights reserved. DEMO Alarm 
 System (NodeMCU) 1.User leaves home and activates
 alarm. 2.To activate alarm, user types or scans
 code displayed by alarm system. This requires consent to access phone number 3.Alarm system now has an access token 4.If alarm system detects an incident, the system calls a webservice which requires an OAuth2 access token. 5.Webservice can access phone number (scope) and call the user. http.get(https://twilliowrapper.io/call, 'Authorization: Bearer ‘..accessToken..’rn', callback) This is NodeMCUs serial output
  • 15. Copyright © 2016 ForgeRock, all rights reserved. SECURITYCONCERNS Token is a Bearer token Device might not be able to process a TLS layer Device has ClientID / ClientSecret
  • 16. Copyright © 2016 ForgeRock, all rights reserved. SUMMARY OAuth2 Device Flow can be used to ▪ pair a device w a user ▪ grant a restricted device access on user’s behalf ▪ protect service APIs in an OAuth2 manner Try it out? ▪ www.forgerock.org/downloads ▪ Device simulator: github.com/smof/deviceEmulator