HOME»基本情報技術者平成21年秋期問題»午後問4
基本情報技術者過去問題 平成21年秋期 午後問4
⇄問題文と設問を画面2分割で開く⇱問題PDF問4 情報セキュリティ
利用者認証に関する次の記述を読んで,設問1,2に答えよ。
X社では,社外の端末から社内のサーバへのリモートログインを可能にするため,利用者認証の方式を検討している。社内では,利用者IDとパスワードをサーバに送信する方式を使用しており,そのパスワードの強化を含め,次の三つの方式の安全性を検討している。
〔方式1:利用者IDとパスワード方式〕
端末は,利用者が入力した利用者IDとパスワードをサーバに送信する。サーバは利用者IDから登録されているパスワードを検索し,送信されたバスワードと照合することによって,ログインの可否を応答する。利用者IDとパスワード方式を図1に示す。〔方式2:チャレンジレスポンス方式〕
端末は,利用者が入力した利用者IDをサーバに送信する。サーバは,利用者IDを受信すると,ランダムに生成したチャレンジと呼ばれる値 c を端末に送信する。端末は,利用者が入力したパスワードpとチャレンジcから,ハッシュ値h(p,c)を計算して,レスポンスの値としてサーバに送信する。サーバは,利用者IDから登録されているパスワードpを検索し,端末と同じハッシュ関数hを使って計算したハッシュ値h(p',c)とレスポンスの値とを照合することによって,ログインの可否を応答する。ここで,ハッシュ関数hは公知のものであり,どの端末でも計算可能とする。チャレンジレスポンス方式を図2に示す。〔方式3:トークン(パスワード生成器)方式〕
利用者には,自身の利用者IDが登録されたトークンと呼ばれるパスワード生成器を配布しておく。トークンの例を図3に示す。 トークンは時計を内蔵しており,関数gを使って,利用者IDであるuと時刻tに応じたパスワードg(u,t)を生成し表示することができる。利用者は利用者IDとトークンが生成し表示したパスワードを入力し,端末はこれらをサーバに送信する。サーバは,利用者IDであるuとサーバの時刻tからトークンと同じ関数gを使って生成したパスワードg(u,t)と端末から受信したバスワードとを照合することによって,ログインの可否を応答する。
なお,トークンの時刻とサーバの時刻が同期していることは保証されており,トークンのパスワード表示からサーバにおけるパスワード生成までの遅延も,一定の時間は許容する。トークン方式を図4に示す。
X社では,社外の端末から社内のサーバへのリモートログインを可能にするため,利用者認証の方式を検討している。社内では,利用者IDとパスワードをサーバに送信する方式を使用しており,そのパスワードの強化を含め,次の三つの方式の安全性を検討している。
〔方式1:利用者IDとパスワード方式〕
端末は,利用者が入力した利用者IDとパスワードをサーバに送信する。サーバは利用者IDから登録されているパスワードを検索し,送信されたバスワードと照合することによって,ログインの可否を応答する。利用者IDとパスワード方式を図1に示す。〔方式2:チャレンジレスポンス方式〕
端末は,利用者が入力した利用者IDをサーバに送信する。サーバは,利用者IDを受信すると,ランダムに生成したチャレンジと呼ばれる値 c を端末に送信する。端末は,利用者が入力したパスワードpとチャレンジcから,ハッシュ値h(p,c)を計算して,レスポンスの値としてサーバに送信する。サーバは,利用者IDから登録されているパスワードpを検索し,端末と同じハッシュ関数hを使って計算したハッシュ値h(p',c)とレスポンスの値とを照合することによって,ログインの可否を応答する。ここで,ハッシュ関数hは公知のものであり,どの端末でも計算可能とする。チャレンジレスポンス方式を図2に示す。〔方式3:トークン(パスワード生成器)方式〕
利用者には,自身の利用者IDが登録されたトークンと呼ばれるパスワード生成器を配布しておく。トークンの例を図3に示す。 トークンは時計を内蔵しており,関数gを使って,利用者IDであるuと時刻tに応じたパスワードg(u,t)を生成し表示することができる。利用者は利用者IDとトークンが生成し表示したパスワードを入力し,端末はこれらをサーバに送信する。サーバは,利用者IDであるuとサーバの時刻tからトークンと同じ関数gを使って生成したパスワードg(u,t)と端末から受信したバスワードとを照合することによって,ログインの可否を応答する。
なお,トークンの時刻とサーバの時刻が同期していることは保証されており,トークンのパスワード表示からサーバにおけるパスワード生成までの遅延も,一定の時間は許容する。トークン方式を図4に示す。
設問1
パスワードの強度に関する次の記述中の に入れる正しい答えを,解答群の中から選べ。
方式1,2では,利用者がパスワードを設定する。これらの方式を採用する場合には,容易には推定されないパスワード,すなわち,十分な強度をもつパスワードを,利用者に設定してもらう必要がある。
パスワードの強度を高めるためには,パスワードを長くすることやパスワードに利用する文字の種類を増やすことが考えられる。例えば,英小文字26文字だけからなる8文字のパスワードに対して,総当たり方式による発見に必要な最大時間を1とすると,パスワードの長さを10文字にすれば必要な最大時間はaとなる,また,同じ8文字であっても,英大文字も使用する場合,必要な最大時間はbとなる。
方式1,2では,利用者がパスワードを設定する。これらの方式を採用する場合には,容易には推定されないパスワード,すなわち,十分な強度をもつパスワードを,利用者に設定してもらう必要がある。
パスワードの強度を高めるためには,パスワードを長くすることやパスワードに利用する文字の種類を増やすことが考えられる。例えば,英小文字26文字だけからなる8文字のパスワードに対して,総当たり方式による発見に必要な最大時間を1とすると,パスワードの長さを10文字にすれば必要な最大時間はaとなる,また,同じ8文字であっても,英大文字も使用する場合,必要な最大時間はbとなる。
a,b に関する解答群
- 1.25
- 2
- 208
- 256
- 260
- 676
- 1,024
解答選択欄
- a:
- b:
解答
- a=カ
- b=エ
解説
〔aについて〕
パスワードに使用可能な文字数が26字、パスワードの文字列長が8文字の場合、パスワードの組み合わせ数は、268個になります。同様に文字列長を10文字にすると、2610個の組合せが考えられます。
268を1として、10文字にした場合の「総当たり方式による発見に必要な最大時間」は、
2610/268=262
と計算することができ、262=676なので、aに入る数字は、676であることがわかります。
∴a=カ:676
〔bについて〕
パスワードに利用できる文字に英大文字を加えた場合、利用できる文字種が2倍の52文字になります。
これによって、同じ8文字のパスワードでも、組合せ数が"268"から"528"に増えパスワード強度が増すことになります。
利用できる文字種を52文字にしたときの「総当たり方式による発見に必要な最大時間」は、
528/268
の式で求めることができます。
これを解くと、28で、28=256なので、bに入る数値は256であることがわかります。∴b=エ:256
パスワードに使用可能な文字数が26字、パスワードの文字列長が8文字の場合、パスワードの組み合わせ数は、268個になります。同様に文字列長を10文字にすると、2610個の組合せが考えられます。
268を1として、10文字にした場合の「総当たり方式による発見に必要な最大時間」は、
2610/268=262
と計算することができ、262=676なので、aに入る数字は、676であることがわかります。
∴a=カ:676
〔bについて〕
パスワードに利用できる文字に英大文字を加えた場合、利用できる文字種が2倍の52文字になります。
これによって、同じ8文字のパスワードでも、組合せ数が"268"から"528"に増えパスワード強度が増すことになります。
利用できる文字種を52文字にしたときの「総当たり方式による発見に必要な最大時間」は、
528/268
の式で求めることができます。
これを解くと、28で、28=256なので、bに入る数値は256であることがわかります。∴b=エ:256
設問2
盗聴のリスクに関する次の記述中の に入れる正しい答えを,解答群の中から選べ。解答は,重複して選んでもよい。
利用者認証の方式によっては,不正な方法によって入手した情報(例えば利用者IDとパスワード)をそのまま利用することによって,不正ログインが行われる可能性がある。
利用者認証の方式によっては,不正な方法によって入手した情報(例えば利用者IDとパスワード)をそのまま利用することによって,不正ログインが行われる可能性がある。
- 社外からの通信経路上で通信内容が盗聴された場合,盗んだ情報をそのまま利用することによって,利用者がパスワードを変更しない限り,サーバへの不正ログインがいつでも可能になるのは,cである。ただし,通信経路は暗号化されていないものとする。
- 社外からのリモートログインに利用する端末上で,キーボード入力を読み取って,第三者に送信するプログラムが動作していた場合,盗んだ情報をそのまま利用することによって,利用者がパスワードを変更しない限り,サーバへの不正ログインがいつでも可能になるのは,dである。
- 誤って不正なサーバに接続して通常のログイン操作を行った場合,誤接続したサーバ上で端末から送信された情報が盗まれる場合がある。この盗んだ情報をそのまま利用することによって,利用者がパスワードを変更しない限り,サーバへの不正ログインがいつでも可能になるのは,eである。
c,d,e に関する解答群
- 方式1だけ
- 方式2だけ
- 方式3だけ
- 方式1,2だけ
- 方式1,3だけ
- 方式2,3だけ
- 方式1,2,3すべて
解答選択欄
- c:
- d:
- e:
解答
- c=ア
- d=エ
- e=ア
解説
3つの認証方式の利用方法を確認しながら、想定されたケースについて脆弱性があるのかどうかを確認していきます。
〔cについて〕
〔dについて〕
〔eについて〕
※1実際はハッシュ化する関数の強度が弱いと逆計算される可能性もあります。試験の前提としてハッシュ化されたデータからは、元のデータを推測できないということで考えてください。
〔cについて〕
- 方式1
- 利用者が端末に入力した利用者IDとパスワードが、サーバにそのまま送信されるので、盗聴した利用者IDおよびパスワードを端末に入力することで不正ログインすることができます。
- 方式2
- チャレンジレスポンス方式の場合、端末とサーバ間に流れる情報は、利用者IDおよびサーバから送信されたチャレンジと利用者が入力したパスワードから計算されたハッシュ値(レスポンス)の二つです。
端末に正規の利用者IDとパスワードを入力するのは方式1と同じですが、チャレンジレスポンス方式ではパスワードが直接送信されるわけではなくハッシュ値がサーバに送信されます。レスポンスからハッシュ化前のパスワードを逆計算することはほぼ不可能※1なので、レスポンスを盗聴しても不正ログインすることはできません。 - 方式3
- 端末からサーバに利用者IDとパスワードが送信されますが、このパスワードは利用者パスワードと時刻tからトークンによって生成されたものです。生成時刻が異なればトークンによって生成されるパスワードは毎回異なるものになるので、もしこのパスワードを盗聴されても不正ログインすることはできません。
〔dについて〕
- 方式1
- 端末に入力した利用者IDとパスワードの入力データを盗み、そのまま利用することで不正ログインすることができます。
- 方式2
- 盗まれたデータでも端末に入力された利用者IDとパスワードが正しいものならば、サーバのチャレンジとパスワードによって計算されるレスポンスも正しいものとなるので不正ログインすることができます。
- 方式3
- 端末に入力された利用者IDの入力データが盗まれても、トークンによって生成されるパスワードは時刻tによって毎回異なるので、トークンを所持していなければ利用者IDから正規のパスワードを生成することはできません。したがって、不正ログインすることもできません。
〔eについて〕
- 方式1
- 不正なサーバが受け取った利用者IDとパスワード情報をそのまま利用することで、正規のサーバに不正ログインすることできます。
- 方式2
- 不正サーバが受信するのは利用者IDおよびレスポンスです。レスポンスからハッシュ化前のパスワードを推測することはほぼ不可能※1なので、不正サーバが受信した情報を用いても不正ログインすることはできません。
- 方式3
- 不正サーバが受信するのは、利用者IDとトークンによって生成されたパスワードです。このパスワードは利用者IDと時刻tによって計算されるワンタイムパスワードです。もし不正サーバが受信したパスワード情報を入手しても、トークンによって生成されるパスワードは生成時刻によって毎回異なるので、不正ログインすることはできません。
※1実際はハッシュ化する関数の強度が弱いと逆計算される可能性もあります。試験の前提としてハッシュ化されたデータからは、元のデータを推測できないということで考えてください。