Windows Server 2016 証明機関とは?

どうも、Miyaです(´_ゝ`)

最近、Office365を利用するにあたり、AD FSを認証基盤にしてADAL認証を利用するお客様が増えています。
ADAL認証の中でも、クライアントに証明書を配って、証明書認証をすることで使用デバイスを制限!ってのが人気みたいです。

証明書を配るためには、証明機関が必要です。
今回は、Windows Serverの役割の一つである証明機関サービスをご説明します。

スポンサーリンク:

証明機関とは?

そもそも証明書って?というところをよく理解しておく必要がございます。
皆さん証明書とは言えば、SSL証明書なんかをよく耳にすると思います。

インターネットを利用するにあたり、サーバーとクライアント端末の間にはパケットの通信が発生します。
近年、インターネットを利用したショッピングにクレジットカード情報や住所、氏名、電話番号が利用されるようになりました。
そのため、通信の盗聴やなりすましからこれらの個人情報を守る必要がございます。

そこで、パケットを暗号化して、データの中身を第三者から守るためにも証明書(実態は鍵)が必要になります。
SSL証明書では、共有鍵暗号方式と公開鍵暗号方式を併用したハイブリッド方式を採用しております。
GeoTrust社のSSL/TLSの仕組みについて記載したページが分かり易かったのでリンクを張っておきます。
SSL/TLSの解説と選び方まとめ

データを暗号化するにあたって、クライアント側には公開鍵を配布し、サーバー側には復号するための秘密鍵が必要になります。
これらの暗号化に必要な鍵を配布するのが証明機関の役割となります。

証明機関はWindows Serverの役割として用意されており、プライベートCA(内部CA)として利用することができるため、社内WebページのSSL化やVPN接続のための端末認証としても使えます。

証明機関の種類

まず、証明機関(以下CA)は大きくわけて、パブリックCAプライベートCAの2種類に分類されます。
証明書の用途と運用体系に合った選択をしなければなりません。

簡単に説明すると、外部内部かの違いです。

パブリックCAとは?

パブリックCAとは、外部CAのことを指します。
例えば、シマンテックグローバルサインといった企業がパブリックCAとして運営しております。

パブリックCAは、外部に対しての通信に証明書を使用するため、審査が必要になります。
審査が通れば、申請内容に沿った証明書を有償で発行します。
値段はモノによるのですが、企業が使用するモノであれば年間で数万~数十万ほど費用が掛かります。

パブリックCAの大きな利点は、多くの外部クライアントによって信頼済み証明機関として登録されていることです。
発行された証明書をサーバーにバインドしても、クライアント側で信頼されていないと、OSから「この証明機関は聞いたことないけど、大丈夫?」という旨の証明書エラーが発生します。
Windowsクライアントであれば、mmc管理コンソールかインターネットオプションから証明書ストアを覗くことができます。

InternetExplorerを起動して、右上の歯車から[インターネットオプション]をクリックします。
WindowsServerCA

[コンテンツ]タブから[証明書]をクリックします。
WindowsServerCA

証明書ストアが表示されるので、[信頼されたルート証明機関]タブへ移動します。
WindowsServerCA

ここに表示されているのは、WindowsOSが規定で信頼している証明機関一覧になります。

試しに、Microsoft社の一般サイトにバインドされているSSL証明書を覗いてみましょう。
InternetExplorerからhttps://www.microsoft.com/ja-jp/へアクセスしましょう。
WindowsServerCA

アドレスバーの右端に南京錠マークがあるので、クリックしましょう。
WindowsServerCA

次に、[証明書の表示]から詳細情報を見てみましょう。
SymantecからClass3の証明書を利用してSSL通信を実施しています。
WindowsServerCA

説明が長くなりましたが、パブリックCAのメリットは以下の通りです。

  • 多くのクライアントから信頼済み
  • 運用管理が楽ちん

逆にデメリットはやっぱりコストなどがあります。

  • 比較的高コスト
  • 証明書の発行に審査が必要

プライベートCAとは?

プライベートCAとは、パブリックCAとは対になるもので、内部CAを意味します。
つまり、イントラネットに限って使用する証明書を発行するCAになります。

一般企業では、先ほどのMicrosoftのように外部に公開しているWebサーバーにはパブリックCAから発行された証明書を使う他ありませんが、企業ポータルサイトのような社内ネットワークに限定したWebサーバーにバインドする証明書を発行する時なんかに使用できます。

仮に、内部CAを外部向けのWebサーバーにバインドしちゃうと、外部クライアントからすると「そんな証明機関しらねーよ!」ということで、証明書エラーが発生します。
その場合、外部クライアント側で”この証明機関は信頼してもいい!”って作業を手動で行わなければなりません。
勿論、内部クライアントに対しても同じように信頼設定は必要になるんですが、グループポリシーから配布することが可能ですので、ドメイン参加端末なら利用者は操作不要なんです。

また、パブリックCAとは違い、自分の手の届くところにCAがあるわけですから、柔軟な制御やカスタマイズを行う事ができます。
Windows Serverであれば、ドメイン内にCAを立てることで、自動登録や証明書のエクスポート不可などなど、さまざまな設定が変更できます。

プライベートCAのメリットは以下の通りです。

  • 証明書管理に優れた制御を提供
  • 比較的低コスト
  • 自動登録などのカスタマイズ

逆にデメリットは、やっぱり外部クライアントからの信頼設定がなされていない点ですかね~。

  • クライアントから信頼設定が必要
  • 冗長化などの運用管理が必要

両者の利点を活かしたハイブリッド方式なんてものも存在します。
ルートCAとしてパブリックCAを利用し、証明書の発行にはプライベートCAを使用します。
これにより、プライベートCAの長所を保ちながら、外部クライアントに対して証明書が発行できるという利点が生まれるわけです。

今回は、証明機関の概要の説明ですが、次回はWindows Serverを使って、プライベートCAとして証明機関を構築していきましょう。
それでは、よいWindows Serverライフをっ♪

スポンサーリンク