2023年1月23日~2023年1月29日に読んだ中で気になったニュースとメモ書き(TLSらじお第90回の前半用原稿)です。
[その証明書、安全ですか?]
こちらのツイートから。
「その証明書、安全ですか?」
— IIJ_ITS (@IIJ_ITS) 2023年1月25日
権威DNSサーバへの経路がBGPハイジャックされたなど、4つの事例から見るリスクや対応策を紹介します。https://t.co/j2bwK8vQuW#DNS #SSL #TLS #BGP
リンク先の記事はこちら。
HTTPSが一般的にはなってきたものの、本当に安全か?という話。
オレオレ証明書を信用してしまったMyEtherWalletの件、証明書発行時の認証経路をハイジャックしたCeler BridgeとKLAYswapの件、ドメインがハイジャックされたCoincheckの件、いずれも2018年から2022年と最近の事例で、仮想通貨事業者がターゲットになっている点が興味深い。わざわざ手の込んだことをするからには、やはりお金が目的ということか。
MyEtherWalletのケースはともかくとして、本物の証明書が使われているCeler BridgeとKLAYswapのケースは自分も引っかからない自信がない...。
それにしても、経路ハイジャックはBotが毎日検出してTwitterにつぶやいてるなんて意外だった。恐ろしや。
[RSAの安全性評価]
こちらのツイートから。
2048ビットのRSAは21世紀初期に想定したよりは無茶苦茶堅そうなのが分かってきた
— ますだまさる (@m_masaru) 2023年1月24日
量子シミュレータを活用したRSA暗号の安全性評価に成功 https://t.co/R0ZT33Etwz
リンク先の記事はこちら。
この記事を受けて、海外のサイトでもこんな記事が。
量子攻撃によるRSAの終焉は非常に誇張されたものとの専門家の指摘。ショアのアルゴリズムでは、十分な大きさのRSA鍵の解読には多大な資源が要求される。現在の見積もりでは、1,024/2,048ビットRSA鍵の解読には約2,000万量子ビットを約8時間重ね合わせ状態に置く必要。 https://t.co/t3lDZPp0dY
— kokumօtօ (@__kokumoto) 2023年1月26日
今回使われた量子シミュレータは39量子ビットらしい。
現在一般的な鍵長(注3)2,048ビットのRSA暗号の解読には、およそ1万の量子ビットと、およそ2兆2,300億の量子ゲートもの膨大な規模を有する誤り耐性量子コンピュータが必要なことが判明しました。これは、試算すると約104日の間、量子ビットを誤りなく保持する必要があり、現状、このような大規模かつ長時間にわたり安定稼働する量子コンピュータの実現は短期的には困難であることから、RSA暗号がショアのアルゴリズムに対して安全であることが定量的に証明できました。
とはいえ、IBMのロードマップでは2025年に4000量子ビットという話だったので、CRYPTRECの資料にあるように、2030年までにはやはり2048ビットのRSA鍵の証明書はやめておいた方が無難そうに思う。近年のAIの加速的な発展をみていると、同じような展開が暗号の分野でもないとは言い切れなそうなので。
英語の記事の方では、2020年のCraig GidneyとMartin Ekeråの研究と比較して、今回の富士通の発表の量子ビットが、論理量子ビットなのか物理量子ビットなのかで評価が変わってくると書かれていた。「(何十年も先なので)我々が生きてる間には問題ないだろう」とも。とはいえいつか終わりを迎えるのなら、早めに見切りをつけておいても悪くないはず。20年後ならまだ普通に仕事してそうだし...。
[その他のニュース]
▼CVE-2022-34689続報
こちらのツイートから。
MD5-collision certificate spoofing... in 2022?! Party like it's 2008! 💃🥳
— Yoni Rozenshein (@1yoni) 2023年1月25日
CVE-2022-34689, quietly patched in August & announced in October, now analyzed.
Had a blast collaborating with @TomerPeled92 and @OphirHarpaz on this!
psst @alexsotirov @realhashbreaker check it out :) https://t.co/Yecsn0reox
リンク先はこちら。
2022年の11月に取り上げたWindows CryptoAPIの脆弱性を悪用する手法が発見されたとのこと。証明書を一度検証した後で、MD5ハッシュをキャッシュのキーにしてしまったため、衝突が起きる証明書で証明書検証を突破できるらしい。
パッチは2022年8月に提供されているのであまり問題はないと思うが...。
▼新しいRRの増加
こちらのツイートから。
はい、そのせいです。https://t.co/9TdFK3m215 https://t.co/R4jBvhj4fF
— Yasuhiro Morishita (@OrangeMorishita) 2023年1月25日
SVCB/HTTPS RR (ドラフト)然り、CAA RR (RFC 8659)然り、TLSA RR (ドラフト)然り。2009年にRFC 5507でTXT RRを使わないで新しいRRを作ろうという話になったので登場したらしい。
その割にメールの認証で使われるDMARC (RFC 7489)はTXT RRを使っている。関連するSPF (RFC 4408, 7208)がTXT RRだからそちらに合わせたのだろうか。
▼OpenSSLのRFC 7250サポート予定
こちらのツイートから。
[openssl] RFC7250 (RPK) supporthttps://t.co/QKDwhpxn6r
— ゆき (@flano_yuki) 2023年1月24日
リンク先はこちら。まだドラフトのプルリク。
RFC7250はTLSのハンドシェイクプロトコルのCertificateメッセージで、X.509以外にも生の公開鍵を直接送信できるようにする仕様。従来オレオレ証明書が仕方なく使われていたようなケースで、公開鍵を直接利用できるようにしたもの。
確かにこの仕様の前のTLS1.2と後のTLS1.3でCertificateメッセージの形がかなり変わっていた*1。
// TLS1.2 opaque ASN.1Cert<1..2^24-1>; struct { ASN.1Cert certificate_list<0..2^24-1>; } Certificate; // TLS1.3 enum { X509(0), RawPublicKey(2), (255) } CertificateType; struct { select (certificate_type) { case RawPublicKey: /* From RFC 7250 ASN.1_subjectPublicKeyInfo */ opaque ASN1_subjectPublicKeyInfo<1..2^24-1>; case X509: opaque cert_data<1..2^24-1>; }; Extension extensions<0..2^16-1>; } CertificateEntry; struct { opaque certificate_request_context<0..2^8-1>; CertificateEntry certificate_list<0..2^24-1>; } Certificate;
▼TLS接続の分類
こちらのツイートから。
Fine-grained TLS services classification with reject option https://t.co/REfsNjfG6G
— Ryan Hurst (@rmhrisk) 2023年1月27日
リンク先の記事はこちら。
https://www.sciencedirect.com/science/article/pii/S1389128622005011
暗号化されたTLS接続の大規模なデータセットを作り、ニューラルネットワークを利用して未知のWebサービスへの接続を見極められるようになった、らしい。正解のデータはTLSのSNI情報を元にラベル付けしたとか。
Encrypted Client Helloへの対応としては、TLS復号プロキシなどでデータセットを集める必要があるとのこと。企業内ネットワークでのマルウェア対策とかには良さそう。
[まとめ]
証明書まわり、やっぱり全然理解できてないなあ...。