情報セキュリティマネジメント 2019年 春期 午前(科目A) 問29
問題文
利用者PC上のSSHクライアントからサーバに公開鍵認証方式でSSH接続するとき、利用者のログイン認証時にサーバが使用する鍵とSSHクライアントが使用する鍵の組み合わせはどれか。
選択肢
ア:サーバに登録されたSSHクライアントの公開鍵と、利用者PC上のSSHクライアントの公開鍵
イ:サーバに登録されたSSHクライアントの公開鍵と、利用者PC上のSSHクライアントの秘密鍵(正解)
ウ:サーバに登録されたSSHクライアントの秘密鍵と、利用者PC上のSSHクライアントの公開鍵
エ:サーバに登録されたSSHクライアントの秘密鍵と、利用者PC上のSSHクライアントの秘密鍵
🔒 解説は解答すると表示されます
SSH公開鍵認証の鍵組合せ【情報セキュリティマネジメント解説】
正解の理由
SSH(Secure Shell:ネットワーク上で安全に他のコンピュータに接続する通信手段)での公開鍵認証では、接続する利用者(クライアント)が自分の秘密鍵(誰にも渡してはならない鍵)で署名して本人性を証明します。一方、接続先のサーバ(サービスを提供するコンピュータ)は、あらかじめ登録してある利用者の公開鍵(公開してよい鍵)でその署名を検証します。したがって、正しい組合せはサーバに登録された公開鍵と、利用者PC上の秘密鍵の組合せです。選択肢では イ がこれに該当します。
(補足:サーバ自身の「ホスト鍵」は別物で、サーバの正当性確認に使われますが、ここで問われているのは「利用者のログイン認証」に使う鍵の組合せです)
解法ステップ
- 「公開鍵」と「秘密鍵」の役割を思い出す。
- 公開鍵:誰でも持てる。相手の署名を検証したり、データを暗号化するために使う。
- 秘密鍵:自分だけが持つ。署名を作ったり、受け取った暗号を復号するために使う。
- SSHの公開鍵認証の流れを整理する。
- クライアント(利用者PC)が自分の秘密鍵で署名(本人性の証明)を行う。
- サーバは事前に登録されたその利用者の公開鍵で署名を検証する。
- 選択肢を当てはめる。サーバ側が「公開鍵」を持ち、クライアント側が「秘密鍵」を使う組合せを選ぶ。該当は イ。
選択肢別の誤答解説
- ア: サーバに登録されたSSHクライアントの公開鍵と、利用者PC上のSSHクライアントの公開鍵
→ 両方が公開鍵になっている。公開鍵同士では署名検証のための「署名」を作れないため認証にならない。誤り。 - イ: サーバに登録されたSSHクライアントの公開鍵と、利用者PC上のSSHクライアントの秘密鍵
→ 正しい。クライアントが秘密鍵で署名し、サーバは登録された公開鍵で検証する。これが公開鍵認証の仕組み。 - ウ: サーバに登録されたSSHクライアントの秘密鍵と、利用者PC上のSSHクライアントの公開鍵
→ サーバが利用者の秘密鍵を持つことになるが、秘密鍵は利用者だけが保持すべきもの。実装上もセキュリティ上もありえない。誤り。 - エ: サーバに登録されたSSHクライアントの秘密鍵と、利用者PC上のSSHクライアントの秘密鍵
→ 両方秘密鍵では成立しないし、秘密鍵がサーバにも存在すること自体が重大なセキュリティ違反。誤り。
よくある誤解
- 「サーバは自分の秘密鍵で利用者を認証する」
→ サーバは自分のホスト鍵(サーバの正当性確認)を持つが、利用者の認証には利用者の公開鍵を使う。役割を混同しやすい点です。 - 「公開鍵は安全だからどこにでも置いてよい」
→ 公開鍵は公開して構わないが、誰の公開鍵かを正しく管理しないと第三者にアクセス権を与えてしまう。サーバのauthorized_keys管理は重要です。 - 「秘密鍵にパスフレーズがなければ安全性は同じ」
→ 秘密鍵自体が盗まれるリスクがあるため、ファイルの保護やパスフレーズ、鍵の保管場所(USB・ハードウェアトークン)を考える必要があります。
補足コラム
実務での運用イメージ:従業員が会社サーバにSSHで接続する際は、従業員のPCで鍵ペアを作成します(コマンド例は後述)。公開鍵(id_rsa.pubなど)だけをサーバのユーザディレクトリ内の ~/.ssh/authorized_keys に登録します。従業員は秘密鍵(id_rsaなど)をPC上で厳重に保管し、可能ならパスフレーズを設定します。退職や機器紛失時は、サーバ側の authorized_keys から該当の公開鍵行を削除してアクセス権を取り消します。鍵の生成例:
# 鍵ペア生成(Linux/Mac/WSL等)
ssh-keygen -t rsa -b 4096 -C "your_email@example.com"
# 公開鍵をサーバにコピー(簡易)
ssh-copy-id user@server.example.com
FAQ
Q1: 秘密鍵をPCごとに作る必要はありますか?
A1: 原則そうです。各利用者(または各端末)ごとに鍵ペアを作成し、どの鍵がどの端末に紐づくかを管理します。一つの秘密鍵を複数人で共有するのは避けてください。
A1: 原則そうです。各利用者(または各端末)ごとに鍵ペアを作成し、どの鍵がどの端末に紐づくかを管理します。一つの秘密鍵を複数人で共有するのは避けてください。
Q2: 秘密鍵を紛失・盗難されたらどうする?
A2: 直ちにサーバの authorized_keys から対応する公開鍵を削除してアクセスを無効化します。可能なら証跡(ログ)を確認し、不正アクセスの有無を調査します。
A2: 直ちにサーバの authorized_keys から対応する公開鍵を削除してアクセスを無効化します。可能なら証跡(ログ)を確認し、不正アクセスの有無を調査します。
Q3: パスワード認証と公開鍵認証はどちらが安全?
A3: 一般に公開鍵認証のほうが安全です。秘密鍵が守られていればブルートフォース攻撃やパスワード漏洩のリスクを減らせます。さらに公開鍵認証とパスワード認証の組み合わせや2要素認証を採用するとより安全です。
A3: 一般に公開鍵認証のほうが安全です。秘密鍵が守られていればブルートフォース攻撃やパスワード漏洩のリスクを減らせます。さらに公開鍵認証とパスワード認証の組み合わせや2要素認証を採用するとより安全です。
関連キーワード: SSH、公開鍵、秘密鍵、公開鍵認証、authorized_keys、鍵管理、パスフレーズ、SSHエージェント、ホスト鍵、鍵ローテーション

\ せっかくなら /
情報セキュリティマネジメントを
クイズ形式で学習しませんか?
クイズ画面へ遷移する→
すぐに利用可能!

