証明書ってよく聞くけどなんのこと??
習ったことないし、対応できるか不安だな…
証明書はあまり資格で学習する内容じゃないからあまり馴染みがない人が多いよね。そんな人のために最低限押さえておくべきポイントを解説するよ
押さえておくべき用語
証明書関連を扱うにはまず以下の用語・概念を覚えましょう。
証明書は階層構造となっています。
上位の証明書が次の証明書に署名し、それがその次の証明書に署名し、、、という連鎖によって成り立つ構造です。
その階層それぞれの証明書に名称があります。
階層構造の最上位に位置する証明書。
PCのOSやブラウザにデフォルトでインストールされるのが一般的。
(代表的な認証局の証明書がデフォルトでインストールされる)
基本は更新しないため、期限がかなり長い。
階層構造で説明したように、他の証明書に署名するため、他の証明書の信頼性を確立する役割をもつ。
サーバ証明書に署名を行う証明書。
ルート証明書と違い、期限は短くできるので、ルート証明書の失効リスクを低減できる。
使用しないと、ルート証明書が署名したサーバ証明書が膨大になり、ルート証明書失効時の影響が拡大する。
サーバに適用する証明書。
通信先のサーバが証明書記載のドメイン名と一致していることを担保する証明書。そのため、サーバ証明書がある=確実に安全 というわけではない。
認証サーバがクライアントを識別・認証するための証明書。
ユーザのデバイスにインストールし、ユーザが正規であることを証明するために使用される。
例えばWi-Fi使用時の認証などに使用されることがある。
証明書とは
証明書とはSSL/TLS技術により認証局(CA)が発行する電子証明書のことです。
これを導入することにより、通信データの暗号化や、通信先が偽サイトなどでないこと(=安全性)の証明が可能になります。
暗号化に関しては以下の記事で紹介したVPNでも使用されています。
証明書を使用した通信の流れ
ここまでで、証明書関連で押さえるべき用語を理解しました。
次のステップでは、実際にどのような流れで証明書が使用されていくか紹介します。
PCからWebサーバへの接続
①サーバへサーバ証明書、中間証明書をインストール
②PC→サーバへの通信発生
③サーバからPCへサーバ証明書を送信
④PCによるサーバ証明書の確認
→サーバ証明書が中間証明書によって署名/中間証明書がルート証明書によって署名されているかの確認
クライアントから社内NWへのアクセス
①クライアント証明書を端末(PC/スマートフォン等)にインストール
②端末から社内NWへアクセス
③アクセス時にクライアント証明書を提示
④サーバ側で証明書の有効性を確認し、アクセス許可を判断
まとめ
今回は証明書を理解するために必要な用語と、実際の通信のフローを確認しました。
基礎的な内容になるので、実践的ではありませんが、実際に構築する際は、これらの知識を前提として構築する必要があります。
まずは基礎知識として、今回紹介した用語はしっかり頭に叩き込むようにしましょう。