無料体験入学者用

本書に記載されている会社名または製品名は，一般に各社の商標または登録商標です。
なお，本書では，各社の商標または登録商標についてはおよび を明記していません。

はじめに
この問題集は，弊社刊「応用情報技術者試験対策テキストⅠ・Ⅱ・Ⅲ」の各学習項目に対応させて作成された問題集です。応用情報技術者試
験の午後試験出題範囲である各分野 ( テクノロジ系，マネジメント系，ストラテジ系 ) の問題を，広く多数掲載しています。

本書は，過去の情報処理技術者試験において出題された午後問題で構成されています。実際の応用情報技術者試験の出題形式に合わせ，テーマごとに問題を集めて掲載しています ( 出典は目次の後 )。

試験に合格するためには，テキストによる知識のインプットだけではなく，問題演習によるアウトプット(力試し)が非常に重要になります。
問題を解き，間違えた問題のジャンルについては学習しなおして再度挑戦するという学習サイクルを身に付けましょう。

本書が，応用情報技術者試験の合格のお役に立てることを願ってやみません。

TAC 情報処理講座目次問題編. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
第1章

プログラミング . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3

第2章

システムアーキテクチャ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23

第3章

データベース . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41

第4章

ネットワーク . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61

第5章

情報セキュリティ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79

第6章

情報システム開発 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115

第7章

組込みシステム開発 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 135

第8章

プロジェクトマネジメント . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 155

第9章

サービスマネジメント . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 175

第 10 章システム監査 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 193

第 11 章経営戦略と情報戦略 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 209

解答・解説編. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 229第1章

プログラミング . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 231

第2章

システムアーキテクチャ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 249

第3章

データベース . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 263

第4章

ネットワーク . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 281

第5章

情報セキュリティ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 297

第6章

情報システム開発 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 325

第7章

組込みシステム開発 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 337

第8章

プロジェクトマネジメント . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 349

第9章

サービスマネジメント . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 365

第 10 章システム監査 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 379

第 11 章経営戦略と情報戦略 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 393− ii −

出典一覧

第1章

プログラミング第7章

組込みシステム開発

問1

平成 29 年秋期本試験

問3問1

平成 30 年秋期本試験

問7問2

令和元年秋期本試験

問3問2

平成 31 年春期本試験

問7問3

平成 26 年秋期本試験

問3問3

令和 元 年秋期本試験

問7問3

問7問4

平成 30 年春期本試験問4

平成 29 年春期本試験

第2章

システムアーキテクチャ

第8章

プロジェクトマネジメント

問1

平成 26 年春期本試験

問4問1

平成 30 年春期本試験

問9問2

平成 27 年春期本試験

問4問2

令和元年秋期本試験

問9問3

平成 25 年秋期本試験

問3問3

平成 28 年春期本試験問9問4

平成 31 年春期本試験問4問4

平成 29 年秋期本試験

問9第3章

第9章

サービスマネジメント

問1

平成 30 年春期本試験

問6問1

平成 29 年春期本試験

問 10問2

平成 31 年春期本試験

問6問2

平成 26 年秋期本試験

問 10問3

平成 28 年春期本試験

問6問3

平成 31 年春期本試験

問 10問4

平成 29 年春期本試験

問6問4

平成 28 年秋期本試験

問 10

第4章

データベース

ネットワーク

第 10 章システム監査問1

平成 30 年春期本試験

問5問1

平成 28 年春期本試験

問 11問2

平成 25 年秋期本試験

問4問2

平成 31 年春期本試験

問 11問3

平成 25 年春期本試験

問5問3

平成 25 年秋期本試験

問 11

平成 31 年春期本試験

問5

問 11

問4
第5章

情報セキュリティ問4

平成 29 年春期本試験

第 11 章経営戦略と情報戦略問1

平成 29 年秋期本試験

問1

問1

平成 28 年秋期本試験

問2

問2

平成 31 年春期本試験

問1問2

平成 29 年春期本試験

問2

問3

令和 元 年秋期本試験問1

問3

平成 30 年春期本試験

問2問4

平成 25 年春期本試験

問9問4

平成 25 年春期本試験

問1問5

平成 25 年秋期本試験

問8問6

平成 26 年春期本試験問1

問7

平成 28 年秋期本試験

問1

問8

令和 2 年本試験

問1

第6章

情報システム開発

問1

平成 28 年春期本試験

問8問2

平成 29 年春期本試験

問8問3

平成 31 年春期本試験

問8問4

平成 30 年秋期本試験

問8− iii −

− iv −

第5章

情報セキュリティ

問題編問1− 80 −

第5章

− 81 −

情報セキュリティ問題編− 82 −

第5章− 83 −

情報セキュリティ

問題編

問2− 84 −第5章− 85 −

情報セキュリティ

問題編− 86 −

第5章− 87 −

情報セキュリティ

第 5 章 情報セキュリティ

解答・解説

解答・解説編

問1
解答例

設問

設問１

設問２

解答例

備考

(1)

a

販売

(2)

bア

(3)

削除された暗号化鍵で暗号化されたバックアップデータを復元できない。

(4)

会員番号となり得る全数字列を同じハッシュ関数で変換して突き合わせる。

(1)

dイ

(2)

e

意図しない宛先

cエ

設問 1
(1)
a について
空欄 a の前で「各商品開発部門の有資格者が Web 販売管理システムにログインした場合」と述べられているので，まずは Web 販売管理システムへのログインに関する記述を本文から探す。〔C 社の現状〕では，「各商品開発部門では，有資格者だけが Web 販売管理システムにログインして，販売情報を PC で閲覧したり，CSV 形式のファイルで PC に出力したりする」と述べられており，Web 販売管理システムにログインするのは販売情報を閲覧・出力するためであると判断できる。
また，〔C 社の現状〕では，販売情報は Web 販売管理システムの販売情報データベースに格納されており，顧客の会員番号をキーとしていることが述べられている。ここから，販売情報に含まれる会員番号を仮 ID に変換して提供すれば，個人情報の漏えいするおそれを減らすことができる。以上より，空欄 a には，販売を入れればよい。
(2)b について
共通鍵暗号方式の規格には，AES，Camellia，DES などがある。これらのうち，選択肢にあるのは AES（ア）のみである。
MAC（Message Authentication Code，メッセージ認証符号）：メッセージ（データ）の完全性を確認するためのデータ。共通鍵を利用して生成する
RSA：素因数分解の複雑さを利用した公開鍵暗号方式の一種
SHA（Secure Hash Algorithm）：ハッシュ関数の一種であり，SHA1 や SHA2 など，複数の種類がある− 298 −

第5章

情報セキュリティ

解答・解説

c について
空欄 c の前で「仮 ID に変換する際には，変換後の ID が衝突しないように」と述べられており，〔個人情報保護の強化〕(3) では，「会員番号を，元に戻せない仮の ID（以下，仮 ID という）に変換して」と述べられている。ここから，空欄 c には・出力値（仮 ID）から入力値（会員番号）が得られない・衝突（異なる入力値から同じ出力値が得られる現象）が発生しないという二つの特徴をもつものが入る。選択肢のうち，このような特徴をもつものは，ハッシュ関数（エ）だけである。ハッシュ関数は，・入力値のサイズによらず，一定サイズの出力値を計算する・出力値から入力値を求めることが困難である（一方向性）・異なる入力値から同じ出力値が計算されない（衝突困難性）といった性質をもつ。
(3)
下線①を含む F 部長の発言の前で，データベースの暗号化アルゴリズムには，共通鍵暗号方式の AES（空欄 b）を採用すると D 課長が発言している。共通鍵暗号方式は，暗号化に用いる暗号化鍵と復号に用いる復号鍵が同一のため，暗号化鍵を削除するということは，暗号化されたデータを復号できなくなることを意味する。
また，D 課長の発言では，データベースの暗号化に言及している。これに関する記述を探すと，〔個人情報保護の強化〕(2) で顧客情報データベースと販売情報データベースは暗号化鍵を用いて暗号化すること，及び暗号化されたデータもバックアップを行うことが述べられている。D 課長の発言によれば，古い暗号化鍵を削除するのは新しい暗号化鍵での再暗号化が完了した後なので，古い暗号化鍵を削除してもデータベースそのものが復号できなくなることはない。よって，問題があるのはバックアップしたデータを復号する場合であると判断できる。
バックアップに関する記述を探すと，〔C 社の現状〕では「C 社の方針で過去 1 年間のバックアップデータを保管している」と述べられている。これに対し，D 課長は，「暗号化鍵は四半期に 1 回変更する」と発言している。よって，古い暗号化鍵を削除して最新の鍵だけを残すような運用をすると，最大でも四半期前のバックアップデータしか復号することができず，1 年前のバックアップデータは復号できなくなる。これを防ぐためには，F 部長が発言しているように過去の暗号化鍵も含めて管理する必要がある。以上より，古い暗号化鍵を削除する運用だと起こりうる問題とは，削除された暗号化鍵で暗号化されたバックアップデータを復元できない。
である。
(4)
下線②の後で，この問題の対策として「公開しない文字列と会員番号を文字列連結した結果に対して，ハッシュ関数による変換」を行えばよいことが述べられている。会員番号は 6桁の数字列であるので，000000 〜 999999 までの 100 万通りしかないが，公開しない文字列を連結することによって入力データの種類は大幅に増加し，推測が困難になる。すなわち，この問題は入力データが推測できることによって生じると判断できる。

− 299 −

解答・解説編

ハッシュ関数は，入力データが等しければ出力されるハッシュ値も必ず等しく，入力データが異なれば出力されるハッシュ値も異なる。このため，100 万通りの会員番号と会員から求めたハッシュ値（生成される仮 ID）の組をあらかじめ用意し，それを目的の仮 ID と照合することによって，元の会員番号を特定することが可能となる。

09D3B9BCE0A1…

448372

4DA9FC5CA44C

999999

AB3F2D119E83

一致

仮ID

その他の属性

4DA9FC5CA44C…

09D3B9BCE0A1…
…

000001

Webサイト閲覧履歴や販売情報…

D232A105EB3F

…

ハッシュ値

000000

…

会員番号

…

事前に用意

元の会員番号は448372

図2

元の会員番号の特定

設問 2(1)d について
空欄 d の後に「効果がない」と述べられている。暗号化の効果がないということは，暗号化したファイルが容易に復号できてしまうと考えられる。そこで，暗号化したファイルとパスワードの両方が入手される可能性について考える。「パスワードを別メールで送付する」ということは，暗号化した加工個人情報と，それを復号するためのパスワードの両方がメールで送付されることになる。これらを不正に入手するためには，通信経路の途中で通信内容を，盗聴すればよい。
DoS 攻撃：サーバに不要な負荷をかけて，本来提供するべきサービスの提供を妨害する攻撃
パスワードリスト攻撃：他のサイトで流出したユーザ ID とパスワードをそのまま利用してログインを試みる攻撃
ブルートフォース攻撃：パスワードを総当たりで調べる攻撃(2)
e について「間違ってeにメールを送付」ということは，メールの送付先が問われていると判断できる。問題文の末尾で述べられている対策で，「有資格者だけがアクセスできるようにした」と述べられているように，加工個人情報を含むメールやパスワードを記載したメールは有資格者のみに送付すべきものである。これが間違いによって送付されるのであるから，有資格者ではない社員や外部の人間といった，本来送付すべきではない宛先にメールを送付する可能性が考えられる。これを 10 字以内で答えればよい。

− 300 −

第5章

情報セキュリティ

解答・解説

問2

設問

解答例

設問１

設問２

設問３

(1)

a(2)

ウ

(1)

ウbc

総当たり又はd

パスワードリスト

備考ア

ブルートフォース

(2)

パスワード入力試行回数の上限値の設定(1)

ハッシュ値からパスワードの割出しは難しいから

(2)

ア

設問４

他サイトから流出したパスワードによって，不正ログインされる。

設問 1
a について( ⅱ ) の所有物を基にした認証では IC カードやセキュリティトークンなどが利用されるが，このような物に該当するような選択肢はない。そこで，所有物の中に格納される情報に注目する。所有物によって利用者を認証するということは，所有物の中には利用者ごとに固有であり，かつ偽造が困難な情報が格納されているはずである。このような特性をもつ情報の一つとして，ディジタル証明書が挙げられる。
ディジタル証明書に含まれる公開鍵にはペアとなる秘密鍵が存在し，その秘密鍵はディジタル証明書の所有者本人しかもたないことが前提となる。このため，秘密鍵をもつことが証明できれば，ディジタル証明書の正当な所有者であることを証明できる。鍵ペア（ディジタル証明書と秘密鍵）を格納した IC カードを利用して，利用者を認証する例を図 1 に示す。
クライアント

ICカード
ディジタル証明書

認証サーバ
アクセス

所有者名
有効期限など

証明書要求
証明書

公開鍵
秘密鍵

暗号化

所有者名
有効期限など
公開鍵

認証用データ(乱数など)暗号化した認証用データ

図1

ディジタル証明書

IC カードを利用した認証の流れ− 301 −

復号

解答・解説編

この例では，利用者が IC カード中に格納された秘密鍵で認証用データを暗号化し，認証するサーバが暗号化された認証用データをディジタル証明書に含まれる公開鍵で復号する。両者が一致すれば，利用者は鍵ペアが格納された IC カードを所有しており，正当な利用者であるとみなすことができる。
b について( ⅲ ) の生体の特徴を基にした認証方式 ( 生体認証 ) では，指紋，虹彩，手のひらの静脈などのパターンが広く利用されている。これらのうち，選択肢にあるものは虹彩のみである。なお，動脈は静脈よりも体の内側に位置するために読み取りにくいなどの理由により，生体認証には用いられないことが一般的である。
(2)
下線①では「多数の会員獲得を目指す」と述べられているので，利用者が増えるとどのような弊害が生じるのかを考える。
( ⅱ ) によって利用者認証を行うためには，ディジタル証明書などを格納した IC カードやセキュリティトークンを，全会員に配布しなければならない。この場合，M 社にとって手間やコストが生じるだけでなく，利用者にとっても利用できるまでに時間がかかったり，登録作業や操作が煩雑になったりするため，利便性は低下する。この結果，インターネット通販で顧客が獲得できない結果が予想される。
同様に，( ⅲ ) によって利用者認証を行うためには，虹彩センサなどの生体情報を読み取るための認証デバイスが必要になる。この場合も，多数の会員獲得を目指すことを考えると，認証デバイスを配布するための手間やコストの増加，利用者の利便性の低下を引き起こす。
以上より，( ⅱ )，( ⅲ ) の方式の適用が難しいと考えられる理由はウの「利用者に認証デバイス又は認証情報を配布する必要があるから」と判断できる。

設問 2
(1)
c について項番 1 の説明にあるような「ID を固定して，パスワードに可能性のある全ての文字を組み合わせてログインを試行する」ような攻撃を総当たり攻撃又はブルートフォース攻撃という。
d について項番 5 の説明では，セキュリティ強度が低いサイトから ID とパスワードを窃取してリスト化し，その ID とパスワードの組合せをほかのサイトでそのまま利用する旨が述べられている。
このようなリスト化した ID とパスワードによって行う攻撃をパスワードリスト攻撃という。
近年，様々な Web サイトで会員登録を求められるが，その際に，ユーザ ID は利用者のメールアドレスとすることが多い。この結果，利用者 ID が様々なサイトで共通となっている。一
方，利用者もパスワードを忘れないようにするために，各サイトで同じパスワードを設定していることが多い。すると，同じ ID，パスワードで様々なサイトにアクセス可能となる。パスワードリスト攻撃は，こういった背景を巧みに利用している。

− 302 −

第5章

情報セキュリティ

解答・解説

(2)
ここでは，表 1 中の項番 1 の攻撃には有効であるが，項番 2 の攻撃には効果が期待できない対策が問われているので，まずはブルートフォース攻撃に対する対策を考える。ブルートフォース攻撃は，特定の ID に対して全ての文字の組み合わせをパスワードとして試行する攻撃である。この攻撃では，攻撃が成功するまで一つの ID に対して認証の失敗が連続するので，パスワードの入力試行回数に上限値を設定し，これを超えた場合はその ID を一時的に無効とする対策が有効となる。これをアカウント (ID) のロックアウトという。
一方，項番 2 の逆ブルートフォース攻撃 ( リバースブルートフォース攻撃 ) は，パスワードをよく利用されているもの（password，123456，qwerty など）に固定して，ID を変化させる攻撃である。この場合，1 回だけ認証に失敗した ID が多数発生することになるので，特定のIDに対してパスワードの入力試行回数に上限値を設定する対策は有効に機能しない。よって，パスワード入力試行回数の上限値の設定などのように答えればよい。

設問 3
(1)
設問で「ハッシュ関数の特性を踏まえ」て答えるよう要求されているので，まずはハッシュ関数の特性について整理する。情報セキュリティの分野で利用されるハッシュ関数には，次のような特性がある。
表2
衝突困難性

ハッシュ関数の主な特性衝突（異なる入力値から同じ出力値が得られる現象）が発生する確率が極めて低い。

一方向性

出力値（ハッシュ値）から入力値を逆算することが困難である。

下線②ではパスワードをハッシュ値に変換する旨が述べられているので，入力値はパスワードである。一方向性を考慮すると，パスワードファイルを不正に入手しても記録されたハッシュ値から元のパスワードを逆算することができないので，パスワードリスト攻撃を防げることになる。以上を制限字数内にまとめ，ハッシュ値からパスワードの割出しは難しいからなどのように表現すればよい。
(2)
下線③の前では，「レインボー攻撃によるパスワードの割出しをしにくくするために」と述べられているので，まずはレインボー攻撃の概要を問題文から確認する。すると，その前の文章で攻撃者がパスワード候補とハッシュ値の対応関係を記録した R テーブルを用意し，R テーブルから攻撃対象となるパスワードのハッシュ値を探すことがわかる。このパスワー
ド候補とハッシュ値の対応関係を表 3 に示す。表 3 からもわかるように，R テーブルに攻撃対象のハッシュ値と同じものがあれば，それに対応するパスワードは容易に得られることになる。

− 303 −

解答・解説編

表3

パスワード候補とハッシュ値の対応関係

パスワード候補

対応するハッシュ値

admin21232f297a57a5a743894a0e4a801fc3

12345

827ccb0eea8a706c4c34a16891f84e7b…

5f4dcc3b5aa765d61d8327deb882cf99…

password

注記：この対応関係は膨大な量になるため，実際のレインボー攻撃では チェーンとよばれる概念で複数の対応関係を関連づけて管理することによってテーブルの大きさを削減している。

続いて下線③の処理を確認する。下線③の直後の文章を読むと，パスワードにソルトとよばれるバイト列 ( 文字列 ) を連結してハッシュ値を求めること，ソルトとなる文字列は会員ごとに異なることがわかる。ソルトが会員ごとに異なるということは，仮に同じパスワードを設定していても登録されるハッシュは会員ごとに異なる結果となる。
表4
ID

パスワード候補とソルト及びハッシュ値の対応関係

ソルト

パスワード

ハッシュ値

user1

$AX$

admin

8a0e92eca8efdf3687aafee975b34241

user2

$fU$

admin

e993504cc80b05d891abdf37ab87b1b8

user3

$MZ$

admin

1284c6b98f2d749b54156845f693ce7f

このため，認証を行う場合は入力されたパスワードに登録されているソルトを連結した結果をハッシュ関数に入力するだけでよいが，攻撃者はソルトごとに R テーブルを用意する必要が生じてしまう。よって，アの「R テーブルの作成が難しくなるから」を選べばよい。
イ

ソルトは秘密認証情報のデータベースに登録されているので，アカウント情報が窃取されればソルトの値は判明する。

ウ

ソルトの使用に関わらず，利用するハッシュ関数は同じである。

エハッシュ関数は，いかなる入力値であっても固定長 (256 ビットなど ) のハッシュ値を出力する。

設問 4
表 1 項番 5 の説明文に注目して考えればよい。表 1 項番 5 では，パスワードリスト攻撃について説明している。パスワードリスト攻撃は，他のサイトから流出した ID，パスワードをそのまま利用して不正にアクセス攻撃である。ここでは「M 社 EC サイトで発生するリスク」が問われているので，M 社 EC サイトが不正アクセスされることを考えればよい。すなわち，会員が利用する他のサイトと M 社の EC サイトで同一のパスワードを利用していた場合，他のサイトから ID とパスワードの組合せが流出した際に，他サイトから流出したパスワードによって，不正ログインされる。というリスクが考えられる。

− 304 −