SlideShare a Scribd company logo
1 of 79
Download to read offline
Justin Richer, The MITRE Corporation
                                                 January 2013



Approved for Public Release;
Distribution Unlimited. 13-0239

©2013 The MITRE Corporation
}  OAuth2
    }  OpenID Connect
    }  MITREid Connect open source project

    }  Trust Frameworks




©2013 The MITRE Corporation                   2
Delegated Authorization




©2013 The MITRE Corporation
©2013 The MITRE Corporation   4
©2013 The MITRE Corporation
}  Authorization protocol framework
    }  Built on deployment experience with OAuth 1,
        SAML, OpenID, and others
    }  IETF Standard (as of 10/2012)
          ◦  RFC6749, RFC6750
    }  Built for HTTP APIs
    }  Mobile friendly

    }  REST-friendly
          ◦  Not RESTful itself



©2013 The MITRE Corporation                            6
Refresh Token
                                                                  (Lets client ask for
         Resource Owner                                           access tokens
         (Controls stuff)                    User Agent           without bugging the
                                             (Web browser)        user again)




                                                                         Access Token
Client                         Protected                                 (Lets client
(Wants stuff)                  Resource           Authorization Server   get stuff)
                               (Has stuff)        (Issues tokens)


 ©2013 The MITRE Corporation                                                             7
©2013 The MITRE Corporation   8
}    Authorization Code
          ◦  Very secure
          ◦  Most common
          ◦  Good for web server and native apps
    }    Implicit
          ◦  Good for apps inside the browser
    }    Client Credentials
          ◦  When there’s no user involved
    }    Resource Owner Credentials
          ◦  Bootstrap username/password systems


©2013 The MITRE Corporation                        9
}    Refresh token
          ◦  Get more access tokens without bothering the user
    }    Assertion
          ◦  Extension
          ◦  Uses structured tokens: JWT, SAML
    }    Chain/redelegation
          ◦  Extension
          ◦  Trade one access token for another




©2013 The MITRE Corporation                                      10
The most common OAuth2 Pattern




©2013 The MITRE Corporation
Resource Owner &
                     User Agent        Authorization Server




                              Client   Protected Resource



©2013 The MITRE Corporation                                   12
UA
                                   AS




                               C   PR



©2013 The MITRE Corporation             13
UA
                                   AS




                               C   PR



©2013 The MITRE Corporation             14
UA
                                   AS




                               C   PR



©2013 The MITRE Corporation             15
UA
                                   AS




                               C   PR



©2013 The MITRE Corporation             16
UA
                                   AS




                               C   PR



©2013 The MITRE Corporation             17
UA
                                   AS




                               C   PR



©2013 The MITRE Corporation             18
UA
                                   AS




                               C   PR



©2013 The MITRE Corporation             19
UA
                                   AS




                               C   PR



©2013 The MITRE Corporation             20
UA
                                   AS




                               C   PR



©2013 The MITRE Corporation             21
UA
                                   AS




                               C   PR



©2013 The MITRE Corporation             22
UA
                                   AS




                               C   PR



©2013 The MITRE Corporation             23
}    Avoiding password proliferation
          ◦  User’s credentials never go to the client
    }    API protection
          ◦  Hundreds of thousands of sites, projects, and
             systems … and growing
    }  Mobile access to server systems
    }  Authentication (sign-on) protocols
          ◦  Facebook Connect, Log In With Twitter, etc.




©2013 The MITRE Corporation                                  24
©2013 The MITRE Corporation
No, it isn’t.




©2013 The MITRE Corporation
No, it   REALLY   isn’t.




©2013 The MITRE Corporation
Chocolate                                                   Fudge


     Metaphor from: http://blogs.msdn.com/b/vbertocci/archive/2013/01/02/oauth-2-0-and-sign-in.aspx

©2013 The MITRE Corporation                                                                           28
}  Delicious on its own
    }  Versatile ingredient
          ◦  Useful in many circumstances
    }    Can be used to make fudge




©2013 The MITRE Corporation                 29
}  A confection with several ingredients
    }  Can be made with chocolate
          ◦  But needs more than just chocolate
          ◦  Could be made without chocolate




©2013 The MITRE Corporation                       30
}    Create an identity API, protect it with OAuth
          ◦  Authorization Server becomes Identity Provider
          ◦  Client becomes Relying Party
    }    Standardized user profiles
          ◦  Name, email, picture, etc.
    }    Session management
          ◦  Is the user still logged in?
          ◦  Log out
    }  Step up to high levels of authentication
    }  Keep compatibility with basic OAuth2



©2013 The MITRE Corporation                                   31
©2013 The MITRE Corporation
Why hasn’t anyone done that?




©2013 The MITRE Corporation
Distributed identity at internet scale




©2013 The MITRE Corporation
}  OpenID Connect (OIDC) is built on experience
        with OpenID 2, OAuth, SAML, Facebook
        Connect, etc.
    }  Developed by the OpenID Foundation
          ◦  http://openid.net/connect




©2013 The MITRE Corporation                            35
}    OAuth 2 authorization
          ◦  Authorization Server becomes Identity Provider
          ◦  Client becomes Relying Party
    }    JSON Web Tokens
          ◦  Structured token format
    }    Can work in fully-distributed mode
          ◦  Dynamic discovery and registration
          ◦  Self-issued identities
    }    “Make the simple things simple, make the
          difficult things possible.”


©2013 The MITRE Corporation                                   36
}  Use OAuth2 to get a regular access token, as
        well as an ID token
    }  Use access token to call User Info Endpoint
          ◦  Standardized user profile
          ◦  Standardized scopes
    }    Parse and use ID token to manage current
          session and user information




©2013 The MITRE Corporation                            37
}    Higher levels of assurance
          ◦  Signed and encrypted requests
          ◦  Signed and encrypted responses
    }  Fine-grained claims management
    }  Distributed and aggregated claims
    }  Self-issued identities

    }  IdP-initiated login
          ◦  Kicks off the standard flow “remotely”
    }    Can get very complex if you want it to
          ◦  “SAML with curly braces”


©2013 The MITRE Corporation                           38
}  OAuth 2 in the wild
    }  Real-life interoperability testing
    }  Real deployments, large and small

    }  Generalization of protocols
          ◦  OIDC Discovery -> Webfinger
          ◦  OIDC Registration -> OAuth 2 Dynamic Client
             Registration
          ◦  JWT Claims
           –  Subject, audience, authorized presenter




©2013 The MITRE Corporation                                39
©2013 The MITRE Corporation
41
42
43
https://github.com/mitreid-connect




©2013 The MITRE Corporation
}  Server and client built on Spring Security
    }  Supports key features:
          ◦  Signed tokens
          ◦  Request objects
          ◦  Authorization code and implicit flows
    }    Interoperability testing with working group
          ◦  Nomura Research Institute (PHP client)
          ◦  OIDC-PHP (PHP Client)
          ◦  IBM (Java client)
          ◦  Nov Matake (Ruby client and server)
          ◦  OIDC test suite (Python)
          ◦  … and others

©2013 The MITRE Corporation                             45
}  Enterprise-friendly platform (Java Spring)
    }  Administration consoles
    }  Programmable API

    }  Modern UI
    }  Event and action logging

    }  General-purpose OAuth 2.0 service
          ◦  Support the wider MITRE Partnership Network effort
          ◦  More than just single-sign-on




©2013 The MITRE Corporation                                       46
©2013	
  The	
  MITRE	
  Corpora3on	
     47	
  
©2013	
  The	
  MITRE	
  Corpora3on	
  
©2013	
  The	
  MITRE	
  Corpora3on	
  
©2013	
  The	
  MITRE	
  Corpora3on	
  
Per-server overlays    Server A      Server B         …
                  (not public)


                                      MITREid Connect
             Hosted on GitHub        Open Source Project




                                            SECOAUTH
                Open Source,
            owned by VMWare
                                    Spring
                                                       Spring
                                   Security


                                              Java

©2013 The MITRE Corporation                                         51
Please join us!




©2013 The MITRE Corporation
©2013 The MITRE Corporation
}  A legally binding document signed by
        affected parties
    }  Dictates the rules in three dimensions
          ◦  Business, Legal, and Technical
    }    Core to National Strategy for Trusted
          Identities in Cyberspace (NSTIC)
          ◦  Identity Ecosystem




©2013 The MITRE Corporation                       54
}  Technology is only part of the problem
    }  Distributed work is commonplace
          ◦  Policies and guidance haven’t kept up
          ◦  What defines the “normal” case?
          ◦  How do you handle the exceptional cases?
    }    Built on whitelist/blacklist/graylist construct
          ◦  Explicitly allow for interactions that haven’t been
             previously vetted
    }    Technology centered around OpenID
          ◦  Support for 2.0 based on FICAM profile
          ◦  Support for Connect based on draft standard


©2013 The MITRE Corporation                                        55
It’s good for you!




©2013 The MITRE Corporation
}    First time through, ask:
          ◦  “You’ve never allowed this before. This is what I can
             say about them, is that OK?”
    }    Subsequent times through:
          ◦  “I’m reasonably sure this is the same thing that
             you’ve said OK to before, let it through”




©2013 The MITRE Corporation                                          57
Whitelist
                                Trusted partners, business contracts,
                              customer organizations, trust frameworks


                                          Graylist
                                    User-based trust decisions
                                   Follow TOFU model, keep logs


                                         Blacklist
                                      Very bad sites we don’t
                                      want to deal with, ever



©2013 The MITRE Corporation                                              58
Whitelist
                                Trusted partners, business contracts,
                              customer organizations, trust frameworks
 Organizations
 decide these




                                                                         decide these
                                                                          End-users
                                          Graylist
                                    User-based trust decisions
                                   Follow TOFU model, keep logs


                                         Blacklist
                                      Very bad sites we don’t
                                      want to deal with, ever



©2013 The MITRE Corporation                                                             59
}  Security must be usable by regular people
    }  We need multiple models, together
          ◦  It’s a continuum
    }    Let organizations decide:
          ◦  What organizations/sites to trust automatically
          ◦  Who to sue if something goes wrong
          ◦  Who to block completely
    }    Let users decide:
          ◦  If they trust things the organization is silent about
          ◦  (It’s easy to forget about this one)


©2013 The MITRE Corporation                                          60
What security folks say to do




             What users actually do



©2013 The MITRE Corporation                                   61
- Eve Maler




©2013 The MITRE Corporation
©2013 The MITRE Corporation
}    It’s a real live IETF standard (family)
          ◦  RFC6749, RFC6750
    }    Many, many web APIs use it
          ◦  Many more on the way
    }    Extensions to core OAuth functionality
          helping it find use in new places
          ◦  Replacing old-style SOA authorization systems




©2013 The MITRE Corporation                                  64
}    Cracking open enterprise identity
          ◦  Federation over direct authentication
          ◦  Derived credentials over primary credentials
    }    Large scale internet identity platforms
          ◦  Google fully behind it
          ◦  Implementations from Ebay, IBM, Microsoft, others
    }    Implementer’s draft available now




©2013 The MITRE Corporation                                      65
}  Security MUST be usable by “normal people”
    }  People will find way around things they
        perceive to get in their way
          ◦  Even if it’s “good for them”




©2013 The MITRE Corporation                          66
Justin Richer
                              jricher@mitre.org




©2013 The MITRE Corporation
Here there be dragons




©2013 The MITRE Corporation
©2013 The MITRE Corporation
UA
                                   AS




                               C   PR



©2013 The MITRE Corporation             70
UA
                                   AS




                               C   PR



©2013 The MITRE Corporation             71
}  OAuth doesn’t define what goes into the
        token string itself
    }  Define a parseable format for moving data
        within the token: JSON Web Tokens (JWT)
          ◦  http://tools.ietf.org/html/draft-ietf-oauth-json-web-token-06
    }    Clients and protected resources can verify the
          token through signatures (JOSE)
          ◦  http://datatracker.ietf.org/wg/jose/




©2013 The MITRE Corporation                                                  72
{"iss":"joe",
     {"typ":"JWT",
      "alg":"HS256"}                +        "exp":1300819380,
                                             "http://example.com/is_root":true}


                              +   (signature)   =

               eyJ0eXAiOiJKV1QiLA0KICJhbGciOiJIUzI1NiJ
               9.eyJpc3MiOiJqb2UiLA0KICJleHAiOjEzMDA
               4MTkzODAsDQogImh0dHA6Ly9leGFtcGxlL
               mNvbS9pc19yb290Ijp0cnVlfQ.dBjftJeZ4CV
               P-mB92K27uhbUJU1p1r_wW1gFWFOEjXk

©2013 The MITRE Corporation                                                       73
}    Unstructured or opaque tokens
          ◦  “I have a token, what is it good for?”
    }    Token in, JSON out
    }    http://tools.ietf.org/html/draft-richer-oauth-introspection-01



          {
              "valid": true,
              "client_id":"s6BhdRkqt3",
              "scope": ["read", "write", "dolphin"],
              "subject": "2309fj32kl",
              "audience": "http://example.org/protected-resource/*"
          }



©2013 The MITRE Corporation                                                74
http://tools.ietf.org/html/draft-richer-oauth-chain-00
            http://tools.ietf.org/html/draft-hunt-oauth-chain-01




©2013 The MITRE Corporation
UA
                                             AS




                                         ?

                               C   PR1            PR2



©2013 The MITRE Corporation                             76
UA
                                         AS




                               C   PR1        PR2



©2013 The MITRE Corporation                         77
UA
                                         AS




                               C   PR1        PR2



©2013 The MITRE Corporation                         78
UA
                                         AS




                               C   PR1        PR2



©2013 The MITRE Corporation                         79

More Related Content

What's hot

Write smart contract with solidity on Ethereum
Write smart contract with solidity on EthereumWrite smart contract with solidity on Ethereum
Write smart contract with solidity on EthereumMurughan Palaniachari
 
Introduction to JWT and How to integrate with Spring Security
Introduction to JWT and How to integrate with Spring SecurityIntroduction to JWT and How to integrate with Spring Security
Introduction to JWT and How to integrate with Spring SecurityBruno Henrique Rother
 
Europython 2011 - Playing tasks with Django & Celery
Europython 2011 - Playing tasks with Django & CeleryEuropython 2011 - Playing tasks with Django & Celery
Europython 2011 - Playing tasks with Django & CeleryMauro Rocco
 
Future of AI: Blockchain & Deep Learning
Future of AI: Blockchain & Deep LearningFuture of AI: Blockchain & Deep Learning
Future of AI: Blockchain & Deep LearningMelanie Swan
 
Dependency Injection
Dependency InjectionDependency Injection
Dependency InjectionKnoldus Inc.
 
Supporting trade finance with letters of credit on corda
Supporting trade finance with letters of credit on cordaSupporting trade finance with letters of credit on corda
Supporting trade finance with letters of credit on cordaR3
 
Defending Against the Dark Arts of LOLBINS
Defending Against the Dark Arts of LOLBINS Defending Against the Dark Arts of LOLBINS
Defending Against the Dark Arts of LOLBINS Brent Muir
 
Nikita Abdullin - Reverse-engineering of embedded MIPS devices. Case Study - ...
Nikita Abdullin - Reverse-engineering of embedded MIPS devices. Case Study - ...Nikita Abdullin - Reverse-engineering of embedded MIPS devices. Case Study - ...
Nikita Abdullin - Reverse-engineering of embedded MIPS devices. Case Study - ...DefconRussia
 
Développement d'un site web jee de e commerce basé sur spring (m.youssfi)
Développement d'un site web jee de e commerce basé sur spring (m.youssfi)Développement d'un site web jee de e commerce basé sur spring (m.youssfi)
Développement d'un site web jee de e commerce basé sur spring (m.youssfi)ENSET, Université Hassan II Casablanca
 
Introduction to VueJS & Vuex
Introduction to VueJS & VuexIntroduction to VueJS & Vuex
Introduction to VueJS & VuexBernd Alter
 
Alphorm.com Formation Big Data avec Apache Spark: Initiation
Alphorm.com Formation Big Data avec Apache Spark: InitiationAlphorm.com Formation Big Data avec Apache Spark: Initiation
Alphorm.com Formation Big Data avec Apache Spark: InitiationAlphorm
 
Going to Mars with Groovy Domain-Specific Languages
Going to Mars with Groovy Domain-Specific LanguagesGoing to Mars with Groovy Domain-Specific Languages
Going to Mars with Groovy Domain-Specific LanguagesGuillaume Laforge
 
Building an Empire with PowerShell
Building an Empire with PowerShellBuilding an Empire with PowerShell
Building an Empire with PowerShellWill Schroeder
 

What's hot (20)

Support POO Java Deuxième Partie
Support POO Java Deuxième PartieSupport POO Java Deuxième Partie
Support POO Java Deuxième Partie
 
Fuzzing.pptx
Fuzzing.pptxFuzzing.pptx
Fuzzing.pptx
 
Write smart contract with solidity on Ethereum
Write smart contract with solidity on EthereumWrite smart contract with solidity on Ethereum
Write smart contract with solidity on Ethereum
 
Introduction to JWT and How to integrate with Spring Security
Introduction to JWT and How to integrate with Spring SecurityIntroduction to JWT and How to integrate with Spring Security
Introduction to JWT and How to integrate with Spring Security
 
Europython 2011 - Playing tasks with Django & Celery
Europython 2011 - Playing tasks with Django & CeleryEuropython 2011 - Playing tasks with Django & Celery
Europython 2011 - Playing tasks with Django & Celery
 
Future of AI: Blockchain & Deep Learning
Future of AI: Blockchain & Deep LearningFuture of AI: Blockchain & Deep Learning
Future of AI: Blockchain & Deep Learning
 
Zen map
Zen mapZen map
Zen map
 
Dependency Injection
Dependency InjectionDependency Injection
Dependency Injection
 
Blockchain 2.0
Blockchain 2.0Blockchain 2.0
Blockchain 2.0
 
Spring data jpa
Spring data jpaSpring data jpa
Spring data jpa
 
Supporting trade finance with letters of credit on corda
Supporting trade finance with letters of credit on cordaSupporting trade finance with letters of credit on corda
Supporting trade finance with letters of credit on corda
 
What is corda
What is cordaWhat is corda
What is corda
 
flask.pptx
flask.pptxflask.pptx
flask.pptx
 
Defending Against the Dark Arts of LOLBINS
Defending Against the Dark Arts of LOLBINS Defending Against the Dark Arts of LOLBINS
Defending Against the Dark Arts of LOLBINS
 
Nikita Abdullin - Reverse-engineering of embedded MIPS devices. Case Study - ...
Nikita Abdullin - Reverse-engineering of embedded MIPS devices. Case Study - ...Nikita Abdullin - Reverse-engineering of embedded MIPS devices. Case Study - ...
Nikita Abdullin - Reverse-engineering of embedded MIPS devices. Case Study - ...
 
Développement d'un site web jee de e commerce basé sur spring (m.youssfi)
Développement d'un site web jee de e commerce basé sur spring (m.youssfi)Développement d'un site web jee de e commerce basé sur spring (m.youssfi)
Développement d'un site web jee de e commerce basé sur spring (m.youssfi)
 
Introduction to VueJS & Vuex
Introduction to VueJS & VuexIntroduction to VueJS & Vuex
Introduction to VueJS & Vuex
 
Alphorm.com Formation Big Data avec Apache Spark: Initiation
Alphorm.com Formation Big Data avec Apache Spark: InitiationAlphorm.com Formation Big Data avec Apache Spark: Initiation
Alphorm.com Formation Big Data avec Apache Spark: Initiation
 
Going to Mars with Groovy Domain-Specific Languages
Going to Mars with Groovy Domain-Specific LanguagesGoing to Mars with Groovy Domain-Specific Languages
Going to Mars with Groovy Domain-Specific Languages
 
Building an Empire with PowerShell
Building an Empire with PowerShellBuilding an Empire with PowerShell
Building an Empire with PowerShell
 

Similar to Auth in the extended enterprise - Keynote for MIT Legal Hack A Thon 2013

Managing Identity by Giving Up Control - Scott Morrison, SVP & Distinguished ...
Managing Identity by Giving Up Control - Scott Morrison, SVP & Distinguished ...Managing Identity by Giving Up Control - Scott Morrison, SVP & Distinguished ...
Managing Identity by Giving Up Control - Scott Morrison, SVP & Distinguished ...CA API Management
 
Extreme IoT Games
Extreme IoT GamesExtreme IoT Games
Extreme IoT GamesMike Kavis
 
Federation Services
Federation ServicesFederation Services
Federation ServicesEmpowerID
 
CIS13: OpenID Connect: How it Solves your Problems
CIS13: OpenID Connect: How it Solves your ProblemsCIS13: OpenID Connect: How it Solves your Problems
CIS13: OpenID Connect: How it Solves your ProblemsCloudIDSummit
 
Oauth and SharePoint 2013 Provider Hosted apps
Oauth and SharePoint 2013 Provider Hosted appsOauth and SharePoint 2013 Provider Hosted apps
Oauth and SharePoint 2013 Provider Hosted appsJames Tramel
 
Geting cloud architecture right the first time linthicum interop fall 2013
Geting cloud architecture right the first time linthicum interop fall 2013Geting cloud architecture right the first time linthicum interop fall 2013
Geting cloud architecture right the first time linthicum interop fall 2013David Linthicum
 
Leveraging Campaigns to Untangle the Threat Group Ship of Theseus
Leveraging Campaigns to Untangle the Threat Group Ship of TheseusLeveraging Campaigns to Untangle the Threat Group Ship of Theseus
Leveraging Campaigns to Untangle the Threat Group Ship of TheseusAdam Pennington
 
Keith Casey - Transform the customer experience with a modern customer identi...
Keith Casey - Transform the customer experience with a modern customer identi...Keith Casey - Transform the customer experience with a modern customer identi...
Keith Casey - Transform the customer experience with a modern customer identi...SaaStock
 
SMAC _ Can It Maximise Staff and Customer Engagement? RWTS
SMAC _ Can It Maximise Staff and Customer Engagement?  RWTSSMAC _ Can It Maximise Staff and Customer Engagement?  RWTS
SMAC _ Can It Maximise Staff and Customer Engagement? RWTSAirTight Networks
 
Amoco Federal Credit Union - Enhancing Security and Productivity with Robust ...
Amoco Federal Credit Union - Enhancing Security and Productivity with Robust ...Amoco Federal Credit Union - Enhancing Security and Productivity with Robust ...
Amoco Federal Credit Union - Enhancing Security and Productivity with Robust ...John Kleist III
 
Privilegedaccessinfinancejuly2018bomgarwebinar 180710190904
Privilegedaccessinfinancejuly2018bomgarwebinar 180710190904Privilegedaccessinfinancejuly2018bomgarwebinar 180710190904
Privilegedaccessinfinancejuly2018bomgarwebinar 180710190904Kehinde Tolude
 
Protecting Sensitive and Critical Financial Data with Privileged Access
Protecting Sensitive and Critical Financial Data with Privileged AccessProtecting Sensitive and Critical Financial Data with Privileged Access
Protecting Sensitive and Critical Financial Data with Privileged AccessBomgar
 
CSPA Keynote: BLOCKCHAIN for Enterprise
CSPA Keynote: BLOCKCHAIN for EnterpriseCSPA Keynote: BLOCKCHAIN for Enterprise
CSPA Keynote: BLOCKCHAIN for EnterpriseDavid Haimes
 
Building Data Environments for Production Microservices with Geode
Building Data Environments for Production Microservices with GeodeBuilding Data Environments for Production Microservices with Geode
Building Data Environments for Production Microservices with GeodeVMware Tanzu
 
The Business of APIs, an Introduction for Everyone Else
The Business of APIs, an Introduction for Everyone ElseThe Business of APIs, an Introduction for Everyone Else
The Business of APIs, an Introduction for Everyone ElseGreg Kliewer
 
Trust No One: The New Security Model for Web APIs - SecTor talk by Greg Kliew...
Trust No One: The New Security Model for Web APIs - SecTor talk by Greg Kliew...Trust No One: The New Security Model for Web APIs - SecTor talk by Greg Kliew...
Trust No One: The New Security Model for Web APIs - SecTor talk by Greg Kliew...CA API Management
 
What enterprises do with big data- Part 1
What enterprises do with big data- Part 1What enterprises do with big data- Part 1
What enterprises do with big data- Part 1PromptCloud
 
Satyam Scam & Corporate Governance
Satyam Scam & Corporate GovernanceSatyam Scam & Corporate Governance
Satyam Scam & Corporate Governanceanand choudhary
 

Similar to Auth in the extended enterprise - Keynote for MIT Legal Hack A Thon 2013 (20)

Managing Identity by Giving Up Control - Scott Morrison, SVP & Distinguished ...
Managing Identity by Giving Up Control - Scott Morrison, SVP & Distinguished ...Managing Identity by Giving Up Control - Scott Morrison, SVP & Distinguished ...
Managing Identity by Giving Up Control - Scott Morrison, SVP & Distinguished ...
 
Extreme IoT Games
Extreme IoT GamesExtreme IoT Games
Extreme IoT Games
 
Federation Services
Federation ServicesFederation Services
Federation Services
 
SSO Manager
SSO ManagerSSO Manager
SSO Manager
 
CIS13: OpenID Connect: How it Solves your Problems
CIS13: OpenID Connect: How it Solves your ProblemsCIS13: OpenID Connect: How it Solves your Problems
CIS13: OpenID Connect: How it Solves your Problems
 
Oauth and SharePoint 2013 Provider Hosted apps
Oauth and SharePoint 2013 Provider Hosted appsOauth and SharePoint 2013 Provider Hosted apps
Oauth and SharePoint 2013 Provider Hosted apps
 
Geting cloud architecture right the first time linthicum interop fall 2013
Geting cloud architecture right the first time linthicum interop fall 2013Geting cloud architecture right the first time linthicum interop fall 2013
Geting cloud architecture right the first time linthicum interop fall 2013
 
Leveraging Campaigns to Untangle the Threat Group Ship of Theseus
Leveraging Campaigns to Untangle the Threat Group Ship of TheseusLeveraging Campaigns to Untangle the Threat Group Ship of Theseus
Leveraging Campaigns to Untangle the Threat Group Ship of Theseus
 
Keith Casey - Transform the customer experience with a modern customer identi...
Keith Casey - Transform the customer experience with a modern customer identi...Keith Casey - Transform the customer experience with a modern customer identi...
Keith Casey - Transform the customer experience with a modern customer identi...
 
SMAC _ Can It Maximise Staff and Customer Engagement? RWTS
SMAC _ Can It Maximise Staff and Customer Engagement?  RWTSSMAC _ Can It Maximise Staff and Customer Engagement?  RWTS
SMAC _ Can It Maximise Staff and Customer Engagement? RWTS
 
Amoco Federal Credit Union - Enhancing Security and Productivity with Robust ...
Amoco Federal Credit Union - Enhancing Security and Productivity with Robust ...Amoco Federal Credit Union - Enhancing Security and Productivity with Robust ...
Amoco Federal Credit Union - Enhancing Security and Productivity with Robust ...
 
Privilegedaccessinfinancejuly2018bomgarwebinar 180710190904
Privilegedaccessinfinancejuly2018bomgarwebinar 180710190904Privilegedaccessinfinancejuly2018bomgarwebinar 180710190904
Privilegedaccessinfinancejuly2018bomgarwebinar 180710190904
 
Protecting Sensitive and Critical Financial Data with Privileged Access
Protecting Sensitive and Critical Financial Data with Privileged AccessProtecting Sensitive and Critical Financial Data with Privileged Access
Protecting Sensitive and Critical Financial Data with Privileged Access
 
CSPA Keynote: BLOCKCHAIN for Enterprise
CSPA Keynote: BLOCKCHAIN for EnterpriseCSPA Keynote: BLOCKCHAIN for Enterprise
CSPA Keynote: BLOCKCHAIN for Enterprise
 
Building Data Environments for Production Microservices with Geode
Building Data Environments for Production Microservices with GeodeBuilding Data Environments for Production Microservices with Geode
Building Data Environments for Production Microservices with Geode
 
The Business of APIs, an Introduction for Everyone Else
The Business of APIs, an Introduction for Everyone ElseThe Business of APIs, an Introduction for Everyone Else
The Business of APIs, an Introduction for Everyone Else
 
Trust No One: The New Security Model for Web APIs - SecTor talk by Greg Kliew...
Trust No One: The New Security Model for Web APIs - SecTor talk by Greg Kliew...Trust No One: The New Security Model for Web APIs - SecTor talk by Greg Kliew...
Trust No One: The New Security Model for Web APIs - SecTor talk by Greg Kliew...
 
What enterprises do with big data- Part 1
What enterprises do with big data- Part 1What enterprises do with big data- Part 1
What enterprises do with big data- Part 1
 
Containers for Startups
Containers for StartupsContainers for Startups
Containers for Startups
 
Satyam Scam & Corporate Governance
Satyam Scam & Corporate GovernanceSatyam Scam & Corporate Governance
Satyam Scam & Corporate Governance
 

Recently uploaded

Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxLoriGlavin3
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxLoriGlavin3
 
What is Artificial Intelligence?????????
What is Artificial Intelligence?????????What is Artificial Intelligence?????????
What is Artificial Intelligence?????????blackmambaettijean
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsPixlogix Infotech
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxhariprasad279825
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxLoriGlavin3
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Manik S Magar
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii SoldatenkoFwdays
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024Lorenzo Miniero
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...Rick Flair
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxLoriGlavin3
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningLars Bell
 
Training state-of-the-art general text embedding
Training state-of-the-art general text embeddingTraining state-of-the-art general text embedding
Training state-of-the-art general text embeddingZilliz
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESSALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESmohitsingh558521
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteDianaGray10
 

Recently uploaded (20)

Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
 
What is Artificial Intelligence?????????
What is Artificial Intelligence?????????What is Artificial Intelligence?????????
What is Artificial Intelligence?????????
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and Cons
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptx
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine Tuning
 
Training state-of-the-art general text embedding
Training state-of-the-art general text embeddingTraining state-of-the-art general text embedding
Training state-of-the-art general text embedding
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESSALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test Suite
 

Auth in the extended enterprise - Keynote for MIT Legal Hack A Thon 2013

  • 1. Justin Richer, The MITRE Corporation January 2013 Approved for Public Release; Distribution Unlimited. 13-0239 ©2013 The MITRE Corporation
  • 2. }  OAuth2 }  OpenID Connect }  MITREid Connect open source project }  Trust Frameworks ©2013 The MITRE Corporation 2
  • 4. ©2013 The MITRE Corporation 4
  • 5. ©2013 The MITRE Corporation
  • 6. }  Authorization protocol framework }  Built on deployment experience with OAuth 1, SAML, OpenID, and others }  IETF Standard (as of 10/2012) ◦  RFC6749, RFC6750 }  Built for HTTP APIs }  Mobile friendly }  REST-friendly ◦  Not RESTful itself ©2013 The MITRE Corporation 6
  • 7. Refresh Token (Lets client ask for Resource Owner access tokens (Controls stuff) User Agent without bugging the (Web browser) user again) Access Token Client Protected (Lets client (Wants stuff) Resource Authorization Server get stuff) (Has stuff) (Issues tokens) ©2013 The MITRE Corporation 7
  • 8. ©2013 The MITRE Corporation 8
  • 9. }  Authorization Code ◦  Very secure ◦  Most common ◦  Good for web server and native apps }  Implicit ◦  Good for apps inside the browser }  Client Credentials ◦  When there’s no user involved }  Resource Owner Credentials ◦  Bootstrap username/password systems ©2013 The MITRE Corporation 9
  • 10. }  Refresh token ◦  Get more access tokens without bothering the user }  Assertion ◦  Extension ◦  Uses structured tokens: JWT, SAML }  Chain/redelegation ◦  Extension ◦  Trade one access token for another ©2013 The MITRE Corporation 10
  • 11. The most common OAuth2 Pattern ©2013 The MITRE Corporation
  • 12. Resource Owner & User Agent Authorization Server Client Protected Resource ©2013 The MITRE Corporation 12
  • 13. UA AS C PR ©2013 The MITRE Corporation 13
  • 14. UA AS C PR ©2013 The MITRE Corporation 14
  • 15. UA AS C PR ©2013 The MITRE Corporation 15
  • 16. UA AS C PR ©2013 The MITRE Corporation 16
  • 17. UA AS C PR ©2013 The MITRE Corporation 17
  • 18. UA AS C PR ©2013 The MITRE Corporation 18
  • 19. UA AS C PR ©2013 The MITRE Corporation 19
  • 20. UA AS C PR ©2013 The MITRE Corporation 20
  • 21. UA AS C PR ©2013 The MITRE Corporation 21
  • 22. UA AS C PR ©2013 The MITRE Corporation 22
  • 23. UA AS C PR ©2013 The MITRE Corporation 23
  • 24. }  Avoiding password proliferation ◦  User’s credentials never go to the client }  API protection ◦  Hundreds of thousands of sites, projects, and systems … and growing }  Mobile access to server systems }  Authentication (sign-on) protocols ◦  Facebook Connect, Log In With Twitter, etc. ©2013 The MITRE Corporation 24
  • 25. ©2013 The MITRE Corporation
  • 26. No, it isn’t. ©2013 The MITRE Corporation
  • 27. No, it REALLY isn’t. ©2013 The MITRE Corporation
  • 28. Chocolate Fudge Metaphor from: http://blogs.msdn.com/b/vbertocci/archive/2013/01/02/oauth-2-0-and-sign-in.aspx ©2013 The MITRE Corporation 28
  • 29. }  Delicious on its own }  Versatile ingredient ◦  Useful in many circumstances }  Can be used to make fudge ©2013 The MITRE Corporation 29
  • 30. }  A confection with several ingredients }  Can be made with chocolate ◦  But needs more than just chocolate ◦  Could be made without chocolate ©2013 The MITRE Corporation 30
  • 31. }  Create an identity API, protect it with OAuth ◦  Authorization Server becomes Identity Provider ◦  Client becomes Relying Party }  Standardized user profiles ◦  Name, email, picture, etc. }  Session management ◦  Is the user still logged in? ◦  Log out }  Step up to high levels of authentication }  Keep compatibility with basic OAuth2 ©2013 The MITRE Corporation 31
  • 32. ©2013 The MITRE Corporation
  • 33. Why hasn’t anyone done that? ©2013 The MITRE Corporation
  • 34. Distributed identity at internet scale ©2013 The MITRE Corporation
  • 35. }  OpenID Connect (OIDC) is built on experience with OpenID 2, OAuth, SAML, Facebook Connect, etc. }  Developed by the OpenID Foundation ◦  http://openid.net/connect ©2013 The MITRE Corporation 35
  • 36. }  OAuth 2 authorization ◦  Authorization Server becomes Identity Provider ◦  Client becomes Relying Party }  JSON Web Tokens ◦  Structured token format }  Can work in fully-distributed mode ◦  Dynamic discovery and registration ◦  Self-issued identities }  “Make the simple things simple, make the difficult things possible.” ©2013 The MITRE Corporation 36
  • 37. }  Use OAuth2 to get a regular access token, as well as an ID token }  Use access token to call User Info Endpoint ◦  Standardized user profile ◦  Standardized scopes }  Parse and use ID token to manage current session and user information ©2013 The MITRE Corporation 37
  • 38. }  Higher levels of assurance ◦  Signed and encrypted requests ◦  Signed and encrypted responses }  Fine-grained claims management }  Distributed and aggregated claims }  Self-issued identities }  IdP-initiated login ◦  Kicks off the standard flow “remotely” }  Can get very complex if you want it to ◦  “SAML with curly braces” ©2013 The MITRE Corporation 38
  • 39. }  OAuth 2 in the wild }  Real-life interoperability testing }  Real deployments, large and small }  Generalization of protocols ◦  OIDC Discovery -> Webfinger ◦  OIDC Registration -> OAuth 2 Dynamic Client Registration ◦  JWT Claims –  Subject, audience, authorized presenter ©2013 The MITRE Corporation 39
  • 40. ©2013 The MITRE Corporation
  • 41. 41
  • 42. 42
  • 43. 43
  • 45. }  Server and client built on Spring Security }  Supports key features: ◦  Signed tokens ◦  Request objects ◦  Authorization code and implicit flows }  Interoperability testing with working group ◦  Nomura Research Institute (PHP client) ◦  OIDC-PHP (PHP Client) ◦  IBM (Java client) ◦  Nov Matake (Ruby client and server) ◦  OIDC test suite (Python) ◦  … and others ©2013 The MITRE Corporation 45
  • 46. }  Enterprise-friendly platform (Java Spring) }  Administration consoles }  Programmable API }  Modern UI }  Event and action logging }  General-purpose OAuth 2.0 service ◦  Support the wider MITRE Partnership Network effort ◦  More than just single-sign-on ©2013 The MITRE Corporation 46
  • 47. ©2013  The  MITRE  Corpora3on   47  
  • 48. ©2013  The  MITRE  Corpora3on  
  • 49. ©2013  The  MITRE  Corpora3on  
  • 50. ©2013  The  MITRE  Corpora3on  
  • 51. Per-server overlays Server A Server B … (not public) MITREid Connect Hosted on GitHub Open Source Project SECOAUTH Open Source, owned by VMWare Spring Spring Security Java ©2013 The MITRE Corporation 51
  • 52. Please join us! ©2013 The MITRE Corporation
  • 53. ©2013 The MITRE Corporation
  • 54. }  A legally binding document signed by affected parties }  Dictates the rules in three dimensions ◦  Business, Legal, and Technical }  Core to National Strategy for Trusted Identities in Cyberspace (NSTIC) ◦  Identity Ecosystem ©2013 The MITRE Corporation 54
  • 55. }  Technology is only part of the problem }  Distributed work is commonplace ◦  Policies and guidance haven’t kept up ◦  What defines the “normal” case? ◦  How do you handle the exceptional cases? }  Built on whitelist/blacklist/graylist construct ◦  Explicitly allow for interactions that haven’t been previously vetted }  Technology centered around OpenID ◦  Support for 2.0 based on FICAM profile ◦  Support for Connect based on draft standard ©2013 The MITRE Corporation 55
  • 56. It’s good for you! ©2013 The MITRE Corporation
  • 57. }  First time through, ask: ◦  “You’ve never allowed this before. This is what I can say about them, is that OK?” }  Subsequent times through: ◦  “I’m reasonably sure this is the same thing that you’ve said OK to before, let it through” ©2013 The MITRE Corporation 57
  • 58. Whitelist Trusted partners, business contracts, customer organizations, trust frameworks Graylist User-based trust decisions Follow TOFU model, keep logs Blacklist Very bad sites we don’t want to deal with, ever ©2013 The MITRE Corporation 58
  • 59. Whitelist Trusted partners, business contracts, customer organizations, trust frameworks Organizations decide these decide these End-users Graylist User-based trust decisions Follow TOFU model, keep logs Blacklist Very bad sites we don’t want to deal with, ever ©2013 The MITRE Corporation 59
  • 60. }  Security must be usable by regular people }  We need multiple models, together ◦  It’s a continuum }  Let organizations decide: ◦  What organizations/sites to trust automatically ◦  Who to sue if something goes wrong ◦  Who to block completely }  Let users decide: ◦  If they trust things the organization is silent about ◦  (It’s easy to forget about this one) ©2013 The MITRE Corporation 60
  • 61. What security folks say to do What users actually do ©2013 The MITRE Corporation 61
  • 62. - Eve Maler ©2013 The MITRE Corporation
  • 63. ©2013 The MITRE Corporation
  • 64. }  It’s a real live IETF standard (family) ◦  RFC6749, RFC6750 }  Many, many web APIs use it ◦  Many more on the way }  Extensions to core OAuth functionality helping it find use in new places ◦  Replacing old-style SOA authorization systems ©2013 The MITRE Corporation 64
  • 65. }  Cracking open enterprise identity ◦  Federation over direct authentication ◦  Derived credentials over primary credentials }  Large scale internet identity platforms ◦  Google fully behind it ◦  Implementations from Ebay, IBM, Microsoft, others }  Implementer’s draft available now ©2013 The MITRE Corporation 65
  • 66. }  Security MUST be usable by “normal people” }  People will find way around things they perceive to get in their way ◦  Even if it’s “good for them” ©2013 The MITRE Corporation 66
  • 67. Justin Richer jricher@mitre.org ©2013 The MITRE Corporation
  • 68. Here there be dragons ©2013 The MITRE Corporation
  • 69. ©2013 The MITRE Corporation
  • 70. UA AS C PR ©2013 The MITRE Corporation 70
  • 71. UA AS C PR ©2013 The MITRE Corporation 71
  • 72. }  OAuth doesn’t define what goes into the token string itself }  Define a parseable format for moving data within the token: JSON Web Tokens (JWT) ◦  http://tools.ietf.org/html/draft-ietf-oauth-json-web-token-06 }  Clients and protected resources can verify the token through signatures (JOSE) ◦  http://datatracker.ietf.org/wg/jose/ ©2013 The MITRE Corporation 72
  • 73. {"iss":"joe", {"typ":"JWT", "alg":"HS256"} + "exp":1300819380, "http://example.com/is_root":true} + (signature) = eyJ0eXAiOiJKV1QiLA0KICJhbGciOiJIUzI1NiJ 9.eyJpc3MiOiJqb2UiLA0KICJleHAiOjEzMDA 4MTkzODAsDQogImh0dHA6Ly9leGFtcGxlL mNvbS9pc19yb290Ijp0cnVlfQ.dBjftJeZ4CV P-mB92K27uhbUJU1p1r_wW1gFWFOEjXk ©2013 The MITRE Corporation 73
  • 74. }  Unstructured or opaque tokens ◦  “I have a token, what is it good for?” }  Token in, JSON out }  http://tools.ietf.org/html/draft-richer-oauth-introspection-01 { "valid": true, "client_id":"s6BhdRkqt3", "scope": ["read", "write", "dolphin"], "subject": "2309fj32kl", "audience": "http://example.org/protected-resource/*" } ©2013 The MITRE Corporation 74
  • 75. http://tools.ietf.org/html/draft-richer-oauth-chain-00 http://tools.ietf.org/html/draft-hunt-oauth-chain-01 ©2013 The MITRE Corporation
  • 76. UA AS ? C PR1 PR2 ©2013 The MITRE Corporation 76
  • 77. UA AS C PR1 PR2 ©2013 The MITRE Corporation 77
  • 78. UA AS C PR1 PR2 ©2013 The MITRE Corporation 78
  • 79. UA AS C PR1 PR2 ©2013 The MITRE Corporation 79