web-dev-qa-db-ja.com

中間サーバーにいる悪意のある人が有効な証明書を偽造しないようにしているもの

サーバー証明書の認証 のプロセスによると:

enter image description here

悪意のあるサーバーがすべてのことを知っているので、有効なサーバー証明書を埋めるために何を維持しているのですか?

  • 偽造サーバーの公開鍵(実際のサーバーの公開鍵ではなく中間の公開鍵)
  • 証明書のシリアル番号。 (実際のサーバー)
  • 証明書の有効期間(実際のサーバー)
  • サーバーのDN(実際のサーバー...がIPルートの真ん中にある)
  • IsserのDN
  • 発行者のデジタル署名

この質問は、ステップ4を処理する( SSLサーバーはどのようにしてその身元を証明するのですか? )に似ていますが、ステップ3に興味があります

7
basarat

証明書の「署名」フィールドは署名ではありませんin abstracto;それは署名他のフィールドの内容の上にです。署名を証明書から別の内容の別の証明書に単純にコピーすることはできません。一致しません。それが デジタル署名 のポイントです。

MitMの場合、攻撃者は正規のサーバーの公開鍵の代わりに自分の公開鍵を置くことができますが、署名検証アルゴリズムによって署名が無効になったことがクライアントに通知されるため、クライアントは騙されません。攻撃者が成功したい場合は、クライアントが信頼するCAによって新しい署名を取得する必要があります。これらのCAはtrustedです。これは、偽の証明書に署名しないためです。

17
Thomas Pornin