2021年 HTTPやQUICの最新動向振り返り

2021年について、プロトコル周りの動向を振り返っていきたいと思います。

gRPC over HTTP/3のプロトコルと実装を眺める

gRPC over HTTP/3の実装を触ってみる

QUICのPath MTU Discovery手法の論文を読んで

QUICに関するEPIQ 2021というワークショップで、「The search of the path MTU with QUIC」という発表がありました。論文と発表スライドはEPIQ 2021のページより見ることができます。簡単に内容に目を通していきたいと思います。 TL;DR 3行で RFC 9000 QUIC…

メディアタイプで複数サフィックスを許可する提案仕様

メディアタイプでサフィックスを複数つけられるようにする提案仕様

新しいHTTPメソッド、QUERYメソッドの仕様

HTTPに新しくQUICERYメソッドを定義する提案

0.0.0.0/8のIPアドレスなどを利用可能にする提案仕様

現在使用されていないIPレンジ0.0.0.0/8・127.1.0.0 ~ 127.255.255.255・240.0.0.0/4を利用可能にする提案仕様

匿名かつ検証可能なPrivate Access Tokensの提案仕様 (プライベートアクセストークン)

「Private Access Tokens」という提案仕様が、Google, Apple, Fastly, Cloudflareの方々らの共著でIETFに提出されています。なお、すでに実装が進められているそうです。この「Private Access Tokens」の一つのモチベーションに次のようなものがあります。昨…

クレデンシャルを安全に共有する「Secure Credential Transfer」の仕様

iOSやAndroidといったプラットフォームの異なるデバイス間でクレデンシャルを共有可能にする提案仕様

HTTP Datagram PING の拡張仕様についてのメモ

HTTPのDATAGRAMでPINGを送信可能にする「HTTP Datagram PING」仕様について

大体の位置情報を示すSec-CH-Geohashヘッダ

Private RelayのようにIPを隠匿している場合に、だいたいの位置情報を示す方法を提供する。

QUICのバージョンネゴシエーションとダウングレード攻撃対策

QUICのバージョンネゴシエーションの仕組み「Compatible Version Negotiation for QUIC」について

Bootstrapping WebSockets with HTTP/3 の仕様

HTTP/3でWebSocketを使えるようにする「Bootstrapping WebSockets with HTTP/3」という仕様について。

TLS Encrypted ClientHello(ECH) を BoringSSLで試してみる

SNIが暗号出来る、TLS Encrypted ClientHello(ECH) を BoringSSLで試してみる

QUICやHTTP/3で利用を避けるべき送信元ポートの議論

QUICやHTTP/3が、リフレクション攻撃対策としてブロックされうる送信元ポートを利用しないようにする議論。

HTTP/3からのダウングレード攻撃を防ぐIncompatibleProtocol拡張の仕様

HTTP/3のように、バージョンによって下位層に使うプロトコルが異なる場合でも、ダウングレード攻撃を防ぐIncompatibleProtocol拡張について

FacebookのQUICを活用したライブ動画用プロトコルRUSHについて

Facebookがライブ動画で利用しているRUSH - Reliable (unreliable) streamingプロトコルについて

タイムゾーンを含むタイムスタンプ文字列表現の標準化

時刻の文字列表現を定義するRFC 3339に追加してタイムゾーンを追加する提案仕様。

WebでのIPマルチキャストの利用検討 (Multicast Community Group)

W3Cに新しく、Webでのマルチキャストの利用を検討する「Multicast Community Group」が立ち上がるので、動向についてまとめる。

サーバ証明書の不正発行に対するSCT Auditing

サーバ証明書の誤発行を検知するためのCertificate Transparencyにおいて、ChromeにSCT Auditingの導入が進められている。

BGP over QUICの提案仕様

BGP over QUICの提案仕様が出たので読む。

WebTransport over HTTP/2 の方向性 (2021年5月の中間会議をうけて)

5月21日に行われた WebTransport WGの中間会議で、WebTransport over HTTP/2の方向性が見えてきたのでメモとして残しておく WebTransportの動向 WebTransportと呼ばれる新しい双方向通信の仕組みが議論されています。WebSocketの次世代版とも呼ばれており、H…

時間順にソート可能なUUIDv6, UUIDv7, UUIDv8の提案仕様

新しく提案された、UUID v6, UUID v7, UUID v8 について説明します。

QUIC用APIを実装したOpenSSL forkの登場 (quictls/openssl)

AkamaiとMicrosoftらによって、QUIC用APIを実装したOpenSSLのForkが公開されています。流れを観点に説明する。

DNSサーバがDoHに対応しているか確認できるようにする提案仕様

DNSサーバがDoHに対応しているか確認できるようにする、「Discovery of Designated Resolvers」という仕様について

Webページのサブリソースを一つにまとめる Resource bundles (Bundle preloading) とは

Webページのサブリソースを1つにまとめる 「Resource bundles」 という仕組みについて解説する。

プライバシーを保護する Oblivious HTTP の仕様 (OHTTP)

トラッキング対策としてクライアントのIPアドレスを隠蔽するOblivious HTTPの仕様について。

NAT Slipstreaming v2 攻撃とブラウザ側の対策

NAT Slipstreaming v2攻撃について。外側からNAT内にアクセスする攻撃で、今回はv1との違いに触れる

ZeroSSL ならIPアドレスのサーバ証明書が取得できる

ZeroSSLで無料のIPアドレス証明書を取得する。

ChromeのPartition Network Stateについて (Network State Partitioning)

Chrome 89で「Partition Network State」という機能の導入が検討されている。

WebTransportの方向性 (2021年1月の中間会議をうけて)

WebTransportと呼ばれる新しい双方向通信の仕組みが議論されています。WebSocketの次世代版とも呼ばれており、QUICやHTTP/3上で動作します。現在、Chrome ではQUIC上で動作する版の実装が進められていたりします (web.dev)さて、このWebTransportの標準化は…