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




このページは

基本情報

(基本情報技術者試験)

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

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




問21 ソフトウェアの統合開発環境として提供されているOSSはどれか。
Eclipse
GCC
Linux
Tomcat
解答
解説 一般的にOSS(オープンソースソフトウェア)はOSI(Open Source Initiative)が定義したOSD(The Open Source Definition)の以下の10個の条件を満たしたものをさします。

1. 自由な再頒布ができること
2. ソースコードを入手できること
3. 派生物が存在でき、派生物に同じライセンスを適用できること
4. 差分情報の配布を認める場合には、同一性の保持を要求してもかまわない
5. 個人やグループを差別しないこと
6. 適用領域に基づいた差別をしないこと
7. 再配布において追加ライセンスを必要としないこと
8. 特定製品に依存しないこと
9. 同じ媒体で配布される他のソフトウェアを制限しないこと
10. 技術的な中立を保っていること

なお、著作権は放棄されておらず、著作権が放棄されたソフトをパブリックドメインソフトといいます。さらに無償である義務もありません。 条件5、6により制限的な配布はできません。それぞれの選択肢について順に見ていきます。

それぞれの選択肢のツールについて順に見ていきます。 Eclipse:Javaで記述されている主にJavaの統合開発環境で、オープンソースで公開されている。多数のプラグインが作成・公開されている。
GCC:GNUのC言語用のコンパイラで、GPLで配布が認められている。
Linux:C言語をベースとしたOSで、GPLで配布が認められている。
Tomcat:Apache財団のトップレベルプロジェクトのWebサーバ。Apacheライセンス2.0で配布が認められている。

問22 NAND素子を用いた次の組合せ回路の出力Zを表す式はどれか。ここで、論理式中の“・”は論理積、“+”は論理和、“”はXの否定を表す。

画像(問22)を表示できません
X・Y
X+Y
X・Y
X+Y
解答
解説 順番に論理式を計算していきます。

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

なお、NANDのように1つの演算子でAND、OR、NOTを作れるような演算子を最小万能演算子といいます。

問23 二つの安定状態をもつ順序回路はどれか。
NANDゲート
加算器
コンデンサ
フリップフロップ
解答
解説 それぞれの用語を以下にまとめます。

NANDゲート:NAND回路ともいい、入力がすべて1だった場合に0。その他は1を出力する回路です。
加算器:入力の1の数を加算する回路で、下位からの繰り上がりを考慮しない半加算器と下位からの繰り上がりを考慮する全加算器があります。
コンデンサ:電荷(電気)を一時的に蓄えておく電気部品です。
フリップフロップ:以下のように、出力を入力にフィードバックすることで、1ビットの情報を保持する回路です。

フリップフロップを表示できません

問24 Webページのスタイルを定義する仕組みはどれか。
CMS
CSS
PNG
SVG
解答
解説 それぞれの用語を以下にまとめます。

CMS(Contents Management System):Web上のデジタルコンテンツを統合的、一元的に管理し、配信などを行うシステム
CSS(Cascading Style Sheets):HTML等で記述されたページを装飾するために用いられる仕様
PNG:劣化の少ない可逆圧縮の画像フォーマット
SVG(Scalable Vector Graphics):XMLベースのベクター画像言語

問25 ある企業では、顧客マスタファイル、商品マスタファイル、担当者マスタファイル及び当月受注ファイルを基にして、月次で受注実績を把握している。各ファイルの項目が表のとおりであるとき、これら四つのファイルを使用して当月分と直前の3か月分の出力が可能な受注実績はどれか。

画像(問25)を表示できません
顧客別の商品別受注実績
商品別の顧客別受注実績
商品別の担当者別受注実績
担当者別の顧客別受注実績
解答
解説 各顧客の担当者は1人なので、、担当者と顧客は1対多で結合されています。顧客マスタファイルには、3か月分のデータがあるので、担当者別の顧客別受注実績は計算することができます。商品コードが当月受注ファイルにしかないので、商品別の処理を3ヶ月前までさかのぼることはできません。

問26 E−R図の説明のうち、適切なものはどれか。
エンティティタイプ間には、1対多、多対多などのリレーションタイプがある。
エンティティタイプ間の関連は、参照側から被参照側への方向の矢印線で表現する。
エンティティタイプには属性をもたせないで、リレーションシップタイプに属性をもたせる。
エンティティタイプの中に関連先のエンティティ名を記述することによって、リレーションシップを表す。
解答
解説 E−R(Entity-Relationship Diagram)図は、以下のような図で2つの実体と実体間の関係を表すのに適しています。多重度(カーディナリティ)を記述することができ、リレーショナルデータベースの設計などで用いられます。

E−R図を表示できません

選択肢を順に見ていきます。
選択肢ア:エンティティ間には、1対多や多対多の関係があります。(正解)
選択肢イ:関係は双方向なので、方向は明示されません。(矢印は使われますが、→は1体多を表現しています。)
選択肢ウ:エンティティタイプに属性(アトリビュート)を持たせます。
選択肢エ:リレーションは矢印によって表現します。

問27 関係データベースの表の列に利用者がインデックスを設定する目的はどれか。
外部キーの列の値を別の表の主キーの値に一致させる。
データの格納位置への効果的なアクセスが可能となり、検索速度の向上が期待できる。
一つの大きなテーブルを複数のディスクに分散格納する場合、ディスク容量が節約できる。
列内に重複する値がないようにする。
解答
解説 関係データベース(リレーショナルデータベース)は2次元の表の形で表現されます。インデックスとは、格納されている情報(レコード)の場所と情報をセットで格納する(インデックステーブルを作成する場合もあります)ことで、検索を高速にします。ただし、むやみにインデックスを作成するとむしろ管理する情報量が増え、処理量が増大するため、性能の向上につながらない場合もあります。

問28 新たなデータ項目の命名規則を設ける場合、次の命名規則だけでは回避できない問題はどれか。

【命名規則】
(1) データ項目名の末尾には、必ず“名”、“コード”、“数”、“金額”、“年月日”などの区分語を付与し、区分語ごとに定めたデータ型にする。
(2) データ項目名と意味を登録した辞書を作成し、異音同義語や同音異義語が発生しないようにする。
データ項目“受信年月日”のデータ型として、日付型と文字列型が混在する。
データ項目“受注金額”の取り得る値の範囲がテーブルによって異なる。
データ項目“賞与金額”と同じ意味で“ボーナス金額”というデータ項目がある。
データ項目“取引先”が、“取引先コード”か“取引先名”か、判別できない。
解答
解説 選択肢の問題を順に見ていきます。

選択肢ア:命名規則(1)により、データ項目と型がセットで管理されるので、問題を解消できます。
選択肢イ:データの範囲については、規則がないため問題を解決できません。(正解)
選択肢ウ:命名規則(2)により、異音同義語や同音異義語が発生しないようにしているため、問題を解消できます。
選択肢エ:命名規則(1)により、区分語を付与するため、問題を解消できます。

問29 “商品”表のデータが次の状態のとき、【ビュー定義】で示すビュー“収益商品”の行数が減少する更新処理はどれか。

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


【ビュー定義】
CREATE VIEW 収益商品 AS SELECT * FROM 商品 WHERE 売値 − 仕入値 >=40000
商品コードがS001の売値を130,000に更新する。
商品コードがS003の仕入れ値を150,000に更新する。
商品コードがS005の売値を130,000に更新する。
商品コードがS005の仕入値を90,000に更新する。
解答
解説 ビューでは、売値−仕入れ値=40000を表示しているので、今ある行の中から、この差が40000未満になるような更新は、表示されなくなることになります。現状は、S001ととS005の2行が表示されます。

選択肢アは、更新後は、差額が40000未満になり、行数が減少します。
選択肢イは、更新後は、差額が40000以上になり行数が増えてしまいます。
選択肢ウは、更新後も差額が40000以上なので、変化しません。
選択肢エは、更新後も差額が40000以上なので、変化しません。

問30 DBMSが、データベースの更新に対して、保証すべき原子性(atomicity)の単位はどれか。
DBMSの軌道から停止まで
チェックポイントから次のチェックポイントまで
データベースのバックアップ取得から媒体障害の発生時点まで
トランザクションの開始からコミット又はロールバックまで
解答
解説 まず、原子性を含めた、トランザクションのACID特性について以下にまとめます。

原子性(Atomicity):完全に実行されるか、全く処理をしない
一貫性(Consistency):データの整合性が保たれ、矛盾がない
独立性(Isolation):処理過程は他者から隠蔽され、影響されない
永続性(Durability):完了した操作は、失われない

つぎに、DBMSとは、DBの管理や運用を行うソフトウェアです。DBMSは、それぞれのデータの処理をトランザクションという単位で管理し、このトランザクション単位で原子性を保証します。よって、このトランザクションの終了であるコミット又はロールバックまでは原子性を保証する必要があります。


問31 関係データベースの“注文”表の“顧客番号”は、“顧客”表の主キー“顧客番号”を参照する外部キーである。このとき、参照の整合性を損なうデータ操作はどれか。ここで、ア〜エの記述におけるデータの並びは、それぞれの表の列の並びと同順とする。

画像(問31)を表示できません
画像(問31ans)を表示できません
解答
解説 外部キーになっている(参照制約を受けている)ということは、そのキーが実際に存在していなくてはならないという制約です。

選択肢ア:顧客番号L035は注文表にないので、削除しても大丈夫です。
選択肢イ:顧客番号D010を注文表に追加するのは、顧客表に実在しているので大丈夫です。
選択肢ウ:顧客番号F020を注文表に追加するのは、顧客表に実在していないので、整合性上問題があります。
選択肢エ:注文表は参照制約をかけている側であって、受けている側ではないので、どのようなレコードを削除しても問題ありません。

問32 通信速度64,000ビット/秒の専用線で接続された端末間で、平均1,000バイトのファイルを、2秒ごとに転送するときの回線利用率は何%か。ここで、ファイル転送に伴い、転送量の20%の制御情報が付加されるものとする。
0.9
6.3
7.5
30.0
解答
解説 通信速度は、64,000ビット/秒=8Kバイト/秒であり、2秒間に1000×1.2=1200バイトが転送されます。つまり、平均1秒間に600バイトが転送されます。よって、0.6/8=0.075=7.5%ととなります。

問33 ネットワーク機器に付けられているMACアドレスの構成として、適切な組合せはどれか。
画像(問33ans)を表示できません
解答
解説 MACアドレスは、2層に対応するアドレスで、上位24ビットはOUI(Organizationally Unique Identifier)コードと呼ばれるベンダにIEEEが割り当てる番号です。下位の24ビットはベンダが自由に(重複しないように)割り当てることができる部分です。

問34 OSI基本参照モデルにおいて、エンドシステム間のデータ伝送の中継と経路制御の機能をもつ層はどれか。
セション層
データリンク層
トランスポート層
ネットワーク層
解答
解説 OSI基本参照モデルとは、コンピュータの持つべきネットワーク機能を階層的にモデリングしたものです。各層の役割と対応するネットワーク機器を以下にまとめます。

OSIを表示できません

問35 ネットワーク機器の一つであるスイッチングハブ(レイア2スイッチ)の機能として、適切なものはどれか。
LANポートに接続された端末に対して、IPアドレスの動的な割当てを行う。
受信したパケットを、宛先MACアドレスが存在するLANポートだけに転送する。
受信したパケットを、全てのLANポートに転送(ブロードキャスト)する。
受信したパケットを、ネットワーク層で分割(フラグメンテーション)する。
解答
解説 コンピュータの持つべきネットワーク機能を階層的にモデリングしたOSI基本参照モデルと対応するネットワーク機器を以下にまとめます。

OSIを表示できません

その他の選択肢は以下のようになっています。
選択肢ア:DHCP(Dynamic Host Configuration Protocol)
選択肢ウ:ハブ
選択肢エ:ルータ

問36 2台のPCにIPv4アドレスを割り振りたい。サブネットマスクが255.255.255.240のとき、両PCのIPv4アドレスが同一ネットワークに所属する組合せはどれか。
192.168.1.14と192.168.1.17
192.168.1.17と192.168.1.29
192.168.1.29と192.168.1.33
192.168.1.33と192.168.1.49
解答
解説 まず、サブネットマスクからネットワーク部とホスト部を確認します。255.255.255.240=11111111 11111111 11111111 11110000となり、下位4ビットがホスト部であることが分かります。それでは、各選択肢を順にみていきます。

選択肢ア:
192.168.1.14=11000000.10101000.00000001.00001110
192.168.1.17=11000000.10101000.00000001.00010001
ネットワーク部分が異なるため、同じネットワーク上にありません。
選択肢イ:
192.168.1.17=11000000.10101000.00000001.00010001
192.168.1.29=11000000.10101000.00000001.00011101
ネットワーク部が同じため、おねじネットワーク上あるホスト同士です。

選択肢ウ:
192.168.1.29=11000000.10101000.00000001.00011101
192.168.1.33=11000000.10101000.00000001.00100001
ネットワーク部分が異なるため、同じネットワーク上にありません。

選択肢エ:
192.168.1.33=11000000.10101000.00000001.00100001
192.168.1.49=11000000.10101000.00000001.00110001
ネットワーク部分が異なるため、同じネットワーク上にありません。

問37 DNSキャッシュポイズニングに分類される攻撃内容はどれか。
DNSサーバのソフトウェアのバージョン情報を入手して、DNSサーバのセキュリティホールを特定する。
PCが参照するDNSサーバに誤ったドメイン情報を注入して、偽装されたWebサーバにPCの利用者を誘導する。
攻撃対象のサービスを妨害するために、攻撃者がDNSサーバを踏み台に利用して再帰的な問合せを大量に行う。
内部情報を入手するために、DNSサーバが保存するゾーン情報をまとめて転送させる。
解答
解説 DNS(Domain Name System)は、ドメイン名とIPアドレスを対応付けるものです。このドメイン情報に誤った情報を入れ、誤ったサーバにアクセスさせる攻撃をDNSキャッシュポイズニングといいます。つまり、いつもと同じURLを入力したのに、酷似した悪意のあるWebサイトに誘導されてしまうというものです。

問38 公開鍵暗号方式を用いて、図のようにAさんからBさんへ、他人に秘密にしておきたい文章を送るとき、暗号化に用いる鍵Kとして、適切なものはどれか。

画像(問38)を表示できません
Aさんの公開鍵
Aさんの秘密鍵
Bさんの公開鍵
共通の秘密鍵
解答
解説 まず、暗号技術はいかのように、暗号鍵と復号鍵を利用します。この暗号鍵と復号鍵が同じものを利用する形式を共通鍵暗号方式、異なるものを利用する形式を公開鍵暗号方式といいます。

暗号を表示できません

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

問39 バイオメトリクス認証には身体的特徴を抽出して認証する方式と行動的特徴を抽出して認証する方式がある。行動的特徴を用いているものはどれか。
血管の分岐点の分岐角度や分岐点間の長さから特徴を抽出して認証する。
署名するときの速度や筆圧から特徴を抽出して認証する。
どう孔から外側に向かって発生するカオス状のしわの特徴を抽出して認証する。
隆線によって形作られる紋様からマニューシャと呼ばれる特徴点を抽出して認証する。
解答
解説 バイオメトリクス認証(生体認証)とは人間の持つ固有の特徴を利用した認証で、パスワードのような知っていれば誰でも使えるようなものと違い、安全性が高いといわれています。バイオメトリクス認証は、身体的特徴(生体器官)抽出と行動的特長(癖)抽出があります。

さらに、バイオメトリクス認証を導入する際には、本人拒否率(FRR)と他人受入率(FAR)などを十分に考慮した閾値を設ける必要があります。

選択肢ア、ウ、エはいずれも身体的特徴抽出の説明です。
選択肢アは血管(静脈)認証、選択肢ウは虹彩認証、選択肢エは指紋認証の説明です。

問40 SQLインジェクションの説明はどれか。
Webアプリケーションに問題があるとき、データベースに悪意のある問合せや操作を行う命令文を入力して、データベースのデータを改ざんしたり不正に取得したりする攻撃
悪意のあるスクリプトを埋め込んだWebページを訪問者に閲覧させて、別のWebサイトで、その訪問者が意図しない操作を行わせる攻撃
市販されているDBMSの脆弱性を利用することによって、宿主となるデータベースサーバを探して自己伝染を繰り返し、インターネットのトラフィックを急増させる攻撃
訪問者の入力データをそのまま画面に表示するWebサイトに対して、悪意のあるスクリプトを埋め込んだ入力データを送ることによって、訪問者のブラウザで実行させる攻撃
解答
解説 SQLインジェクションとは、Webアプリケーションの入力データとしてデータベースへの命令文を構成するデータを入力し、想定外のSQL文を実行することです。これにより、管理者が表示させたくない情報が流出してしまう可能性があります。そのため、外部からの値を利用する場合には、値がフォーマット通りになっているかの入力検証やSQLの特殊な文字を解釈されないようにサニタイジングと呼ばれる無効化処理をする必要があります。

他の選択肢は以下のとおりです。
選択肢イ:クロスサイトスクリプティング(XSS)やクロスサイトリクエストフォージェリ(CSRF)
選択肢ウ:ワーム
選択肢エ:クロスサイトスクリプティング(XSS)