SSLそのものとベリサイン等の認証局の関係

宜しくお願い致します。 ここ最近、SSLについて触れる機会が多く色々と調べていたらちょっと気付いたのですが、SSLとい...

noname#14035 さんからの 回答

  • 2005/03/07 22:57
  • 回答No.2
こんばんは。

以下、少し回りくどい説明に感じられるかもしれませんが、できればお付き合いください。

>>SSLという暗号化技術そのものはApacheに後付け出来る機能なのだとわかりました。

もちろん、これは誤りではありませんが、少しポイントがズレた認識だと感じます。

SSLは、"PKI"と呼ばれる「公開鍵暗号方式を利用した通信インフラの枠組み」に含まれる一つの通信プロトコルであり、その技術や利用対象は、もう少し広い視野を持ったものです。(当然、"IIS"など他のWebサーバーでもSSL(サービス)は利用可能です。)

Apacheは、基本構成をシンプルにして必要なサービス(モジュール)を後付していく設計思想をとっているため、多くのレクチャーがApacheへのSSLモジュール組み込みに関する解説を行っていると言うことです。

後述の内容を含め、SSLをより正確に理解し、正しく有効に活用していただくためにも、文末にて紹介のURLなどからたどれる「PKIやSSLについての基礎知識習得(概念理解)」をなさるように、私の方からはオススメさせてください。

全体的なイメージをつかむための流れとしては、「PKIの理解(公開鍵暗号や証明書の役割を含め)」→「それがSSLにどのように応用されているのかを理解」→「Webサイト(サーバー)への具体的なSSL実装・運用方法」というカンジになるかと思います。

>>高い年間費を払ってSSL-IDを取得する意味合いが良く分からなくなってきました。

SSLに関しては、どうしても「通信の暗号化」のみにイメージが集中しがちですが(ゆえに、証明書の重要性について直感的な理解がしにくいのですが)、もう一点大変重要なポイントとして、「認証」(通信相手が本当に意図した者であるか確認できる仕組み)という大切な要素を考えなければなりません。(ブラウザに表示される鍵アイコンの”中身”についての話です。)

想定されている(であろう)、<公開Webサイト(サーバー)>←→<不特定多数のクライアント(プラス、一部のページへのアクセス制限)>を想定したSSL導入については、「そのWebサイト(サーバー)にアクセスしてきたクライアントが、間違いなく本物のサイト(サーバー)に接続できていると(成りすましが無いことを)証明できる仕組み」が重要になります。(これが「通信の暗号化」を含めたSSLの屋台骨となります。)

さらに具体的に言うと、「認証局(CA」と「証明書(この中にデジタルIDも含まれる)」の役割について理解する必要があります。

上記の要素について、nikuqさんがどの程度理解されているのかがわからないので、少々不安なのですが、そのサイトに初めてアクセスしてきた人を含めた不特定多数(商用サイトではお客)に対して、証明書を利用したサーバーの認証(身元保証)を行うためには、世の中のエンド・ユーザーが利用している(広く普及している)ブラウザにプリ・インストールされた”ルート証明書”(典型的にはベリサインのものなど)を利用できる環境をつくる必要があるわけです。

完全に閉じた組織であれば、無償で発行できる自前の証明書(いわゆる「オレオレ証明書」)を利用しても構わないという場合もありますが(ここのところ、国内の地方公共団体や国際的なオープンソース・ベースでの証明書利用環境も登場し始めていますが)、インターネット上の公開Webサーバーでは、上記のような有償の「ルート認証局からお墨付きを得た証明書」を利用するのが基本です。(仕組み上、信頼できる第三者に身元を保証してもらう必要があるという言い方もできるでしょう。)

商用サイトなど、不特定多数のお客(クライアント)のアクセスを前提としたサイト(サーバー)で自前の証明書を発行して運用した場合、アクセスしたクライアントのブラウザには「警告」(証明書の有効性=接続先のサーバの真偽を確認できない旨の)が表示されることになります。

ここで、その「オレオレ証明書」をクライアントのブラウザに「ルート証明書」としてインストールさせてしまえば、以後警告は出なくなるわけですが(その他の証明書の不備がある場合は別です。)、これでは「信頼できるルート証明書ありき」というPKI(SSL)の仕組み自体が台無しになってしまいます。(いまだに、このようなタブーを堂々と犯している組織(サイト)もあるのですが…)

というわけで、インターネット上の公開サーバーで”大手をふって”SSLを運用したいのであれば、コスト比較の問題ではなく、有償の証明書を取得する必要がありますし、「クライアント側から見た動作検証」や「有効期限などの証明書管理(警告自体を出さない事が重要です。)」を含めた「正しい運用」を行う必要があります。

もちろん、自組織のみの運用や実験環境などであれば、上記の話は該当しませんし、自前発行の証明書利用も「正解」となるケースもあるでしょう。

しかしながら(しつこいようですが)、一般公開や商売目的でサービス提供を行うのであれば、既述のような鉄則を外すべきではありません。(逆説的に言えば、ルート認証局の商売(有償の証明書)が成立しているのには、やはりそれなりの理由があると言うことですネ。)

以上、あまり整理できていない記述で恐縮ですが、下記URLなどとともに参考になさってみてください。

それでは。

■@IT ”PKI”をキーワードとしたレクチャーのリスト■ Copyright(c) 2000-2005 ITmedia Inc.

http://www.atmarkit.co.jp/channel/pki/pki.html

■同 ”SSL”をキーワードとしたレクチャーのリスト■

http://www.atmarkit.co.jp/channel/ssl/ssl.html
お礼コメント
nikuq

お礼率 75% (477/631)

ありがとうございますm(__)m
詳しくご説明頂きありがとうございます!
おっしゃる通り、本当に必要のないものなら、商売自体がなりたってないハズですね。。
PKIの概念も、ほんの一部のサギまがいのサイトがあるおかげで、利用者からすれば、全てのサイトに不信感が残りますし、その為に、健全に運営しているサイトは非常に迷惑を被っている可能性があります。PKIの骨組みを全てのサイトとユーザーが理解し、インフラとして当たり前の存在になると、こういった不安感は消え、サギまがいの一部悪質なサイトは消えて行き、安全なインターネットの環境が整うという事ですね(~o~)目先の事だけで判断していると、もっと大きな事に気付かないんですね(-_-;)
良く理解できました(^o^)丿
ありがとうございましたーm(__)m
投稿日時:2005/03/08 18:00
この回答にこう思った!同じようなことあった!感想や体験を書こう!
この回答にはまだコメントがありません。
あなたの思ったこと、知っていることをここにコメントしてみましょう。
関連するQ&A
  • Apache2.0でのSSL設定 ネットワーク

    JSPで作られたページをSSL対応したいと思います。 但し、全く知識が無いので教えて頂きたく。 環境:Apache2.0とTomcat5.0.28 ベリサインを利用しようと思うのですが、 ・既存のJSPプログラムやHTMLファイルにどの程度の改変を  必要とするのでしょうか?。 ・サーバー側の設定のみで対応出来るのでしょうか?。 どうぞ宜しくお願い致します。...

  • [【Apache】apachectl stop,,sslstartだと... Linux系OS

    CentOS4.4、Apache/2.0.63 mod_ssl/2.0.63 でApacheを運用しています。 なお、レンタルサーバのVPSでやってます。 なお、SSLの認証局は、ベリサインなどではなく、いわゆる「オレオレ認証」というか、自分のサーバを認証局にしています で、いつも、apacheを再起動するとき、 [root@www ~]$ apachectl stop [root@www ~]$ apachectl startssl Apache/2.0.63 mod_ssl/2.0.63 (Pass Phrase Dialog) Some of your private key files are encrypted for security reasons. In order to read them you have to provide the pass phrases. Server example.com:443 (RSA) Enter pass phrase: OK: Pass Phrase Dialog successful. [root@www ~]$ というように、「pass phrase」をきかれます。 これは、これでOKというか、こうあるべきなのですが・・・・ 「apachectl restart」 とやってみたら、 [root@www ~]$ apachectl restart [root@www ~]$ というように、「pass phrase」をきかれずに、再起動してしまいました。で、SSLも有効になっています。 これだとセキュリテイ的にまずいので、この状態を回避したいのですが、どうすればいいでしょうか? よろしくお願いいたします。...

  • verisignのSSL証明書はどこの国で購入するのが一番安いでしょう... その他(インターネット・Webサービス)

    ちなみにverisign.co.jp(日本)のセキュアサーバIDは、ssl-secure.jpというサイトで定価\85050のところ58800円で購入できるようです。 私は昨年4月にverisign.com(アメリカ)でセキュアサーバIDを購入しました。値段は覚えてませんが、85050円よりはずいぶん安かったと思います。現在は2年で$695、3年で$995と、やはり日本のベリサインよりかなり安いです。ヨーロッパや韓国なら、もっと安いかな、と思い、質問する事にしました。...

  • 利便性の高い認証局は? ネットワーク

    サイトでSSL(https)を利用したサーバ認証 を行いたいと考えています。 自分はベリサインしか利用したことがないので 他の認証局のコストやサポートに詳しくないです。 自分がベリサインを利用したのは 単に一番メジャーであったことと 1度利用すると、手続きなどが覚えているので また利用してしまう、ということでした。 しかし利便性やコストを再検討したいと考え、 今回、他の認証局も検討中です。 以前、ベリサインを利用して現在、他の認証局 を利用して満足されている方、アドバイスを いただけると助かります。 ちなみに、私がベリサインを利用したときは 発行までの手続きが煩雑で、時間がやたらと長かったのが不満でした。 しばらくした後に発行間での時間が短い ”エクスプレスサービス” なるものが出て、さらにそのことでお金を取るのかと驚いた覚えがあります。...

  • Apache起動時に秘密鍵パスフレーズを省略したい Linux系OS

    ベリサインで取得していただいた、秘密鍵をインストール後、アパッチの再起動を行うと、SSL起動時に毎回パスワードが聞かれます。 http://support.6web.ne.jp/archives/15 上記サイトを確認したところ、既に作成されたキーファイルよりパスフレーズをとり、別名で作成されたファイルをhttpd.confで指定するとのことですが、再度、CSRをベリサインに送付し、証明書を取得し直す必要はないのでしょうか。 また、このサイトに記述されている #Enter pass phrase for ./2011key.pem について、openssl文にて既にパスフレーズなしの鍵が作成されていると思いますが、この文を実行すると、パスフレーズなしで作成されたファイルにパスフレーズが格納される認識で正しいでしょうか。 また、他にもパスワードを記述したスクリプトファイルを用意する方法なども存在するらいしいのですが、一般的はどのような方法がよいかも教えていただけたら幸いです。 よろしくお願いいたします。...

ページ先頭へ