kdnakt blog

hello there.

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

先週に続き、2022年3月14日~3月20日に読んだ中で気になったニュースとメモ書きです。

 

 

[フェルマーアタック]

このツイートで見つけたニュース。

元のサイトはこちら。

fermatattack.secvuln.info

 

RSAでは、素数pとqを生成し、これらの積をNとし、65537×v+(p-1)(q-1)×u=1*1を満たすvの値(とついでにuの値)を拡張ユークリッドの互助法を用いて求め、Nと65537を公開鍵、dの値を秘密鍵とする。

このとき、pとqの値が近いと、pとqの中央の値をa、そこからの距離をbとして、N=(a+b)(a-b)と書けるため、Nの平方根から始めてaの値を推測していくことが可能、らしい。

 

日本語の翻訳記事がデモつきで公開されていた。

qiita.com

 

富士フィルムのプリンタのTLS証明書で見つかった問題ということで、プリンタとの通信内容が盗聴される感じの脆弱性になりそう。

富士フィルムのサイトでは、回避策としてファイアウォールの中でプリンタを使え、とあるが、LANでの攻撃はできてしまうのであまり意味がないのでは...。

www.fujifilm.com

 

[Cloudflareの証明書バックアップ]

こちらのツイートより。

Scottさんも言及している。

 

元の記事はこちら。秘密鍵認証局も異なる証明書がバックアップとして用意されるらしい。認証局ルート証明書が危殆化した場合にも有効そう。

blog.cloudflare.com

 

[TLS1.3イラスト解説]

『暗認本』の作者herumiさんがzennの記事を書いていた。

zenn.dev

 

TLS1.2まで(しかも中途半端に)しか理解していないので、いきなりClientHelloでECDH鍵共有開始、と書かれていてびっくりした。ServerKeyExchangeハンドシェイクメッセージとか用無しになってしまったのか...。

 

[OpenSSLのDoS脆弱性(CVE-2022-0778)]

The Daily Swigのこちらの記事で知った。

portswigger.net

 

楕円曲線パラメータが不正な証明書を読み込んだ際に、BN_mod_sqrt()関数が無限ループしてしまうとのこと。Zennの記事が発生条件を詳細に解説してくれていた。

zenn.dev

 

Twitterで、Red Hat Enterprise Linuxでは楕円曲線を無効化しているので問題ない書かれているのを見かけたが、Red Hatのサイトを見る限りでは、無効化というよりは有効なパラメータかどうかチェックした上で問題の関数を呼び出しているので問題ない、ということのようだ。 

 

この問題によって、Node.jsのセキュリティリリースが行われたらしい。

nodejs.org

 

OpenSSLに脆弱性はあったが、機密情報の漏洩につながる可能性のあった2014年のHeartbleed脆弱性に比べるとまだまだのようだ。

 

[ロシア情勢]

先週も扱ったロシア情勢の続報。

 

Helme氏によると、ロシアの.ruドメイン以外にも、.suドメインソビエト連邦*2)、.byドメインベラルーシ)に対しても証明書発行を停止する認証局が出てきたとのこと。

元データはこちらで公開されている。

WebPKI Issuance and CRL Revocation of Russian/Belarusian subjectAltName:dNSNames (.ru, .su, .by) · GitHub

 

関連するツイートで知ったが、Let's EncryptはCRLによる失効情報を提供していないらしい。そういう認証局もあるんだ。

 

[AWS KMSと第3ラウンド耐量子暗号]

AWS KMSおよびACMが、NISTが進めている耐量子暗号標準化プロセスの第3ラウンドで提案されている暗号方式に対応したとの情報。

aws.amazon.com

 

第2ラウンドに対応したのが2020年11月だったので、1年4ヶ月ぶりのアップデートとなる。

aws.amazon.com

 

耐量子暗号についてはTLSらじお第23回で取り上げた。

github.com

 

予定では、2022-2024年の間に標準のドラフトが公開されるようだ。

csrc.nist.gov

 

耐量子暗号とTLSについては、最近Post-Quantum Networks WorkshopやCloudflare.tvの動画が公開されていた。

 

[その他のニュース]

▼Azure DevOpsがTLS1.0/1.1をロールバック

IPv6ではうまくいったが、IPv4で問題があったため、TLS1.0/1.1の無効化を取り消したとのこと。

www.theregister.com

最新のOSを適用していない、特定の暗号スイートを無効化しているといったクライアントが原因らしい。

devblogs.microsoft.com

 

厚生労働省の証明書期限切れ

こちらのツイートより。

 

切れていた時の証明書がこちら(3/17深夜に確認)。

f:id:kidani_a:20220321100234p:plain


その後すぐに新しい証明書がデプロイされたらしい。デプロイのタイミング次第だが、最低でも3月16日17時49分から3月18日10時30分までの40時間以上に渡ってサイトに接続できなかったものと見られる。

f:id:kidani_a:20220321100218p:plain

 

PKCS#11のv3.1

パブリックレビュー中とのこと。

 

PKCS#11はスマートカードなどの暗号トークンにアクセスするAPIを提供しているらしい。TLSでもクライアント認証などで利用できるっぽい。

github.com

 

▼DTLS1.2のコネクションID

こちらのツイートより。

 

普通のTLSですら追い切れてない、いわんやDTLSをや...。

 

[まとめ]

TLS1.3だ!耐量子暗号だ!と先進的な取り組みが見られる。

一方で、素因数分解されちゃいましたとか、TLS1.0廃止できませんでしたとか、証明書の有効期限切れちゃいましたとか、無限ループしちゃいましたとか、TLSを取り巻く様々な課題があり、安全な通信の難しさを痛感させられた。

*1:計算を高速化するために、3や65537(2^16+1)の値を利用するとのこと。『暗号技術のすべて』p.272

*2:ソビエト連邦ドメインがあることに驚いたが、DNSソ連崩壊前の1980年代から利用されていたことを考えると、当然かもしれない。

jprs.jp

実際には、ソ連崩壊の1年前に.suドメインが割り当てられたらしい。

ja.wikipedia.org