認証システム【平成22年度 秋期 基本情報技術者試験 午後 問1】

平成22年秋 基本情報技術者試験 午後 問4

問4 認証システムに関する次の記述を読んで、設問に答えよ。

 複数のクライアントと複数のアプリケーションサーバ(以下、APサーバという)が接続されているネットワークにおいて、単純な認証システムを利用する場合について、ここでは二つの問題点を取り上げる。

 ①利用者は、使用するクライアントから各APサーバにログインするごとに、利用者IDとパスワードの入力操作を行わなければならない。

 ②クライアントとAPサーバとの間の通信データの横取りと偽造によって、APサーバのサービスが不正に利用される可能性がある。

 ここで、これらの問題を改善するための認証システム(以下、新認証システムという)を考える。

 なお、ここでは、これらの問題に直接関連しない仕様については、その記述を省略する。

〔新認証システムによる問題点の解消〕

 問題点①に対しては、利用者が一度、利用者IDとパスワードをクライアントに入力して認証を受ければ、そのクライアントと各APサーバ間での認証は、利用者を介さないで済むように改善する。

 このために、チケットと呼ぶ認証データを用いる。チケットは、クライアントに対して発行され、そのクライアントは、APサーバの認証を得るとき、発行されたチケットをAPサーバに送信する

 問題点②に対しては、APサーバに送信されたチケットが、チケットの発行を受けたクライアントから送られてきたものであることを、APサーバが確認できるよう、チケットとは別に認証子と呼ぶ認証データを用いる

 図1に新認証システムの構成を示す。

f:id:aolaniengineer:20200107201416p:plain

〔新認証システムの構成と方式についての説明〕

(1)新認証システムでは、共通鍵暗号方式によって、通信データを暗号化する。以下、共通鍵を鍵という。

(2)認証サイトは、認証サーバ、鍵データベース及びチケット発行サーバで構成する。

(3)チケット発行サーバの鍵は、チケット発行サーバ自体と鍵データベースに登録されている。

(4)各APサーバの鍵は、それぞれのAPサーバ自体と鍵データベースに登録されている。

(5)利用者の鍵は、利用者のパスワードから計算して求められ、鍵データベースに登録されている。クライアントには、利用者が入力したパスワードから計算した鍵が、利用者がクライアントの利用を終了するまで、一時的に保持される。

〔認証のための通信の例〕

 図2は、利用者が、クライアントCから目的のAPサーバSにアクセスする場合の認証の流れを示す。

f:id:aolaniengineer:20200107202213p:plain

 認証は、次の3段階で行われる。ここで、enc(x)は、xを暗号化したものを表す。

 第1段階は、クライアントCがチケット発行サーバTにチケットを要求するためのチケット(以下、チケット発行サーバT用チケットという)の認証サーバAへの要求(図2中の通信①)と、その発行(図2中の通信②)である。

 通信①では、クライアントCは、次のデータを認証サーバAに送信する。

f:id:aolaniengineer:20200107202740p:plain

 通信②では、認証サーバAは、次のデータをクライアントCに応答する。

f:id:aolaniengineer:20200107202851p:plain

a:チケット発行サーバTの鍵KEYt

認証サーバAからチケット発行サーバTに、チケット発行サーバT用チケットを安全に渡して、その中に含まれるKEYctを取得してクライアントと共有します。

そのためには、チケット発行サーバTで復号できるKEYtで暗号する必要があります。

 第2段階は、クライアントCがAPサーバSにアクセスするためのチケット(以下、APサーバS用チケットという)のチケット発行サーバTへの要求(図2中の通信③)と、その発行(図2中の通信④)である。

 通信③では、クライアントCは、次のデータをチケット発行サーバTに送信する。

f:id:aolaniengineer:20200107203425p:plain

b:CーT間のセッション鍵KEYct

チケット発行サーバTでenc(TICKETct)を復号して得られたKEYctを共有した状態で、クライアント側でKEYctによりAUTHc1、IDsを暗号化します。

 チケット発行サーバTは、TICKETctを送信したのが間違いなくクライアントCであることをTICKETctとAUTHc1から確認する。確認ができたとき、通信④では、チケット発行サーバTは、次のデータをクライアントCに応答する。

f:id:aolaniengineer:20200107203451p:plain

c:APサーバSの鍵KEYs

チケット発行サーバTからAPサーバSに、APサーバS用チケットを安全に渡して、その中に含まれるKEYcsを取得してクライアントと共有します。

そのためには、APサーバSで復号できるKEYsで暗号する必要があります。

 第3段階では、APサーバS用チケットの提示である(図2中の通信⑤)。

 通信⑤では、クライアントCは、次のデータをAPサーバSに送信する。

f:id:aolaniengineer:20200107203512p:plain

d:C-S間のセッション鍵KEYcs

APサーバSでenc(TICKETcs)を復号して得られたKEYcsを共有した状態で、クライアント側でKEYcsによりAUTHc2を暗号化します。

 APサーバSは、TICKETcsを送信したのが間違いなくクライアントCであることをTICKETcsとAUTHc2から確認する。確認ができたとき、利用者は、クライアントCから、APサーバSへのアクセスが許可される。

【出典:基本情報技術者試験 平成22年度秋期午後問4(一部、加工あり)】