SlideShare a Scribd company logo
The JSON-based Identity Protocol Suite
    By Travis Spencer




Copyright © 2013 Twobo Technologies AB.
Overview of the Protocol Suite

 JavaScript Object Notation (JSON) – Data
  encoding format popularized by AJAX & REST
 All being defined in IETF
 Used to encode OAuth 2.0 security model
          Tokens (JWT)                   Encryption (JWE)
          Keys (JWK)                     Signatures (JWS)
 OAuth 2.0 Bearer Token spec binds it to OAuth
 Basis of OAuth and OpenID Connect

Copyright © 2013 Twobo Technologies AB.
Overview of JWT

 JWT – pronounced “jot” – are lightweight tokens
  passed in HTTP headers & query strings
 Three basic sections – header, claims, signature
 Akin to SAML tokens
          Less expressive
          Less security options
          Encoded w/ JSON not XML for compactness




Copyright © 2013 Twobo Technologies AB.
Basic Layout & Wire Format


                                           Header
                                           Claims
                                            Crypto
                                          JWT Token
base64url(Header) + “.” + base64url(Claims) +
           “.” + base64url(Crypto)
Copyright © 2013 Twobo Technologies AB.
Claims Section

 Reserved (but optional) claim names
       Expiration time (exp)             Issuer (iss)
       Not before (nbf)                  Type (typ)
       Issued at (iat)                   Audience (aud)
 Public claim names
       IANA JWT claims registry
       Domain name, OID, or UUID

 Private claim names – Any unused name
 Value can be any JSON type


Copyright © 2013 Twobo Technologies AB.
Overview of JWE

 Used to encrypt JWTs
 Supports symmetric & asymmetric encryption
 Three basic sections – header, key, ciphertext
 Plaintext may be signed first
 Encryption algorithm
       RSA1_5                            A(128|256)KW
       RSA-OAEP                          A(128|256)GCM
       ECDH-ES

 Cyphertext is put in the crypto section of the JWT

Copyright © 2013 Twobo Technologies AB.
Basic Layout & Wire Format


                                           Header
                                             Key
                                          Ciphertext
                                            JWE
     JWE = base64url(Header) + “.” +
base64url(Key) + “.” + base64url(Ciphertext)
Copyright © 2013 Twobo Technologies AB.
Overview of JWK

 Array of public keys encoded as JSON objects
 Intended for inclusion in JWS for signature
  verification
 Explicit support for Elliptic Curve and RSA keys




Copyright © 2013 Twobo Technologies AB.
JWK Example

{“keyvalues” :                                 {“algorithm” : “RSA”,
    [                                            “modulus” : “…”,
        {“algorithm” : “EC”,                     “exponent” : “…”,
          “curve” : “P-256”,                     “keyid” : “…”}
                                              ]
          “x” : “…”,
                                          }
          “y” : “…”,
          “use” : “encryption”,
          “keyid” : “1”},
Copyright © 2013 Twobo Technologies AB.
Overview of JWS

 Header input is JWT header
 Payload input is JWT claims
 Output is appended to JWT inputs & (optionally)
  points to the JWK that was used
 Supports symmetric & asymmetric signing
  algorithms
          HMAC SHA                       RSA SHA
          ECDSA w/ curve P & SHA


Copyright © 2013 Twobo Technologies AB.
Basic Layout & Wire Format


                                           Header
                                           Payload
                                            JWS


JWS = base64url(sig(base64url(Header) + “.” +
           base64url(Payload)))
 Copyright © 2013 Twobo Technologies AB.
Questions & Thanks




                                                     @2botech
                                                @travisspencer
                                              www.2botech.com
                                          www.travisspencer.com
Copyright © 2013 Twobo Technologies AB.
The JSON-based Identity Protocol Suite

More Related Content

PDF
Nordic APIs - Building a Secure API
PPTX
Incorporating OAuth
PDF
Neo-security Stack
PDF
Incorporating OAuth: How to integrate OAuth into your mobile app
PDF
OAuth and OpenID Connect for Microservices
PDF
Nordic APIs - Integrated Social Solutions for a Cloudy, Mobile World
PDF
Authorization The Missing Piece of the Puzzle
PPTX
DDD Melbourne 2019 : Modern Authentication 101
Nordic APIs - Building a Secure API
Incorporating OAuth
Neo-security Stack
Incorporating OAuth: How to integrate OAuth into your mobile app
OAuth and OpenID Connect for Microservices
Nordic APIs - Integrated Social Solutions for a Cloudy, Mobile World
Authorization The Missing Piece of the Puzzle
DDD Melbourne 2019 : Modern Authentication 101

What's hot (7)

PDF
Launching a Successful and Secure API
PDF
HyWAI Web Bluetooth API
PDF
Open APIs - Risks and Rewards (Øredev 2013)
PPTX
Future Proofing the OAuth 2.0 Authorization Code Grant Protocol by the applic...
PPT
Security via Java
PDF
CIS14: I Left My JWT in San JOSE
PDF
Sign in with Apple
Launching a Successful and Secure API
HyWAI Web Bluetooth API
Open APIs - Risks and Rewards (Øredev 2013)
Future Proofing the OAuth 2.0 Authorization Code Grant Protocol by the applic...
Security via Java
CIS14: I Left My JWT in San JOSE
Sign in with Apple
Ad

Viewers also liked (20)

PDF
Designing an API
PDF
Disrupting the Car Industry and Driver Experience with APIs - API Days San Fr...
PDF
Fidor TecS AG Company Presentation
PDF
The end of polling (Audrey Neveu)
PDF
Why should C-Level care about APIs? It's the new economy, stupid.
PDF
The future of Banking @ Social Media Week 2015
PDF
Why Drones are the Future of IoT
PDF
Automated Deployment with Maven - going the whole nine yards
PDF
EVOLVE'13 | Keynote | Roy Fielding
PPT
API Management architect presentation
PPTX
Token Based Authentication Systems with AngularJS & NodeJS
PDF
エンタープライズIT環境での OpenID Connect / SCIM の具体的実装方法 idit2014
PDF
Synergies of Cloud Identity: Putting it All Together
PDF
Transforming organizations into platforms
PPTX
Beveiliging en REST services
PDF
OpenID ConnectとSCIMの標準化動向
PDF
#dd12 OAuth for Domino Developers
PDF
Five Things You Gotta Know About Modern Identity
PDF
SCIM presentation from CIS 2012
PDF
Twobo LDAP Attribute Store for ADFS
Designing an API
Disrupting the Car Industry and Driver Experience with APIs - API Days San Fr...
Fidor TecS AG Company Presentation
The end of polling (Audrey Neveu)
Why should C-Level care about APIs? It's the new economy, stupid.
The future of Banking @ Social Media Week 2015
Why Drones are the Future of IoT
Automated Deployment with Maven - going the whole nine yards
EVOLVE'13 | Keynote | Roy Fielding
API Management architect presentation
Token Based Authentication Systems with AngularJS & NodeJS
エンタープライズIT環境での OpenID Connect / SCIM の具体的実装方法 idit2014
Synergies of Cloud Identity: Putting it All Together
Transforming organizations into platforms
Beveiliging en REST services
OpenID ConnectとSCIMの標準化動向
#dd12 OAuth for Domino Developers
Five Things You Gotta Know About Modern Identity
SCIM presentation from CIS 2012
Twobo LDAP Attribute Store for ADFS
Ad

Similar to The JSON-based Identity Protocol Suite (20)

PPTX
JWTs and JOSE in a flash
PDF
A Primer on JSON Web Tokens
PPTX
NoSql-YesSQL mickey alon
PDF
IoT関連技術の動向@IETF87
PPTX
JsonWebTokens ppt - explains JWT, JWS , JWE Tokens
PDF
HFile: A Block-Indexed File Format to Store Sorted Key-Value Pairs
PPTX
I Left My JWT in San JOSE
PPTX
Introduction to the Emerging JSON-Based Identity and Security Protocols
PPTX
HBase Data Modeling and Access Patterns with Kite SDK
PPTX
Event-driven IO server-side JavaScript environment based on V8 Engine
PDF
What’s new in JSR 367 Java API for JSON Binding
PPT
BCS_PKI_part1.ppt
PDF
Cassandra 3.0 - JSON at scale - StampedeCon 2015
PDF
Overview of JSON Object Signing and Encryption
PDF
Introduction to JWT and How to integrate with Spring Security
PDF
支撐英雄聯盟戰績網的那條巨蟒
PDF
Why we (Day) open source most of our code
PDF
Vital AI MetaQL: Queries Across NoSQL, SQL, Sparql, and Spark
JWTs and JOSE in a flash
A Primer on JSON Web Tokens
NoSql-YesSQL mickey alon
IoT関連技術の動向@IETF87
JsonWebTokens ppt - explains JWT, JWS , JWE Tokens
HFile: A Block-Indexed File Format to Store Sorted Key-Value Pairs
I Left My JWT in San JOSE
Introduction to the Emerging JSON-Based Identity and Security Protocols
HBase Data Modeling and Access Patterns with Kite SDK
Event-driven IO server-side JavaScript environment based on V8 Engine
What’s new in JSR 367 Java API for JSON Binding
BCS_PKI_part1.ppt
Cassandra 3.0 - JSON at scale - StampedeCon 2015
Overview of JSON Object Signing and Encryption
Introduction to JWT and How to integrate with Spring Security
支撐英雄聯盟戰績網的那條巨蟒
Why we (Day) open source most of our code
Vital AI MetaQL: Queries Across NoSQL, SQL, Sparql, and Spark

Recently uploaded (20)

PDF
Building Integrated photovoltaic BIPV_UPV.pdf
PPT
“AI and Expert System Decision Support & Business Intelligence Systems”
PDF
Optimiser vos workloads AI/ML sur Amazon EC2 et AWS Graviton
PPT
Teaching material agriculture food technology
PDF
Chapter 3 Spatial Domain Image Processing.pdf
PPTX
Big Data Technologies - Introduction.pptx
PDF
Profit Center Accounting in SAP S/4HANA, S4F28 Col11
PDF
Review of recent advances in non-invasive hemoglobin estimation
PDF
Mobile App Security Testing_ A Comprehensive Guide.pdf
PPTX
Cloud computing and distributed systems.
PDF
Electronic commerce courselecture one. Pdf
PDF
Machine learning based COVID-19 study performance prediction
PDF
Unlocking AI with Model Context Protocol (MCP)
PDF
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
PDF
MIND Revenue Release Quarter 2 2025 Press Release
PPTX
Spectroscopy.pptx food analysis technology
PDF
Diabetes mellitus diagnosis method based random forest with bat algorithm
PPTX
Understanding_Digital_Forensics_Presentation.pptx
PDF
Agricultural_Statistics_at_a_Glance_2022_0.pdf
PDF
Spectral efficient network and resource selection model in 5G networks
Building Integrated photovoltaic BIPV_UPV.pdf
“AI and Expert System Decision Support & Business Intelligence Systems”
Optimiser vos workloads AI/ML sur Amazon EC2 et AWS Graviton
Teaching material agriculture food technology
Chapter 3 Spatial Domain Image Processing.pdf
Big Data Technologies - Introduction.pptx
Profit Center Accounting in SAP S/4HANA, S4F28 Col11
Review of recent advances in non-invasive hemoglobin estimation
Mobile App Security Testing_ A Comprehensive Guide.pdf
Cloud computing and distributed systems.
Electronic commerce courselecture one. Pdf
Machine learning based COVID-19 study performance prediction
Unlocking AI with Model Context Protocol (MCP)
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
MIND Revenue Release Quarter 2 2025 Press Release
Spectroscopy.pptx food analysis technology
Diabetes mellitus diagnosis method based random forest with bat algorithm
Understanding_Digital_Forensics_Presentation.pptx
Agricultural_Statistics_at_a_Glance_2022_0.pdf
Spectral efficient network and resource selection model in 5G networks

The JSON-based Identity Protocol Suite

  • 1. The JSON-based Identity Protocol Suite By Travis Spencer Copyright © 2013 Twobo Technologies AB.
  • 2. Overview of the Protocol Suite  JavaScript Object Notation (JSON) – Data encoding format popularized by AJAX & REST  All being defined in IETF  Used to encode OAuth 2.0 security model  Tokens (JWT) Encryption (JWE)  Keys (JWK) Signatures (JWS)  OAuth 2.0 Bearer Token spec binds it to OAuth  Basis of OAuth and OpenID Connect Copyright © 2013 Twobo Technologies AB.
  • 3. Overview of JWT  JWT – pronounced “jot” – are lightweight tokens passed in HTTP headers & query strings  Three basic sections – header, claims, signature  Akin to SAML tokens  Less expressive  Less security options  Encoded w/ JSON not XML for compactness Copyright © 2013 Twobo Technologies AB.
  • 4. Basic Layout & Wire Format Header Claims Crypto JWT Token base64url(Header) + “.” + base64url(Claims) + “.” + base64url(Crypto) Copyright © 2013 Twobo Technologies AB.
  • 5. Claims Section  Reserved (but optional) claim names  Expiration time (exp) Issuer (iss)  Not before (nbf) Type (typ)  Issued at (iat) Audience (aud)  Public claim names  IANA JWT claims registry  Domain name, OID, or UUID  Private claim names – Any unused name  Value can be any JSON type Copyright © 2013 Twobo Technologies AB.
  • 6. Overview of JWE  Used to encrypt JWTs  Supports symmetric & asymmetric encryption  Three basic sections – header, key, ciphertext  Plaintext may be signed first  Encryption algorithm  RSA1_5 A(128|256)KW  RSA-OAEP A(128|256)GCM  ECDH-ES  Cyphertext is put in the crypto section of the JWT Copyright © 2013 Twobo Technologies AB.
  • 7. Basic Layout & Wire Format Header Key Ciphertext JWE JWE = base64url(Header) + “.” + base64url(Key) + “.” + base64url(Ciphertext) Copyright © 2013 Twobo Technologies AB.
  • 8. Overview of JWK  Array of public keys encoded as JSON objects  Intended for inclusion in JWS for signature verification  Explicit support for Elliptic Curve and RSA keys Copyright © 2013 Twobo Technologies AB.
  • 9. JWK Example {“keyvalues” : {“algorithm” : “RSA”, [ “modulus” : “…”, {“algorithm” : “EC”, “exponent” : “…”, “curve” : “P-256”, “keyid” : “…”} ] “x” : “…”, } “y” : “…”, “use” : “encryption”, “keyid” : “1”}, Copyright © 2013 Twobo Technologies AB.
  • 10. Overview of JWS  Header input is JWT header  Payload input is JWT claims  Output is appended to JWT inputs & (optionally) points to the JWK that was used  Supports symmetric & asymmetric signing algorithms  HMAC SHA RSA SHA  ECDSA w/ curve P & SHA Copyright © 2013 Twobo Technologies AB.
  • 11. Basic Layout & Wire Format Header Payload JWS JWS = base64url(sig(base64url(Header) + “.” + base64url(Payload))) Copyright © 2013 Twobo Technologies AB.
  • 12. Questions & Thanks @2botech @travisspencer www.2botech.com www.travisspencer.com Copyright © 2013 Twobo Technologies AB.

Editor's Notes

  • #5: Crypto = Signature & Ciphertext