平成25年度 春期 基本情報技術者試験 問21−40 解答編




このページは

基本情報

(基本情報技術者試験)

解答と解説のページです。

問題だけで勉強したい方は目次へ戻ってください




問21 次の仕様のバックアップシステムにおいて、金曜日に変更されたデータの増分バックアップを取得した直後に磁気ディスクが故障した。修理が完了した後、データを復元するのに必要となる時間は何秒か。ここで、増分バックアップは直前に行ったバックアップとの差分だけをバックアップする方式であり、金曜日に変更されたデータの増分バックアップを取得した磁気テープは取り付けられた状態であって、リストア時には磁気テープを1本ごとに取り替える必要がある。また、次の仕様に示された以外の時間は無視する。

画像(問21)を表示できません
1,250
1,450
1,750
1,850
解答
解説 まずは、バックアップされているデータを求めます。

フルバックアップ分:
100Gバイト

差分バックアップ分:
5Gバイト(月曜日分)
5Gバイト(火曜日分)
5Gバイト(水曜日分)
5Gバイト(木曜日分)
5Gバイト(金曜日分)

次に、手順をバックアップの手順を考えます。
テープの切り替え→フルバックアップ→テープの切り替え→月曜日分のバックアップ→テープの切り替え→火曜日分のバックアップ→テープの切り替え→水曜日分のバックアップ→テープの切り替え→木曜日分のバックアップ→テープの切り替え→金曜日分のバックアップ

これを、時間に直すと以下のようになります。(各曜日の分はまとめて計算します)
100秒+100G×10秒+(100秒+5G×10)×5=1100+750秒=1850秒となります。

問22 ホワイトボックステストにおいて、コード中のどれだけの割合の部分を実行できたかを評価するのに使うものはどれか。
アサーションチェッカ
シミュレータ
静的コード解析
テストカバレージ分析
解答
解説 まず、ブラックボックステストとホワイトボックステストについて以下にまとめます。

ホワイトボックステストは、内部構造に着目し論理がきちんとできているかを調べるテスト。単体テストなどに用いられ、条件網羅率などを調べる。
ブラックボックステストは、入力と出力の関係が仕様書通りにできているかを調べるテスト。結合テストなどに用いられ、限界値分析、同値分析などを行う。

次に選択肢のツールについてまとめます。
アサーションチェッカ:assert(条件)などをプログラムに埋め込んでおき、条件が真あるいは偽の場合に停止するツールや関数
シュミレータ:仮想的な環境で、模擬的にプログラムを実行して動作を確認するツール
静的コード解析:プログラムを動作させずに、ソースコードに対してツールを実行し、ヌルポインタの可能性などのシステムの脆弱性を見つけ出すツール
テストカバレージ分析:ホワイトボックステストにおいて、テストプログラムがどの程度テスト対象のプログラムの処理を網羅したかを分析すること

問23 DRAMの特徴はどれか。
書込み及び消去を一括又はブロック単位で行う。
データを保持するためのリフレッシュ操作又はアクセス操作が不要である。
電源が遮断された状態でも、記憶した情報を保持することができる。
メモリセル構造が単純なので高集積化することができ、ビット単価を安くできる。
解答
解説 DRAM(Dynamic Random Access Memory)は、コンデンサというものに電荷が蓄えられているかどうかで、1ビットの情報を保持します。そのため、このコンデンサの電荷が失われないようにするため、常に一定時間ごとに電荷の再充電が必要となり、このために、リフレッシュと呼ばれるアクセス操作が必要となります。

DRAMとSRAMの違いを以下にまとめます。
SRAM:容量は小さいが高速。リフレッシュがいらず消費電力も小さい。比較的高価。主にフリップフロップで構成され、キャッシュメモリに利用される。
DRAM:容量は大きいが低速。リフレッシュが必要で消費電力が大きい。比較的安価。主にトランジスタとコンデンサで構成され、主記憶に利用される。

問24 図の論理回路と等価な回路はどれか。

画像(問24)を表示できません
画像(問24ans)を表示できません
解答
解説 論理式にするよりも、真理値表を書く方が簡単に答えを求めることができます。以下に真理値表をまとめます。

画像(問24kai)を表示できません

出力YはAとBが等しくないときだけ出力があるので、排他的論理和であるといえます。

問25 3次元グラフィックス処理におけるクリッピングの説明はどれか。
CG映像作成における最終段階として、物体のデータをディスプレイに描画できるように映像化する処理である。
画像表示領域にウィンドウを定義し、ウィンドウの外側を除去し、内側の見える部分だけを取り出す処理である。
スクリーンの画素数が有限なので図形の境界近くに生じる、階段状のギザギザを目立たなくする処理である。
立体感を生じさせるために、物体の表面に陰影を付ける処理である。
解答
解説 3Dグラフィックスの代表的な用語をまとめます。

アンチエイリアシング:黒と白の間にグレーを挟むような技術で、色が極端に変化する部分を目立たなくします。
(極端に色が変化してギザギザになることをジャギーといいます。)
レイトレーシング:光源からの光線の経路を計算することで光の反射や透過などを表現し、物体の形状を描画する。
レンダリング:実際に画面に表示される画素や色を計算し、描画すること。
テクスチャマッピング:モデリングされた物体の表面に柄や模様などをはり付ける処理。
ブレンディング:半透明な画像を重ね合わせて表現する技術です。
メタボール:物体を球やだ円体の集合として擬似的にモデル化する。
ラジオシティ:光の相互反射を利用して物体表面の光エネルギーを算出することで、表面の明るさを決定する。
クリッピング:画面に見えている部分だけの計算をすることで、高速化をすることです。
シェーディング:光源の位置と角度を計算することで、影をつける技術です。
モーフィング:動画において、画像と画像の中間をいれることで、滑らかに変化しているように見せる技術です。

他の選択肢は以下のようになります。
選択肢ア:レンダリング
選択肢ウ:アンチエイジング
選択肢エ:シェーディング

問26 UMLを用いて表した図のデータモデルに対する多重度の説明のうち、適切なものはどれか。

画像(問26)を表示できません
社員が複数のプロジェクトに参画する場合は、全て同じ役割分担となる。
社員は、同じプロジェクトに異なる役割分担で参画することができる。
社員は、一つ以上のプロジェクトに参画している。
社員は、複数の部門に所属することができる。
解答
解説 それぞれの選択肢を順に見ていきます。

選択肢ア:社員とプロジェクト内役割分担は、プロジェクト参画を挟んで多対多の関係なので、異なる役割分担が可能です。
選択肢イ:社員とプロジェクト内役割分担は、プロジェクト参画を挟んで多対多の関係なので、異なる役割分担が可能です。(正解)
選択肢ウ:プロジェクト参画は0以上なので、0(プロジェクトに参画していない)ということもありえます。
選択肢エ:社員と部門は多対1なので、社員が所属できる部門は1つだけとなります。

問27 列A1〜A5から成るR表に対する次のSQL文は、関係代数のどの演算に対応するか。

SELECT A1,A2,A3 FROM R WHERE A4=’a’
結合と射影
差と選択
選択と射影
和と射影
解答
解説 まず、それぞれの関係演算の処理を以下にまとめます。

結合:複数の表を合わせる演算
選択:条件を満たす行を取り出す演算
射影:条件を満たす列を取り出す演算
直積:項目の組合せ処理を行う演算

具体的にはSELECTで列をとりだす作業が射影。WHEREで行を取り出す作業が選択となります。

問28 “中間テスト”表からクラスごと、教科ごとの平均点を求め、クラス名、教科名の昇順に表示するSQL文中のaに入れるべき字句はどれか。

中間テスト(クラス名,教科名,学生番号,名前,点数)

【SQL文】
SELECT クラス名,教科名,AVG(点数) AS 平均点 FROM 中間テスト 【 a 】
GROUP BY クラス,教科名 ORDER BY クラス名,AVG(点数)
GROUP BY クラス,教科名 ORDER BY クラス名,教科名
GROUP BY クラス,教科名,学生番号 ORDER BY クラス名,教科名,平均点
GROUP BY クラス,平均点 ORDER BY クラス名,教科名
解答
解説 GROUP BY句は、要素をグループ化するために利用されます。通常はグループする場合に利用するのですが、AVG(XXX)のように集合演算を列に対して行った場合は、SELECT句で指定するその他の列をGROUP BY句で指定しなければなりません。ORDER BY句は、並び替えを行う命令で、列とASC(昇順)かDESC(降順)を指定します。(指定がない場合はASCがデフォルト)

今回は、問題分からクラス名と教科名を昇順に並び替えるため、ORDER BY句 クラス名、教科名を指定します。

問29 “BOOKS”表から署名に“UNIX”を含む行を全て探すために次のSQL文を用いる。aに指定する文字列として、適切なものはどれか。ここで、書名は“BOOKS”表の“書名”列に格納されている。

SELECT * FROM BOOKS WHERE 書名 LIKE ’【 a 】’
%UNIX
%UNIX%
UNIX
UNIX%
解答
解説 SQL文はの文字の比較は「=」ではなく「LIKE」で比較を行います。その際には「%や*」任意の文字列と「?や_」任意の1文字の文字列といったワイルドカードを利用することができます。
問題文では、UNIXを含むコードなので、先頭と末尾に%を付けて、任意の文字列が入ってもマッチングするようにしています。

選択肢アでは、UNIXで終わる文字列しか検出できません。
選択肢ウでは、UNIXと完全に一致する文字列しか検出できません。 選択肢エでは、UNIXで始まる文字列しか検出できません。

問30 データベースの排他制御のロック獲得の可能性のうち、適切なものはどれか。
あるトランザクションが共有ロックを獲得している資源に対して、別のトランザクションが共有ロックを獲得することは可能である。
あるトランザクションが共有ロックを獲得している資源に対して、別のトランザクションが専有ロックを獲得することは可能である。
あるトランザクションが専有ロックを獲得している資源に対して、別のトランザクションが共有ロックを獲得することは可能である。
あるトランザクションが専有ロックを獲得している資源に対して、別のトランザクションが専有ロックを獲得することは可能である。
解答
解説 ロックには以下に2種類があります。
占有ロック:他のプロセスからは一切アクセスできなくする
共有ロック:他のプロセスから参照のみ許可する。

共有ロックの資源に対して、共有ロックは可能ですが、その他の共有ロックに占有ロック、占有ロックに共有ロック、占有ロックに占有ロックは整合性の問題から不可能です。

しかし、互いにロックをしたまま次の資源に要求をすると、互いに処理が進まなくなる現象が発生します。
これをデッドロックといいます。デッドロックの例を下に示します。

画像デッドロックを表示できません


問31 IPv4アドレス表記として、正しくないものはどれか。
10.0.0.0
10.10.10.256
192.168.0.1
24.0.1.1
解答
解説 IPv4は2進数8桁を.で区切り10進数で表現します。つまり、0.0.0.0から255.255.255.255までが適切なIPアドレスといえます。そのため、256が使われている選択肢イは不適切なIPアドレスとなります。

問32 本社と工場との間を専用線で接続してデータを伝送するシステムがある。このシステムでは2,000バイト/件の伝票データを2件ずつまとめ、それに400バイトのヘッダ情報を付加して送っている。伝票データは、1時間に平均100,000件発生している。回線速度を1Mビット/秒としたとき、回線利用率はおよそ何%か。
6.1
44
49
53
解答
解説 まず、送信するデータ量を考えます。送信データ1組は2,000バイトのデータ×2+400バイト=4,400バイトとなります。これを100,000/2で50,000送信するため、4,400×50,000=220,000,000=220Mバイトとなります。これは1時間当たりの情報量なので1秒当たりにするために、3600秒で割りバイトとビットを変換するために8を掛けます。

よって送信されるデータは、220M/3600×8=220M/450≒0.49Mビット/秒となります。
一方で回線は1Mなので、0.49M/1Mで使用率は49%といえます。

問33 OSI基本参照モデルにおけるネットワーク層の説明として、適切なものはどれか。
エンドシステム間のデータ伝送を実現するために、ルーティングや中継などを行う。
各層のうち、最も利用者に近い部分であり、ファイル転送や電子メールなどの機能が実現されている。
物理的な通信媒体の特性の差を吸収し、上位の層に透過的な伝送路を提供する。
隣接ノード間の伝送制御手順(誤り検出、再送制御など)を提供する。
解答
解説 OSI基本参照モデルと対応するネットワーク機器をまとめると以下のようになります。

OSI基本参照モデルを表示できません

他の選択肢は以下のとおりです。 選択肢イは、アプリケーション層
選択肢ウは、物理層
選択肢エは、データリンク層

問34 LANに接続されている複数のPCを、FTTHを使ってインターネットに接続するシステムがあり、装置AのWAN側インタフェースには1個のグローバルIPアドレスが割り当てられている。この1個のグローバルIPアドレスを使って複数のPCがインターネットを利用するのに必要となる装置Aの機能はどれか。

画像(問34)を表示できません
DHCP
NAPT(IPマスカレード)
PPPoE
パケットフィルタリング
解答
解説 それぞれの用語を以下にまとめます。

DHCP(Dynamic Host Configuration Protocol):動的にIPアドレスを割り当てや設定を行うプロトコルです。
NAPT( Network Address Port Translation):IPとポート番号をを組み合わせて、1つのグローバルIPアドレスと複数のプライベートIPアドレスを相互変換するものです。
PPPoE(Point to Point Protocol over Ethernet):PPP(2点間通信のプロトコル)をLNAの規格であるEthernetに拡張したものです。ADSLに応用されています。
パケットフィルタリング:ルータやファイアウォールで提供される機能で、ルールに従ってパケットを通すか通さないを決める機能です。

問35 TCP/IPのネットワークにおいて、TCPコネクションを識別するために必要な情報の組合せはどれか。ここで、必要な情報は“○”で表し、不要な情報は“×”で表す。
画像(問35ans)を表示できません
解答
解説 まず、MACアドレス、IPアドレス、ポート番号とOSI基本参照モデルの関係を以下にまとめます。

OSI基本参照モデルを表示できません

TCPコネクションはその名前のとおり、TCPポートとホストを表すIPアドレスを使って通信を行います。MACアドレスは、IPアドレスがあればホストを特定できるので不要です。

問36 UDPを使用しているものはどれか。
FTP
NTP
POP3
TELNET
解答
解説 まず、TCPとUDPの違いについてまとめます。

TCP(Transmission Control Protocol):コネクション型で、信頼性を保証する分、UDPより遅い。インターネットで一般的に利用されている。
UDP(User Datagram Protocol):コネクションレス型で、信頼性は保証されない分高速に通信ができる。多少の誤りが許される場合や、自分自身でプログラムするときなどに用いられることが多い。

よって、選択肢の中でコネクションレスな通信を選ぶとNTPであることが分かります。

問37 手順に示す処理を実施したとき、メッセージの改ざんの検知の他に、受信者Bがセキュリティ上できることはどれか。

【手順】
送信者Aの処理
(1) メッセージから、ハッシュ関数を使ってダイジェストを作成する。
(2) 秘密に保持していた自分の署名生成鍵を用いて、(1)で生成したダイジェストからメッセージの署名を生成する。
(3) メッセージと、(2)で生成したデータを受信者Bに送信する。

受信者Bの処理
(4) 受信したメッセージから、ハッシュ関数を使ってダイジェストを生成する。
(5) 受信したデータ、(4)で生成したダイジェスト及び送信者Aの署名検証鍵を用いて、署名を検証する。
メッセージが送信者Aからのものであることの確認
メッセージの改ざん部位の特定
メッセージの盗聴の検知
メッセージの漏えいの防止
解答
解説 メッセージダイジェストとディジタル署名を利用した認証について問題文の内容を下図にまとめます。

メッセージダイジェストを表示できません

@により、本人の確認ができます。
Aにより、改ざんの検出ができます。
ただし、改ざんの場所までは特定できません。

問38 手順に示すセキュリティ攻撃はどれか。

【手順】
(1) 攻撃者が金融機関の偽のWebサイトを用意する。
(2) 金融機関の社員を装って、偽のWebサイトへ誘導するURLを本文中に含めた電子メールを送信する。
(3) 電子メールの送信者が、その電子メールを信用して本文中のURLをクリックすると、偽のWebサイトに誘導される。
(4) 偽のWebサイトとは気付かずに認証情報を入力すると、その情報が攻撃者に渡る。
DDoS攻撃
フィッシング
ボット
メールヘッダインジェクション
解答
解説 それぞれの用語を以下にまとめます。

DDoS攻撃:インターネット上の多数のコンピュータから、公開しているサーバに一斉にパケットが送りつけ、サーバのサービスを妨害する攻撃です。
フィッシング:偽者のWebページに誘い出し、個人情報を入力させ盗む行為です。
ボット:ネットワークを介して、他人のPCを自由に操ったり、パスワードなど重要な情報を盗んだりするプログラムです。
メールヘッダインジェクション:Webサイトからのメールを送る仕組みなどにおいて、メールのヘッダ部分を操作し、迷惑メールを送る行為です。

問39 Xさんは、Yさんにインターネットを使って電子メールを送ろうとしている。電子メールの内容を秘密にする必要があるので、公開鍵暗号方式を使って暗号化して送信したい。電子メールの内容を暗号化するのに使用する鍵はどれか。
Xさんの公開鍵
Xさんの秘密鍵
Yさんの公開鍵
Yさんの秘密鍵
解答
解説 まず、暗号技術はいかのように、暗号鍵と復号鍵を利用します。この暗号鍵と復号鍵が同じものを利用する形式を共通鍵暗号方式、異なるものを利用する形式を公開鍵暗号方式といいます。

暗号を表示できません

共通鍵暗号方式は、暗号強度が弱く、鍵の管理が大変ですが、処理が高速という特徴があります。代表的なものにDES、AES(Rijndael)があります。
公開鍵暗号方式は、暗号強度が強く、鍵の管理が容易ですが、処理に時間がかかるという特徴があります。代表的なものに、RSA、ElGamal暗号があります。

公開鍵暗号方式は、受信者の公開鍵で暗号化し、受信者の秘密かぎで復号化することで実現します。
また、本人確認もできるディジタル署名は、これの逆の過程をたどり送信者の秘密かぎで暗号化し、送信者の公開かぎで復号化します。

問40 SQLインジェクション攻撃を防ぐ方法はどれか。
入力中の文字がデータベースへの問合せや操作において、特別な意味をもつ文字として解釈されないようにする。
入力にHTMLタグが含まれていたら、HTMLタグとして解釈されない他の文字列に置き換える。
入力に、上位ディレクトリを指定する文字列(../)を含むときは受け付けない。
入力の全体の長さが制限を超えているときは受け付けない。
解答
解説 SQLインジェクションとは、Webアプリケーションの入力データとしてデータベースへの命令文を構成するデータを入力し、想定外のSQL文を実行することです。これにより、管理者が表示させたくない情報が流出してしまう可能性があります。そのため、外部からの値を利用する場合には、値がフォーマット通りになっているかの入力検証やSQLの特殊な文字を解釈されないようにサニタイジングと呼ばれる無効化処理をする必要があります。

他の選択肢は以下のような攻撃の対策です。
選択肢イ:クロスサイトスクリプティングの対策
選択肢ウ:パストラバーサルの対策
選択肢エ:バッファオーバフローの対策