SlideShare a Scribd company logo
1 of 28
Download to read offline
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
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
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
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
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
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
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
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
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
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
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
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
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
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
Copyright © 2004-2016 Lepidum Co. Ltd. All rights reserved.https://lepidum.co.jp/
Server Push活用
IETF95報告会2016/05/10
この1RTT ×
Server Pushで0RTT
いきなり近くに
取りに行ける
17
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
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
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
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
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
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
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
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

More Related Content

What's hot

最新Webプロトコル傾向と対策
最新Webプロトコル傾向と対策最新Webプロトコル傾向と対策
最新Webプロトコル傾向と対策
Kensaku Komatsu
 
WebブラウザでP2Pを実現する、WebRTCのAPIと周辺技術
WebブラウザでP2Pを実現する、WebRTCのAPIと周辺技術WebブラウザでP2Pを実現する、WebRTCのAPIと周辺技術
WebブラウザでP2Pを実現する、WebRTCのAPIと周辺技術
Yoshiaki Sugimoto
 

What's hot (20)

HTML5と WebSocket / WebRTC / Web Audio API / WebGL 技術解説
HTML5と WebSocket / WebRTC / Web Audio API / WebGL 技術解説HTML5と WebSocket / WebRTC / Web Audio API / WebGL 技術解説
HTML5と WebSocket / WebRTC / Web Audio API / WebGL 技術解説
 
IETF91 Honolulu httpbis WG Report
IETF91 Honolulu httpbis WG ReportIETF91 Honolulu httpbis WG Report
IETF91 Honolulu httpbis WG Report
 
最新Webプロトコル傾向と対策
最新Webプロトコル傾向と対策最新Webプロトコル傾向と対策
最新Webプロトコル傾向と対策
 
Node-v0.12のTLSを256倍使いこなす方法
Node-v0.12のTLSを256倍使いこなす方法Node-v0.12のTLSを256倍使いこなす方法
Node-v0.12のTLSを256倍使いこなす方法
 
IETF89 HTTP関連WG報告 #isocjp
IETF89 HTTP関連WG報告 #isocjpIETF89 HTTP関連WG報告 #isocjp
IETF89 HTTP関連WG報告 #isocjp
 
HTTP2 時代の Web - web over http2
HTTP2 時代の Web - web over http2HTTP2 時代の Web - web over http2
HTTP2 時代の Web - web over http2
 
HTTP/2, QUIC入門
HTTP/2, QUIC入門HTTP/2, QUIC入門
HTTP/2, QUIC入門
 
WebRTC meetup Tokyo 1
WebRTC meetup  Tokyo 1WebRTC meetup  Tokyo 1
WebRTC meetup Tokyo 1
 
SSL/TLSの基礎と最新動向
SSL/TLSの基礎と最新動向SSL/TLSの基礎と最新動向
SSL/TLSの基礎と最新動向
 
WebRTCとPeer.jsを使った実装
WebRTCとPeer.jsを使った実装WebRTCとPeer.jsを使った実装
WebRTCとPeer.jsを使った実装
 
HTTP2入門
HTTP2入門HTTP2入門
HTTP2入門
 
HTTP/2の現状とこれから
HTTP/2の現状とこれからHTTP/2の現状とこれから
HTTP/2の現状とこれから
 
2013 WebRTC 概説 & ワークショップ
2013 WebRTC 概説 & ワークショップ2013 WebRTC 概説 & ワークショップ
2013 WebRTC 概説 & ワークショップ
 
HTTP/2でも初めてみます?
HTTP/2でも初めてみます?HTTP/2でも初めてみます?
HTTP/2でも初めてみます?
 
WebブラウザでP2Pを実現する、WebRTCのAPIと周辺技術
WebブラウザでP2Pを実現する、WebRTCのAPIと周辺技術WebブラウザでP2Pを実現する、WebRTCのAPIと周辺技術
WebブラウザでP2Pを実現する、WebRTCのAPIと周辺技術
 
HTTPとサーバ技術の最新動向
HTTPとサーバ技術の最新動向HTTPとサーバ技術の最新動向
HTTPとサーバ技術の最新動向
 
5分でわかるWebRTCの仕組み - html5minutes vol.01
5分でわかるWebRTCの仕組み - html5minutes vol.015分でわかるWebRTCの仕組み - html5minutes vol.01
5分でわかるWebRTCの仕組み - html5minutes vol.01
 
TLS 1.3 と 0-RTT のこわ〜い話
TLS 1.3 と 0-RTT のこわ〜い話TLS 1.3 と 0-RTT のこわ〜い話
TLS 1.3 と 0-RTT のこわ〜い話
 
Webrtc bootcamp handson
Webrtc bootcamp handsonWebrtc bootcamp handson
Webrtc bootcamp handson
 
ラズパイでWebRTC ヾ(*´∀`*)ノキャッキャ uv4l-webrtc 軽くハックしてみたよ!
ラズパイでWebRTC ヾ(*´∀`*)ノキャッキャ    uv4l-webrtc 軽くハックしてみたよ!ラズパイでWebRTC ヾ(*´∀`*)ノキャッキャ    uv4l-webrtc 軽くハックしてみたよ!
ラズパイでWebRTC ヾ(*´∀`*)ノキャッキャ uv4l-webrtc 軽くハックしてみたよ!
 

Similar to Ietf95 http2

アイデンティティ2.0とOAuth/OpenID Connect
アイデンティティ2.0とOAuth/OpenID Connectアイデンティティ2.0とOAuth/OpenID Connect
アイデンティティ2.0とOAuth/OpenID Connect
Shinichi Tomita
 

Similar to Ietf95 http2 (20)

IETF90 Web関連WG報告 #isocjp
IETF90 Web関連WG報告 #isocjpIETF90 Web関連WG報告 #isocjp
IETF90 Web関連WG報告 #isocjp
 
Ietf91報告 httpbis-httpauth
Ietf91報告 httpbis-httpauthIetf91報告 httpbis-httpauth
Ietf91報告 httpbis-httpauth
 
IETF92報告IoT関連
IETF92報告IoT関連IETF92報告IoT関連
IETF92報告IoT関連
 
IETF90 IoT関連WG報告 #isocjp
IETF90 IoT関連WG報告 #isocjpIETF90 IoT関連WG報告 #isocjp
IETF90 IoT関連WG報告 #isocjp
 
HTTP/2 draft 14 preview and IETF90 httpbis WG Report
HTTP/2 draft 14 preview and IETF90 httpbis WG ReportHTTP/2 draft 14 preview and IETF90 httpbis WG Report
HTTP/2 draft 14 preview and IETF90 httpbis WG Report
 
認証/認可が実現する安全で高速分析可能な分析処理基盤
認証/認可が実現する安全で高速分析可能な分析処理基盤認証/認可が実現する安全で高速分析可能な分析処理基盤
認証/認可が実現する安全で高速分析可能な分析処理基盤
 
IETF94 M2M Authentication関連報告
IETF94 M2M Authentication関連報告IETF94 M2M Authentication関連報告
IETF94 M2M Authentication関連報告
 
H2O - making HTTP better
H2O - making HTTP betterH2O - making HTTP better
H2O - making HTTP better
 
WebRTCを始めよう! HTML5fun 第一回勉強会
WebRTCを始めよう! HTML5fun 第一回勉強会WebRTCを始めよう! HTML5fun 第一回勉強会
WebRTCを始めよう! HTML5fun 第一回勉強会
 
20160618_HTML5プロフェッショナル認定試験レベル1 技術解説セミナー in OSC北海道2016
20160618_HTML5プロフェッショナル認定試験レベル1 技術解説セミナー in OSC北海道2016 20160618_HTML5プロフェッショナル認定試験レベル1 技術解説セミナー in OSC北海道2016
20160618_HTML5プロフェッショナル認定試験レベル1 技術解説セミナー in OSC北海道2016
 
アイデンティティ2.0とOAuth/OpenID Connect
アイデンティティ2.0とOAuth/OpenID Connectアイデンティティ2.0とOAuth/OpenID Connect
アイデンティティ2.0とOAuth/OpenID Connect
 
技術選択とアーキテクトの役割
技術選択とアーキテクトの役割技術選択とアーキテクトの役割
技術選択とアーキテクトの役割
 
OAuth Security Workshop 2017 #osw17
OAuth Security Workshop 2017 #osw17OAuth Security Workshop 2017 #osw17
OAuth Security Workshop 2017 #osw17
 
Ruby向け帳票ソリューション「ThinReports」の開発で知るOSSの威力
Ruby向け帳票ソリューション「ThinReports」の開発で知るOSSの威力Ruby向け帳票ソリューション「ThinReports」の開発で知るOSSの威力
Ruby向け帳票ソリューション「ThinReports」の開発で知るOSSの威力
 
Keycloakのステップアップ認証について
Keycloakのステップアップ認証についてKeycloakのステップアップ認証について
Keycloakのステップアップ認証について
 
OpenStack Swiftとそのエコシステムの最新動向
OpenStack Swiftとそのエコシステムの最新動向OpenStack Swiftとそのエコシステムの最新動向
OpenStack Swiftとそのエコシステムの最新動向
 
WebRTCが拓く 新たなWebビジネスの世界
WebRTCが拓く新たなWebビジネスの世界WebRTCが拓く新たなWebビジネスの世界
WebRTCが拓く 新たなWebビジネスの世界
 
WebRTC/ORTCの最新動向まるわかり!
WebRTC/ORTCの最新動向まるわかり!WebRTC/ORTCの最新動向まるわかり!
WebRTC/ORTCの最新動向まるわかり!
 
エンタープライズ環境におけるWebRTC活用のポイント
エンタープライズ環境におけるWebRTC活用のポイントエンタープライズ環境におけるWebRTC活用のポイント
エンタープライズ環境におけるWebRTC活用のポイント
 
Tokbind-fido
Tokbind-fidoTokbind-fido
Tokbind-fido
 

More from Kaoru Maeda

More from Kaoru Maeda (12)

Emacs TypeScript
Emacs TypeScriptEmacs TypeScript
Emacs TypeScript
 
IETF103の話題から (HTML5 Conf 2018)
IETF103の話題から (HTML5 Conf 2018)IETF103の話題から (HTML5 Conf 2018)
IETF103の話題から (HTML5 Conf 2018)
 
IETF102 Report Authorization
IETF102 Report AuthorizationIETF102 Report Authorization
IETF102 Report Authorization
 
From an Experience of Vulnerability Reporting
From an Experience of Vulnerability ReportingFrom an Experience of Vulnerability Reporting
From an Experience of Vulnerability Reporting
 
IETF93プレ勉強会、ARTエリアの歩き方
IETF93プレ勉強会、ARTエリアの歩き方IETF93プレ勉強会、ARTエリアの歩き方
IETF93プレ勉強会、ARTエリアの歩き方
 
IETF91報告arcmedia-mcic
IETF91報告arcmedia-mcicIETF91報告arcmedia-mcic
IETF91報告arcmedia-mcic
 
HTTP/2 Local activities in Japan
HTTP/2 Local activities in JapanHTTP/2 Local activities in Japan
HTTP/2 Local activities in Japan
 
httpbis WG IETF89レポート
httpbis WG IETF89レポートhttpbis WG IETF89レポート
httpbis WG IETF89レポート
 
HTTP2 最速実装 〜入門編〜
HTTP2 最速実装 〜入門編〜HTTP2 最速実装 〜入門編〜
HTTP2 最速実装 〜入門編〜
 
Rubyコードゴルフ「ぐるぐる渦巻き」に参加してみた
Rubyコードゴルフ「ぐるぐる渦巻き」に参加してみたRubyコードゴルフ「ぐるぐる渦巻き」に参加してみた
Rubyコードゴルフ「ぐるぐる渦巻き」に参加してみた
 
Fizzbuzz in Complex Plane
Fizzbuzz in Complex PlaneFizzbuzz in Complex Plane
Fizzbuzz in Complex Plane
 
Lightning Talks日本上陸
Lightning Talks日本上陸Lightning Talks日本上陸
Lightning Talks日本上陸
 

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
  • 4.
  • 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
  • 6.
  • 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
  • 18.
  • 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
  • 24.
  • 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
  • 26.
  • 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