TLS101
TLS/HTTPSを図と演習で理解する
「証明書エラーが出たが、無視してよいのか判断できない」「鍵マークが付いていれば安全、と説明してよいのか自信がない」— HTTPS は毎日使うのに、内側の仕組みは意外と説明しづらいものです。この講座では TLS を丸暗記するのではなく、鍵マークの内側で起きていることを「相手は本物か・内容は秘密か・途中で変わっていないか」の 3 つの問いで自分で追えるようになることを目指します。図で全体像をつかみ、各章の途中にある小問と手計算で確かめながら進む構成です。
図 → 道具 → 手計算 → openssl
全 42 問
ブラウザ内採点
localStorage 保存
所要
3〜4 時間
問題数
全 42 問
形式
7 章 + 小問 + シミュレータ
費用
無料
TLS は 1 つの魔法ではなく、3 つの脅威にそれぞれ別の道具で答える仕組みの組み合わせです。まずこの対応関係を頭に置くと、以降のすべての章が読みやすくなります。
この講座の特徴
本文のすぐ下に小問
読んだ直後に 1〜3 問ずつ解く構成なので、「分かったつもり」のまま先へ進みにくくなっています。
手計算で暗号の芯に触れる
Diffie–Hellman の鍵合意を小さな素数で実際に計算し、「なぜ盗聴者には分からないのか」を自分の手で確かめます。
鍵合意シミュレータ
第 3 章のシミュレータで、秘密の値を変えると公開値と共有秘密がどう変わるかを目で確かめられます。
ブラウザ内採点・登録不要
全 42 問はブラウザ内で採点され、結果はお使いのブラウザの localStorage にだけ保存されます。サーバには何も送信しません。
この講座を貫く 3 つの問い
HTTPS の通信や証明書エラーを見るとき、この講座では毎回同じ 3 つの問いに立ち返ります。章が進むごとに、それぞれの問いに答える道具が増えていくイメージです。
1. 相手は本物か
真正性 — いま話している相手は、本当にそのドメインの持ち主か。答えるのは証明書と PKI です。(第 4 章)
2. 内容は秘密か
機密性 — 経路上の第三者に内容を読まれないか。答えるのは鍵合意と共通鍵暗号です。(第 2〜3 章)
3. 途中で変わっていないか
完全性 — 内容が経路上で書き換えられていないか。答えるのはハッシュと認証付き暗号です。(第 2 章、第 5 章)
この講座の合言葉: 鍵マークや証明書エラーを見たら、そこで思考を止めずに問いかけてください — いま欠けているのは、相手の確認か? 秘密か? 改ざん検知か?
章構成
1 導入 — HTTPS は何を守っているか
5 問。盗聴・改ざん・なりすましの 3 つの脅威を区別し、鍵マークが保証すること・しないことを線引きします。
2 暗号の道具箱 — 共通鍵・公開鍵・ハッシュ・署名
5 問。4 つの道具を「何を解決するか」で整理し、鍵配送問題とハイブリッド方式を計算で確かめます。
3 鍵合意 — Diffie–Hellman を手計算する
6 問。小さな素数で鍵合意を実際に計算し、シミュレータで前方秘匿性までの距離を測ります。
4 証明書と PKI — 相手が本物かを確かめる
6 問。鍵合意だけでは防げない中間者攻撃を出発点に、証明書チェーンの検証を 1 段ずつ辿ります。
5 TLS 1.3 ハンドシェイク — 1 往復で通信路を作る
6 問。ClientHello から Finished まで、これまでの道具が 1 往復に組み上がる様子を追います。
6 openssl とブラウザで観察する
6 問。openssl s_client と証明書ビューアで実物を読み、典型的な証明書エラーを切り分けます。
7 総合演習 — ケースで仕上げる
8 問。障害調査を模したケース問題で、全章の知識を横断して使います。
受講のコツ
- 本文 → すぐ下の小問の順で進めてください。まとめて後で解くより、読んだ直後に解くほうが定着します。
- 第 3 章の計算問題は暗算で済ませず、べき乗と mod の途中経過を紙に書き出してください。「盗聴者に何が見えていて、何が見えないか」が手の感覚で分かります。
- 第 3 章のシミュレータは、小問を解く前後に両方触ってください。数字の意味が体感に変わります。
- 第 7 章のケース問題でつまずいたら、対応する章へ戻って 1〜2 周だけ復習してください。全部やり直す必要はありません。
開始前の前提
- Web サイトやアプリを使った経験があれば十分です。サーバ運用の経験は不要です。
- べき乗(23 = 8)と割り算の余りが計算できれば、第 3 章の手計算は進められます。
- 深い暗号理論は不要です。RSA や楕円曲線の数学的な中身には立ち入らず、「何を解決する道具か」の範囲で扱います。