TLS1.3 0-RTTにおけるHTTP/2 SETTINGSを改善する提案仕様

MozillaのMartin Thomson氏から「Optimizations for Using TLS Early Data in HTTP/2」という提案仕様が出ています。もともとHTTP/2(RFC7540)を標準化した時には、TLS1.3(RFC8446)はまだありませんでした。ですので、TLS1.3で導入された 0-RTTデータ (Early …

TCPとTLSを連携させるTCPLS

2021/10/26追記、TCPLSの提案仕様がIETFに提出されました https://www.ietf.org/archive/id/draft-piraux-tcpls-00.html ルーヴァン・カトリック大学のFlorentin Rochet氏らによって「TCPLS: Closely Integrating TCP and TLS」という論文が出されています。…

GoogleのPrivate prefetch proxyに関するメモ

先日、Chromiumブログに「Continuing our journey to bring instant experiences to the whole web」という記事が投稿されています。この記事は、ブラウザのプリフェッチ機能とプライバシーの問題について説明をしています。またGoogleやブラウザでの取り組…

Cookieの新しい属性、SameParty属性について

ChromeでCookieのSameParty属性の開発が進められている。そこで、CookieのSameParty属性について簡単にメモしていく

Prometheusが利用するOpenMetricsの仕様がIETFに提出された

OpenMetricsという仕様が、11月25日にIETFに提出されました。仕様の中身というよりかは、標準化の観点で興味深くおもっているのでラフに書いていこうかと思います。

POSTリクエストを冪等処理可能にするIdempotency-Keyヘッダの提案仕様

リトライされたPOSTリクエストを冪等処理するための、Idempotency-Keyヘッダの提案仕様。

ホスト名の異なるTLS session resumptionについて

TLS1.3でホスト名が異なるTLS session resumptionを支援する拡張仕様が出ているので紹介する。

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

NAT Slipstreaming攻撃の紹介。ALG NAT内の攻撃対象に任意ポートでアクセスできるようになる攻撃。

Linux 5.6 から Multipath TCPが使える

来月リリース予定である、Ubuntu 20.10 は Kernel 5.8 が入っており、mptcpが使えるのか試してみようと思いました。

WiresharkがHTTP/3に対応した

Wireshark 3.3.0 がHTTP/3に対応したので試す

認証付き暗号の鍵利用上限について

認証付き暗号 "Authenticated Encryption with Associated Data (AEAD)" の利用上の制限について、「Usage Limits on AEAD Algorithms」というドキュメントが公開されている。

ブラウザからTCP, UDPソケットを操作するDirect Sockets API

ブラウザでTCP, DUPソケットを操作可能にする「Raw Sockets API」という仕様がW3CのWICGで議論されている。

HTTPSの接続情報を通知する "HTTPS DNSレコード" の提案仕様 (2021/07更新)

HTTP/2, HTTP/3に対応してるといったHTTPSに必要なサーバ情報をDNSレコードで通知します。

QUIC for SSH の提案仕様が出たよ

SSH over QUICの提案仕様について説明します。

CookieのSameSite属性にFirstPartyLaxを追加する提案仕様

CookieのSameSite属性にFirstPartyLax、FirstPartyStrictを追加する提案仕様について、First-Party Setsと併せて解説する。

Compact TLS 1.3の提案仕様

Compact TLS (cTLS)は、よりコンパクトなTLSを定義しデータの通信量を削減しています。

TLS Encrypted Client Hello の暗号化(ECH)に関するメモ

TLS SNIの暗号化のために、ClientHelloの暗号化する方法が提案されている。その構成や仕組みについて簡単に説明する。

「Advisory Content-Length for HTTP」と自転車置場の話し

プロトコルの標準化の場では、自転車置き場(Bikeshed)の話がたまに出てきます。そのやり取りが面白かったので、提案仕様自体の解説にあわせて紹介します。

UUID version 6の提案仕様

先日IETFに提出された「UUID Format Update」という提案仕様の中でUUID version 6のフォーマットが言及されている。その背景と構造について簡単に解説する。

WebTransport over QUICのサンプルサーバを試してみる

2022/01/04追記: この記事はすでに古いです。WebTransport over QUICは標準化せずに、WebTransport over HTTP/3を標準化する方向です。Chromeの実装もそちらに移っています。 "WebTransport over QUIC"の標準化及び、Chromiumでの実装が進んでいます。今回は…

HTTP/3をUDPロードバランサで分散するときの問題点 (AWS NLBで試してみた)

HTTP/3はQUICというトランスポートプロトコルを利用しています。QUICはUDPを利用していますが、QUIC自体はステートフルなプロトコルです。ステートフルなQUICを、QUICを解釈しないUDPロードバランサでバランシングしようとするにはいくつかの問題点がありま…

QUIC, HTTP/3の標準化状況を確認したい (2019年11月版)

2020/06/01追記 まるっと解説記事を書き直しました asnokaze.hatenablog.com 目次 Status The Plan Versions Extensions Applications Other Things More Information 関連記事 QUICは現在IETFで標準化が進められているトランスポートプロトコルであり、HTTP…

ブラウザでIPマルチキャストを受信するMulticastReceiver API

WICGやIETFにおいて、ブラウザでIPマルチキャストのパケットを受信できるようにする「MulticastReceiver API」の議論があるようです。APIとプロトコルの概要について紹介します。

ChromeのHTTP/3(ドラフト版)対応

Chrome CanaryがHTTP/3のドラフト版に対応していたので、簡単に動作を見ていきます。また、バージョンについても解説します。

Double-keyed HTTP cache に関するメモ

201909027追記Fetchの仕様にプルリクが出されています HTTP cache partitioning by shivanigithub · Pull Request #943 · whatwg/fetch · GitHub whatwgでfetchに関して「Double-keyed HTTP cache」という議論がされています。github.comブラウザ側でも動き…

TCP/QUIC相互変換のポートフォワードツールを書いた

QUICをサポートしているアプリケーションプロトコル、実装が現状多くはない。 QUICの恩恵に預かるために、TCPとQUICを相互変換するポートフォワードツール 「t2q2t」 を書いた。(実態としてはただのProxy)

curlのHTTP/3実験実装を触ってみる

curlがHTTP/3の実験実装を公開したので試す。ライブラリとしてngtcp2を使う方法と、cloudflareのquicheを使う方法があるが今回はquicheを使う。

動画上にコメントを表示する"弾幕"の仕様

W3Cの「Chinese Web Interest Group」から、Unofficial Draftとして「弹幕规范」(英語版: Bullet Chatting Proposal)というドキュメントが公開されています。 仕様上でも「use cases and requirements for Danmaku」と書かれている通り、動画上にコメントの…

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に実装され…