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

PDF
Implications of GDPR in Conjunction with UMA
PPTX
Identity Live Sydney 2017 - Ian Sorbello
PPTX
Identity Live Sydney 2017 - Daniel Raskin
PPTX
HSBC - ForgeRock Identity Summit 2017 Dusseldorf
PPTX
Identity Objects in Mirror Are Closer Than They Appear - Identity Live 2017 -...
PPTX
Identity Live Paris 2017 | Ian Sorbello, HSBC
PPTX
Identity Live Paris 2017 | Monetising Digital Customer Relationships
PPTX
Victor Ake and Chris Kawalek - ForgeRock Identity Live 2017 - Dusseldorf
Implications of GDPR in Conjunction with UMA
Identity Live Sydney 2017 - Ian Sorbello
Identity Live Sydney 2017 - Daniel Raskin
HSBC - ForgeRock Identity Summit 2017 Dusseldorf
Identity Objects in Mirror Are Closer Than They Appear - Identity Live 2017 -...
Identity Live Paris 2017 | Ian Sorbello, HSBC
Identity Live Paris 2017 | Monetising Digital Customer Relationships
Victor Ake and Chris Kawalek - ForgeRock Identity Live 2017 - Dusseldorf

What's hot (20)

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

Viewers also liked (16)

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

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

PDF
CIS13: Bootcamp: Ping Identity OAuth and OpenID Connect In Action with PingFe...
PDF
RFC6749 et alia 20130504
PPTX
Access control iot_mqtt_ace
PDF
AllTheTalks.Online 2020: "Basics of OAuth 2.0 and OpenID Connect"
PDF
OAuth Base Camp
PDF
De la bonne utilisation de OAuth2
PDF
OAuth and why you should use it
PDF
ConFoo 2015 - Securing RESTful resources with OAuth2
PDF
Introduction to OAuth
PDF
Demystifying OAuth 2.0
PDF
oauth-for-credentials-security-in-rest-api-access
PDF
CIS14: Working with OAuth and OpenID Connect
PDF
JDD2015: Security in the era of modern applications and services - Bolesław D...
PPTX
Authorization for Internet of Things using OAuth 2.0
PPTX
OAuth 2.0 - The fundamentals, the good , the bad, technical primer and commo...
PPTX
Wso2 is integration with .net core
PDF
Full stack security
PPTX
Devteach 2017 OAuth and Open id connect demystified
PDF
Stateless token-based authentication for pure front-end applications
PDF
WebAuthn & FIDO2
CIS13: Bootcamp: Ping Identity OAuth and OpenID Connect In Action with PingFe...
RFC6749 et alia 20130504
Access control iot_mqtt_ace
AllTheTalks.Online 2020: "Basics of OAuth 2.0 and OpenID Connect"
OAuth Base Camp
De la bonne utilisation de OAuth2
OAuth and why you should use it
ConFoo 2015 - Securing RESTful resources with OAuth2
Introduction to OAuth
Demystifying OAuth 2.0
oauth-for-credentials-security-in-rest-api-access
CIS14: Working with OAuth and OpenID Connect
JDD2015: Security in the era of modern applications and services - Bolesław D...
Authorization for Internet of Things using OAuth 2.0
OAuth 2.0 - The fundamentals, the good , the bad, technical primer and commo...
Wso2 is integration with .net core
Full stack security
Devteach 2017 OAuth and Open id connect demystified
Stateless token-based authentication for pure front-end applications
WebAuthn & FIDO2

More from ForgeRock (20)

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

Recently uploaded (20)

PDF
CIFDAQ's Market Insight: SEC Turns Pro Crypto
PPT
“AI and Expert System Decision Support & Business Intelligence Systems”
PDF
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
PDF
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
PPT
Teaching material agriculture food technology
PPTX
MYSQL Presentation for SQL database connectivity
PDF
Encapsulation_ Review paper, used for researhc scholars
PDF
Bridging biosciences and deep learning for revolutionary discoveries: a compr...
PDF
Empathic Computing: Creating Shared Understanding
PDF
Building Integrated photovoltaic BIPV_UPV.pdf
PPTX
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
PPTX
Big Data Technologies - Introduction.pptx
PPTX
Understanding_Digital_Forensics_Presentation.pptx
PPTX
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
PDF
Per capita expenditure prediction using model stacking based on satellite ima...
PDF
Mobile App Security Testing_ A Comprehensive Guide.pdf
PDF
Spectral efficient network and resource selection model in 5G networks
PDF
Shreyas Phanse Resume: Experienced Backend Engineer | Java • Spring Boot • Ka...
PPTX
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
PDF
The Rise and Fall of 3GPP – Time for a Sabbatical?
CIFDAQ's Market Insight: SEC Turns Pro Crypto
“AI and Expert System Decision Support & Business Intelligence Systems”
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
Teaching material agriculture food technology
MYSQL Presentation for SQL database connectivity
Encapsulation_ Review paper, used for researhc scholars
Bridging biosciences and deep learning for revolutionary discoveries: a compr...
Empathic Computing: Creating Shared Understanding
Building Integrated photovoltaic BIPV_UPV.pdf
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
Big Data Technologies - Introduction.pptx
Understanding_Digital_Forensics_Presentation.pptx
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
Per capita expenditure prediction using model stacking based on satellite ima...
Mobile App Security Testing_ A Comprehensive Guide.pdf
Spectral efficient network and resource selection model in 5G networks
Shreyas Phanse Resume: Experienced Backend Engineer | Java • Spring Boot • Ka...
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
The Rise and Fall of 3GPP – Time for a Sabbatical?

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