Proposed Documents for JOSE: JSON Web Signature (JWS) JSON Web Encryp6on (JWE) JSON Web Key (JWK)



Similar documents
OAuth2 Ready or not? Dominick Baier

National Security Agency Perspective on Key Management

Security Protocols/Standards

RSA BSAFE. Crypto-C Micro Edition for MFP SW Platform (psos) Security Policy. Version , October 22, 2012

W3C Web Crypto APIs. Status of current specifications and future plans. Virginie GALINDO chair of Web Crypto WG

UM0586 User manual. STM32 Cryptographic Library. Introduction

Cryptography and Network Security Sicurezza delle reti e dei sistemi informatici SSL/TSL

XML Encryption Syntax and Processing. Duan,Limiao 07,12,2006

OpenADR 2.0 Security. Jim Zuber, CTO QualityLogic, Inc.

CRYPTOGRAPHY AS A SERVICE

Cryptography and Network Security Chapter 15

Overview of Cryptographic Tools for Data Security. Murat Kantarcioglu

Software Defined Perimeter

Detailed Specifications

Communication Security for Applications

Chapter 7 Transport-Level Security

Multifactor authentication. Deployment guide

Forward Secrecy: How to Secure SSL from Attacks by Government Agencies

Secure Socket Layer. Carlo U. Nicola, SGI FHNW With extracts from publications of : William Stallings.

Authentication applications Kerberos X.509 Authentication services E mail security IP security Web security

Security Protocols HTTPS/ DNSSEC TLS. Internet (IPSEC) Network (802.1x) Application (HTTP,DNS) Transport (TCP/UDP) Transport (TCP/UDP) Internet (IP)

SMPTE Standards Transition Issues for NIST/FIPS Requirements v1.1

Usable Crypto: Introducing minilock. Nadim Kobeissi HOPE X, NYC, 2014

Secure Socket Layer (SSL) and Transport Layer Security (TLS)

Package PKI. July 28, 2015

Secure Socket Layer (TLS) Carlo U. Nicola, SGI FHNW With extracts from publications of : William Stallings.

How To Understand And Understand The Ssl Protocol ( And Its Security Features (Protocol)

A low-cost Alternative for OAEP

Table of Contents. Bibliografische Informationen digitalisiert durch

Transport Level Security

Symmetric and Public-key Crypto Due April , 11:59PM

Information Security

FIPS Non- Proprietary Security Policy. McAfee SIEM Cryptographic Module, Version 1.0

AWS Key Management Service Cryptographic Details

Cisco VPN Internal Service Module for Cisco ISR G2

Designing Hash functions. Reviewing... Message Authentication Codes. and message authentication codes. We have seen how to authenticate messages:

Computer Security: Principles and Practice

Secure Sockets Layer

Justin Richer January Portions 2013 The MITRE Corporation

Communication Systems SSL

Waspmote Encryption Libraries. Programming guide

Online signature API. Terms used in this document. The API in brief. Version 0.20,

z/os Cryptographic Services - ICSF Best Practices

AWS Encryption SDK. Developer Guide

Transitions: Recommendation for Transitioning the Use of Cryptographic Algorithms and Key Lengths

Chapter 8. Network Security

Internet Engineering Task Force (IETF) Request for Comments: Category: Standards Track ISSN: A. Langley Google June 2015

Chapter 17. Transport-Level Security

TLS Specification for Storage Systems

Lecture 9 - Network Security TDTS (ht1)

SPC5-CRYP-LIB. SPC5 Software Cryptography Library. Description. Features. SHA-512 Random engine based on DRBG-AES-128

CS Computer Security Third topic: Crypto Support Sys

Differences Between SSLv2, SSLv3, and TLS

Cryptographic Hash Functions Message Authentication Digital Signatures

Bit Chat: A Peer-to-Peer Instant Messenger

NEW HORIZON COLLEGE OF ENGINEERING, BANGALORE CLOUD COMPUTING ASSIGNMENT Explain any six benefits of Software as Service in Cloud computing?

Communication Systems 16 th lecture. Chair of Communication Systems Department of Applied Sciences University of Freiburg 2009

Microsoft Windows Server 2008 R2 Cryptographic Primitives Library (bcryptprimitives.dll) Security Policy Document

Telephone Related Queries (TeRQ) IETF 85 (Atlanta)

IT Networks & Security CERT Luncheon Series: Cryptography

Network Security Essentials Chapter 7

Safeguarding Data Using Encryption. Matthew Scholl & Andrew Regenscheid Computer Security Division, ITL, NIST

PGP from: Cryptography and Network Security

Identifying and Exploiting Padding Oracles. Brian Holyfield Gotham Digital Science

Secure Network Communications FIPS Non Proprietary Security Policy

Real-Time Communication Security: SSL/TLS. Guevara Noubir CSU610

Performance Investigations. Hannes Tschofenig, Manuel Pégourié-Gonnard 25 th March 2015

SSL BEST PRACTICES OVERVIEW

Copyright: WhosOnLocation Limited

CS155. Cryptography Overview

Axway API Gateway. Version 7.4.1

Practical Invalid Curve Attacks on TLS-ECDH

AD Image Encryption. Format Version 1.2

Chapter 6 Electronic Mail Security

Einführung in SSL mit Wireshark

CS 393 Network Security. Nasir Memon Polytechnic University Module 11 Secure

SSL and TLS. An Overview of A Secure Communications Protocol. Simon Horman aka Horms. horms@valinux.co.jp horms@verge.net.au horms@debian.

Outline. Transport Layer Security (TLS) Security Protocols (bmevihim132)

Cryptography and Network Security Chapter 12

Security. Learning Objectives. This module will help you...

A Perfect CRIME? TIME Will Tell. Tal Be ery, Web research TL

Salesforce1 Mobile Security Guide

Key & Data Storage on Mobile Devices

Efficient Framework for Deploying Information in Cloud Virtual Datacenters with Cryptography Algorithms

CS 356 Lecture 27 Internet Security Protocols. Spring 2013

Message Authentication Codes

I N F O R M A T I O N S E C U R I T Y

OOo Digital Signatures. Malte Timmermann Technical Architect Sun Microsystems GmbH

JVA-122. Secure Java Web Development

Implementing 2-Legged OAuth in Javascript (and CloudTest)

PGP - Pretty Good Privacy

Automatic Recognition, Processing and Attacking of Single Sign-On Protocols with Burp Suite

An Introduction to Cryptography as Applied to the Smart Grid

Security. Contents. S Wireless Personal, Local, Metropolitan, and Wide Area Networks 1

Northrop Grumman M5 Network Security SCS Linux Kernel Cryptographic Services. FIPS Security Policy Version

Kaseya US Sales, LLC Virtual System Administrator Cryptographic Module Software Version: 1.0

Authentication requirement Authentication function MAC Hash function Security of

Transcription:

Proposed Documents for JOSE: JSON Web Signature (JWS) JSON Web Encryp6on (JWE) JSON Web Key (JWK) Mike Jones Standards Architect Microso@ IETF 82 November 14, 2011

Mo6va6on Clear need for industry- standard JSON- based: Security Token format Signature format Encryp6on format Public Key format Specs wrisen and in use filling these needs: JSON Web Token (JWT) JSON Web Signature (JWS) JSON Web Encryp6on (JWE) JSON Web Key (JWK)

Design Philosophy Make simple things simple Make complex things possible

Design Goals Easy to use in all modern web development environments Compact, URL- safe representa6on

Background (1) In October 2010, there were numerous proposed JSON- based token and crypto formats: JSON Simple Sign and JSON Simple Encrypt Canvas Applica6ons Signatures JSON Tokens Clear that agreement would beser serve all Mike Jones surveyed features, design decisions Proposed consensus feature set based on discussions including Google, Facebook, AOL, NRI, Microso@, and independent contributors Extensive review, discussions at IIW, Nov 2010 Consensus JWT dra@ published December 2010

Background (2) JavaScript Message Security Format (JSMS) published in March 2011 by Eric Rescorla & Joe Hildebrand JSON- based signing and encryp6on format JWS published in March 2011 (split off from JWT) OAuth JWT Bearer Token Profile published March 2011 At IETF 80 (March 2011), JSMS and JWS authors agreed to work together on unified specs JWK published in April 2011 JWE published in September 2011 Encryp6on features from JSMS using JWS- based syntax

Background (3) JWT, JWS, JWE, JWK updated October 2011 Incorpora6ng feedback from WOES/JOSE members JWT, etc. specs already in use Google, Microso@, others Deployments planned by numerous par6es OpenID Connect uses JWT, JWS, JWE, JWK At least 7 independent implementa6ons

JSON Web Signature (JWS) hsp://tools.iec.org/html/dra@- jones- json- web- signature Sign arbitrary content using compact JSON- based representa6on Includes both true digital signatures and HMACs Representa6on contains three parts: Header Payload Signature Parts base64url encoded and concatenated, separated by period (. ) characters URL- safe representa6on

JWS Header Example JWS Header: {"typ":"jwt", "alg":"hs256"} Specifies use of HMAC SHA- 256 algorithm Also contains op6onal content type parameter Base64url encoded JWS Header: eyj0exaioijkv1qila0kicjhbgcioijiuzi1nij9

JWS Payload Example JWS Payload (before base64url encoding): {"iss":"joe", "exp":1300819380, "http://example.com/is_root":true} JWS Payload (a@er base64url encoding): eyjpc3mioijqb2uila0kicjlehaiojezmda4mtkzodasdqo gimh0dha6ly9legftcgxllmnvbs9pc19yb290ijp0cnvlfq

JWS Signing Input Signature covers both Header and Payload Signing input concatena6on of encoded Header and Payload, separated by period Enables direct signing of output representa6on Example signing input: eyj0exaioijkv1qila0kicjhbgcioijiuzi1nij9.eyjpc3 MiOiJqb2UiLA0KICJleHAiOjEzMDA4MTkzODAsDQogImh0d HA6Ly9leGFtcGxlLmNvbS9pc19yb290Ijp0cnVlfQ

JWS Signature Example base64url encoded HMAC SHA- 256 value: dbjftjez4cvp mb92k27uhbuju1p1r_ww1gfwfoejxk

JWS Header Parameters "alg" Signature Algorithm (REQUIRED) "jku" JSON Web Key URL "x5u" X.509 Public Key URL "x5t" X.509 Cer6ficate Thumbprint "kid" Key Iden6fier "typ" Type for signed content

JWS Algorithm Iden6fiers Compact algorithm ("alg") iden6fiers: "HS256" HMAC SHA- 256 "RS256" RSA SHA- 256 "ES256" ECDSA with " P- 256 curve and SHA- 256 Other hash sizes also defined: 384, 512 Other algorithms, iden6fiers MAY be used

JSON Web Encryp6on (JWE) hsp://tools.iec.org/html/dra@- jones- json- web- encryp6on Encrypt arbitrary content using compact JSON- based representa6on Representa6on contains three parts: Header Encrypted Key Ciphertext Parts base64url encoded and concatenated, separated by period (. ) characters URL- safe representa6on

JWE Header Example JWS Header: {"alg":"rsa1_5", "enc":"a256gcm", "iv":" 79_Pv6- fg", "x5t":"7noopq- hj1_hcnvwh6ieyi2w9q0"} RSA- PKCS1_1.5 used to encrypt JWE Encrypted Key AES- 256- GCM used to encrypt Plaintext Ini6aliza6on Vector value specified X.509 Cer6ficate Thumbprint specified Header base64url encoded just like JWS

JWE Header Parameters "alg" Encryp6on Algorithm for JWE Encrypted Key (REQUIRED) "enc" Encryp6on Algorithm for Plaintext (REQUIRED) "iv" Ini6aliza6on Vector "epk" Ephemeral Public Key "zip" Compression algorithm "jku" JSON Web Key URL "x5u" X.509 Public Key URL "x5t" X.509 Cer6ficate Thumbprint "kid" Key Iden6fier "typ" Type for encrypted content

JWE Key Encryp6on Alg Iden6fiers Algorithm ("alg") iden6fiers: "RSA1_5" RSA using RSA- PKCS1-1.5 padding "RSA-OAEP" RSA using Op6mal Asymmetric Encryp6on Padding (OAEP) "ECDH-ES" Ellip6c Curve Diffie- Hellman Ephemeral Sta6c "A128KW","A256KW" AES Key Wrap with 128, 256 bit keys "A128GCM","A256GCM" AES Galois/Counter Mode (GCM) with 128, 256 bit keys Other algorithms, iden6fiers MAY be used "

JWE Plaintext Encryp6on Alg Iden6fiers Algorithm ("enc") iden6fiers: "A128CBC","A256CBC" AES Cipher Block Chaining (CBC) mode with 128, 256 bit keys "A128GCM","A256GCM" " AES Galois/Counter Mode (GCM) with 128, 256 bit keys Other algorithms, iden6fiers MAY be used

JSON Web Key (JWK) hsp://tools.iec.org/html/dra@- jones- json- web- key JSON representa6on of public keys Representa7on of private keys out of scope

JWK Example {"keyvalues": [ {"algorithm":"ec", "curve":"p-256", "x":"mkbctnickusdii11yss3526idz8aito7tu6kpaqv7d4", "y":"4etl6srw2yilurn5vfvvhuhp7x8pxltmwwlbbm4ifym", "use":"encryption", "keyid":"1"}, {"algorithm":"rsa", "modulus": "0vx7ag(omitted)Cur-kEgU8awapJzKnqDKgw", "exponent":"aqab", "keyid":"2011-04-29"} ] }

Refactoring for JOSE JOSE charter specifies four deliverables: Signing Encryp6on Public Key Representa6on Algorithms Profile If accepted by WG, would refactor JWS, JWE, JWK to move algorithms into separate doc

Open Issues Do we also want pure JSON representa6ons? Not base64url encoded so not URL- safe Would be usable in HTTP bodies, etc. Do we need addi6onal header parameters? Public keys by value (rather than by reference) X.509 certs by value (rather than by reference) Do we specify representa6on combining encryp6on and integrity opera6ons? Would be more compact than nested opera6ons Would likely result in four- part representa6on

Related Work W3C Web Cryptography Working Group hsp://www.w3.org/wiki/iden6tycharter Specifying JavaScript APIs for cryptography JOSE specs should underlie this WG s APIs

Next Steps Decide whether to accept JWS, JWE, JWK as JOSE working group documents Determine coordina6on strategy with W3C Web Cryptography WG Refactor current documents per JOSE charter Submit IETF - 00 dra@s