2024年9月2日~2024年9月8日に読んだ中で気になったニュースとメモ書きです。社内勉強会TLSらじお第172回分。
[kTLSメモ]
こちらのツイートから。
kTLS メモ https://t.co/K9yVonZXmL ちまちままとめてる kTLS メモ
— V (@voluntas) 2024年9月2日
リンク先はこちら。
資料とかへのリンクがまとまっていて助かる。日本語だと以下が詳しいとのこと。以前自分が調べていた時には見つけられていなかった気がするorz
↑によると、ChaCha20の暗号スイートに対応したkTLSが利用できるOSは結構限られているみたい。
RustでkTLSを利用してHTTPサーバを実装したプロジェクトもあるとのこと。
bearcove/loona: HTTP 1+2 in Rust, with io_uring & ktls https://t.co/ZyfuKv1Wci io_uring + kTLS だ
— V (@voluntas) 2024年9月2日
そもそもクレート(ライブラリ)としてktlsというのがあって、上のプロジェクトではこちらを利用している。
[その他のニュース]
▼TLS1.3サーバー実装(Go)
こちらのツイートから。
— うつむき猫 (@utsumuki_neko) 2024年9月1日
リンク先はこちら。
読んでて自分の実装が間違ってそうなところに気づいた...鍵スケジュール難しいorz
▼OpenSSHのML-KEMサポート
こちらのツイートから。
おぉ、OpenSSHにML-KEMの試験実装が入っている。X25519とのhybrid. https://t.co/mHJHMC1DpT
— Tomoyuki Sahara (@tomosann) 2024年9月2日
リンク先はこちら。
やはりChromeなどと同様X25519とML-KEM(Kyber)のハイブリッド鍵交換。#152とかTLS季報 vol.2で書いたけど、SimpleX ChatみたいにKyberでなくNTRU-Primeを採用するケースは、やはり少なそう。
▼macOS版cURLの証明書検証
こちらのツイートから。
証明書管理・検証にOSの機能使うのセキュリティ上のメリットあるし一般的だと思う(Windowsのそれ使うChromeとか)し、さまざまなツールが依存する既存ライブラリをそのように改変すると互換性問題出るのはよくある話
— Kazuho Oku (@kazuho) 2024年9月4日
macOS版cURLはcURLと証明書検証の仕様が異なる... / https://t.co/xsqOIIDAG5
* libcryptoのAPI使って設定してるんだから設定したとおり動けよって、curl開発者が言うのはわかる(10年以上言ってる)
— Kazuho Oku (@kazuho) 2024年9月5日
* libcrypto/libcurl使ってるプログラムでOS管理の証明書使うならlibcryptoの機能切替するしかないし、細かな互換性いるなら環境変数で切替抑止してねってAppleが言うのも以下同文
* Chromeは2022年頃に、OS間の挙動の差を減らす目的で、証明書検証をOSのそれを使わない形に切り替えたと https://t.co/swl0y5qpgk
— Kazuho Oku (@kazuho) 2024年9月5日
リンク先はこちら。
中間証明書が正しく設定されていないサイトだと、証明書検証でエラーになることが期待されるが、macOS版cURLだと検証にパスしてしまうらしい。ブラウザなどと同様に、証明書内のAIA(Authority Information Access)のフィールドをもとに中間証明書を取得するよう、macOSに同梱されているLibreSSLが修正されているのではないか、とのこと。
元々2024年3月ごろに話題になっていた話らしい。知らなかった...。
▼Chromeの証明書検証仕様変更?
こちらのツイートから。
Chrome、証明書検証時にNetwork Timeを使うようにする機運を感じるhttps://t.co/wB1yyvp9rj
— ゆき (@flano_yuki) 2024年9月6日
リンク先はこちら。
Network Timeってのは時刻同期のNTPのこと...だろうか。ソースを見ると同期がどうのと書かれている。コミットコメントによると、証明書検証時の関数でNetwork Timeを利用できるようにしただけで、現時点では既存動作を担保するようになっている。
OCSPとかCRLみたいな追加のリクエストがパフォーマンスに影響するのなら、NTPの同期を待つようなのも同じだと思うんだけど、その辺の細かい動きが気になる。
[おわりに]
NginxがGitHubに移行したらしい。変更が追いやすくなるかしら。
nginxがMercurialからGitHubへ移行。Issuesでの報告受付も始めるとのこと。一方freenginxは引き続きMercurialを使ってた。 / “[nginx-announce] NGINX has moved to Github!” https://t.co/dLa3k46FNu
— matsuu (@matsuu) 2024年9月7日