• ベストアンサー

証明書を使用した通信

今回、自社のWebサーバ(IIS7.0)のセキュリティ強度を 高める為、SSLによる暗号化通信の実装を検討しています。 その際に、第三者機関の発行による「証明書」をサーバ側に インストールさえすれば、暗号化通信は実現できるのでしょうか?。 ブラウザはIE8を想定していますが、ブラウザ側には別途証明書の インストールや、設定変更は必要でしょうか?。 ※「クライアント証明書」というキーワードも見つけたのですが、これは不要でしょうか? アドバイスを頂けると助かります。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.3

> ※「クライアント証明書」というキーワードも見つけたのですが、これは不要でしょうか? 「セキュリティ」の内容にもよります。 一般公開するサイトではなく、許可された(端末ユーザー)のみが使うという場合には、 クライアント証明書を使います。 たとえば、社内の機密情報を扱うWebサーバがあるが、出張先(ホテルや自宅)でもそれを閲覧したい。 しかし、これを一般公開する訳にはいかないので、それを閲覧するPCは限定したい という場合には、「クライアント証明書」をそのPC(ブラウザ)にインストールすることで インターネット上からの限定的な利用が可能になります。 なので、通常のECサイト等での「セキュリティ」として考えると使うことはないでしょう。

semaster
質問者

お礼

有難うございます。 大変わかりやすい例を頂き感謝いたします。 実はご指摘の「出張先(ホテルや自宅)でもそれを閲覧したい」という話が 社内でもあがっています。確かに接続してくる社員の本人確認はしたいところです・・。 クライアント証明書を仮に、同様に発行し、全社員のPCにインストールするとします。 その際に、Webサーバ(IIS)側でもクライアント証明書を処理する設定は 必要になりますでしょうか?・・。

その他の回答 (3)

回答No.4

> その際に、Webサーバ(IIS)側でもクライアント証明書を処理する設定は > 必要になりますでしょうか?・・。 クライアント証明書を使用するかどうかを指定する必要があります。 (参考) http://technet.microsoft.com/ja-jp/library/cc753983(WS.10).aspx

  • maesen
  • ベストアンサー率81% (646/790)
回答No.2

>その際に、第三者機関の発行による「証明書」をサーバ側にインストールさえすれば、暗号化通信は実現できるのでしょうか?。 できます。 この場合必要なのはサーバ証明書になります。 サーバ証明書の取得手順は大雑把にこんな感じです。 ・第三者機関と契約 ・第三者機関にIIS上で作成する証明書要求ファイルを送付する ・第三者機関からサーバ証明書が来る ・サーバ証明書をIISでインストールする >ブラウザはIE8を想定していますが、ブラウザ側には別途証明書のインストールや、設定変更は必要でしょうか?。 通常必要ありません。 第三者機関を信頼するためにはルート証明書がPC側にある必要がありますが、Windowsでは主要な第三者機関のルート証明書が予め入っています。 また、Windows Updateによりルート証明書は随時新しいものに更新されています。 >※「クライアント証明書」というキーワードも見つけたのですが、これは不要でしょうか? これはサーバ側が、接続した許可されたクライアントなのかを認証するような用途で使用するものです。 今回のようなWebサーバ暗号化通信では関係ありません。

semaster
質問者

お礼

有難うございました。 Webサーバへのサーバ証明書のインストールの流れが理解できました。 クライアントのWindowsは、ルートCAの証明書は既定で入っているのですね。 クライアント証明書については実は別途要件があり、確認しております。 また宜しくお願い致します。

回答No.1

こんにちは! 基本的にはサーバ側にインストールさえすればOKです。 > ブラウザはIE8を想定していますが、ブラウザ側には別途証明書の > インストールや、設定変更は必要でしょうか?。 Webサービスの構成にもよりますが、基本的に不要です。 会社内だけで、オレオレ証明書を使うとかであれば必要かもしれませんが…。 (中には組み込みを要請するサイトもあるみたい??) > ※「クライアント証明書」というキーワードも見つけたのですが、これは不要でしょうか? 同様に基本的には不要です。 「基本的に」と書いたのは、WebサーバにSSL証明書を入れて どのような内容を誰に暗号化して表示するかが分からないからですが 多分サーバ側だけでいいと思います。 ガンバって下さい!

semaster
質問者

お礼

有難うございました。 皆様のアドバイスによりサーバ証明書の概念が理解できました。 また宜しくお願いします。

関連するQ&A

  • 自己署名証明書によるSSL通信について教えてください!

    SSL通信により、データを暗号化してWeb上でやりとりするシステムの構築を考えています。 そこで自己署名というのを考えているのですが、署名の流れがいまいち分かりません。 認証局利用の場合、私の理解では、 【サーバ側】 1.サーバ側でRSA秘密鍵を生成 2.RSA秘密鍵を元にCSRを作成 3.CSRファイルを認証局に送信 【認証局】 4.CA秘密鍵により暗号化し、サーバ証明書を作成 5.サーバ側にサーバ証明書を送信 【サーバ側】 6.クライアント側にサーバ証明書を送信 【クライアント側】 7.サーバ側よりサーバ証明書を受信する 8.認証局より公開鍵を取得する 9.認証局の公開鍵でサーバ証明書の暗号化された鍵(認証局の秘密鍵で暗号化されたもの)を復号する 10.復号した鍵により、サーバ証明書の暗号文を復号する となります。(間違いがある場合はご指摘下さい) では、自己署名を行う場合はどうなるのでしょうか? 単純にサーバ証明書を自分で作成すると考えてよろしいのでしょうか? CSRファイルの作成などもやはり行うのでしょうか? クライアント側の流れは変わらないのでしょうか? また、この操作は接続毎に毎回行うことになるのでしょうか? (秘密鍵、サーバ証明書は毎回変わるのでしょうか?) 初歩的な質問とは思いますが、よろしくお願いいたします。

  • クライアント証明書を必須にすると接続できない

    社内のSSL環境を構築しておりますが、私の知識不足のためになかなかうまくいきません。 申し訳ありませんが、ご教授願えますでしょうか? ---テスト環境--- サーバA:www.XXXX.co.jp (Winodws Server 2008 R2 役割:IIS7.5、AD証明書サービス(スタンダート ルートCA)) サーバB:yyy.XXXX.co.jp (Winodws Server 2008 R2 役割:IIS7.5) クライアント1:IE7(WindowsXP)、IE9(Vista):クライアント証明書あり クライアント2:IE8(WindowsXP):クライアント証明書なし ---証明書--- サーバA(ルートCA認証局) |--サーバA:サーバAルートCAでサーバ証明書発行(IIS用:サイトのバインドに設定しSSLを設定(SSL設定:SSLが必須、クライアント証明書:必須)) |--サーバB:サーバAルートCAでサーバ証明書発行(IIS用:サイトのバインドに設定しSSLを設定(SSL設定:SSLが必須、クライアント証明書:必須)) |--クライアント1:サーバAルートCAでクライアント証明書発行 ---アクセス---  クライアント1→サーバAのサイト:表示/OK(正常にサイトを確認できる)  クライアント2→サーバAのサイト:表示/NG(サイトを確認できない)クライアント証明書がないので正しい ※クライアント1→サーバBのサイト:表示/NG(403 13のエラーとなり接続できない)クライアント証明書はルートCAの証明があるのに接続できない  クライアント2→サーバBのサイト:表示/NG(サイトを確認できない)クライアント証明書がないので正しい なぜサーバBのサイトへアクセスできないのでしょうか?ルートCAの証明書は有効となっているのですが?です。 ちなみにクライアント証明書のCRLは「http://www.XXXX.co.jp/」のcrlの場所となっています。 サーバBにAD証明書サービスをインストールし既存CAにてルートCAと利用すればよいのはわかるのですが、 インストールなしでできないものでしょうか?サーバを追加するたびにクライアント証明書を要求・発行しなくてもルートで承認している クライアントから接続できないのでしょうか? 証明書の発行、考えに問題があるのか分からないのですが、なにか回答があれば助かります。

  • SSL証明書インストールの必要性

    職場のクライアントパソコンのブラウザにSSL通信用のSSL証明書を各サイトごとにインストールする作業をしております。 ふと思ったのですが、ブラウザの画面下にある鍵のマークをクリックして、インストールの作業をしておりますが、ただ通信するだけだったら何もしなくても使えると思います。わざわざサイトごとに配布している証明書をブラウザにインストールする必要性があるとしたら、どのようなことがありますでしょうか。それともこの作業はあまり意味のないことなのでしょうか。 変な質問で申し訳ありませんが、よろしくお願いします。

  • SSLについて

    教えて下さい。 クライント側でSSLを実装していても、サーバー側でSSLを実行していなければ、ネットワーク間の通信は暗号化された形式で行われないのでしょうか?

  • httpとhttpsとSSLの違い

    http は通信内容が平文でネットワークを流れる。 https は通信内容がWEBサーバとPCのブラウザ間で暗号化される。ブラウザのキャッシュが効かない。 SSL は通信内容がWEBサーバとPCのブラウザ間でSSL証明書をもって暗号化できる。httpsに追加して使える(2重に暗号化?)。httpには使えない。通信を要求するサーバが信頼できることを証明する。 と理解していますが、たぶんどれか間違っていると思います。 上記3個の違いを簡潔に教えてください。 よろしくお願いします。

  • SNI証明書の通信について

    一つのグローバルIPで複数の証明書を使えるSNI証明書というものがありますが、この場合って、ユーザのブラウザ側からの通信はホスト名に限っては暗号化されていないという認識で正しいでしょうか? 私の理解はSNIが出てくる以前で止まってます。 グローバルIP一つに対して一つの証明書しか使えないその時代の方式だと、httpdリクエストヘッダーも通信全般暗号化される方式だと理解しています。

  • 自己署名証明書(オレオレ証明書)の暗号化について

    SSL暗号化通信の仕組み自体は,下記URLの通りとして把握しております. (1*) http://www.twsvc.com/about_ssl (2*) http://www.ibm.com/developerworks/jp/websphere/library/web/web_security/pdf/2_6.pdf これを,オレオレ証明書を用いた暗号化通信で考えると,セキュリティに関する識者である高木氏は,自分の日記にて以下のように書いています. >共通鍵暗号による暗号化通信をしています。鍵は一緒に配送します。この暗号は正常に機能しているでしょうか? >「今の話は共通鍵暗号じゃなくて公開鍵暗号だろ」って? オーケー、では、次の比較に対してどう答えるか。 >1.共通鍵暗号による暗号化通信 >2.公開鍵暗号による暗号化通信で認証なし(認証検証時の警告を無視する使用形態) >3.公開鍵暗号による暗号化通信で認証あり (略) >では、1.と 2. を比べたときはどうか。「3.ほどではないが 1.よりは 2. の方がまし」と言えるだろうか? それは誤りである。 (略) >公開鍵暗号の公開鍵がいっしょに配送されている暗号化通信では、傍受点で、流れてきた鍵を、別途用意した自作鍵に差し替えて流してしまえば、それで暗号化されて戻ってくる暗号文を復号できる。 ※詳細は,高木氏の「PKIよくある勘違い(1)「オレオレ証明書でもSSLは正常に機能する」」をご参照ください. ここで,疑問になるのが,”傍受点で、流れてきた鍵を、別途用意した自作鍵に差し替えて流してしまえばいい”という点です. オレオレ証明書では,ルート証明書にたどり着けないため,ブラウザはオレオレ認証局の公開鍵をもっていない. そのため,サーバ証明書内の公開鍵を取得できない. だから,サーバ証明書送付時にオレオレ認証局の公開鍵を送付する必要がある. オレオレ認証局の公開鍵を用いて,サーバ証明書から公開鍵を抜き出す もしこのとき,オレオレ認証局の公開鍵が自作鍵に置き換えられたとしても,ただ単にサーバ証明書から公開鍵を抜き出すことができず,そこで通信が終了すれば”それで暗号化されて戻ってくる暗号文を復号できる”ことも無いように思えるのですが,いかがでしょうか. (つまり,高木氏の言う差し替えた自作鍵でサーバ証明書内の公開鍵が取得できるかどうか) これができなければ,確かに暗号化通信(というか通信そのもの)自体は破綻していますが,高木氏の懸念しているような「重要な情報の流出」にはつながらないように思えます. 乱文になってしまいまして申し訳ありません. もし,私自身に勘違いや解釈違い等ありましたら,ご指摘いただけると幸いです. よろしくお願いします.

  • 証明書サービス

    Windows 2000 Serverに証明書サービスをインストールしたいのですが、「certsrv.mscをコピーできませんでした」となりインストールできませんでした。 何故、インストール出来ないのか、どうすればインストール出来るか教えてください。 また、SSLを設定したのですが、サーバー側では問題なくWebサイトを見ることが出来るのですが、クライアント側では見ることが出来ません。 因みに、クライアント側にはウイルスバスターが入っており、セキュリティが厳しく設定されています。 こちらについても、対処法を教えてください。 よろしくお願いします。

  • ■HTTPS通信の時の証明書について。■

    <構成図> 端末PC----WAN----Server(SSL,CA,WEB) <条件> 自己認証局(CA)により、https通信を検討しています。 認証方法としては、 1.サーバ証明書を利用する(URLのSection1)方法と 2.クライアント証明書を利用する(URLのSection2)があります。 <参考URL> http://park15.wakwak.com/~unixlife/practical/openssl.html ■質問1 端末PCから、Serverに通信するとき、 1.サーバ証明書の方法ですと、端末PCにサーバ証明書を入れなくても、 警告がでるが、通信はできそうですが、 2.クライアント証明書の方法も、端末PCにクライアント証明書をいれなくても、 警告がでるが、通信はできますか? ■質問2 上記の例だと、自己認証局(CA)による<条件>ですが、 外部CA認証局を利用する場合も、 1.サーバ証明書、2.クライアント証明書の方法ともに、 警告がでるが、通信はできるのでしょうか? 宜しくお願いします。

  • SSLによる通信について

    WWWにおける、公開鍵方式による暗号化について質問です。 SSLを使ったHPでは ブラウザ→サーバー  暗号化されている サーバー→ブラウザ  ??? あるHPにおいてブラウザから個人情報を入力し、 サーバーに送信すると、SSLを使っている場合、 情報は暗号化されて送られますよね。 逆に、個人情報の変更などをする場合、サーバーに保存されてあった 個人情報が、クライアント側に送られてくるわけですが、 このときには情報は暗号化されているのでしょうか? しくみまで詳しく分かっているかた教えてください。 おねがいいたします。