2023年8月7日~2023年8月13日に読んだ中で気になったニュースとメモ書き(TLSらじお*1第118回の原稿)です。
全文を公開している投銭スタイルです。
- [2030年暗号移行問題について]
- [Q2 2023 Summary from Chrome Security]
- [証明書のドメイン名詐称]
- [その他のニュース]
- [暗認本:17 暗号文の改竄とリプレイ攻撃]
- [まとめ]
[2030年暗号移行問題について]
こちらのツイートから。
CRYPTRECシンポジウム2023
— 松本 泰 (@yas_matsu) 2023年8月10日
(プレゼンテーション資料公開)https://t.co/Ojg7qEy3yo
一応、講演したやつ
2023年暗号移行問題についてhttps://t.co/dVZhRmqZP4
リンク先の資料はこちら。
将来の2030年暗号移行問題(120ビット安全性:RSA3072など)を考える前に、2010年暗号移行問題(112ビット安全性:RSA2048、SHA-2など)の振り返りがついていて助かる。
2010年に向けては、RSA1024ビットの証明書が組み込まれたガラケーのサポートの問題があり、移行がなかなか進まなかったらしい。確かに自分がスマホ使い始めたのも2008年前後だった気がする...。暗号技術があらゆるITソリューションに加工されて組み込まれる「産業のコムギ」状態という話が面白かった。
そして、SHA-1からSHA-2の移行は、TLSのサーバー証明書についていえば2015〜2016年ごろまでかかっていたので、なんだかんだ言って予定は遅れるものなんだな...。その当時の話は一応ソフトウェアエンジニアの仕事をしていたので何となく覚えているようないないような。
ひるがえって、2030年問題。RSA2048などはヨーロッパでは2016年時点で既にレガシーメカニズム扱いらしい。とはいえヨーロッパでもまだ使われていて、受け入れ期限が最初の2020年から徐々に延期されているらしい。やはり予定はあくまで予定。
古い端末やOSとの相互運用性を保ちつつ安全性を維持していけるのだろうか...。
ちなみに、CRYPTRECシンポジウム2023では他にも高機能暗号についての講演もあったらしい。これはどのくらいTLSに絡んでくるんだろう...。
[Q2 2023 Summary from Chrome Security]
こちらのツイートから。
『Q2 2023 Summary from Chrome Security』https://t.co/rRp4ORnYqO
— ゆき (@flano_yuki) 2023年8月7日
Chromeのセキュリティトピックまとめ
- アドレスバーの鍵アイコン廃止
- 耐量子暗号
- COOP mode (restrict-properties)
- サンドボックスでのUDPソケット
- ORB (Opaque Response Blocking) v0.2
リンク先はこちら。
ゆきさんが触れている以外にも、HTTPSへのサイレントアップグレードの実験、BoringSSLを通じたハイブリッド鍵交換の実験、Chromeルートストアの安定稼働、e-Tugraルート証明書の削除、などが触れられている。
鍵アイコンもそろそろ見納めか...。
TLSと関係ないけど、個人的にはRustベースの機能が実験され始めているのも気になる。
こちらのツイートによると、2023年8月10日にリリースされた(つまりQ3の)Chromeでは、ハイブリッド鍵交換がフラグなしで利用可能とのこと。Chromiumのブログ記事によると、ClientHelloメッセージに1キロバイト以上のデータが増えることになり、プロキシやファイアウォールなどのTLSミドルボックスがエラーになるケースがあるとのこと。
Chrome announces enabling post-quantum key agreement in 116. 😎 https://t.co/6QZuKziWlK
— Bas Westerbaan (@bwesterb) 2023年8月10日
[証明書のドメイン名詐称]
こちらのツイートから。
大人げないことを言うと、"サーバー証明書に記載されているドメイン名は偽造することができないため" というのは間違いで、やや語弊はあるがCAに対して詐称したCSRが通れば偽造し放題です。証明書の仕組みを知っていれば悪用できます。… https://t.co/hwjDzlMMRW pic.twitter.com/8jyGa9DaaT
— りいんちゃん (@reinforchu) 2023年8月8日
リンク先はこちら。
確かに「普通は」ドメイン名を偽造できないけど、いろんな条件が揃えばできなくもない。上記ツイートではCSRのIDN(Internationalized Domain Name)」を利用しているっぽい。
ぼかした回答ですみませんが、certbotに--csr <file>… pic.twitter.com/i4OsOn1KJN
— りいんちゃん (@reinforchu) 2023年8月9日
CAを悪用するだけじゃなくて、CAによる誤発行やCAがハッキングされるようなケースもある。
ComodoやTURKTRUSTなど、証明書の誤発行はそれなりに起きていますし、CAすら使った標的型攻撃もありましたね。 https://t.co/jhvVl84qoR
— Yuki2718 (@Yuki27183) 2023年8月8日
その辺の話は『プロフェッショナルSSL/TLS』の第4章などに詳しい。
[その他のニュース]
▼mitmproxy v10 with HTTP/3
こちらのツイートから。
mitmproxyがバージョン10でHTTP/3のリバースプロキシに対応。わいわい。 / “Mitmproxy 10: First Bits of HTTP/3!” https://t.co/tDG3htCd2B
— matsuu (@matsuu) 2023年8月6日
リンク先はこちら。
あくまで実験的サポート、ということらしい。とはいえ、SSLKEYLOGFILEを出力してWireshark(やChrome, Firefox)と組み合わせて通信を復号できるのは良さそう。
▼MACsecでレイヤー2暗号化
こちらのツイートから。
MACsec知らなかった。レイヤー2で強力な暗号化を提供するIEEE 802.1AE規格。フレームのEtherTypeとペイロードを暗号化。データ発信元の保証など。へー。ということはARP Spoofing対策にもなる?MACsecの解説としても有用記事だ / “AWS Direct Connect 接続に MACsec セキュ…” https://t.co/dlyQqyV0ja
— matsuu (@matsuu) 2023年8月6日
リンク先はこちら。
レイヤー1の光ファイバーの盗聴については先日取り上げた通り。TLSだけじゃなくて、いろんなレイヤーの盗聴対策があるんだな...。
▼TLS1.0/1.1非推奨化の浸透
こちらの記事から。
Amazon Aurora 3.04でTLS1.3がサポートされている。MySQLのドキュメントによるとTLS1.3はMySQL 8.0.16(2019年4月25日リリース)からサポートされているらしいが、Amazon Auroraでのサポートが遅れたのは何か事情があったのだろうか...。
今回のリリースのベースになるMySQL8.0.28(2022年1月18日リリース)では、TLS1.0/1.1がサポートされなくなったらしい。既にMySQL 8.0.26で非推奨化されていたとのこと。RFC 8996が実際に反映されてくるまでに1年近くかかっている感じ。
最近見たところだと、WindowsでのTLS1.0/1.1がデフォルトでオフになったは2022年9月らしい。Microsoft Edgeでは既に2021年9月のバージョン94から無効だったらしいので、実質ほぼ使われることはなかったのでは、とも思う。
▼AmazonのHSTS max-age
こちらのツイートから。
Can anyone tell me the story behind the HSTS max-age value on Amazon? 🤔
— Scott Helme (@Scott_Helme) 2023年8月9日
There’s got to be a reason behind that! @amazon @AWSSecurityInfo @securityheaders https://t.co/GmnAeymXDm
リンク先はこちら。
amazon.comのStrict-transport-securityヘッダのmax-ageの値が47474747になっている。何か理由があるはず、というScott Helme氏のツイート。確かに、『プロフェッショナルSSL/TLS』の第10章では1年(365日)=31536000秒が推奨されている。何か理由がありそう...?
47474747秒は549日と11時間25分47秒に相当するらしい。1年半にはちょっと足りないっぽし、謎。
▼picotlsとfizzのAEGISサポート
こちらのツイートから。
PicoTLS now supports the AEGIS cipher suites. https://t.co/n1hKo3LsM0
— Frank ⚡ (@jedisct1) 2023年8月9日
リンク先はこちら。
picotlsはC言語でTLS1.3を実装したもの。ツイートされている@jedisct1氏がプルリクを出したらしい。AEGISについては先日のIETF 117でも解説があった。
素のAESはもはやあまり利用されず、AEGISやFAESTのように形を変えていくのだろうか...?
こんなツイートも。
After the Zig TLS stack and PicoTLS, Facebook’s TLS stack (Fizz) also added support for the AEGIS cipher suites. https://t.co/xArVUGTBba
— Frank ⚡ (@jedisct1) 2023年8月10日
FacebookのTLSスタックFizz、存在を知らなかった...。C++14でTLS1.3を実装したものらしい。FacebookアプリとかInstagramアプリとかで使われてたりするんだろうか?
[暗認本:17 暗号文の改竄とリプレイ攻撃]
引き続き、ニュース以外のメインコンテンツとして『暗号と認証のしくみと理論がこれ1冊でしっかりわかる教科書』を読んでいく。
今週はChapter 3 共通鍵暗号から、セクション17をざっとまとめた。
- 暗号文の改竄
- リプレイ攻撃
- 攻撃者が暗号文を丸ごと盗聴し再送
- ログインや購入注文が成立するかも
- 識別子(通し番号や時刻)のチェックが必要
- 攻撃者が暗号文を丸ごと盗聴し再送
[まとめ]
TLS1.0/1.1がどんどん使われなくなる一方で、TLS1.3もAEGISやKyberなどの新しい要素技術を取り入れつつあって、日々進歩が感じられます。
※以降に文章はありません。投銭スタイルです。