[備忘録] 証明書

仕組みを理解していなかったので、解説しているページをメモ。
オレオレ証明書が意味ないのは分った。証明書に署名(自分が作成した証明書要求CSRを秘密鍵で暗号化)する認証局が自分な訳だから、正にオレオレ詐欺といっしょ。

参考

SSL/TLS の導入 (1)
404 - エラー: 404:「1.2.6. 署名」が分かり易い


勘違いがあるかもしれないが、現状の理解をメモしておく。

署名とは

サーバ管理者が作成したCSR(未署名の証明書のこと?)に認証局が秘密鍵で暗号化すること。
署名済の証明書を組み込んだサイトにアクセスし、あらかじめブラウザに登録されている認証局の公開鍵で証明書を復号化できれば、信頼できる証明書と言える。
信頼のおける認証局であればこそ意味がある。

ルート証明書

証明書を発行する認証局の正当性を証明するための、言わば正当なオレオレ証明書のこと。

e-words の解説が分かり易い
ルート証明書 【root certificate】

 デジタル証明書を発行する認証局が、その正当性を証明するために自ら署名して発行するデジタル証明書。
SSLなどで暗号通信を利用する必要のあるOSやWebブラウザには、大手認証局のルート証明書があらかじめ組み込まれており、
受信した証明書が正当なものかどうかを確認するための信頼の基点となる。

 Webサイトなどと暗号通信を行なう時に相手の送ってきたデジタル証明書が正当なものか調べるには、証明書の発行機関を調べ、
その機関が信用できるかどうかを調べるために発行機関の証明書を調べ、という具合に遡っていく。
このとき、信頼できる認証局が自己署名した証明書をあらかじめ保持しておき、遡った結果この認証局に行き当たったら証明書は信頼できるとみなすことができる。
この信頼の大元として使われる証明書をルート証明書という。

 ルート証明書はユーザが必要に応じて自分でインストールすることもできるが、
通常は実績ある大手の認証機関のルート証明書がWebブラウザなどに組み込まれており、ユーザが意識することは少ない。
ルート証明書を発行した認証局をルート認証局(ルートCA)と呼ぶことがある。


あと、「68user's page」さんの証明についての説明は分かり易いなぁと思った。

引用

つまり証明というのは以下のような「信頼」のつながりで成り立っているのです。

    * 我々ブラウザ利用者は Microsoft や Mozilla Foundation などのブラウザ製作者を「信頼」する。
    * ブラウザ製作者は、VeriSign などの「信頼できる認証局」のみをブラウザのルート証明書として組み込む。
    * ルート証明書に組み込まれている認証局は、「信頼できる企業・個人」のみに証明書を発行する。

ただし、ここでいう「信頼」というのは「悪いことをしない」とか「善人である」という意味ではありません。認証局は企業・個人の「実在性」をもって「信頼する」かどうかを決定します。ブラウザ製作者のひとつである Microsoft は明確な基準を決め、それに合致すればルート証明書として組み込むようにしています (後述)。