ITパスポート 2021年 問76
問題文
IoTデバイス群とそれを管理するIoTサーバで構成されるIoTシステムがある。全てのIoTデバイスは同一の鍵を用いて通信の暗号化を行い、IoTサーバではIoTデバイスがもつ鍵とは異なる鍵で通信の復号を行うとき、この暗号技術はどれか。
選択肢
ア:共通鍵暗号方式
イ:公開鍵暗号方式(正解)
ウ:ハッシュ関数
エ:ブロックチェーン
🔒 解説は解答すると表示されます
IoTデバイスと鍵の関係に関する暗号技術【ITパスポート 解説】
正解の理由
問題では「全てのIoTデバイスは同一の鍵を用いて通信の暗号化を行い、IoTサーバではIoTデバイスがもつ鍵とは異なる鍵で通信の復号を行う」とあります。これは、暗号化に使う鍵と復号(復号化)に使う鍵が異なる仕組みです。鍵が「異なる」=送信側と受信側で鍵が対(ペア)になっている方式を指し、これを「公開鍵暗号方式(public‑key cryptography:公開鍵と秘密鍵のペアを使う暗号方式)」と呼びます。したがって、選択肢の中では イ が正解です。
公開鍵暗号方式の基本イメージ:
- ある一方(例:IoTサーバ)が秘密に持つ「秘密鍵(private key)」でしか復号できないように、誰でも使える「公開鍵(public key)」で暗号化する。
- IoTデバイスは同じ公開鍵で暗号化し、サーバは対応する秘密鍵で復号します。これにより「暗号化に使う鍵」と「復号に使う鍵」が異なるという条件に合致します。
簡単な数式表現:
- 暗号化:
- 復号:
( が公開鍵、 が秘密鍵、 が元のメッセージ、 が暗号文)
解法ステップ
- 問題文から「暗号化に使う鍵」と「復号に使う鍵」が同じか違うかを探す。
→ 「異なる鍵で復号」と明記されている。 - 鍵が同じなら「共通鍵暗号方式(symmetric)」、鍵が異なれば「公開鍵暗号方式(asymmetric)」と判断する。
- 選択肢を確認して、異なる鍵を用いるものを選ぶ。
→ イ(公開鍵暗号方式)が該当。
試験では「同一の鍵か、別の鍵か」を見る習慣をつけると速く解けます。
選択肢別の誤答解説
-
ア: 共通鍵暗号方式(symmetric key cipher:暗号化と復号に同じ鍵を使う方式)
誤り。共通鍵方式は暗号化と復号で同じ鍵を使うため、問題文の「復号で用いる鍵が異なる」という条件に合いません。 -
イ: 公開鍵暗号方式(public‑key cryptography:公開鍵と秘密鍵のペアを利用する方式)
正しい。暗号化に使う鍵と復号に使う鍵が異なる特徴があり、問題文の条件に一致します。 -
ウ: ハッシュ関数(hash function:入力データを固定長の値に変換する一方向関数)
誤り。ハッシュ関数は一方向で「復号」できません。データの改ざん検出やパスワードの照合で使いますが、暗号化・復号の仕組みとは性質が違います。 -
エ: ブロックチェーン(blockchain:分散台帳技術で取引履歴をチェーン状に記録する仕組み)
誤り。ブロックチェーンはデータの記録・管理の方式であり、問題の「暗号化・復号で鍵がどう使われるか」という問いには直接関係しません。
よくある誤解
-
「公開鍵は『公開』だから安全ではない」
→ 公開鍵は文字通り誰でも知って良いものです。安全性は公開鍵から秘密鍵を導けない数理的性質に依存します。秘密鍵が漏れると危険です。 -
「共通鍵は速いから常に良い」
→ 共通鍵方式は計算が軽く速い利点がありますが、鍵を安全に配布・管理するのが難しい(鍵配布問題)ため、スケーラビリティに弱い点があります。 -
「ハッシュ関数=暗号化」
→ ハッシュは元に戻せない(復号できない)特徴があります。暗号化は復号して元に戻せる点が違います。
補足コラム
実運用では、公開鍵暗号方式と共通鍵暗号方式は役割分担して使われることが多いです。IoT機器のように計算資源が限られる端末では、公開鍵で安全に「共通鍵(セッション鍵)」を配送し、その後の大量データ通信は計算負荷の小さい共通鍵暗号で暗号化するといった「ハイブリッド方式」が一般的です。
例:TLS(ウェブの安全通信)では、まず公開鍵暗号でセッション鍵を共有し、その後の通信は共通鍵暗号を使います。IoTでもMQTT over TLSなどで同様の考え方が使われます。
また、公開鍵を安全に配布・確認するために「証明書」と「PKI(公開鍵基盤:Public Key Infrastructure)」が用いられます。これは鍵が改ざんされていないことを保証する仕組みです。
FAQ
Q1: デバイスが同じ「公開鍵」を持つのは問題ありますか?
A1: 公開鍵は共有してよいものなので問題ありません。重要なのはサーバ側の「秘密鍵」を安全に保つことです。
A1: 公開鍵は共有してよいものなので問題ありません。重要なのはサーバ側の「秘密鍵」を安全に保つことです。
Q2: 全て公開鍵方式で通信するのはダメですか?
A2: 技術的には可能ですが、公開鍵方式は計算コストが高めです。大量データや低消費電力の機器では性能面で不利なので、一般にハイブリッド方式が使われます。
A2: 技術的には可能ですが、公開鍵方式は計算コストが高めです。大量データや低消費電力の機器では性能面で不利なので、一般にハイブリッド方式が使われます。
Q3: 「秘密鍵を共有すれば共通鍵方式と同じでは?」
A3: 秘密鍵は公開鍵暗号方式の対になるもので、公開せずに共有すればそのキーでの暗号・復号は可能ですが、公開鍵暗号の利点(受信者だけが復号できる仕組み)は失われます。設計上、秘密鍵は各受信者が管理するものです。
A3: 秘密鍵は公開鍵暗号方式の対になるもので、公開せずに共有すればそのキーでの暗号・復号は可能ですが、公開鍵暗号の利点(受信者だけが復号できる仕組み)は失われます。設計上、秘密鍵は各受信者が管理するものです。
関連キーワード: 公開鍵暗号, 共通鍵暗号, 秘密鍵, 公開鍵, ハイブリッド暗号, 鍵管理, ハッシュ関数, ブロックチェーン, IoTセキュリティ, PKI, TLS, RSA, ECC

\ せっかくなら /
ITパスポートを
クイズ形式で学習しませんか?
クイズ画面へ遷移する→
すぐに利用可能!

