jwt translation #technight

38
JOSE + JWT 翻訳 OIDFJ 翻訳WG @nov

Upload: nov-matake

Post on 24-May-2015

4.325 views

Category:

Technology


1 download

TRANSCRIPT

Page 1: JWT Translation #technight

JOSE + JWT 翻訳

OIDFJ 翻訳WG

@nov

Page 2: JWT Translation #technight

Copyright 2013 OpenID Foundation Japan - All Rights Reserved.

http://openid-foundation-japan.github.ioOpenID, OAuth関連仕様翻訳

OIDFJ 翻訳WG

Page 3: JWT Translation #technight

Copyright 2013 OpenID Foundation Japan - All Rights Reserved.

JSON Web Token (JWT)

JSON Web Signature (JWS)

JOSE UseCases

Page 4: JWT Translation #technight

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でも内部的にいろいろ使ってる

Page 5: JWT Translation #technight

Copyright 2013 OpenID Foundation Japan - All Rights Reserved.

質問

Page 6: JWT Translation #technight

Copyright 2013 OpenID Foundation Japan - All Rights Reserved.

JSON Web Token って聞いたことある人?

Page 7: JWT Translation #technight

Copyright 2013 OpenID Foundation Japan - All Rights Reserved.

OpenID Connect のIdP / RP 実装したことある人?

Page 8: JWT Translation #technight

Copyright 2013 OpenID Foundation Japan - All Rights Reserved.

OpenID Connect のIdP / RP 実装してみたい人?

Page 9: JWT Translation #technight

Copyright 2013 OpenID Foundation Japan - All Rights Reserved.

ID & IT 2013 #ステマ

Page 10: JWT Translation #technight

Copyright 2013 OpenID Foundation Japan - All Rights Reserved.

SAML の IdP/SP

実装したことある人?

Page 11: JWT Translation #technight

Copyright 2013 OpenID Foundation Japan - All Rights Reserved.

CSV 万能?

Page 12: JWT Translation #technight

Copyright 2013 OpenID Foundation Japan - All Rights Reserved.

SAML, The Enterprise

Page 13: JWT Translation #technight

Copyright 2013 OpenID Foundation Japan - All Rights Reserved.

XML Signature / Encryption

Page 14: JWT Translation #technight

Copyright 2013 OpenID Foundation Japan - All Rights Reserved.

しかし、XML亡き今...

Page 15: JWT Translation #technight

Copyright 2013 OpenID Foundation Japan - All Rights Reserved.

XML Sig/Enc for JSON

Page 16: JWT Translation #technight

Copyright 2013 OpenID Foundation Japan - All Rights Reserved.

JSON Web Token (JWT)

JSON Web Signature (JWS)

JSON Web Encryption (JWE)

Page 17: JWT Translation #technight

Copyright 2013 OpenID Foundation Japan - All Rights Reserved.

で、なにに使うの?

Page 18: JWT Translation #technight

Copyright 2013 OpenID Foundation Japan - All Rights Reserved.

JOSE UseCases

Page 19: JWT Translation #technight

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

Page 20: JWT Translation #technight

Copyright 2013 OpenID Foundation Japan - All Rights Reserved.

JOSE UseCases

JOSE の実際のユースケースのリストアップ

OpenID Connect, OAuth, XMPP など

JOSE が何に使えるのかをざっくり知れる

Page 21: JWT Translation #technight

Copyright 2013 OpenID Foundation Japan - All Rights Reserved.

JOSE UseCases

JOSE 仕様に求められる要件をまとめたドキュメント

ユースケースごとに異なる要件を比較検討

JOSE ML で議論されてる内容のバックグラウンドを理解するにも有用

Page 22: JWT Translation #technight

Copyright 2013 OpenID Foundation Japan - All Rights Reserved.

どんなフォーマットか見てみよう

Page 23: JWT Translation #technight

Copyright 2013 OpenID Foundation Japan - All Rights Reserved.

JSON Web Token (JWT)

Page 24: JWT Translation #technight

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

Page 25: JWT Translation #technight

Copyright 2013 OpenID Foundation Japan - All Rights Reserved.

JSON Web Token (JWT)

JSON で任意の主体に対する Claim の集合を表現

Claim = 属性

いくつかの予約済み Claim 名を定義

subject, audience などなど (SAML由来?)

Page 26: JWT Translation #technight

Copyright 2013 OpenID Foundation Japan - All Rights Reserved.

JSON Web Token (JWT)

JSON を URL-safe な形でコンパクトにエンコード

Base64 URL Encode して “.” でつなぐ

コンパクトにするためキー名は短縮型

謎の3文字縛り (“subject” => “sub” etc.)

Page 27: JWT Translation #technight
Page 28: JWT Translation #technight

Copyright 2013 OpenID Foundation Japan - All Rights Reserved.

で、これをセキュアに使うには?

Page 29: JWT Translation #technight

Copyright 2013 OpenID Foundation Japan - All Rights Reserved.

JSON Web Signature (JWS)

Page 30: JWT Translation #technight

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

Page 31: JWT Translation #technight

Copyright 2013 OpenID Foundation Japan - All Rights Reserved.

JSON Web Signature

“署名付きの JWT = JWS”

でだいたいあってる

Page 32: JWT Translation #technight

Copyright 2013 OpenID Foundation Japan - All Rights Reserved.

JSON Web Signature

が、Payload を JSON に限定しないでなるべく General にしようとしている

Page 33: JWT Translation #technight

Copyright 2013 OpenID Foundation Japan - All Rights Reserved.

JSON Web Signature

alg=RSA-SHA256 / HMAC-SHA256x

JWS Compact Serialization

の組み合わせだけ使えればとりあえずOK

Page 34: JWT Translation #technight
Page 35: JWT Translation #technight
Page 36: JWT Translation #technight

Copyright 2013 OpenID Foundation Japan - All Rights Reserved.

その他の JOSE / JWT 関連仕様

Page 37: JWT Translation #technight

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

近日翻訳予定

Page 38: JWT Translation #technight

Copyright 2013 OpenID Foundation Japan - All Rights Reserved.

http://openid-foundation-japan.github.io