kdnakt blog

hello there.

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

2023年12月18日~2023年12月24日に読んだ中で気になったニュースとメモ書き(TLSらじお*1第137回の原稿)です。
全文を公開している投銭スタイルです。

[Terrapin Attack]

こちらのツイートから。

リンク先はこちら。

teratermproject.github.io

terrapin-attack.com

ChaCha20-Poly1305またはCBCモードの暗号方式と、Encrypt-then-MACを組み合わせて利用している場合に、SSHのメッセージを削除したり、別のアカウントに接続させることができてしまうとのこと。AES-GCMなどのアルゴリズムは影響なし。

古いTLSではMAC-then-Encrypt方式が主に利用されていて、IV(初期化ベクター)の問題やパディングが認証されない問題が指摘され、2014年にEncrypt-then-MACTLS拡張として公開された(RFC 7366)。が、使い方によっては今回のように問題が起きるのだな...。
CBCモードはTLS1.2以前で散々パディングオラクル攻撃の原因になっているので脆弱性の原因になっても驚かないが、ChaCha20は脆弱性の多いRC4に代わるストリーム暗号として広まってきているイメージだったので、関連する脆弱性が見つかってちょっとびっくり。

[tldr.fail]

こちらのツイートから。

リンク先はこちら。

https://tldr.fail/

failなんてTLDがあるんだ...それはともかく。

耐量子暗号が導入されても、非対応のサーバが多数残ると言われている。こうしたサーバは、一般的には耐量子暗号に非対応であることを示し、既存の暗号アルゴリズムにフォールバックしてハンドシェイクを継続することが期待されている。

しかし。耐量子暗号の導入により、鍵や署名のサイズが大きくなるため、ClientHelloメッセージのサイズが通常のTCP通信で1回で読み込み可能なサイズを超えてしまうケースがあるという。こうしたサーバはClientHello全体を取得できないため、既存の暗号アルゴリズムにフォールバックできず、ハンドシェイクに失敗してしまう。

テスト用のPythonスクリプトが提供されているが、ChromeでKyberオプションを有効化してもこの問題をテストできるとのこと。

[その他のニュース]

▼博士論文:Post-Quantum TLS

こちらのツイートから。

リンク先はこちら。

thomwiggers.nl

耐量子暗号TLSをテーマにした博士論文が出るらしい。Cloudflareのブログでも紹介されていた、RustlsにKEMTLSを実装したのが本論文の著者とのこと。

blog.cloudflare.com

耐量子暗号を利用したTLSハンドシェイクについてはこんな論文も出ていた。SoKはSystematization of Knowledgeの略らしい。

misskey.io

eprint.iacr.org

▼耐量子サーバ証明書ACME

こちらのツイートから。

リンク先はこちら。

eprint.iacr.org

既存のACMEのチャレンジ方式(HTTP-01など)でPQC証明書を発行すると遅いので、新しいチャレンジ方式を提案するよ、とのこと。PQC証明書が使われてるの見たことないんだけど、ブラウザの対応状況ってどうなってるんだろう...。

Siemens食器洗浄機

こちらのツイートから。

食洗機が鍵長が512ビットの楕円曲線暗号を使って、OCSPのチェックもしていて、最終的に鍵交換の完了に3秒間かかっているとのこと。なぜこんなにセキュリティに気を使っているのか。食洗機がハッキングされたら確かに困りはするだろうけど...。

▼KyberSlash

こちらのツイートから。

リンク先はこちら。

kyberslash.cr.yp.to

耐量子暗号アルゴリズムKyberを実装したライブラリにタイミング攻撃を仕掛けて秘密情報を抜き取るKyberSlashという攻撃手法があるらしい。AWSの暗号ライブラリであるaws-lcや、Zig言語のKyber実装などは修正済みだが、Debianの実装などは未修正、BoringSSLの実装などは影響なし、とのこと。

RFC 9500 Standard Public Key Cryptography (PKC) Test

こちらのツイートから。

リンク先はこちら。

www.ietf.org

RSA 4096とかsecp256のテスト用公開鍵。何か実装する時に使えるかな...。

▼NIST SP1800-38

こちらのツイートから。

リンク先はこちら。

csrc.nist.gov

TLSだけじゃなくてSSHやHSMの耐量子暗号移行も触れられているらしい。

▼トラストのためのデジタル署名検証解説

こちらのツイートから。

リンク先はこちら。

www.jnsa.org

付録A.6ではCRLやOCSPの発行パターンや、関連する証明書の拡張などについて解説されている。

Internet Week 2023: DNS DAY

こちらのツイートから。

リンク先はこちら。

internet.watch.impress.co.jp

ECHの利用、平文接続の防止、初手HTTP3(QUIC)接続などに利用されるHTTPS RRの利用が増えているらしい。

AWSTLS関連アップデート(2023.12)

こちらのツイートから。

リンク先はこちら。

aws.amazon.com

DoHがサポートするのはHTTPまたはHTTP/2だけらしい。HTTP/3はないのかしら?

ゾルバーエンドポイントではDo53(通常のDNS)に加えてDoHが利用できるようになっているだけでなく、DoH-FIPSというプロトコルも選択できるらしい。追加料金がかからないなら全部DoH-FIPSでよさそうなのに、なんで分けたんだろう...。

そのほか、こんなアップデートも。 

Amazon CloudFront now supports 4096-bit RSA TLS certificates

AWS Network Firewall egress TLS inspection is now available in all regions

[暗認本:36 証明書の透明性]

『暗号と認証のしくみと理論がこれ1冊でしっかりわかる教科書』より、Chapter 6 公開鍵基盤のセクション36をまとめた。

  • 問題のある認証局や証明書
    • 攻撃を受けて偽の証明書を発行したり不適切な運用をする認証局もあったため、監視が必要
      • 詳細は『プロフェッショナルTLS&PKI 改題第2版』の「第5章PKIに対する攻撃」を読もう!
      • より新しい話はTLS季報 vol.1にも。
    • 失効が間に合わないためブラウザやOSがアップデートで対応するケースも。
  • 証明書の透明性(CT, Certificate Transparency)
    • 2013年にGoogleが提唱した証明書発行監視の仕組み。
    • 認証局はCTログサーバに証明書を登録し、SCT(Signed Certificate Timestamp)を受け取り証明書にSCTを埋め込んで発行
    • 最初はEV証明書のみが対象だったが、Chrome/Safariは2018年以降に発行された全ての証明書で必須化(FirefoxはCTを義務付けていない)
    • 一般ユーザ:SCTの有無、CTログでの登録有無で証明書を判断可能(ほぼ無理だけど...)
    • サイト管理者:不正な証明書が発行されていないか監視可能
    • 2015年、Symantecが不正に証明書を発行していることが判明
    • CTログサーバの運営は特定の巨大な組織に頼りがち

[まとめ]

KyberSlash、名前がカッコよすぎる。しかし、耐量子暗号関連のニュースが多いなあ。

※以降に文章はありません。投銭スタイルです。

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

この続きはcodocで購入