先週に続き、2022年4月25日~5月1日に読んだ中で気になったニュースとメモ書きです。今週はTLSらじおがGWのためお休みなので短めに。
[TLS Newsletter #88]
TLSニュースレター #88が公開された。トップニュースはサイキック・シグネチャ。
サイキック・シグネチャ関連ではこんなツイートもあった。
WindowsのECDSA偽造できるが CVE-2020-0601 で
— ますだまさる (@m_masaru) 2022年4月20日
JavaのECDSA偽造できるが CVE-2022-21449 で
OpenSSL系でECDSAで無限ループさせられるが CVE-2022-0778
そういえば2022年に入ってECDSAに関する脆弱性が続いていた気もする。2020年にもあったのか。
ECDSA、楕円曲線ということとRSAよりいいやつということ以外あまり理解していないので*1、ちゃんと勉強する時間をとりたい。
DigiCert started supporting domain locking via CAA.というニュースがあったが、これは4/11のニュースで取り上げたDNSのCAAレコードがらみのやつ。DigiCertがサポートしたのは最近だったのか...。
他にも、DTLS1.3の話とか、アメリカ財務省の対ロシア制裁緩和とか、知ってる内容もあったのでちょっと安心。
badkeys.infoという暗号鍵の脆弱性チェックツールとか、DNS over QUICの論文とか、Chromeの脆弱性の話とか、知らなかった話題もたくさんあるので勉強になる。
[Mozilla Root Store Policy 2.8]
Mozilla Root Store Policyが改訂されたらしい。こちらのツイートより。
Mozilla Root Store Policyが2.8に改訂されたそうで、2022年6月1日に有効になるそう。https://t.co/dV2o5XlZJe
— kjur セキュリティ IT 開発の私的情報収集用+少しつぶやき (@kjur) 2022年4月30日
変更差分がよーわからん。github管理してないのかな?markdownで書いてほしい。
Web Archiveを見ると、直前のバージョンは2022年5月1日発効の2.71だろうか。
目次がなくなって、関係代名詞がちょっと変わったりand/orが明確化されたりした程度っぽい?と思ったけれど、大きめの変更もちらほら。
SSLという表記がTLSに改められているのは、もはやSSLなんて言葉は使うな、ということだろうか*2。
5.1.3 SHA-1が明確に変わっていた。バージョン2.8では以下の記述が追加され、SHA-1による署名に対する制限が強化されていた。
Effective July 1, 2022, CAs SHALL NOT sign SHA-1 hashes over end entity certificates with an EKU extension containing the id-kp-emailProtection key purpose.
Effective July 1, 2023, CAs SHALL NOT sign SHA-1 hashes over:
5.4 Precertificatesの節が新設されていた。CT(Certificate Transparency、証明書の透明性)についてちゃんと認識できていなかったけれど、CTの利用には事前証明書(Precertificate)が必要らしい*3。
6.1.1 End Entity TLS Certificate CRLRevocation Reasonsも追加され、証明書の失効理由をCRLに含めるべしとされている。
8.4 Externally-Operated Subordinate CAsも新設され、ルートCAの配下にあるCAもちゃんと言うこと聞かせろよ、と書かれている。PKIのエコシステム全体に対する統制という意味ではその通りだが、何か問題を起こしたCAがいたのだろうか...?
[Compact TLS1.3]
こちらのツイートから。
draft-ietf-tls-ctls-05 - Compact TLS 1.3 https://t.co/f3IhMCQAam この仕様いいな。
— V (@voluntas) 2022年4月30日
Compact TLS 1.3というインターネットドラフトがあるらしい。2019年から。
DTLSに関しての一連のツイートの中に、cTLSという略称があったが、これのことらしい。
旧来互換のための、バージョンヘッダなどを省略することで、帯域幅を節約しようという試みで、DTLS1.3でも同様の手法が取られているようだ。
日本語の記事だとこちらが参考になった。従来ハンドシェイクで決定されていたパラメータはプロファイルという形で事前に定義されるようになるとのこと。
DTLSは、やはり同じUDPベースのQUICとかちあうので、今後が気になるところ。
I am curious if DTLS 1.3 will get a lot of traction as it competes with QUIC. The overall changes seem reasonable, but the overall complexity of the protocol has increased again, making it harder and harder to implement.
— Robert Merget (@ic0nz1) 2022年4月27日
[その他のニュース]
▼kTLS
こちらのツイートから。
LinuxカーネルのTLSサポートを拡張する提案がなされている話。httpsはじめとするネットワークセッションの暗号化に使われるTLSは通常ユーザ空間で暗号化と復号が行われるが、eBPFでユーザ空間に届く前にパケットをフィルタしたいような場合カーネル空間で復号する必要が生じるhttps://t.co/MeTrba2Q6o
— Fadis (@fadis_) 2022年4月26日
Linuxカーネルという更新が煩雑になりがちなソフトウェアに脆弱性が出がちなTLSの実装を積む事には反対が多い。そこでLinuxではTLSのうち複雑で脆弱性を出しがちなハンドシェイクをユーザ空間で行なった後、比較的簡素な共通鍵によるデータの暗号化、復号だけをカーネルに任せる仕組みが用意されている
— Fadis (@fadis_) 2022年4月26日
この仕組はまずユーザ空間でハンドシェイクが必要なため、カーネル内でTLSのセッションを開始できない。この事はNFS等のカーネル内に実装されたRPCをTLSに載せる事を困難にしている。そこでカーネルにハンドシェイクを積まずにカーネルが必要な時にTLSを開始できるようにする拡張が提案されている
— Fadis (@fadis_) 2022年4月26日
提案されている手法はカーネル内でTCPのコネクションを作った後新設されるTLSを開始する関数を呼ぶ。この関数はユーザ空間の特定の実行可能バイナリを実行する。このユーザ空間プロセスはTLSのハンドシェイクを行い共通鍵をカーネルに返す。要するにhotplugに似た方法でカーネル空間での実装を回避する
— Fadis (@fadis_) 2022年4月26日
最近たまにツイッタでeBPFという用語を見たけど、カーネルTLS関連の用語だったのか。カーネルでサンドボックス化されたプログラムを実行できる仕組みで、実行時にOSに機能を追加できるらしい。
リンク先の記事は2022年5月5日から無料公開されるとのこと。
▼IoTとTLS
こちらのツイートから。
How effective is HTTPS/TLS usage in the consumer IoT ecosystem?https://t.co/dVQb5YtXBc
— ゆき (@flano_yuki) 2022年4月27日
IoTが使ってるTLSのバージョンやアルゴリズム、、CAの信頼について調査した記事。あとでよも
リンク先の記事はこちら。
IoTデバイスはまだ大半がTLS1.2を利用しており、接続に問題があった時は古いプロトコルバージョンにダウングレードするし、CAはよくわからないのを信頼するし、と問題が山積みな模様。
▼量子鍵配送による量子暗号通信試験提供
東芝さんがやってるらしい。
量子暗号の中でも量子鍵配送というやつで、TLSで使われる耐量子暗号とはまた別物っぽい。
▼Let's Authenticate
こちらのツイートから。
Have a tip for your TLS newsletter, @hanno: Let's Authenticate was recently published, aiming to do for client certificates what Let's Encrypt did for server certificates. https://t.co/xdaPywwUyR
— 🧗♂️ Matt Holt (@mholt6) 2022年4月29日
Let's AuthenticateというLet's Encryptのクライアント証明書版システムに関する論文が出たとのこと。
パスワードマネージャ+FIDO2+クライアント証明書、という組み合わせらしい。FIDO2ってパスワードレスじゃないの?パスワードマネージャと組み合わせるってどういうことなんだろう...。
[まとめ]
短めに、と思ったけどいつも通りの分量になってしまった。