ネットワークスペシャリスト試験 令和4年度 春期 午後2 問1
【出典:ネットワークスペシャリスト試験 令和4年度 春期 午後2 問1(一部、加工あり)】
[SSL-VPNクライアント認証方式の検討]
P主任は、個人PCからSSL-VPN装置に接続する際のクライアント認証の利用について整理した。
- 個人PCからSSL-VPN装置に接続を行う時に利用者のクライアント証明書がSSL-VPN装置に送られ、③SSL-VPN装置はクライアント証明書を基にして接続元の身元特定を行う。K社においては、社員番号を利用者IDとしてクライアント証明書に含めることにする。
- TLSプロトコルのネゴシエーション中に、④クライアント証明書がSSL-VPN装置に送信され、SSL-VPN装置で検証される。
- ⑤SSL-VPN装置からサーバ証明書が個人PCに送られ、個人PCで検証される。
TLSプロトコルにおける鍵交換の方式には、クライアント側でランダムなプリマスタシークレットを作成して、サーバのRSA(エ:公開)鍵で暗号化してサーバに送付することで共通鍵の共有を実現する、RSA鍵交換方式がある。また、Diffie-Hellmanアルゴリズムを利用する鍵交換方式で、DH公開鍵を静的に用いる方式もある。これらの方式は、⑥秘密鍵が漏えいしてしまったときに不正に復号されてしまう通信のデータの範囲が大きいという問題があり、TLS1.3以降では利用できなくなっている。TLS1.3で規定されている鍵交換方式は、(カ)、ECDHE、PSKの3方式である。
さらにP主任は、クライアント証明書の発行に関して次のように検討した。
- クライアント証明書の発行に必要なCAを自社で構築して運用するのは手間が掛かるので、セキュリティ会社であるS社がSaaSとして提供する第三者認証局サービス(以下、CAサービスという)を利用する。
- 新しいクライアント証明書が必要なときは、利用者の公開鍵と秘密鍵を生成し、公開鍵から証明書署名要求(CSR)を作成して、CAサービスへ提出する。CAサービスは、クライアント証明書を発行してよいかどうかをK社の管理者に確認するとともに、⑦CSRの署名を検証して、クライアント証明書を発行する。
- クライアント証明書の失効が必要なときは、S社のCAサービスによって証明書失効手続を行うことによって、CAの証明書失効リストが更新される。証明書失効リストは、失効した日時と⑧クライアント証明書を一意に示す情報のリストになっている。
下線③について、クライアント証明書で送信元の身元を一意に特定できる理由を、”秘密鍵”という用語を用いて40字以内で述べよ。:クライアント証明書の公開鍵に対する秘密鍵は本人しか保有していないから
「個人PCからSSL-VPN装置に接続を行う時に利用者のクライアント証明書がSSL-VPN装置に送られ、③SSL-VPN装置はクライアント証明書を基にして接続元の身元特定を行う。」
クライアント証明書はクライアントからネットワーク上に送信されるもので、入手しようと思えば簡単に入手でき、なりすますことが可能です。
そこで、クライアント証明書が正規の本人であることを証明するために、本人しか持っていない秘密鍵を使います。
具体的には、個人PCでは送信するメッセージのハッシュ値を、本人の秘密鍵で暗号化して送信します。
これを受信したSSL-VPN装置は、クライアント証明書内のクライアントの公開鍵を使って復号します。
SSL-VPN装置は、メッセージのハッシュ値を自ら計算し、復号したハッシュ値と比較して一致すれば、クライアントが秘密鍵を持っている本人であることを確認できます。
下線④について、クライアント証明書の検証のために、あらかじめSSL-VPN装置にインストールしておくべき情報を答えよ。:CAのルート証明書
「TLSプロトコルのネゴシエーション中に、④クライアント証明書がSSL-VPN装置に送信され、SSL-VPN装置で検証される。」
クライアント証明書の検証は、以下の流れで行われます。
- 個人PCで、クライアント証明書をハッシュしたハッシュ値を、CAの秘密鍵で暗号化してデジタル署名を生成する。
- 個人PCから、クライアント証明書とデジタル署名をSSL-VPN装置に送信する。
- SSL-VPN装置で、クライアント証明書をハッシュしたハッシュ値と、デジタル署名をCAの公開鍵で復号したハッシュ値を比較する。
両者が一致すれば、クライアントが正規のものであると確認できる。
したがって、SSL-VPN装置ではCAの公開鍵が必要であり、これはCAのルート証明書の中にあってあらかじめインストールしておく必要があります。
下線⑤について、検証によって低減できるリスクを、35字以内で答えよ。:なりすまされたSSL-VPN装置へ接続してしまうリスク
「⑤SSL-VPN装置からサーバ証明書が個人PCに送られ、個人PCで検証される。」
サーバ証明書を送る目的は、クライアントが接続するサーバ自身が正当な装置であることを証明するためです。
したがって、個人PCでサーバ証明書を検証することで、なりすましによる不正なSSL-VPN装置へ接続することを防止できます。
下線⑥について、TLS1.3で規定されている鍵交換方式に比べて、広く復号されてしまう通信の範囲に含まれるデータは何か。”秘密鍵”と”漏えい”という用語を用いて、25字以内で答えよ。:秘密鍵が漏えいする前に行われた通信のデータ
「これらの方式は、⑥秘密鍵が漏えいしてしまったときに不正に復号されてしまう通信のデータの範囲が大きいという問題があり、TLS1.3以降では利用できなくなっている。」
これらの方式(鍵交換の方式としてプリマスタシークレットを基に共通鍵を生成する方式と、Diffie-Hellmanアルゴリズムを用いて共通鍵を生成する方式)と、TLS1.3以降の方式の違いは、PFSというキーワードにあります。
PFS(Perfect Forward Secrecy 完全前方秘匿性)とは、将来、サーバ証明書の秘密鍵が漏えいしたとしても、過去の通信内容まで解読されることはないようにすることです。
これを実現する方法として、鍵の基データは毎回違うものを使う方法があり、TLS1.3ではこの方法が採用されています。
PFSに対応していない方式の場合、解読できない通信データを保管しておき、秘密鍵が入手できた時点で保管した過去データまでも解読できてしまいます。
設問の「広く復号されてしまう通信の範囲に含まれるデータ」というのが分かりづらいですが、秘密鍵が漏えいする以前に行われた通信データということになるでしょう。
カ:DHE
「TLS1.3で規定されている鍵交換方式は、(カ)、ECDHE、PSKの3方式である。」
知識問題ですので、覚えてしまいましょう。
TLS1.3の鍵交換方式は、DHE、ECDHE、PSKの3方式です。
- DHE(Ephemeral Diffie-Hellman):DH(Deffie-Hellman)の方式をベースに、公開鍵と秘密鍵を毎回生成(Ephemeral:一時的という意味)することとし、これを基に共通鍵を共有する方式で、PFSに対応している。
- ECDHE(Ephemeral Elliptic Curve Diffie-Hellman):ECDH(楕円曲線暗号を使うDH)の方式をベースに、公開鍵と秘密鍵を毎回生成することとし、これを基に共通鍵を共有する方式で、PFSに対応している。
- PSK(Pre Shared Key):事前共有鍵を共有する方式。
下線⑦について、利用者がCAサービスにCSRを提出するときに署名に用いる鍵は何か。また、CAサービスがCSRの署名の検証に用いる鍵は何か。本文中の用語を用いてそれぞれ答えよ。:(署名に用いる鍵)利用者の秘密鍵、(署名の検証に用いる鍵)利用者の公開鍵
「CAサービスは、クライアント証明書を発行してよいかどうかをK社の管理者に確認するとともに、⑦CSRの署名を検証して、クライアント証明書を発行する。」
CAサービスが行うCSRの署名の検証は何のために行うのか、それは、CSRが正当な利用者のものであるかどうかと、CSRが改ざんされていないかどうかです。
署名する側では秘密鍵を使用し、検証する側では公開鍵を使用します。
したがって、利用者では自身の秘密鍵で署名し、CAサービスでは利用者の公開鍵で検証します。
下線⑧について、証明書失効リストに含まれる、証明書を一意に識別することができる情報は何か。その名称を答えよ。:シリアル番号
「証明書失効リストは、失効した日時と⑧クライアント証明書を一意に示す情報のリストになっている。」
証明書失効リスト(CRL(Certificate Revocation List))とは、証明書が有効期限内であっても、利用者の都合やセキュリティ事故などによって、無効として扱われる証明書のリストのことです。
クライアント証明書を一意に示す情報は、シリアル番号になります。