電子証明書の種類!sslサーバー証明書とクライアント証明書の仕組み

  • このエントリーをはてなブックマークに追加
  • Pocket
  • LINEで送る
security_02

近年、ID・パスワードだけで認証するWEBサイトに対しての、なりすまし被害が急増しています。個人向けのWEBサイトのみならず、企業が従業員向けで用意しているリモートアクセス環境にも被害が拡大中です。

そのような被害を防ぐために、電子証明書を利用する企業が増えてきています。電子証明書の代表的な種類として、sslサーバー証明書とクライアント証明書があります。こんかいは電子証明書がどういう仕組みのものなのかを説明していきます。

SSLクライアント認証

電子証明書を用いた認証というと、よく知られているのはSSLサーバー証明書のサーバー認証です。サーバー認証は、WEBサイトへアクセスしたユーザーが、正規のWEBサイトにアクセスしているかを確認するための認証です。

SSLクライアント認証とは?

SSLクライアント認証は、「サービス」を利用しようとしている「人」電(ユーザー)や「デバイス」をサーバーが認証します。リモートアクセスという場面だと、サーバーにAさんがアクセスしようとしたとき、事前に設定された範囲の機能・情報へのアクセスを許可する必要があります。このようなとき、SSLクライアント認証が使用されます。

必要な証明書の種類は4つ

つぎに、SSLクライアント認証を設置したWEBサーバーの構成に必要なものを見ていきましょう。ここでは、CentOSをWEBサーバーとしてインストールしたコンピューターにApacheを入れて使用します。

SSLクライアント認証をApacheで有効にするには、「SSLモジュール」を呼ぶソフトウェアが必要です。ここでは、「mod_ssl」を使用します。クライアント側のWEBブラウザは「Internet Explorer」(IE)を使用することとします。

これで、認証システムに必要な環境の最低限が整いました。あとは、認証に必要な証明書を用意しましょう。今回は、SSLクライアント認証と合わせて、サーバー認証も組み込みます。これらが必要になる証明書は全部で4つです。

4つの証明書とは?

まずサーバーにユーザーがアクセスしたとき、ユーザーがサーバーを認証するため、ユーザーにサーバーが送信する「SSLサーバー証明書」です。これを、WEBサーバーにインストールします。

つぎにユーザーをサーバーが認証するため、サーバーへクライアントが送信する「クライアント証明書」です。これは、クライアントのパソコンにインストールします。

残り2つは、相手からサーバー・クライアントが受信した証明書の正当性を検証するために使用されるルート証明書です。

SSLサーバー証明書・クライアント証明書は、専門の企業から購入したり、自前で構築した認証局で発行するなどすれば入手可能です。

4point

WEBブラウザで使用するSSL-VPN

暗号化通信で安全性を向上したリモートアクセスを実現させるには、いくつかの方法があります。このなかでもSSL-VPNは、ここで説明するSSLクライアント認証を使用します。ほかの認証と違い、サービスを契約したり専用の端末洋ソフトウェアを使用する必要はなく、クライアントで一般的なWEBブラウザのみで使用できるのが最大の特長です。

SSL-VPNでは、どのようなやり取りでサーバー・クライアントが通信を暗号化するかを確認しましょう。この手順を「ハンドシェークプロトコル」といいます。

ハンドシェークプロトコルの4つのステップ

ステップ1

サーバーに対し、クライアントが通信を開始します。このとき、クライアント側が「利用可能な暗号方式」「鍵交換の方法」を通知します。

ステップ2

クライアントにサーバー側が、暗号方式・鍵交換の方法を指定すると同時に、サーバー証明書を送信します。SSLクライアント認証をおこなう場合は、この段階でクライアントに対し、クライアント証明書を要求します。Apacheの初期設定だとオフになっているので、設定を変更しましょう。

ステップ3

サーバーの要求にクライアントが応答すると同時に、通信データの暗号化に使用するカギのもとになるデータを送付します。このとき、ステップ2のクライアント証明書の要求で、クライアント証明書が満たすべき公開鍵のタイプ・発行者の条件が指定されます。そのため、これをクリアするクライアント証明書を送信します。

クライアントであるIEは、サーバーにクライアント証明書を送付してもよいか、ユーザーに一度尋ねてから、承諾が得られると送信します。証明書の送信後、通信データの暗号化に使用される鍵のもとになるデータ(プレマスターシークレット)を送信します。

ステップ4

ハンドシェークは、サーバーがクライアントからの応答をすべて受信したことを通知し、終了します。

SSLサーバー証明書とクライアント証明書

SSLサーバー証明書やクライアント証明書は、「認証局ベンダー」(証明書を発行する企業)から購入できますし、自前で構築した認証局で発行することも可能です。前者を一般に「パブリック証明書」、後者を「プライベート証明書」といいます。

一般に不特定多数のユーザーが、パソコンやスマートフォンなどのさまざまなプラットフォームからアクセスする環境に設置するのがWEBサーバーです。そのため、サーバー認証に使用するSSLサーバー証明書は、このようなすべてのプラットフォームの多くのブラウザに対応しているものを使用するべきです。ようするに、多くのWEBブラウザで「安全」と認められている認証局(パブリック認証局)が発行する証明書でなくてはなりません。つまり、パブリック証明書です。

プライベート証明書

一方で、リモートアクセスするクライアントは、ユーザーが限られます。よって、かならずしもクライアント証明書はパブリック認証局の発行したものでなくても構いません。このため、独自に企業が認証局を構築し、その認証局(プライベート認証局)の発行する証明書を使用するケースも多いです。

たとえば、従業員を対象としたリモート環境で、情報システム部門の設定した運用ルールにもとづき、クライアント証明書を発行して、事前にノートパソコン・スマートフォンに証明書をインストールして使用する事例はよくあります。

秘密鍵の管理方法

公開鍵暗号方式は、秘密鍵が漏えいしないことを前提としたものです。たとえるならば、紙幣を印刷するための原版・公的機関の印鑑(公印)にあたるような重要データといえるでしょう。サーバー認証・クライアント認証の仕組みは、WEBブラウザやサーバーで、通信相手より提示された電子証明書のデジタル署名の妥当性を検証することで成立します。

秘密鍵が漏えいすると・・・

認証局の秘密鍵が万が一漏えいした場合、それ移行に偽造証明書が発行される危険性がありま、そのうえ過去にその認証局の発行したすべての認証の正当性を証明できず、信頼できなくなります(危殆化)。

そのため、シマンテックをはじめとするパブリック認証局は、秘密鍵を関する目的の施設・人員に最大限のセキュリティ対策を実施するほどです。プライベート証明書を企業で発行するようなときも、秘密鍵の漏えいは許されません。

まとめ

電子証明書の仕組みと種類についてご説明しました。ssl証明書とクライアント証明書は、企業の重要な情報を守るために重要な対策です。設定を難しいと考え、まだ実施できていない企業もありますが、企業とお客様の大切な情報を守るために必ず取り組みましょう。

  • このエントリーをはてなブックマークに追加
  • Pocket
  • LINEで送る

今、注意すべき攻撃手口はこれ!【2016年最新セキュリティ脅威レポート】 特別プレゼント

・「セキュリティ診断」で何がわかるの?
どんな危険が見つかっているの?
どんな被害が発生しているの?

もし、あした「情報漏えい事故」であなたの会社がニュースになったら?
攻撃者は、自動攻撃ツールを使って24時間365日、攻撃できるスキマを狙っています。
セキュリティ事故は、いつ起きてもおかしくありません。

【2016年最新セキュリティ脅威レポート】では、弊社が実際に疑似攻撃(ペネトレーションテスト)をおこない、検証した結果から、2016年注意すべき脆弱性・実際に多かった不備などをお伝えします。

「今、どんな被害が起きているのか?」
最新のセキュリティ脅威を知って、事故を未然に防ぎませんか?
ぜひダウンロードして、今後のセキュリティ対策にお役立てください。


【2016年最新セキュリティ脅威レポート】目次
1. おもなWebアプリケーション診断項目
2. ペネトレーションテスト内容とは?
-2015年度ペネトレーションテスト初回診断時総合評価の結果一覧
-脅威レベル深刻度別・脆弱性の該当比率一覧
3. 2015年度に多く検出された脆弱性とは?
4. ペネトレーションテストで発見した、新らなる脅威とは?
-最近また増えた、ウイルス感染配布サイト
-パケット改ざんプログラムによる被害

セキュリティレポートをダウンロードする >