コンテンツにスキップ

暗号化:通信内容を守り、相手を確かめる

指導者向けの公開補足

学習本文に加えて、指導の視点・背景・授業での確かめ方を示します。どなたでも読めます。

指導の焦点

暗号化・ハッシュ・電子署名を目的で区別する。署名は内容を秘密にする仕組みそのものではない。どの鍵を誰が持ち、何を検証するかまで示す。

一歩踏み込んだ背景

公開鍵暗号を「秘密鍵で暗号化すれば署名」とだけ説明すると、実際の署名方式の理解を妨げる。証明書も、鍵と主体の関係を検証する信頼のしくみと併せて扱う。

授業での確かめ方

「他人に読まれない」「改変に気づく」「相手を確かめる」という要求を分け、必要な仕組みを対応づける。自作暗号を実運用に勧める実習にはしない。

制度・規格等は本文末尾の参考資料も確認してください。

この単元でできるようになること

Section titled “この単元でできるようになること”
  • 共通鍵暗号と公開鍵暗号の使い方の違いを説明できる。
  • 暗号化と電子署名の目的を区別できる。
  • HTTPSの利用がサービスの信頼性全体を保証するわけではないと説明できる。

暗号化で内容を読みにくくする

Section titled “暗号化で内容を読みにくくする”

暗号化は、鍵と暗号方式を用いて、元のデータを第三者が読み取りにくい形式へ変換することだ。受信者が対応する鍵で復号すると、利用できるデータに戻せる。暗号化の仕組みを安全に運用するには、方式の強さだけでなく、鍵をどう作り、保管し、相手へ届けるかが重要になる。

共通鍵暗号では、暗号化と復号に同じ秘密の鍵を使う。処理が比較的効率的なので、大量のデータを保護する場面に向く。一方、通信相手と安全に鍵を共有する方法が必要だ。鍵が第三者に知られれば、暗号化された情報も読まれる可能性がある。

公開鍵暗号では、公開してよい鍵と秘密に保つ鍵を組にして使う。公開鍵で暗号化した情報を対応する秘密鍵で復号する使い方や、秘密鍵を使った署名の検証に使う方法がある。公開鍵なら誰でも取得できるため、受け取った鍵が本当に意図した相手のものかを確認する仕組みも必要だ。

目的 代表的な方法 確認する点
内容を秘密にする 共通鍵暗号など 鍵が漏れていないか
公開鍵を相手と結び付ける 証明書の検証 名前や有効期間などが適切か
データの改変を検出し、署名者を確認する 電子署名 署名検証と鍵の管理が適切か

電子署名は暗号化と同じではない

Section titled “電子署名は暗号化と同じではない”

電子署名は、データが署名後に変更されたかを確かめ、対応する秘密鍵を使った署名であることを検証する技術だ。署名は通常、文書全体を秘密にするためのものではない。内容を隠す暗号化と、改変検知や署名者の確認に役立つ署名は、目的が異なる。

署名を検証できたことだけで、署名者の社会的な身元や、文書の内容の正しさまで自動的に証明されるわけではない。公開鍵を人や組織と結び付ける証明書、信頼の基点、失効情報、検証するソフトウェアなどが関わる。署名鍵を誰が管理しているかも判断材料になる。

WebでHTTPSを利用すると、HTTP通信をTLSで保護し、通信相手のサーバを証明書などで確認する。これにより、通信中の盗み見や改変のリスクを下げ、接続先のドメイン名と証明書の関係を検証する助けになる。ただし、ブラウザーが確認するのは設定された検証規則に基づく接続先である。運営者が誠実か、ページの説明が正確か、入力した内容の使い方が適切かまでは保証しない。

たとえば https://www.example.com/ のようなURLでも、鍵の表示を見ただけで内容を信用してよいとは限らない。URLの綴り、情報の出所、要求される個人情報の必要性を確認する。example.com は説明用に予約されている名前で、実サービスの例ではない。

用語 意味
暗号化 鍵と方式を使い、データを読みにくい形式に変えること
共通鍵暗号 同じ秘密鍵で暗号化と復号を行う方式
公開鍵暗号 公開鍵と秘密鍵の組を使う方式
電子署名 データの改変検知や署名に使った鍵の検証に役立つ仕組み
TLS 通信の保護や接続先認証に使われるプロトコル
  1. 共通鍵暗号と公開鍵暗号で、鍵の扱いはどう異なるか。
  2. 電子署名と暗号化は、それぞれ何を目的とするか。
  3. HTTPSで通信したとしても、ページの内容を別途確かめる必要があるのはなぜか。
問1の解答例を見る

共通鍵暗号は暗号化と復号に共通の秘密鍵を使い、その鍵を安全に共有する必要がある。公開鍵暗号では対になる公開鍵と秘密鍵を使い、暗号化の用途では受信者の公開鍵で暗号化し、受信者の秘密鍵で復号する。

問2の解答例を見る

電子署名は、改ざんの検知や、対応する秘密鍵による署名であることの確認に用いる。暗号化は、鍵を持たない相手に内容を読まれないようにする。署名を付けるだけでは内容は隠れない。

問3の解答例を見る

HTTPSは通信の暗号化や相手のドメインの確認などを提供するが、掲載内容が真実か、運営者が誠実かまでは保証しない。情報源や根拠を別に確かめる必要がある。