はじめに
目的
この文書は、SSL/TLSについて基礎から仕組みまでを分かりやすく解説することを目的にしています。技術の全体像を掴み、実務や学習に役立てていただけるように書きました。具体例を交えて丁寧に説明します。
対象読者
技術の基礎を学んだ方で、ネットワークやウェブの安全性を深めたい中級者を主な対象とします。初学者でも段階を追って読めば理解できます。
本書の構成
第1章(本章)は導入です。第2章でSSL/TLSの基本、第3章で提供するセキュリティ機能、第4章で通信の仕組み(ハンドシェイクなど)、第5章で共通鍵と公開鍵の組み合わせ理由を扱います。各章は独立して読めるように配慮しました。
読み方のポイント
実際の通信やブラウザの例を思い浮かべながら読むと理解が進みます。専門用語は最小限にし、必要な箇所で具体例を示します。
第1章 SSL/TLSとは何か:基本のキホン
概要
SSL/TLSは、インターネット上のデータを安全に送るための仕組みです。例えば、通販でクレジットカードを送るときや、ログイン情報をやり取りするときに使います。ブラウザとサーバーの間で情報を暗号化し、第三者に読み取られないように守ります。
日常での見分け方
ウェブサイトのアドレスが「https://」で始まり、鍵のマーク(南京錠)が表示されていれば、TLSで保護されています。メールやチャットでも同じ考え方で、見た目で安全かどうか判断できます。
SSLとTLSの違い(簡単に)
SSLは古い方式で、脆弱性が見つかりました。TLSはその改良版で、今はTLSが標準です。日常では「SSL/TLS」とまとめて呼ばれることが多いですが、新しい技術はTLSだと覚えてください。
証明書と第三者の役割
サイトが本人であることを示す「証明書」を認証局(CA)が発行します。認証局は信頼できる役所のようなもので、証明書が正しいと確認されればユーザーは安心して通信できます。
なぜ大切か
暗号化で情報の盗聴を防ぎ、データの改ざんも検出できます。オンラインで安全に買い物したり、個人情報を守ったりするために欠かせない仕組みです。
第2章 SSL/TLSが提供する3つのセキュリティ機能
SSL/TLSはインターネット通信を安全にするため、主に次の3つの機能を提供します。ここでは平易な言葉と具体例で説明します。
1 暗号化(機密性)
暗号化は送る内容を第三者に読まれないようにします。SSL/TLSでは、ハンドシェイクで決めた共通鍵(セッション鍵)を使って、通信の中身を高速に暗号化します。たとえば通販でカード番号を入力しても、盗み見られずに済みます。
2 認証(通信相手の真正性確認)
認証は相手が正しいかを確かめる仕組みです。ウェブサイトはX.509というデジタル証明書を提示します。証明書にはサイトの公開鍵や発行者情報が入り、信頼できる認証局(CA)の電子署名で保証されます。ブラウザはこの署名を確認して相手が本物か判定します。銀行のサイトに接続すると、そのサイトが本当に銀行であることを確認できます。
3 整合性(データ改ざん検知)
整合性は送られたデータが途中で改ざんされていないかを確かめます。SSL/TLSはメッセージ認証コード(MAC)や、現在は暗号化と整合性を同時に行う方式(例:GCM)を用います。受け取った側が検証し、改ざんがあれば通信を拒否します。これでデータの信頼性を保ちます。
第4章 なぜ共通鍵暗号と公開鍵暗号を組み合わせるのか
概要
共通鍵暗号(対称鍵)と公開鍵暗号(非対称鍵)はそれぞれ長所と短所があります。TLSは両方の良い点を組み合わせて、安全で速い通信を実現します。ここでは、なぜ組み合わせるのかをわかりやすく説明します。
速さと安全性のバランス
共通鍵暗号は計算が速く、大きなデータを短時間で暗号化できます。動画や大量のデータを扱うときに適します。一方、公開鍵暗号は鍵の受け渡しに便利で、安全に相手の鍵を使って秘密を届けられますが、処理は重くて遅くなります。
簡単な例でイメージ
店で買い物する場面を考えます。共通鍵暗号はレジで使う現金のように扱いやすく速いです。公開鍵暗号は店の金庫に届ける特別な封筒のように、鍵を安全に渡す役割を果たします。まず公開鍵暗号で「共通鍵(封筒の中身)」を安全に渡し、その共通鍵で以降の会話(支払い)を速く行います。
TLSでの実際の流れ(簡単に)
- サーバーの公開鍵や証明書で相手を確認します。証明書は相手が本物かを証明します。
- 公開鍵暗号や差分鍵交換(例:Ephemeral DH)で一度だけ使う共通鍵(セッション鍵)を安全に作ります。
- 以降の通信は共通鍵暗号で暗号化して高速に送受信します。
組み合わせる利点と注意点
利点は「安全に鍵を共有でき、実際の通信は高速にできる」点です。さらに、短期間だけ使う一時鍵(エフェメラル)を使えば、後で鍵が漏れても過去の通信は守れます。注意点は、初回の鍵交換で使う証明書や公開鍵が正しく検証されることが前提になる点です。
この組み合わせにより、TLSはインターネット上で実用的で安全な暗号通信を提供できます。
第4章 なぜ共通鍵暗号と公開鍵暗号を組み合わせるのか
共通鍵暗号と公開鍵暗号の“得意”と“苦手”
共通鍵暗号は同じ鍵で素早く暗号化・復号します。動画や大量のデータに向きます。一方で、相手にその鍵を安全に渡す方法が課題です。公開鍵暗号は「公開鍵」で誰でも暗号化でき、「秘密鍵」でのみ復号できます。鍵の配送問題を解決しますが、計算が重くて大量データには不向きです。
なぜ組み合わせるのか(具体例)
郵便の例で考えます。大きな荷物(大量データ)は丈夫な箱(共通鍵暗号)で送りますが、箱の鍵はどう渡すか悩みます。そこで小さな封筒(公開鍵暗号)に箱の鍵を書いて securely 送れば便利です。TLSはこのやり方を使います。
TLSでの役割分担
- 認証:サーバーは証明書で正当性を示します(公開鍵を確認)。
- 鍵交換:公開鍵暗号や一時的な方式で安全に共通鍵を共有します。
- 通信本体:共有した共通鍵で高速に暗号化してやり取りします。
付加の利点:前方秘匿性
短期の一時鍵(エフェメラル)を使えば、後で秘密鍵が漏れても過去の通信は守れます。これが現代の安全な通信に欠かせない工夫です。
この組み合わせで、通信は安全で効率的になります。












