jwt translation #technight
TRANSCRIPT
JOSE + JWT 翻訳
OIDFJ 翻訳WG
@nov
Copyright 2013 OpenID Foundation Japan - All Rights Reserved.
http://openid-foundation-japan.github.ioOpenID, OAuth関連仕様翻訳
OIDFJ 翻訳WG
Copyright 2013 OpenID Foundation Japan - All Rights Reserved.
JSON Web Token (JWT)
JSON Web Signature (JWS)
JOSE UseCases
Copyright 2013 OpenID Foundation Japan - All Rights Reserved.
JWT in Production
OpenID Connect ID Token
YConnect, Google+ Sign-in
OAuth 2.0 JWT Bearer Token Profile
Salesforce, Windows Azure ActiveDirectory
Other APIs
Google Checkout, Twillio API, Mozilla Persona
GREEとかDeNAでも内部的にいろいろ使ってる
Copyright 2013 OpenID Foundation Japan - All Rights Reserved.
質問
Copyright 2013 OpenID Foundation Japan - All Rights Reserved.
JSON Web Token って聞いたことある人?
Copyright 2013 OpenID Foundation Japan - All Rights Reserved.
OpenID Connect のIdP / RP 実装したことある人?
Copyright 2013 OpenID Foundation Japan - All Rights Reserved.
OpenID Connect のIdP / RP 実装してみたい人?
Copyright 2013 OpenID Foundation Japan - All Rights Reserved.
ID & IT 2013 #ステマ
Copyright 2013 OpenID Foundation Japan - All Rights Reserved.
SAML の IdP/SP
実装したことある人?
Copyright 2013 OpenID Foundation Japan - All Rights Reserved.
CSV 万能?
Copyright 2013 OpenID Foundation Japan - All Rights Reserved.
SAML, The Enterprise
Copyright 2013 OpenID Foundation Japan - All Rights Reserved.
XML Signature / Encryption
Copyright 2013 OpenID Foundation Japan - All Rights Reserved.
しかし、XML亡き今...
Copyright 2013 OpenID Foundation Japan - All Rights Reserved.
XML Sig/Enc for JSON
Copyright 2013 OpenID Foundation Japan - All Rights Reserved.
JSON Web Token (JWT)
JSON Web Signature (JWS)
JSON Web Encryption (JWE)
Copyright 2013 OpenID Foundation Japan - All Rights Reserved.
で、なにに使うの?
Copyright 2013 OpenID Foundation Japan - All Rights Reserved.
JOSE UseCases
Copyright 2013 OpenID Foundation Japan - All Rights Reserved.
多くのインターネット上のアプリケーションは, ネットワークレイヤーやトランスポートレイヤーでのセキュリティメカニズムに加えて, オブジェクトベースのセキュリティメカニズムを必要とする. かつてはCryptographic
Message Syntax (CMS) がASN.1に基づいたバイナリレベルでのセキュアオブジェクトフォーマットを提供していた. しかしながら時代の変化とともにASN.1のようなバイナリオブジェクトエンコーディングは時代遅れとなり, JSONなどのテキストベースエンコーディングが主流となった. 本ドキュメントでは, 現在実用化されている様々なアプリケーションレイヤーセキュリティメカニズムをもとに, JSONベースのセキュアオブジェクトフォーマットの各種ユースケースと要件をまとめる.
http://openid-foundation-japan.github.io/draft-ietf-jose-use-cases-03.ja.html
Copyright 2013 OpenID Foundation Japan - All Rights Reserved.
JOSE UseCases
JOSE の実際のユースケースのリストアップ
OpenID Connect, OAuth, XMPP など
JOSE が何に使えるのかをざっくり知れる
Copyright 2013 OpenID Foundation Japan - All Rights Reserved.
JOSE UseCases
JOSE 仕様に求められる要件をまとめたドキュメント
ユースケースごとに異なる要件を比較検討
JOSE ML で議論されてる内容のバックグラウンドを理解するにも有用
Copyright 2013 OpenID Foundation Japan - All Rights Reserved.
どんなフォーマットか見てみよう
Copyright 2013 OpenID Foundation Japan - All Rights Reserved.
JSON Web Token (JWT)
Copyright 2013 OpenID Foundation Japan - All Rights Reserved.
JSON Web Token (JWT) は2者間でやりとりされるコンパクトで URL-safe
なクレームの表現方法である. JWT に含まれるクレームは JavaScript Object
Notation (JSON) オブジェクトとしてエンコードされ, JSON Web Signature
(JWS) のペイロードや JSON Web Encryption (JWE) の平文として利用される. JWS や JWE とともに用いることで, クレームに対してデジタル署名や
MAC を付与と暗号化の両方を行うことが可能となる.http://openid-foundation-japan.github.io/draft-ietf-oauth-json-web-token-11.ja.html
Copyright 2013 OpenID Foundation Japan - All Rights Reserved.
JSON Web Token (JWT)
JSON で任意の主体に対する Claim の集合を表現
Claim = 属性
いくつかの予約済み Claim 名を定義
subject, audience などなど (SAML由来?)
Copyright 2013 OpenID Foundation Japan - All Rights Reserved.
JSON Web Token (JWT)
JSON を URL-safe な形でコンパクトにエンコード
Base64 URL Encode して “.” でつなぐ
コンパクトにするためキー名は短縮型
謎の3文字縛り (“subject” => “sub” etc.)
Copyright 2013 OpenID Foundation Japan - All Rights Reserved.
で、これをセキュアに使うには?
Copyright 2013 OpenID Foundation Japan - All Rights Reserved.
JSON Web Signature (JWS)
Copyright 2013 OpenID Foundation Japan - All Rights Reserved.
JSON Web Signature (JWS)は, JavaScript Object Notation (JSON)をベースとしたデータ構造を用いて, デジタル署名やMessage Authentication Codes
(MACs)により保護されたコンテンツを表現するための手段である. 本仕様で使用する暗号アルゴリズムと識別子はJSON Web Algorithms (JWA) で述べられている. 関連する暗号化の機能は, JSON Web Encryption (JWE) で述べられている.
http://openid-foundation-japan.github.io/draft-ietf-jose-json-web-signature-14.ja.html
Copyright 2013 OpenID Foundation Japan - All Rights Reserved.
JSON Web Signature
“署名付きの JWT = JWS”
でだいたいあってる
Copyright 2013 OpenID Foundation Japan - All Rights Reserved.
JSON Web Signature
が、Payload を JSON に限定しないでなるべく General にしようとしている
Copyright 2013 OpenID Foundation Japan - All Rights Reserved.
JSON Web Signature
alg=RSA-SHA256 / HMAC-SHA256x
JWS Compact Serialization
の組み合わせだけ使えればとりあえずOK
Copyright 2013 OpenID Foundation Japan - All Rights Reserved.
その他の JOSE / JWT 関連仕様
Copyright 2013 OpenID Foundation Japan - All Rights Reserved.
JOSE / JWT Family
JSON Web Encryption
OAuth 2.0 JWT Bearer Token
JSON Web Algorithm
JSON Web Key
近日翻訳予定
Copyright 2013 OpenID Foundation Japan - All Rights Reserved.
http://openid-foundation-japan.github.io