http2 勉強会 10 (IETF, TLS1.3, QUIC) まとめ #http2study

まとめました (maedaの発言分しか拾えていません。適宜追加してください)
4
Kaoru Maeda 前田 薫 @mad_p

kazuho: バージョン番号の混乱: IETF97では1.3が多数派。ML上ではTLS4が優勢(SSL3より上の番号)、TLS 2017? #http2study

2016-11-28 20:23:51
Kaoru Maeda 前田 薫 @mad_p

kazuho: 実装: draft-18を各社が実装中 #http2study

2016-11-28 20:24:25
Kaoru Maeda 前田 薫 @mad_p

kazuho: スケジュール: WGLCなう。2016/12 ヘッダを3バイト削れるか試す。2017/02 セキュリティーレビューを待って制定? #http2study

2016-11-28 20:25:38
Kaoru Maeda 前田 薫 @mad_p

kazuho: picotlsというTLS1.3実装作ってまーす #http2study

2016-11-28 20:26:16
Kaoru Maeda 前田 薫 @mad_p

kazuho: HTTP Workshop 2017 (Stockholm)での話から #http2study

2016-11-28 20:26:43
Kaoru Maeda 前田 薫 @mad_p

kazuho: 0-RTTではリプレイ攻撃が可能 #http2study

2016-11-28 20:27:30
Kaoru Maeda 前田 薫 @mad_p

kazuho: HTTPのリトライはどうか? HTTP仕様いわく、「べき等性のあるメソッドだけはリトライしてもよい。しかし現実としてブラウザはPOSTでもリトライしている #http2study

2016-11-28 20:27:50
Kaoru Maeda 前田 薫 @mad_p

kazuho: 3つのsafety: retry-safety: クライアントにリトライさせない、idempotency: べき等、replay-safety: リプレイされても安全(難しい) #http2study

2016-11-28 20:28:41
Kaoru Maeda 前田 薫 @mad_p

kazuho: retry-safety: リトライ攻撃の例: TLSを中継してTCP切断。nonceを使って防ぐのが通例。しかし1年後にリプレイされるとnonce忘れちゃってる #http2study

2016-11-28 20:29:40
Kaoru Maeda 前田 薫 @mad_p

kazuho: replay-safetyを確保するには: 案1: session ticktに署名つきで有効期限を入れる。案2: フォームのhiddenに有効期限 #http2study

2016-11-28 20:30:22
Kaoru Maeda 前田 薫 @mad_p

kazuho: 注意: TLS 1.2でのリプレイ回数はブラウザのリトライ回数だった。TLS 1.3ではたくさんリプレイされ得る #http2study

2016-11-28 20:30:53
Kaoru Maeda 前田 薫 @mad_p

kazuho: まとめ: TLS 1.3はメジャーバージョンアップ。0-RTTはこわいこともあるのでサーバー側でオフにもできるように #http2study

2016-11-28 20:31:29
Kaoru Maeda 前田 薫 @mad_p

kazu: TLS 1.2ではリネゴでクライアント認証するので、証明書は平文でなく守られるのでは? → kazuho: リネゴでも平文だったような… #http2study

2016-11-28 20:32:21
Kaoru Maeda 前田 薫 @mad_p

jxck: 暗号系の部品が全部ある前提で1.2を忘れてTLS 1.3を実装するのはどれくらい大変? kazuho: 2500行くらいでコアができる。それプラス暗号ライブラリbindingなど #http2study

2016-11-28 20:33:57
Kaoru Maeda 前田 薫 @mad_p

kazuho: TLS 1.3だけを相手にすると楽になる。大部分のextensionはそのまま使うので楽 #http2study

2016-11-28 20:34:50
Kaoru Maeda 前田 薫 @mad_p

kazu: TLS 1.2と1.3を両方サポートしようとすると、extensionの意味が変わることがあって大変 #http2study

2016-11-28 20:34:54
Kaoru Maeda 前田 薫 @mad_p

johan: QUICとは: Googleが作ったtransportプロトコル。UDPの上でmux。輻輳制御、TLS適用(quic crypto) #http2study

2016-11-28 20:46:58
Kaoru Maeda 前田 薫 @mad_p

johan: innovationがUDP上で次々行われている。0RTT、connection migration、HOL reduction #http2study

2016-11-28 20:47:28
Kaoru Maeda 前田 薫 @mad_p

johan: 開発者に使いやすい。H2+TCP+TLSとだいたい同じ #http2study

2016-11-28 20:47:49
Kaoru Maeda 前田 薫 @mad_p

johan: SCTP、MPTCPはどうなった? なぜわざわざQUICを? MPTCP: iOS OK、Androidダメ: middleboxに嫌われたり。TCPハンドシェクトが必要 #http2study

2016-11-28 20:48:55
Kaoru Maeda 前田 薫 @mad_p

johan: SCTP: 4-wayハンドシェイクなのでもうダメです。heartbeatの調節ができない #http2study

2016-11-28 20:49:33
Kaoru Maeda 前田 薫 @mad_p

johan: QUIC: 0-1 RTT。TCP+TLS: RTT。TCP FastOpen+TLS FastStart→1RTT、TCP FastOpen+TLS1.3→0RTT。QUICはTLS1.3を使う予定 #http2study

2016-11-28 20:50:44