2025-03-01から1ヶ月間の記事一覧
ECHをHaskell tlsライブラリに実装した話。先に「Encrypted Client Hello の仕様」を参照のこと。Haskellで実装した経験談なので、Haskellの知識を前提に書く。 ライブラリの構成 バックエンド・サーバの設定情報である ECHConfigList は、DNSを通じて提供さ…
ECH(Encrypted Client Hello) とは何か TLS 1.3のハンドシェイクは、EncryptedExtensionsから暗号化されるが、それより前のClientHello と ServerHelloは平文のままで交換される。ClientHelloに含まれるSNI(Server Name Indication、サーバ名)は、特にプライ…
tlsfuzzer 僕が tlsfuzzer を知ったのは、知人からのメールがきっかけだった。tlsfuzzerは、fuzzer という名前には反して、対象であるTLSの中身を高度に理解して実装されている強力なテストツールである。各テスト項目が、それぞれのPythonスクリプトとして…
RFC 5056 や RFC 9266で定められている TLS Channel Bindings の備忘録。 Channel bindings とは何か Channel bindingsは、本質的に TLS の Finished の値である。Finishedは、一連のハンドシェイク・メッセージに対するハッシュ値である。この値は、TLSセッ…