More Related Content
Similar to Ietf95 http2 (20)
More from Kaoru Maeda (12)
Ietf95 http2
- 1. https://lepidum.co.jp/ Copyright © 2004-2016 Lepidum Co. Ltd. All rights reserved.
IETF95 Buenos Aires
HTTP2関連レポート
株式会社レピダム
前田 薫 (@mad_p)
IETF95報告会 2016/05/10
IETF95報告会2016/05/10
- 2. Copyright © 2004-2016 Lepidum Co. Ltd. All rights reserved.https://lepidum.co.jp/
Agenda
WG
dispatch
httpbis
oauth, httpauth
IETF95
Buenos Aires, AG
Apr 2-8, 2016
IETF95報告会2016/05/102
- 3. Copyright © 2004-2016 Lepidum Co. Ltd. All rights reserved.https://lepidum.co.jp/
自己紹介
名前
前田 薫 @mad_p
所属
株式会社レピダム
シニアプログラマ
マネージャ
コミュニティー活動
Lightweight Language
Identity Conference
http2study
業務領域
認証・認可、デジタル
アイデンティティー、
プライバシー
標準化支援
ソフトウェアセキュリ
ティー、脆弱性
IETFとの関わり
IETF89 Londonより
ART, SECエリア中心
IETF95報告会2016/05/103
- 5. Copyright © 2004-2016 Lepidum Co. Ltd. All rights reserved.https://lepidum.co.jp/
dispatch: ART エリア概要
概要
ARTエリアのエリアWG
月曜朝イチにAPPS全体を
見渡すセッション
トピックス
AD交代: Barry → Alexey
appsawg MLを存続
リアルタイム系の話が多かった
draft-seantek-mail-regexen-00
Email validationの正規表現
議論は炎上、BCPではない、やるならInformationalで
https://www.ietf.org/proceedings/95/slides/slides-95-core-0.pdf
IETF95報告会2016/05/10
5
- 7. Copyright © 2004-2016 Lepidum Co. Ltd. All rights reserved.https://lepidum.co.jp/
httpbis WG
概要
HTTPプロトコルの改良
HTTP/2は完了、さまざまな拡張
HTTP自体に関する新しいアイディア
Finished Documents
RFC7694: Client Initiated Content Encoding
RFC7725: An HTTP Status Code to Report Legal
Obstacles
RFC7838: Alternative Services
IETF95報告会2016/05/10
7
- 8. Copyright © 2004-2016 Lepidum Co. Ltd. All rights reserved.https://lepidum.co.jp/
httpbis discussions
Secure Cookies
★Opportunistic security
Character Encoding and Language for Parameters
★Client hints
HTTP Encryption Content Encoding
JSON Header Field Values
★ORIGIN frame and connection coalescing
★Client authentication with certificates
Cache Digest
Decomposing the Hypertext Transfer Protocol
Merkle Integrity Content Encoding
★Secure Content Delegation using HTTP and Caching Secure HTTP Content
using Blind Caches
★印: 以降で少し解説
IETF95報告会2016/05/10
8
- 9. Copyright © 2004-2016 Lepidum Co. Ltd. All rights reserved.https://lepidum.co.jp/
Opportunistic security
draft-ietf-httpbis-http2-encryption-04
だいたい議論は終わり?
.well-known/http-opportunistic の問題を検討
{
"origins": ["http://example.com", "http://www.example.com:81"],
"commit": 86400
}
commit: この期間、セキュアコンテンツを提供する。
commitの時間とwell-knownリソースの寿命を分離
HTTP/2 only問題
HTTP/1.1の実装の中には、TLSが使われているかどうか
でURIスキームがhttpsであるか判断しているものがある
HTTP/2の:scheme pseudoヘッダもうまくいかない?
→ ML上でのSec-Schemeヘッダ検討へ(進行中)
IETF95報告会2016/05/10
9
- 10. Copyright © 2004-2016 Lepidum Co. Ltd. All rights reserved.https://lepidum.co.jp/
Client Hints
draft-ietf-httpbis-client-hints-00
リソースのレイアウトなど、デバイスに合わせて最適化したい。DPR
(Device Pixel Ratio), Width of the screen, or Viewportなどを使う。いまま
ではUAを見て判定していた
RFC7234 では"Vary"ヘッダを使って、UAやクッキーに依存したコンテ
ンツであることを示せると定義
Client Hintsはクライアントがその情報をサーバーに伝えるヘッダ群の
こと
DPR: 2.0
Width: 320
Viewport-Width: 320
これらの値に依存してコンテンツを作った場合、サーバーはVaryヘッ
ダに加えてKeyヘッダも出す
サーバーはAccept-CH ヘッダを送って、クライアントがClient Hintsを
送ってくれれば考慮するよーと知らせることも可能
IETF95報告会2016/05/10
10
- 11. Copyright © 2004-2016 Lepidum Co. Ltd. All rights reserved.https://lepidum.co.jp/
ORIGIN Frame
draft-nottingham-httpbis-origin-frame-01
同一のHTTP/2 connection上で、他のオリジンも
提供できることを示すORIGIN frame
connection coalescingできることを明示
IETF95報告会2016/05/10
https://docs.google.com/presentation/d/1r7QXGYOLCh
4fcUq0jDdDwKJWNqWK1o4xMtYpKZCJYjM/
Ilya
11
- 12. Copyright © 2004-2016 Lepidum Co. Ltd. All rights reserved.https://lepidum.co.jp/
Client authentication with certificates
draft-thomson-http2-client-certs-02
リアクティブなクライアント証明書認証には問題があっ
た
TLS の client cert auth はセッション単位
TLS を開始した後でクライアント証明書認証の必要なリソースにア
クセスしたらどうする?
TLS 1.2では renegotiation; TLS 1.3では spontaneous authを使う
不統一。めんどう
h2ではどのアクセスが認証を必要としたのかわからない
解決方法: 証明書検証に必要な道具をHTTP/2 Frameとし
て実装
request-idを導入し、対応が取れるように
connection単位で証明書一覧を管理、streamごとに使う
IETF95報告会2016/05/10
12
- 13. Copyright © 2004-2016 Lepidum Co. Ltd. All rights reserved.https://lepidum.co.jp/
Client Cert Example
IETF95報告会2016/05/10
https://github.com/httpwg/wg-materials/blob/gh-pages/ietf95/client_certs.pdf
13
- 14. Copyright © 2004-2016 Lepidum Co. Ltd. All rights reserved.https://lepidum.co.jp/
Secure Content Delegation using HTTP and
Caching Secure HTTP Content using Blind Caches
draft-thomson-http-scd-00
draft-thomson-http-bc-00
ベースになっているのはContent-Encoding:
out-of-band
CE: OOBとは?
IETF95報告会2016/05/10
14
- 15. Copyright © 2004-2016 Lepidum Co. Ltd. All rights reserved.https://lepidum.co.jp/
'Out-Of-Band' Content Coding for HTTP
draft-reschke-http-oob-encoding-04
IETF95報告会2016/05/10
Request:
GET /test HTTP/1.1
Host: www.example.com
Accept-Encoding: gzip, out-of-band
Response:
HTTP/1.1 200 OK
Date: Thu, 14 May 2015 18:52:00 GMT
Content-Type: text/plain
Cache-Control: max-age=10, public
Content-Encoding: out-of-band
Content-Length: 145
Vary: Accept-Encoding
{
"URIs": [
"http://example.net/bae27c36-fa6a-11e4-ae5d-00059a3c7a00"
],
"fallback": "/c/bae27c36-fa6a-11e4-ae5d-00059a3c7a00"
}
クライアントは、ここを取りに行って、
このヘッダと合体させて
HTTPレスポンスを作る
暗号化も可能。キーをCrypto-Keyで渡す
15
- 16. Copyright © 2004-2016 Lepidum Co. Ltd. All rights reserved.https://lepidum.co.jp/
Caching Secure HTTP Content using
Blind Caches
IETF95報告会2016/05/10
https://github.com/httpwg/wg-materials/blob/gh-pages/ietf95/BC.pdf
シェアドキャッシュが
できますね!
16
- 17. Copyright © 2004-2016 Lepidum Co. Ltd. All rights reserved.https://lepidum.co.jp/
Server Push活用
IETF95報告会2016/05/10
この1RTT ×
Server Pushで0RTT
いきなり近くに
取りに行ける
17
- 19. Copyright © 2004-2016 Lepidum Co. Ltd. All rights reserved.https://lepidum.co.jp/
oauth WG
概要
Webの認可プロトコルの策定
基本部品は完了
セキュリティー強化、拡張
トピック
Mix-Up Security Vulnerability
Discovery Metadata, OAuth Metadata
Token Exchange
OAuth 2.0 for Apps
Resource Indicators
IETF95報告会2016/05/10
19
- 20. Copyright © 2004-2016 Lepidum Co. Ltd. All rights reserved.https://lepidum.co.jp/
Mix-Up Security Vulnerability
draft-ietf-oauth-mix-up-mitigation-00
クライアントをendpointについて混乱させるアタック
Dynamic registration, Authorization, Token, Resource
正当なサービスのAuthZエンドポイントから得たcodeを悪意ある
サービスのTokenエンドポイントに送らせる、その逆、など
攻撃成功の要件
clientは3rd party triggerでauthzが開始できる必要がある
xsrfや、TLSのないページからの誘導など
clientは複数のclient_idを持っていること(複数のASから認可をもら
うなど)
Dynamic RegistrationやDiscoveryを使うと攻撃が容易に
cut-n-paste attack: 盗んだcodeをクラフトしたauthz responseに貼
る
IETF95報告会2016/05/10
20
- 21. Copyright © 2004-2016 Lepidum Co. Ltd. All rights reserved.https://lepidum.co.jp/
Mix-Up Security Vulnerability
原因と対策
原因:
AuthZ responseなど、リダイレクトで伝わって
くる部分のintegrity保証メカニズムがない
cf: OpenID Connectではid_token内のc_hashがdetached
signatureとして使える
エンドポイントが複数あるが対応が不明
対策:
AuthZ req/resのintegrity強化(deteched sig)
エンドポイント間の対応を明示→メタデータ
IETF95報告会2016/05/10
21
- 22. Copyright © 2004-2016 Lepidum Co. Ltd. All rights reserved.https://lepidum.co.jp/
Discovery Metadata, OAuth Metadata
Discovery Metadata
draft-ietf-oauth-discovery
discoveryによって、各エンドポイントの対応を明確に
クライアントは設定時と実行時で値に違いがないか
チェック
OAuth Metadata
draft-sakimura-oauth-meta
AuthZ response, Token responseに、対応するエンドポイ
ント情報を持たせる
Linkヘッダを使用
クライアントで検証
IETF95報告会2016/05/10
22
- 23. Copyright © 2004-2016 Lepidum Co. Ltd. All rights reserved.https://lepidum.co.jp/
OAuthプロトコルの修正と今後
OAuth基本仕様が策定されてからも、数々の
脆弱性が見つかり、mitigation方法を定めた
ドラフトが出ている
threat modelなどの文書の改訂と基本仕様の
bis検討が必要なのではないか
Barry: bisの着手が早すぎるのはよくない。threat
modelなどを個別にUpdate, Errataしていき、あ
る程度たまったところで全体的なbisを考えるの
がよい
IETF95報告会2016/05/10
23
- 25. Copyright © 2004-2016 Lepidum Co. Ltd. All rights reserved.https://lepidum.co.jp/
httpauth WG
概要
HTTP認証仕様の策定
すでにBasic, Digest, HOBA, SCRAM策定済
トピック
Mutual Authがnear WGLC ready
最後のissueに対する対応を確認
5月にWGLC
BerlinまでにRFC化できるか?
IETF95報告会2016/05/10
25
- 27. Copyright © 2004-2016 Lepidum Co. Ltd. All rights reserved.https://lepidum.co.jp/
まとめ
httpbis
HTTP/2の策定はALT-SVCが完了して、部品としては
ひととおりそろった
HTTPはまだまだ課題がつきない
oauth
基本部分がひととおり完了
セキュリティー強化、対策
アプリサポート
httpauth
Mutual Authが終わったらおしまい?
IETF95報告会2016/05/10
27
- 28. Copyright © 2004-2016 Lepidum Co. Ltd. All rights reserved.https://lepidum.co.jp/
Any Questions? Please Give Feedbacks!
https://lepidum.co.jp/
mailto:maeda@lepidum.co.jp / twitter: @mad_p
IETF95報告会2016/05/10