internet-draft

「Binary Structured HTTP Headers」について

Fastlyの「Binary Structured HTTP Headers」という提案仕様がでています。Structured Headersの定義に基づいて、HTTPヘッダ値を直接バイナリで表現できるようになります。

WebTransport over QUIC について

blink-devメーリングリストで、「Intent to Implement: QuicTransport」として、ChromeでのWebTransport over QUICの実装の機運が高まっている。プロトコルの概要について眺めていく。

QUICのコネクションマイグレーションについて

QUICのコネクションマイグレーションの流れ及び、セキュリティについて説明する。

HTTPリクエストのレートリミットを示すRateLimitレスポンスヘッダの提案仕様

先日提出された「RateLimit Header Fields for HTTP」では、HTTPレスポンスでHTTPリクエストのレートリミットに関する情報を通知するヘッダを定義します。

複数TLSコネクションの署名処理をまとめて行うBatch Signing

複数のTLSコネクションの署名処理ををまとめて1回で行ってしまう、「Batch Signing for TLS」という提案仕様がGoogleのDavid Benjaminさんより提案されています。

HTTPSで接続するための追加情報を格納するHTTPSSVCレコード

ESNIの鍵情報や、HTTP/2やHTTP/3で通信可能な事を示すAlt-Svc情報を通知するのに、DNSに新しくHTTPSSVCレコードを追加する仕様が提出されています。

TCP Slow Startを改善する HyStart++について

20190725追記 draft-01 で計算式に変更が入っています TCP Slow Startを改善する 「HyStart++: Modified Slow Start for TCP」というdraftがMicrosoftの方より提出されている。HyStart++はすでにWindowsで実装されている他、HyStartもLinuxのCubicに実装され…

提案仕様「HTTP Transport Authentication」について

HTTPレイヤにおいて、使用しているトランスポートレイヤの認証を行う「[HTTP Transport Authentication」という仕様がGoogleのDavid Schinazi氏から提案されています。

QUICのAckとロスリカバリについて

QUICでは、UDP上で信頼性のあるデータ通信を提供するトランスポートプロトコルです。QUICのAckとロスリカバリについて自分なりにまとめる。(暗号化およびHTTP/3については、関連記事参照)

処理中のPOSTリクエストを別のサーバで引き継ぐPartial POST Replayについて

処理中のPOSTリクエストをそのまま別のサーバで引き継げるようにする「HTTP Partial POST Replay」という仕様がFacebookのAlan Frindell氏から提出されています,

安全なコンテンツを要求するPrefer:safeヘッダ (RFC8674)

『追記』RFC 8674になりました https://www.rfc-editor.org/rfc/rfc8674.html Webサービスによっては、子供に見せたくない有害なコンテンツを非表示にできるサービスもあります。それの多くはcookieを使い、設定を保存するケースが多く個別に設定を有効にし…

サービスやリソースの廃止時間を示すSunset HTTP ヘッダ (RFC8594)

RFC8594 で定義された、サービスの廃止時間を示すSunsetヘッダについて。

Cookie の SameSite=Lax をデフォルトにする提案仕様

20191226 追記 SameSite属性のついたCookie自体を拒否する古いクライアントにご注意ください https://sites.google.com/a/chromium.org/dev/updates/same-site/incompatible-clients20190823 追記 suidenOTI さまよりご指摘いただきました不具合があったため…

新しいWebの双方向通信 "WebTransport" について

関連記事 WebTransport over QUICのサンプルサーバを試してみる - ASnoKaze blog WebTransport over HTTP/2 の仕様について - ASnoKaze blog WebTransport over QUIC について - ASnoKaze blog WebTransportという新しい双方向通信フレームワークの議論が始…

QUICの暗号化と鍵の導出について

QUIC, HTTP/3 関連記事 QUICのAckとロスリカバリについて - ASnoKaze blog HTTP/3のヘッダ圧縮仕様QPACKについて - ASnoKaze blog WiresharkでのQUICの復号(decrypt) - ASnoKaze blog QUIC,HTTP/3 の draft-17に関するメモ - ASnoKaze blog HTTP over QUICと…

(RFC8740) HTTP/2においてTLS1.3のpost-handshake authenticationの禁止

RFC8740として標準化された。HTTP/2でTLS1.2を使用している場合はrenegotiatoinが禁止されており、同様の課題をもつTLS1.3のpost-handshake authenticationも明示的に禁止する。

「Address-bound Token for QUIC」が面白い

FastlyのKazuhoさんが「Address-bound Token for QUIC」という提案仕様を出している、この中で出てくる "Sharing the Congestion Controller" という仕組みが非常に面白かったので、簡単に書いてみようと思う。 address-bound token この提案では、同一エン…

HTTP/3のヘッダ圧縮仕様QPACKについて

この記事では、HTTP/3で導入されるHTTPヘッダ圧縮の仕組みである「QPACK 」について説明します。(執筆時 draft 07)2020/06/01追記 まるっと解説記事を書き直しました asnokaze.hatenablog.com HTTP/2の場合 ハフマン符号 静的テーブル、動的テーブル HTTP/…

中間証明書を要求しないTLSフラグ拡張

TLSハンドシェイクでは、サーバはエンドエンティティ証明書と任意でルート証明書までたどるための中間証明書を送信します。不要であればこの中間証明書を送信しないようにする「Suppressing Intermediate Certificates in TLS」という提案がMartin Thomson氏…

QUICにおいてNAT検出を行う拡張フレームの提案仕様

QUICを使用している際に、その通信がNATによってアドレス変換を行われているかを検出する「QUIC Address Extension」という提案仕様がAppleの人らによって出されています。具体的には、送信元IPアドレスがなんであるかを通信相手に確認します。そうすること…

HTTP/2をバイトストリームトランスポートとして利用する提案仕様

HTTP/2コネクション上で任意のバイトストリームをやりとりできるようにする「Using HTTP/2 as a Transport for Arbitrary Bytestreams」という仕様がAppleの人らによって提案されている。IETF103でも議論(資料)になったが、その後 draft-01 が出ているのが現…

Secondary Certificate Authentication in HTTP/2 という仕様について

目次 Secondary Certificate Authentication in HTTP/2 用途 サーバ側から証明書を要求するパターン クライアント側から証明書を要求するパターン 通信フロー サーバ側から証明書を要求する場合 クライアント側から証明書を要求する場合 Secondary Certifica…

HTTP/3で接続してVPNとして使うMASQUEプロトコルの提案仕様

[2021/05/16 追記] 議論が進み、MASQUEを実現する仕様が幾つか出てます 提案仕様「HTTP Transport Authentication」について - ASnoKaze blog CONNECT-UDP HTTPメソッドの仕様 - ASnoKaze blog HTTPコネクションでIPパケットをProxyさせる、新しいCONNECT-IP…

リバースプロキシのエラーを示す Proxy-Statusヘッダの提案仕様

CDNやクラウドのロードバランサを使用するのは一般的です。これらのリバースプロキシは様々な理由により502 Bad Gatewayや504 Gateway Timeoutを返しますが、トラブルシュートするには情報が少ない場合があります。また、追加の情報を示す場合においても、各…

Fake SNIという提案仕様について

SNIを用いた通信のブロッキング及び、「Encrypted SNI拡張」のブロッキングについてはIETFのTLS WGでも話題となりました((TLS) SK filtering on SNI, blocking ESNI)。Encrypted SNIはSNIを暗号化する一方で、ClientHelloにencrypted_server_name拡張をつ…

Delegated Credentials for TLS について

BoringSSLが「Delegated Credentials for TLS 」に対応したので、簡単に仕様を眺める。 「Delegated Credentials for TLS 」の仕様は、もともとはTLS1.3の仕様の著者でもあるEric Rescorlaによって書かれていたようだが、すでに WG DraftとなっておりMozilla…

HTTP/2 ORIGINフレームのセキュリティを改善する提案仕様

AkamaiのMike Bishop氏らから、「DNS Security with HTTP/2 ORIGIN」という提案仕様が出ている。簡単に読む ORIGINフレームとは ORIGINフレームとは、RFC8336で標準化されているHTTP/2の拡張フレームです。HTTP/2では、複数のドメインへのリクエストでもコネ…

QUIC,HTTP/3 の draft-17に関するメモ

12月8日に現在標準化が進められているQUICの仕様のdraft-17が出ました。以下の記事で書いたように、"HTTP over QUIC" のHTTP/3への名称が含まれています。 asnokaze.hatenablog.comその他にも幾つかの変更が含まれているのでざっと目を通す。 「Hypertext Tr…

新しいユーザエージェント表現 User Agent Client Hints の提案仕様

新しいユーザエージェント表現 User Agent Client Hintsについて。その仕様にと霊について示す。

HTTP over QUICと、その名称について (HTTP3について) *2019年9月更新

さてHTTP/3というと、なにか新しそうなHTTPのような気がしますが、まず基本的なHTTPのセマンティクスに変更はありません。GETやPOSTといったHTTPリクエストがあって、ステータスコードを持つレスポンスが返されます。ただその伝達方法がQUICトランスポートに…