CA証明書の理解に関する問題

CA証明書の理解に関する問題

CA (証明機関) 証明書に関して誤解があります。いくら読んでも、完全には理解できません。

たとえば、ボブが Web サイトにアクセスするとします。ボブと Web サイトの間で信頼できる暗号化された通信が行われるように、Web サイトはまずボブにデジタル証明書を発行します。このデジタル証明書には公開鍵やその他の情報が含まれています。

ボブはこの公開鍵を使用して、Web サイトに送信するデータを暗号化し、Web サイトは対応する秘密鍵を使用してデータを復号化します。(ここでは一方向の通信のみを考慮しています)

中間者が Web サイトを装い、有効なデジタル証明書だと信じたものを Bob に提供し、事態がひどく悪化する可能性があります。

この問題に対して、Web サイトが CA を使用して独自の証明書を検証または生成する場合、私の記述のうちどちらが正しいのでしょうか、それとも両方とも部分的に正しいのでしょうか。

1) ボブは、Web サイトから受信したデジタル証明書を CA からの証明書と単純に比較します。復号化は実行されず、比較のみが行われるのでしょうか? この場合、比較対象となる世界中のすべての CA 証明書がボブのローカル コンピューターに保存されているのでしょうか? これはどのように行われるのでしょうか。

2) ボブは、サイトからの証明書を復号化するのに使用される特別な CA 証明書を持っています。CA は、ボブが使用したい Web サイトのデジタル証明書を CA 秘密キーで以前に暗号化しています。次に、ボブはサイトから証明書を取得し、CA の証明書から CA の公開キーを使用してそれを復号化します。証明書を復号化できない場合は、CA がそれを暗号化していないため無効であることがわかります。

前もって感謝します。

答え1

あなたは誤解しています。実際、あなたのシナリオは両方とも間違っています。

まず、デジタル証明書は証明機関 (CA) によって発行され、デジタル署名用の公開鍵を含み、署名者の ID を指定します。証明書は、公開鍵が署名者に属していることを確認するために使用され、CA は保証人として機能します。

証明書の有効性に関しては、証明書はローカルではなくインターネット経由で CA に対して検証され、そのプロセスで CA から公開キーが取得されます。

公開鍵は、ハッシュ アルゴリズムを使用して、署名されたオブジェクトが実際に署名されたもので、変更されていないことを確認するために使用されます。

一枚の写真は千の言葉に値する。

ここに画像の説明を入力してください

ソース :デジタル署名を理解する

答え2

まず第一に、2つのステップCA 発行の証明書を検証するには:

  1. この特定の CA は証明書を発行できるほど信頼できるのでしょうか?
  2. この証明書は、本当にその証明書が主張する CA によって発行されたものなのでしょうか?

どちらの説明もほぼ正しいです半分プロセス全体の一部だけに注目し、残りの半分を完全に無視します。この 2 つを組み合わせると、正しい方向に進むことができます。

しかし、2番目のポイント:暗号化は使用されていませんこの状況ではまったく意味がなく、証明書(公開鍵を含む)はデータの暗号化に使用できますが、ないそれを解読するために行われるのは署名の検証。

(あなたの混乱の一部は、例えば「RSAでは暗号化と署名は同じである」とどこかで読んだことによるのではないかと思います。それは忘れてください。数学的な意味ではほぼ正しいのですが、実際には信じられないほど誤解を招きます。意図両者は完全に正反対です。ですから、何かに署名することについて書かれた文書を読むとき、しないでください暗号化するのと同じ意味であると想定してください。


「この Web サイトの証明書は、本当にその証明書が主張する CA によって発行されたものなのでしょうか?」

この点については、バリエーション #2 がほぼ正しいです。少なくとも 2 つの証明書が関係しています。1 つは Web サイトを表す証明書 (「サーバー証明書」)、もう 1 つは CA 自体を表す証明書 (「CA 証明書」またはルート証明書と呼ばれる) です。

ウェブサイト独自の証明書は暗号化されていないCAの秘密鍵を使用して、署名済みCA の秘密鍵で署名を検証できない場合、CA が主張どおりに署名していないことは明らかです。

(実際には、チェーンは通常もう少し長く、少なくとも 3 つの証明書で構成されますが、メカニズムは同じです。各証明書はチェーン内の次の証明書に署名します。)

しかし、そもそもボブはこの「特別な CA 証明書」をどこで入手するのでしょうか? 以下を参照してください。

「この CA は、一般的に証明書を発行できるほど信頼されていますか?」

受信した CA 証明書は、ローカル コンピューター内に保存されている「信頼されたルート」のリストと比較されます。

これは、バリアント#1で説明したものと似ていますが、コンピューターがすべての証明書を保存しないという点が異なります。発行済みCAによってではなく、CAに属する証明書のみを保存します彼ら自身つまり、バリアント #1 の「特別な CA 証明書」です。

大体50~100ほとんどのシステムにインストールされている「ルート証明書」 – 「世界中のすべての CA」ではありませんが、多くの大企業や中小企業をカバーしています。(リストに含まれるにはかなりの費用がかかります。)

関連情報