PuTTY 0.81 がリリースされた【セキュリティ・アップデート】

no extension

Windows 用の SSH クライアントソフトである PuTTY について ECDSA 署名に絡んで秘密鍵が漏洩するリスクがあるらしい。

Every version of the PuTTY tools from 0.68 to 0.80 inclusive has a critical vulnerability in the code that generates signatures from ECDSA private keys which use the NIST P521 curve. (PuTTY, or Pageant, generates a signature from a key when using it to authenticate you to an SSH server.)

上の引用の通り,対象となるのは PuTTY 0,68 から 0.80 までのバージョン。 最新の 0.81 で修正されている。 なお FileZilla, WinSCP, TortoiseGit, TortoiseSVN といったアプリケーションには PuTTY がバンドルされていることがあるので,これらのアップデート情報にも注意すること。 PuTTY は年に1,2回くらいの頻度でセキュリティ・アップデートが発生するので(ちゃんとメンテされてる証拠),バンドル品は使わないほうがいいと思うなぁ。

日本語カスタム版は PuTTY-ranvis がおすすめ。 こちらも 0.81 がリリースされた。

厄介なことに今回はアプリケーションを更新しただけではダメで,認証鍵を新しいものに差し替える必要があるかも知れない。 ただし対象となるのは NIST P-521 楕円曲線を使った ECDSA 鍵のみ。 それ以外はとりあえずセーフということで(笑)

今回の脆弱性は ECDSA 署名時に使用する nonce を生成するための乱数生成に起因するものらしい。 以前から DSA/ECDSA の実装上のネックとなっているのがこの乱数生成部分で,ここの実装をサボると秘密鍵の漏洩に繋がることが知られている。 まぁ,今回はサボったわけではないだろうが,何らかの不備があったということだろう。

というわけで,新たに認証鍵を作成するのなら EdDSA (ed25519 曲線) 鍵にすることをお勧めする。 EdDSA は2023年にリリースされた NIST FIPS 186-5 に標準として正式に組み込まれたので,仕事用でも大手を振って使ってよい。


In PuTTY 0.68 through 0.80 before 0.81, biased ECDSA nonce generation allows an attacker to recover a user’s NIST P-521 secret key via a quick attack in approximately 60 signatures. This is especially important in a scenario where an adversary is able to read messages signed by PuTTY or Pageant. The required set of signed messages may be publicly readable because they are stored in a public Git service that supports use of SSH for commit signing, and the signatures were made by Pageant through an agent-forwarding mechanism. In other words, an adversary may already have enough signature information to compromise a victim’s private key, even if there is no further use of vulnerable PuTTY versions. After a key compromise, an adversary may be able to conduct supply-chain attacks on software maintained in Git. A second, independent scenario is that the adversary is an operator of an SSH server to which the victim authenticates (for remote login or file copy), even though this server is not fully trusted by the victim, and the victim uses the same private key for SSH connections to other services operated by other entities. Here, the rogue server operator (who would otherwise have no way to determine the victim’s private key) can derive the victim’s private key, and then use it for unauthorized access to those other services. If the other services include Git services, then again it may be possible to conduct supply-chain attacks on software maintained in Git. This also affects, for example, FileZilla before 3.67.0, WinSCP before 6.3.3, TortoiseGit before, and TortoiseSVN through 1.14.6.




SSH Mastery: OpenSSH, PuTTY, Tunnels and Keys (IT Mastery Book 12) (English Edition)
Lucas, Michael W (著)
Tilted Windmill Press 2018-02-06 (Release 2018-02-06)

タイトルを見て “SSH Mystery” と空目したアホは私です。洋書だけど英語不得手の私にも読める内容。

reviewed by Spiegel on 2021-01-11 (powered by PA-APIv5)

暗号技術入門 第3版 秘密の国のアリス
結城 浩 (著)
SBクリエイティブ 2015-08-25 (Release 2015-09-17)
B015643CPE (ASIN)

SHA-3 や Bitcoin/Blockchain など新しい知見や技術要素を大幅追加。暗号技術を使うだけならこれ1冊でとりあえず無問題。

reviewed by Spiegel on 2015-09-20 (powered by PA-APIv5)

暗号化 プライバシーを救った反乱者たち
スティーブン・レビー (著), 斉藤 隆央 (翻訳)
紀伊國屋書店 2002-02-16
4314009071 (ASIN), 9784314009072 (EAN), 4314009071 (ISBN)


reviewed by Spiegel on 2015-03-09 (powered by PA-APIv5)