2009-04-25 6 views
17

プロセスがどのように進むかご理解ください。 Webブラウザには、Verisign、Entrust、Comodoなどの認証局(CA)のルート証明書が含まれていますが、ユーザーが安全なページにアクセスするとどうなりますか? WebブラウザはCAのサーバに要求を送信して証明書を検証するか、ブラウザのCAのルート証明書を使用して証明書を検証するだけですか?SSLを使用してウェブサイトを保護するためにデジタル証明書を使用すると、どのように動作しますか?

私はいくつかのHTTPスニッファを使用し、gmail(ログインページは安全です)にログオンしましたが、Google以外のウェブサイトへのリクエストは見られませんでした。

+1

CAが提供する証明書は、Webサーバー(IISなど)にインストールされ、該当するWebアプリケーションにマップされます。ブラウザがCAに接続する理由はわかりません。 – Cerebrus

答えて

5

ブラウザ/ OSの設定によって異なります。基本的にブラウザやOSには信頼できるルート権限のリストがあります(Mozillaには独自のリストがあり、IEはWindowsを使用しています)。

SSLハンドシェイクがサイト証明書に行われます

は、それが信頼できる機関のいずれかによって署名されているかどうかを確認するために検討され、サーバ名が、証明書の1に一致した場合。

次は、ブラウザまたはOSの設定によって異なります。 CAには、失効リスト機能(証明書がまだ良いかどうか尋ねることができる大きなリストまたは別のサービス(OCSP))があります。あなたのブラウザ/ OSがこれをチェックするように設定されている場合、この余分な手順が実行されます。

FirefoxとWindowsはOCSPサービスが利用可能であればデフォルトでチェックし、デフォルトではCRLリストもチェックしません。

2

CAは、Webサーバー証明書に署名します。ブラウザにはすでにCA公開鍵(ルート証明書内)があるため、CAにアクセスせずにCAの真正性を検証できます。 CAへのアクセスが必要なのは、証明書が失効したかどうかを確認することだけです。

20

認証局は、秘密鍵で署名された証明書を発行します。お使いのブラウザには、対応するの公開鍵が信頼できるCAのために格納されています。セキュアなトランザクションのリクエストを受け取ると、ブラウザは公開鍵で証明書のルート(接続しているホストから提供される)をチェックして、一致する秘密鍵で実際に署名されていることを確認します。

信頼できる第三者(CA)によって署名された証明書がホストに保存され、ブラウザに同じ第三者の公開鍵が保存されます。トランザクションが開始されると、ホストは、ブラウザが確認するためにその証明書を提示するだけです。信頼できるサードパーティによるトランザクション時の介入は必要ありません。

これはPGPのように、通信している相手の公開鍵を取得するために第三者に連絡する必要があるシステムとは異なります。 PGPを使用すると、データを暗号化/復号化するため、システムの動作が異なる場合があります。証明書を使用すると、身元を認証するだけです。

+1

良い答え、私はCAのフォローアップは、典型的には、verisign.com、godaddy.comなど...彼らは最近どこにポップアップしているようだが。ブラウザが「信頼する」前に、CAの証明書をブラウザにプリインストールする必要があるため、理論上、自分でCAを設定してなりすますことはできません。エンタープライズセキュリティの場合、ブラウザセキュリティ警告なしでSSLで使用するためにCA証明書をインストールすることができます。 –

+0

ありがとう - これは私が5-10分または検索後にウェブ上で見つけた最高の答えでした。とても有難い。 –

10

Webブラウザは、それが信頼されたルート証明書のリストを持っています。これらはCAの公開鍵です。ブラウザを使用すると、これらのCAの秘密鍵が実際にプライベートであることを信頼できると言っている、そしてそれらの秘密鍵のいずれかによって暗号化されていることは何も - 疑惑のウェブサーバーの証明書を含む - は本当にCAから来ました

証明書は、CAの秘密鍵で暗号化され、WebサーバーとWebサーバーのアドレス(および会社名など)の公開鍵が含まれていますこの暗号化は、Webサイトの所有者がCAから証明書を購入したときに1回実行されます。その後、Webサイトの所有者は、証明書を手元に保管して、https要求を送信したときに送信します。ブラウザーは、Webサーバーから送信された証明書を復号化するためにCAの公開鍵(すでにマシン上にあった)を使用することができ、証明書にhttpsを提供するホストに一致するホストアドレスが含まれていること、ブラウザは、ホストの公開鍵(CAの公開鍵を使用して暗号化解除された)が認証されていると判断します。 Webホストから日常的に与えられる証明書は、依然としてホストを偽装している人から来ている可能性がありますが、少なくとも、あなたが通信しようとしているhttpsサービングホストの正式な公開鍵が含まれていると確信できます。

ホストの公開鍵で暗号化されたデータ(クレジットカード番号など)を送信できます。ホストの秘密鍵だけがデータを復号化できます。取引中にCAとの通信は必要ありませんでした。

+0

多くの場所で、あなたは暗号化と復号化と呼ばれているものが実際に*署名し*署名*を検証しています。 「* [...]は依然としていくつかのランダムな人物から来ている可能性があります。[...] *:そのため、ブラウザは証明書のホスト名も検証します。 – Bruno

+0

清算のためにブルーノありがとうございます。実際に何かを暗号化しているのではないのですか? Verisignが証明書に署名したことは、Verisignの公開鍵が署名を復号化できることです。その署名にはWebサーバーのIPアドレスとドメイン名が含まれているため、CAのみが秘密鍵で暗号化を使用してWebホストのIP/DNを証明書に入れることができます。 –

+0

私が理解しているように、検証とは、証明書要求の情報を証明書の要求/受信者の発信元と比較するCAの行為を指し、証明書の内容(CAの公開鍵を使用して復号化)証明書を提示しているWebホストのIPアドレスとドメイン名に変換します。私は専門家ではなく、教えてもらう必要があるので、助けてくれてありがとう! –

関連する問題