復習問題 2026-10-01
10月に入りました。分野はネットワークのままで、今日も昨日の5問のすぐ隣だけで組んでいます。第1問は昨日の TCP が「どうやってコネクションを張るのか」、第2問は昨日のポート番号表の使いどころ(ファイアウォール)、第3問は昨日のディジタル証明書が実際に使われる HTTPS、第4問は昨日の GROUP BY の次にあたる表の結合、第5問だけ午後 問8 に向けたレビューの種類です。計算は今日もありません。
第1問 ネットワーク(TCP の3ウェイハンドシェイク)
TCP がコネクションを確立する際の手順として正しいものはどれか。
- SYN を送る → SYN/ACK が返る → ACK を送る
- ACK を送る → SYN が返る → SYN/ACK を送る
- FIN を送る → FIN/ACK が返る → ACK を送る
- SYN を送る → ACK が返る(2往復目は不要)
解答
解答: a
昨日の第2問で「TCP はコネクション型(3ウェイハンドシェイク)」と表に書きました。今日はその中身です。
| 順 | 向き | フラグ | 意味 |
|---|---|---|---|
| 1 | クライアント → サーバ | SYN | つなぎたい |
| 2 | サーバ → クライアント | SYN + ACK | いいですよ(と、こちらからもつなぎたい) |
| 3 | クライアント → サーバ | ACK | 了解 |
3回必要な理由は、TCP が双方向の通信路だからです。「行き」の準備ができたことと「帰り」の準備ができたことを、両者がそれぞれ確認し終わるのに最低3通かかります。d のように2通で済ませると、サーバ側は自分の SYN が届いたかを確認できません。
c は切断のときの手順(FIN)で、確立ではありません。b は順序を入れ替えた誤答です。SYN が最初、はここだけ押さえれば選べます。
午前では、この手順を悪用する攻撃とセットで出ます。
- SYN フラッド攻撃 … SYN だけを大量に送り、3通目の ACK を返さない。サーバは「相手の返事待ち」の状態を大量に抱えたまま資源を食いつぶす
- SYN スキャン(ポートスキャン) … SYN を送って SYN/ACK が返るかどうかで、そのポートが開いているかを調べる
どちらも「3通で終わるはずのやり取りを、途中で止める」という同じ形です。昨日の UDP にこの攻撃が無いのは、そもそもコネクションという状態を持たないからです。
第2問 ネットワーク(パケットフィルタリング型ファイアウォール)
パケットフィルタリング型のファイアウォールが、通過の可否を判断するのに使う情報はどれか。
- 送信元・宛先の IP アドレスとポート番号
- 電子メールの本文に含まれる単語
- 利用者が入力した ID とパスワード
- HTML に埋め込まれたスクリプトの内容
解答
解答: a
昨日の第2問でウェルノウンポートの表を出しました。あの表が実務でどこに使われるかがこれです。
パケットフィルタリングは、パケットのヘッダだけを見て通す・落とすを決めます。見るのは「誰から・誰へ・どのポートへ」の3点で、中身(ペイロード)は開きません。だから速い代わりに、中身に仕込まれた攻撃は素通りします。
典型的な設定はこうなります。
| ポート | サービス | 扱い |
|---|---|---|
| 80 / 443 | HTTP / HTTPS | 公開サーバへは許可 |
| 25 | SMTP | メールサーバへのみ許可 |
| 22 / 3389 | SSH / RDP | 社内からのみ許可、外部は遮断 |
| その他すべて | — | 拒否(デフォルト拒否) |
最後の行が要点です。「許可するものを列挙し、残りは全部落とす」のをホワイトリスト方式(デフォルト拒否)といい、逆の「危険なものだけ落とす」はブラックリスト方式。試験でも実務でも前者が正解として扱われます。知らない攻撃が来たときに守れるのは前者だけだからです。
b・c・d は、いずれもヘッダより上のレイヤを見なければ判断できません。それぞれ担当する機器が違います。
| 種類 | 見るもの | 止められるもの |
|---|---|---|
| パケットフィルタリング | IP アドレス・ポート番号 | 許可していない宛先・サービスへの通信 |
| WAF | HTTP リクエストの中身 | SQL インジェクション・XSS(昨日と一昨日の第3問) |
| IDS / IPS | 通信パターン全般 | 不正侵入の兆候(IDS は検知、IPS は遮断まで) |
この表は午後 問1 でも「なぜファイアウォールだけでは防げないのか」という形で使えます。答えの筋は、ファイアウォールは 443 番の通信を通すか落とすかしか決められず、通した 443 番の中身に何が書かれているかは見ていないから、です。
第3問 情報セキュリティ(HTTPS とハイブリッド暗号方式)
HTTPS の通信で、公開鍵暗号方式と共通鍵暗号方式を組み合わせて使う理由として適切なものはどれか。
- 公開鍵暗号は処理が遅いため、鍵の受渡しだけに使い、本文は速い共通鍵暗号で暗号化する
- 共通鍵暗号は処理が遅いため、鍵の受渡しだけに使い、本文は速い公開鍵暗号で暗号化する
- 2つの方式で本文を二重に暗号化し、強度を2倍にするため
- 公開鍵暗号では改ざんを検知できないため、共通鍵暗号で署名を付けるため
解答
解答: a
昨日の第5問がディジタル証明書でした。あれが実際に使われている現場がこれです。ブラウザで鍵マークが出ているとき、裏で動いているのは次の順序です。
- サーバがディジタル証明書(=サーバの公開鍵+認証局の署名)を送る
- ブラウザが認証局の公開鍵で署名を検証し、相手が本物かを確かめる(昨日の話)
- ブラウザが本文用の共通鍵を作り、サーバの公開鍵で暗号化して送る
- サーバは自分の秘密鍵で開き、共通鍵を受け取る。以降の本文は全部この共通鍵
役割分担の理由は速さの一点です。
| 共通鍵暗号(AES など) | 公開鍵暗号(RSA など) | |
|---|---|---|
| 鍵 | 送受信で同じ1つ | 公開鍵と秘密鍵の対 |
| 速度 | 速い | 遅い(数百〜千倍の差) |
| 弱点 | 鍵をどう安全に渡すか(鍵配送問題) | 遅くて大量データに向かない |
| だから | 本文の暗号化に使う | その鍵を渡すのに使う |
お互いの弱点を打ち消す組合せなのでハイブリッド暗号方式と呼びます。b はこの速さの関係を逆にした誤答で、ここが入れ替わっていないかだけを見れば選べます。
c は「二重にすれば2倍」という直感的な誤りで、暗号の強度は鍵長とアルゴリズムで決まり、重ねた回数では決まりません。d は署名の説明として誤り。署名に使うのは自分の秘密鍵(昨日の第5問の向き)で、共通鍵では「作れるのは本人だけ」が成り立たないため署名になりません。
もう1つ、鍵の数の話も午前で出ます。n 人が相互に通信する場合、共通鍵方式では組合せの数だけ鍵が必要で n(n−1)/2 個、公開鍵方式なら各人が対を1つ持つだけなので 2n 個。人数が増えたときに公開鍵方式が効くのはこの差です。
第4問 データベース(内部結合と外部結合)
関係「社員(社員番号, 氏名, 部門コード)」と「部門(部門コード, 部門名)」がある。部門コードが未設定(NULL)の社員も含めて、すべての社員の氏名と部門名を取り出したい。適切な結合はどれか。
- 社員 INNER JOIN 部門
- 社員 LEFT OUTER JOIN 部門
- 社員 RIGHT OUTER JOIN 部門
- 社員 CROSS JOIN 部門
解答
解答: b
昨日の第4問が GROUP BY と HAVING、つまり「1つの表を縦にまとめる」話でした。今日は「2つの表を横につなぐ」話で、午後 問6 で毎回出ます。
判断の分かれ目は1つだけ、相手が見つからない行をどう扱うかです。
| 結合 | 結果に残る行 | 相手がいない行 |
|---|---|---|
| INNER JOIN(内部結合) | 両方にあるものだけ | 消える |
| LEFT OUTER JOIN | 左の表は全部 | 残る(右の列は NULL) |
| RIGHT OUTER JOIN | 右の表は全部 | 残る(左の列は NULL) |
| CROSS JOIN | 全組合せ(行数の掛け算) | — |
問題文が「すべての社員」「未設定の社員も含めて」と言っているので、社員の行は1行も落とせません。社員を左に書いて LEFT OUTER JOIN にすれば、部門コードが NULL の社員も部門名が NULL のまま残ります。
SELECT 社員.氏名, 部門.部門名
FROM 社員 LEFT OUTER JOIN 部門
ON 社員.部門コード = 部門.部門コード
a はいちばん選びやすい誤答です。内部結合にすると、部門コードが NULL の社員は結合条件に合う相手がいないので結果から消えます。「全員出したいのに人数が減る」という、実務でも本番でもよくやる取り違えです。c は向きが逆で、社員のいない部門が残る代わりに NULL の社員が消えます。d は条件なしの全組合せで、意味のある結果になりません。
設問の読み方として、「すべての」「〜も含めて」「〜がない場合も」という語が出たら外部結合、と対応づけておくと迷いません。どちらを LEFT に置くかは「全部残したい表」を左に、です。
第5問 情報システム開発(レビューの種類)
ソフトウェア開発におけるレビューのうち、作成者自身が資料を説明しながら進め、参加者が質問や指摘を行う形式はどれか。
- ウォークスルー
- インスペクション
- ラウンドロビンレビュー
- 机上デバッグ
解答
解答: a
昨日までの5問がネットワークとセキュリティ寄りだったので、1問だけ午後 問8(情報システム開発)に当てます。レビュー形式の名前は、誰が主導するかで区別すれば全部整理できます。
| 形式 | 主導する人 | 特徴 |
|---|---|---|
| ウォークスルー | 作成者 | 作成者が説明して回る。準備が軽く、非公式に随時行える |
| インスペクション | モデレータ(第三者) | 役割と手順を定めた公式レビュー。指摘を記録し是正を追跡する |
| ラウンドロビンレビュー | 参加者が順番に | 全員に発言が回るので参加意識が上がる |
| パスアラウンド | — | 資料を回覧してコメントをもらう。集まらない |
選択肢を見分ける語は「作成者が説明」=ウォークスルー、「第三者が仕切る・公式」=インスペクション、「順番に」=ラウンドロビンの3つです。d の机上デバッグはレビュー形式ではなく、コードを机の上で追って誤りを探す作業(デスクチェック)を指します。
もう1点、午後で狙われる考え方を添えておきます。レビューは上流で行うほど得です。設計の誤りをテスト段階で見つけると、設計・コード・テストをまとめて作り直すことになり、修正費用は工程が進むほど跳ね上がります(バグ発見は早いほど安い)。だから設計書のレビューに時間を割く、という筋で記述問題の答えが組めます。
あわせて、レビューの場では成果物を対象にし、人を評価しないのが原則です。人事評価と結びつけると指摘が出なくなり、レビュー自体が機能しなくなるためです。これも記述の定番です。