web-dev-qa-db-ja.com

BouncyCastleに影響するCVE-2016-1000341の影響分析

CVSSスコア7.5のCVE-2016-1000341の影響と、「DSAシグネチャの生成はタイミング攻撃に対して脆弱です。シグネチャの生成のタイミングを注意深く観察できる場合、1.55以前のブラインドの欠如により、攻撃者は、署名k値と、最終的にはプライベート値についての情報を入手します。」これはBouncyCastleによってここで承認されます: https://www.bouncycastle.org/releasenotes.html

「DSA署名の生成はタイミング攻撃に対して脆弱です」という行で混乱しています。タイミング攻撃とは何なのかは理解していますが、「DSA署名の生成」という句に戸惑っています。この用語の正確な意味は何ですか?次の2つのうち、どれが正しいですか?

  1. アプリケーションが、公開鍵/秘密鍵を使用してBouncyCastleライブラリでデータにデジタル署名および検証を行っている場合、この脆弱性の影響を受けますか?または
  2. 「DSA署名の生成」とは、デジタル署名の検証で使用される秘密鍵と公開鍵を生成することを意味しますか?

ここでのガイダンスは大歓迎です!

よろしく、シャシ

5
shashi

TLDR:1a。

DSA署名生成は、署名(データ用)を生成しています。あなたが引用したように

...署名に関する情報を取得します[sic-アポストロフィを付ける必要があります] k値と最終的にプライベート値も取得します。

kは、署名ごとにランダムに選択される値であり、鍵の一部ではないため、鍵生成(または、DSAでJava/JCE/BCを含む、しばしば統合されるパラメーター生成)の一部になることはできません。リスクのあるk値が存在するためには、操作は署名の生成でなければなりません。

署名検証と呼ばれる署名の検証は、タイミングを含むサイドチャネル攻撃のターゲットである秘密鍵を使用しないため、影響を受けません。

1