kdnakt blog

hello there.

今週気になったTLS関連のニュース

2023年6月12日~2023年6月18日に読んだ中で気になったニュースとメモ書き(TLSらじお*1第110回の原稿)です。

[HiCAとacme.shのRCE脆弱性]

こちらのツイートから。

リンク先はこちら。

groups.google.com

github.com

HiCAという中国のSSL証明書のリセラーが問題を起こした。親のルート認証局SSL.comで、Macのルートストアであるキーチェーンにもルート証明書が入っている。

HiCAは、証明書の自動更新プロトコルであるACMEに準拠するために、acme.shのリモートコード実行(RCE)の脆弱性をうまく利用して、acme.shを実行するユーザーのマシンにコードを送り、ACMEに必要な処理を実行していたらしい。GitHubのissue上で紹介されていたツイートでは、実際にHiCAから送られたスクリプトの一部が紹介されていた(実際にはcurlが呼び出されるらしく、curlにロギング処理を挟んでスクリプトの中身を取得したとのこと)。GitHubのイシューや、Hacker Newsのスレッドなどを見ていても、悪意のある処理が実装されていた訳ではなく、単にお行儀のよくない実装だっただけ、という見方が多いように見受けられる。

ACMEプロトコルをきちんと理解していないが、本来はサーバとクライアントの両方が計算した結果を証明書更新対象のドメインの特定のパスに配置して、CAがそれを確認する、という流れが本来のもので、上述のスクリプトはこの計算処理をスキップしているため、ACMEプロトコルに反しておりセキュリティ上問題がある、という話らしい。

ちゃんとしたACMEプロトコルを実装すればいいのに...と思っていたが、HiCAは2023年6月6日に全てのサーバを停止したとのこと。RCEの問題もあるが、DDoS攻撃によるコスト増に対応するため、と主張されているが真偽は謎。

リセラーについてはAndrew Ayer氏が本件を受けてブログを書いていた。リセラーの標準的な定義がそもそもないこと、1CAのリセラーをしながら自社もCAである業者もいれば、複数のCAのリセラーをしている業者もいること、別のリセラー経由で証明書を提供するリセラーもいること、などなど。
普段自分があるサービスがCAなのかリセラーなのか、ほとんど意識していないが、新しいサービスを使うときは気をつけたほうがよさそう...。

www.agwa.name

HiCAの管理者とされるXiaohui Lam氏は過去にも色々悪いことをしているとの指摘もある。GlobalSignの認証局のシステムも被害にあったとか。

[Google vs EU]

こちらのツイートから。

リンク先はこちら。

www.linkedin.com

Googleの推進する90日の有効期間は、EUのQWACs証明書の標準の398日とコンフリクトし、ACMEを利用したDV証明書の利用を促進するものであり、EUの法規制eIDASが時代遅れになるのでは、と懸念しているらしい。
加えて、ドイツの独占禁止法関連の行政機関の調査によると、Googleの動きはドイツやEUの法令に違反するとして、これ以上証明書の有効期限を短くしないように、とGoogleに要求している。

個人的にはEU側の主張にあるように、ACMEを導入しない場合に証明書関連の仕事が4倍に増える点を懸念しているので、是非ともEU側に頑張ってもらいたいとも思う一方で、ACMEの使えるDV証明書でも別にいいんじゃないか...とも思えてきた。EUのデジタル主権を犯すな、というのもわからなくはないんだけど...。

CA/B ForumのBaseline Requirements変更までは影響はないかな、と思っていたけど、Googleがポリシー変更したらCAは追随せざるを得ない、という視点は自分に抜けていた...。

どうなることやら。

[その他のニュース]

▼Certificate Lifetimes on Chromium

こちらのツイートから。

オレオレ証明書や、個別にインストールされたルート証明書の場合、CA/B Forumの要求している証明書の有効期限398日は適用されない。
ということがChromiumのサイトに書かれていた。たまたまこの間別件で調べて読んでいたので紹介しておく。

This will only apply to TLS server certificates from CAs that are trusted in a default installation of Google Chrome, commonly known as “publicly trusted CAs”, and will not apply to locally-operated CAs that have been manually configured.

chromium.googlesource.com

▼ECDSA署名の分析

こちらのツイートから。

リンク先はこちら。

eprint.iacr.org

TLSの証明書などで利用されているECDSA署名については、理想的なパターンではセキュリティが担保される、という結論になっているっぽい。

量子コンピュータの発展に伴って、2048ビットのRSA署名の利用期限が迫っていることを考えると、移行先のECDSAに不安があるって言われるのは困る...。

マルウェアDNS over HTTPS

こちらの記事から。

www.bleepingcomputer.com

プライバシーを高めるために発展した技術であるはずが、マルウェアの隠れ蓑になってしまうというのはなかなか皮肉...。

DoHのTXTレコードとかを通してマルウェアが実行するコマンドのやり取りをしてるって話は興味深い。

▼100量子ビットでの正確な計算

こちらのツイートから。

リンク先はこちら。

jp.newsroom.ibm.com

検証のために同時に実施した古典コンピュータによるシミュレーションは行き詰まってしまったが、IBMの127ビット量子コンピュータは正確な結果を出し続けた、とのこと。

ロードマップで言うと、2021年のEagleが改善したということの様子。着実にRSAの終わりに向かって近づいている気がする。

www.ibm.com

▼Kyber support on Chrome canary

こちらのツイートから。

IBM量子コンピュータをすすめてる一方で、ブラウザ側もちゃんと対応をすすめてくれている。

EUGoogleの動きを批判しているけど、総合的に考えるとGoogleのやってることのほうが良さそうに見えてくる。

▼ストリーム暗号のTMTO攻撃

こちらのツイートから。

リンク先はこちら。

eprint.iacr.org

詳細をきちんと理解できていないが、TLS1.3で使われているChaCha20-Poly1305のストリーム暗号は、key updateを利用する場合に計画されたセキュリティレベルに満たない挙動になっているらしい。key updateを実施しないと言うことは、鍵交換をやり直すことになるはずなので、暗号処理のコスト的にはあまり好まれない気がする。
Time Memory Trade-Off(TMTO)攻撃は、ストリーム暗号の内部状態を特定し、それ以降に利用される秘密鍵を得ることができる。同種の攻撃にBabbage-Golićと言うのがあるが、これは事前計算と誕生日攻撃で確率を高めて狙う技らしい。

とまあ細かいところで色々勉強になりそうな論文だったが、一番印象に残ったのは、導入部分で触れられていた「NISTが2024年1月1日までにTLS1.3のサポートを(政府機関について)必須としている」という部分。確かに2019年のニュースに出ている。

csrc.nist.gov

日本のIPAが2020年に出しているTLS暗号設定ガイドラインをよく読むとちゃんとそのことに触れられていた。勉強が足りない...。

光ファイバー盗聴対策

こちらのツイートから。

リンク先はこちら。記事自体は2017年のもの。

www.netone.co.jp

海外で、国防用の回線とかに利用されているらしい。なるほど〜。

こちらは最近のニュース。穏やかじゃないなあ...。

japan.thenewslens.com

▼OpenSSL 1.1.1のEoL間近

こちらのツイートから。

リンク先はこちら。

www.openssl.org

LTSであったOpenSSL 1.1.1が2023年9月11日でサポート終了予定とのこと。

今後は3.1系が2025年3月14日まで、LTSの3.0系が2026年9月7日までサポートされるらしい。

[暗認本:09ビットと排他的論理和]

引き続き、ニュース以外のメインコンテンツとして『暗号と認証のしくみと理論がこれ1冊でしっかりわかる教科書』を読んでいく。
今週はChapter 3 共通鍵暗号から、セクション09をざっとまとめた。

  • 1ビットの基本変換
    • 1ビット:1か0
    • 1ビット入力して1ビット出力する演算
      • 恒等変換(a):0 -> 0, 1 -> 1
      • 否定(¬a):0 -> 1, 1 -> 0
  • 論理積論理和
    • 2個の1ビットを入力し、1ビット出力する演算
      • 論理積(a&b, a•b):両方1のとき、1を出力
      • 論理和(a|b, a+b):どちらかが1のとき、1を出力
  • 排他的論理和(a(+)b)
    • どちらか片方のみが1のとき、1を出力
    • 同じ値の排他的論理和は常に0
  • 交換法則と結合法則
  • 排他的論理和の重要な性質

[まとめ]

これまでに雑にまとめてきたニュースを、もう少しいい感じにまとめようと画策中です。

*1:TLSらじおは社内勉強会です。このブログを読み上げつつ弊社サービスの実情を語ったりします。