web-dev-qa-db-ja.com

X509:デジタル署名と否認防止の違いは何ですか

USBトークンでスイスの郵便局が発行した証明書を処理する必要があります。同じトークンで2つの証明書を配信します。意図された使用分野では、1つは「否認防止」であり、もう1つは「デジタル署名」です。

今、私は2つの間の実際的な違いが何であるか理解できません:私は常に同じ証明書で両方を見たことがあります。実際、否認防止とデジタル署名が同じではなく、実際にはすべて同じであるというシナリオは想像できません。

誰かが私に違いが何であるかを説明してもらえますか?そして、あなたがどちらの状況でどちらを選ぶべきかについての提案があれば、それも同様に役立ちます。

29
Stephane

この質問は少し古いと思いますが、私はこの質問に必要な光を当てることができると思います。

KeyUsage属性の否認防止の値は、特に目的ではなく、証明書全体に関連しています。否認防止フラグが存在することは、秘密鍵に十分な保護があり、証明書で指定されたエンティティが証明書に対して行うアクションを後で拒否できない、つまり拒否できないことを示します。フラグの存在は否認を防止せず、むしろが示すその否認は妥当な精査に耐えられないでしょう。

したがって、この特定のケースでは、CAはユーザーに、否認防止要素を含むか含まない証明書のオプションをユーザーに提供します。署名を検証した人に、署名したのが本人であることを簡単に否定できないことを主張したい場合(ここではUSBトークンがキーイネーブラーです)、否認防止証明書を使用します。それ以外の場合は、デジタル署名用にマークされた証明書を使用します。 (証明書の他の属性によっては、どちらか一方または両方の証明書でドキュメントに署名できる場合とできない場合があります。)

ウィキペディアを参照してください: http://en.wikipedia.org/wiki/Non-repudiation
関連するRFCも参照してください: http://www.faqs.org/rfcs/rfc3280.html (セクション4.2.1.3)

36
Calrion

「デジタル署名」とは、ドキュメントのオリジンまたはユーザーのIDを保証できることを意味します。これは認証です。

「否認防止」とは、ドキュメントが承認されたことを意味します。これは、電子署名とも呼ばれるコンテンツ署名です(デジタル署名ではありません)。

これが2013年でも常にこの質問をするのに役立つことを願っています...

フランク。

6
Franck Leroy

私はそれを実装した人と話しました、そして、明らかに、彼らは/ really /署名ドキュメントのための「否認防止」証明書と認証のために使われる「デジタル署名」証明書を意図しました。

6
Stephane

興味深い質問です。あなたの考えは私と同じです。

IBM here でキーの使用法についてのリファレンスを見つけましたが、まだ区別がつかないのです。

私が記事を読んで理解したことを言い表すことができる最高のことは、否認防止の用法が「私reallyはこれに署名することを意味し、Ireally これに署名することの意味を理解してください。」

申し訳ありませんが、これは完全な答えではありませんが、お役に立てば幸いです。

[〜#〜]編集[〜#〜]2014年4月4日

私は再びより多くのポイントを与えられました。 @Calrionからの回答の方がはるかに優れているため、+ 1をそのまま送信します。

4
Neil Moss

認証には「デジタル署名」を使用する必要があります(これに署名したのはあなたです)。「否認防止」とは、署名された内容を知っていることを意味します。

(一部のサーバーに対する)認証にプライベート証明書を使用する場合、認証は次のように機能します。接続の確立中に、ブラウザー(または他のソフトウェア)はサーバーから提供されたランダムデータに署名して、それが反対側であることを証明しました。ただし、重要な点は、署名するデータを制御できないことです。したがって、サーバーはランダムなデータの代わりに「私、ペトルノボンティ、ジェームズクラークにすべてのお金を渡して」と送信できます。

これを回避するには、一部のドキュメントの署名に使用されるキーに「否認防止」ビットを設定し、「デジタル署名」ビットを設定しないようにする必要があります。

1
Vlasta

このページでは、すべての主要な使用法についていくぶん明確に説明しています。

https://www.ibm.com/support/knowledgecenter/en/SSKTMJ_9.0.1/admin/conf_keyusageextensionsandextendedkeyusage_r.html

0
Randy Stegbauer