この記事は、セキュリティ資格学習のために、AI(Claude)と共同で作成したコンテンツです。
※間違った解釈がある可能性があります。
- 1 この記事の目的
- 2 📍 結城の新たな狙い
- 3 💑 カフェワールドでの相談
- 4 📖 里見の解説:TLS(Transport Layer Security)
- 5 📖 里見の解説:IPsec
- 6 📖 里見の解説:VPN(Virtual Private Network:バーチャル・プライベート・ネットワーク)
- 7 📖 里見の解説:IEEE 802.1X(アイトリプルイー はちまるにてんいちエックス)
- 8 📖 里見の解説:SSH(Secure Shell:セキュア・シェル)
- 9 ⚠️ 結城の攻撃開始
- 10 🔍 異変の検知
- 11 🛡️ 防御と対策
- 12 💑 安堵のひととき
- 13 😤 結城の敗北
- 14 📚 用語まとめ
- 15 🎯 試験対策ポイント
- 16 セキュリティプロトコルの比較(ESP vs AH)
- 17 プロトコルとモードの組み合わせ
- 18 🎓 語呂合わせ・暗記法
- 19 💡 補足:実際の使われ方
この記事の目的
セキュリティの専門用語は、カタカナや略語が多く、初学者にとって非常に取っつきにくいものです。
そこで、専門家じゃなくてもわかるようにストーリー風に構成してみました。
📍 結城の新たな狙い
結城は、深夜の自室でモニターを見つめていた。
「SNMP攻撃も失敗…でも、まだ方法はある。山本と里見の通信そのものを盗聴できれば…」
画面には、メタCの通信プロトコルの解析結果が表示されている。
「HTTPSで通信してる…TLSで暗号化されてるから、簡単には盗聴できない。でも、古いバージョンのTLSや、設定ミスがあれば…」
結城は、中間者攻撃(MITM: Man-in-the-Middle)を計画していた。
「もし偽の証明書で二人の通信を横取りできれば、すべてのメッセージが読める。どんな会話をしてるのか、どこで会うのか…全部わかる」
キーボードを叩く音が、静かに響いた。
「今度こそ…二人の秘密を暴いてやる」
💑 カフェワールドでの相談
その頃、山本と里見は、メタC内のカフェワールドで話していた。
「ねぇ里見、最近『安全な通信』ってよく聞くけど、HTTPSとかVPNとか、いまいち違いがわからないんだよね」
山本が困った顔で聞く。
「そうね、今日はその話をしようと思ってたの。実は、セキュリティにとって暗号化通信は超重要。結城みたいな攻撃者は、必ず通信を盗聴しようとするから」
「盗聴…怖いね」
「大丈夫。正しく設定すれば防げるわ。じゃあ、まずはTLSから説明するね」
📖 里見の解説:TLS(Transport Layer Security)
TLSとは
「TLS(Transport Layer Security:トランスポート・レイヤー・セキュリティ)は、インターネット通信を暗号化するプロトコルよ」
TLSの役割:
- 通信内容を暗号化(盗聴防止)
- 通信相手が本物か確認(なりすまし防止)
- データが改ざんされてないか確認(改ざん検知)
身近な例え:
「郵便で手紙を送るとき、普通の葉書だと誰でも読めちゃうでしょ?でも、封筒に入れて封をして、さらに『親展』って書いて、送り主の印鑑も押せば安全。TLSは、ネット上の『封筒+封+印鑑』みたいなものよ」
「なるほど!HTTPSの『S』がTLSのことなんだね」
「正解!HTTPS = HTTP + TLS(暗号化)ね」
TLSの通信の流れ(TLSハンドシェイク)
「TLSで通信を始めるとき、最初に『握手(ハンドシェイク)』をするの。これで暗号化の準備をするのよ」
TLSハンドシェイクの流れ:

※図は、AIで作成しているため、若干違いがあるかもしれません。
身近な例え:
「初めて会う人と秘密の話をするとき、こんな感じ」
- Client Hello:「こんにちは!秘密の話がしたいです」
- Server Hello:「こんにちは!じゃあ暗号使いましょう」
- Server Certificate:「私の身分証です(証明書)」
- Server Key Exchange:「この合言葉で暗号作りましょう」
- Client Key Exchange:「了解、こっちからも合言葉出します」
- Finished:「準備完了!では本題を…」
「へぇ〜、こんなに複雑なやり取りを一瞬でやってるんだ!」
「そう。でも、この複雑さがセキュリティを守ってるのよ」
TLSの重要な要素
1. プリマスターシークレット(Pre-master Secret)
「プリマスターシークレットは、暗号鍵を作るための『種』みたいなものよ」
役割:
- クライアントとサーバーが共有する秘密の値
- これを元に、実際の暗号鍵(マスターシークレット)を生成
- 通信ごとに異なる値を使う
身近な例え:
「二人だけの『合言葉の素』。この素から、毎回違う暗号を作るの。たとえば、『好きな色+誕生日』みたいな組み合わせで、毎回違う秘密のメッセージを作るイメージ」
2. 証明書による認証
「通信相手が本物かどうか、デジタル証明書で確認するの」
デジタル証明書とは:
- ウェブサイトの「身分証明書」
- 認証局(CA: Certificate Authority)が発行
- 「このサイトは本物ですよ」という証明
証明書の中身:
- サイトの名前(ドメイン名)
- 公開鍵
- 有効期限
- 認証局の署名
身近な例え:
「運転免許証みたいなもの。警察(認証局)が発行して、『この人は本物です』って証明してくれる。偽造は難しいから、安心して取引できる」
「じゃあ、偽の証明書を作るのは難しいんだね」
「そう。でも、古いTLSや設定ミスがあると、偽の証明書を掴まされることもあるの。だから最新のTLSを使うことが大事」
3. 鍵交換の方式
「暗号鍵をどうやって安全に共有するか、いくつか方法があるの」
PFS(Perfect Forward Secrecy:完全前方秘匿性)
特徴:
- 通信ごとに異なる暗号鍵を使う
- 過去の通信が解読されても、他の通信は安全
- 最も安全な方式
身近な例え:
「毎日違う鍵で日記を書く。月曜日の鍵が盗まれても、火曜日の日記は読めない」
DHE(Diffie-Hellman Ephemeral:ディフィー・ヘルマン・エフェメラル)
特徴:
- PFSを実現する鍵交換方式の一つ
- 一時的な鍵(Ephemeral = 短命)を使う
- 通信が終わったら鍵を破棄
身近な例え:
「使い捨てのパスワード。1回使ったらすぐ捨てるから、後から盗まれても無意味」
ECDHE(Elliptic Curve Diffie-Hellman Ephemeral:楕円曲線ディフィー・ヘルマン・エフェメラル)
特徴:
- DHEの改良版
- 楕円曲線暗号を使って、より短い鍵で同じ安全性
- 高速で現代の主流
身近な例え:
「DHEが『10桁のパスワード』なら、ECDHEは『6桁だけど同じくらい安全なパスワード』。短いから速い」
TLSのバージョン
「TLSにはいくつかバージョンがあって、古いものは危険なの」
| バージョン | 登場年 | 安全性 | 備考 |
|---|---|---|---|
| SSL 3.0 | 1996年 | 🔴 危険 | すでに廃止。使用禁止 |
| TLS 1.0 | 1999年 | 🔴 危険 | 古い暗号方式。使用非推奨 |
| TLS 1.1 | 2006年 | 🟡 脆弱 | 一部の攻撃に弱い。使用非推奨 |
| TLS 1.2 | 2008年 | 🟢 安全 | 現在の標準。十分安全 |
| TLS 1.3 | 2018年 | 🟢 最も安全 | 高速で安全。最新推奨 |
「TLS 1.2以上を使うこと!1.0や1.1は危険よ」
TLS 1.2とTLS 1.3の違いについて詳しく説明します。
TLS 1.2とTLS 1.3の主要な違い
1. ハンドシェイクの高速化
- TLS 1.2: 2-RTT(Round Trip Time)必要
- TLS 1.3: 1-RTT で完了、0-RTT再接続も可能
- 効果: 接続確立が大幅に高速化(約50%短縮)
ハンドシェイクの比較
TLS 1.2 (2-RTT):
Client → Server: Client Hello
Client ← Server: Server Hello, Certificate, Server Key Exchange,
Server Hello Done
Client → Server: Client Key Exchange, Change Cipher Spec, Finished
Client ← Server: Change Cipher Spec, Finished
[ここから暗号化通信開始]
TLS 1.3 (1-RTT):
Client → Server: Client Hello + Key Share
Client ← Server: Server Hello + Key Share,
{Encrypted Extension, Certificate, Finished}
Client → Server: {Finished}
[すぐに暗号化通信開始]
2. 暗号スイートの簡素化と強化
TLS 1.2の問題点:
- 多数の暗号化方式をサポート(選択肢が多すぎる)
- 脆弱な暗号化方式も含まれていた
TLS 1.3の改善:
- サポートする暗号化方式を5種類に限定
- 安全性の高いAEAD(認証付き暗号)のみ採用
- RSA鍵交換を廃止(前方秘匿性がないため)
3. 削除された脆弱な機能
TLS 1.3で廃止されたもの:
- RSA鍵交換
- 静的DH鍵交換
- RC4、3DES、MD5などの古い暗号化方式
- CBCモード暗号
- 再ネゴシエーション
- 圧縮機能(CRIME攻撃対策)
4. 前方秘匿性(Forward Secrecy)の必須化
- TLS 1.2: オプション
- TLS 1.3: 必須(DHEまたはECDHEのみ)
- 効果: 秘密鍵が漏洩しても過去の通信は解読不可
5. 暗号化範囲の拡大
- TLS 1.2: ハンドシェイクの一部は平文
- TLS 1.3: Server Hello以降はほぼ全て暗号化
- 効果: メタデータの保護強化
前方秘匿性(Forward Secrecy)とは
前方秘匿性(Forward Secrecy / Perfect Forward Secrecy: PFS)とは、「サーバーの秘密鍵が将来漏洩しても、過去の通信内容は解読できない」という性質のことです。
SSL/TLSアクセラレータ
「大量のHTTPS通信を処理するサーバーは、暗号化・復号化の計算が負担になるの。そこでSSL/TLSアクセラレータを使うわ」
役割:
- 暗号化・復号化の処理を専用ハードウェアで高速化
- サーバーの負荷を軽減
- 大規模サイトで使用
身近な例え:
「レストランの厨房が忙しいとき、皿洗い専門のスタッフを雇うようなもの。料理人は料理に集中、皿洗いは専門スタッフが担当」
DTLS(Datagram Transport Layer Security:データグラム・トランスポート・レイヤー・セキュリティ)
「TLSはTCP(信頼性のある通信)用だけど、DTLSはUDP(高速だけど信頼性は低い通信)用よ」
DTLSの特徴:
- UDPで動作するTLS
- リアルタイム通信(音声・映像)に最適
- パケットロスがあっても動作
使われる場所:
- VoIP(インターネット電話)
- ビデオ会議
- オンラインゲーム
- VR通信(メタCもこれを使ってる)
身近な例え:
「普通の郵便(TCP/TLS)は確実に届くけど遅い。速達(UDP/DTLS)は速いけど、たまに届かないこともある。でも、電話や生配信は速さが大事だから、多少の音飛びは許容する」
「へぇ〜、メタCもDTLSを使ってるんだ!」
「そう。だからリアルタイムで会話できるのよ」
📖 里見の解説:IPsec
IPsec(Internet Protocol Security:インターネット・プロトコル・セキュリティ)
「IPsecは、ネットワーク層(IPレイヤー)で通信を暗号化するプロトコルよ」
TLSとの違い:
| 項目 | TLS | IPsec |
|---|---|---|
| 動作層 | アプリケーション層〜トランスポート層 | ネットワーク層(IP層) |
| 対象 | 特定のアプリケーション(Web、メールなど) | すべてのIP通信 |
| 設定 | アプリごと | OS・ルーター全体 |
| 用途 | Webサイト、メール | VPN、拠点間通信 |
身近な例え:
- TLS:郵便物1通ごとに封筒に入れる
- IPsec:郵便車ごと装甲車にする(中の荷物全部守る)
IPsecの構成要素
1. IKE(Internet Key Exchange:インターネット・キー・エクスチェンジ)
役割:暗号鍵を自動的に交換する
IKEのフェーズ:
- フェーズ1:最初の暗号化通信路を確立(SA: Security Associationの作成)
- フェーズ2:実際のデータ通信用の鍵を交換
身近な例え:
「初めて会う人と秘密の話をするとき、まず『今後の会話用のルール(フェーズ1)』を決めて、それから『本題の暗号化(フェーズ2)』をする」
2. トランスポートモード
特徴:データ部分だけを暗号化
仕組み:
【通常のIPパケット】 ┌─────┬──────────┐ │IPヘッダ │ データ │ └─────┴──────────┘ 【トランスポートモード】 ┌─────┬──────┬───────────── ┐ │IPヘッダ │ AH or ESP | 🔒暗号化データ(ペイロード)│ └─────┴──────┴─────────────┘
メリット:オーバーヘッド(余計なデータ)が少ない
デメリット:送信元・宛先IPアドレスは暗号化されない
用途:同じネットワーク内の通信
身近な例え:
「手紙の『宛名(IPヘッダ)』は見えるけど、『中身(データ)』は封筒に入ってて読めない」
3. トンネルモード
特徴:パケット全体を暗号化して、新しいIPヘッダをつける
仕組み:
【通常のIPパケット】 ┌─────┬──────────┐ │IPヘッダ │ データ │ └─────┴──────────┘ 【トンネルモード】 ┌──────┬──────┬───────────────┐ │新IPヘッダ │ AH or EPS | 🔒暗号化(元IPヘッダ+データ)│ └──────┴──────┴───────────────┘
メリット:元のIPアドレスも隠せる
デメリット:オーバーヘッドが大きい
用途:VPN、拠点間通信
身近な例え:
「手紙を封筒に入れて(元のパケット)、さらにその封筒を別の封筒に入れる(新しいIPヘッダ)。外側の封筒には、VPNゲートウェイの住所が書いてある」
IPv6とIPsec
「IPv6では、IPsecが標準で組み込まれてるの」
IPv4とIPv6の違い:
- IPv4:IPsecはオプション(あとから追加)
- IPv6:IPsecは必須機能(最初から組み込み)
IPv6でのIPsecのメリット:
- 設定が簡単
- 互換性が高い
- 標準で安全
身近な例え:
「古い家(IPv4)は、後付けで防犯カメラをつける。新しい家(IPv6)は、最初から防犯システムが組み込まれてる」
📖 里見の解説:VPN(Virtual Private Network:バーチャル・プライベート・ネットワーク)
VPNとは
「VPNは、インターネット上に『仮想的な専用線』を作る技術よ」
VPNの役割:
- 離れた場所にいても、同じネットワークにいるように通信
- 通信内容を暗号化
- 送信元を隠せる(プライバシー保護)
身近な例え:
「インターネットという『公道』の下に、『秘密のトンネル』を掘るイメージ。外からは見えないし、中は暗号で守られてる」
VPNの種類
1. IPsec-VPN(ネットワーク層)
特徴:
- IPsecを使ったVPN
- 拠点間接続に最適
- 高速で安全
- 専用機器(VPNルーター)が必要
用途:
- 本社と支社を繋ぐ
- データセンター間の通信
身近な例え:
「2つの会社のビルの間に、地下トンネルを作って、社員が行き来できるようにする」
2. SSL-VPN(TLS-VPN)
特徴:
- TLS/SSLを使ったVPN
- Webブラウザからアクセス可能
- 専用ソフト不要(ブラウザだけでOK)
- リモートワークに最適
用途:
- 在宅勤務で社内システムにアクセス
- 外出先から社内ファイルを閲覧
身近な例え:
「会社に『秘密の入口(Webページ)』を作って、パスワードを知ってる人だけ入れる」
3. PPTP(Point-to-Point Tunneling Protocol:ポイント・トゥ・ポイント・トンネリング・プロトコル)
特徴:
- 古いVPN方式
- 設定が簡単
- 暗号化が弱い(128bitのみ)
- 現在は非推奨
危険性:
- 簡単に解読される
- 中間者攻撃に弱い
身近な例え:
「昔の南京錠。簡単に開けられちゃうから、今は使わない方がいい」
「へぇ〜、VPNにもいろいろあるんだね。PPTPは使っちゃダメなんだ」
「そう。今はIPsec-VPNかSSL-VPNを使うべきね」
📖 里見の解説:IEEE 802.1X(アイトリプルイー はちまるにてんいちエックス)
IEEE 802.1Xとは
「IEEE 802.1Xは、ネットワークに接続するときの『認証システム』よ」
役割:
- ネットワークに接続する前に本人確認
- 許可された人だけがWi-Fiや有線LANを使える
- 企業のオフィスWi-Fiで使われる
身近な例え:
「会社のビルに入るとき、受付で社員証を見せて本人確認してから入る。802.1Xは、ネットワークの『受付』みたいなもの」
IEEE 802.1Xの構成要素
「802.1Xには、3つの役割があるの」
【サプリカント】 【オーセンティケータ】 【認証サーバー】
(ユーザー) (ゲートキーパー) (本部)
| | | |
|←───EAPOL ─→| |←── RADIUS ─→|
|
|←──── EAP ─────────────────→|
1. サプリカント(Supplicant:申請者)
役割:ネットワークに接続したいユーザー・機器
例:
- あなたのノートPC
- スマートフォン
- タブレット
身近な例え:
「ビルに入りたい来客者」
2. オーセンティケータ(Authenticator:認証者)
役割:ネットワークの入口を守る門番
例:
- Wi-Fiアクセスポイント
- LANスイッチ
仕事:
- サプリカントからの認証リクエストを受け取る
- 認証サーバーに問い合わせる
- 認証OKなら通信を許可、NGなら拒否
身近な例え:
「ビルの受付担当者」
3. 認証サーバー(通常はRADIUSサーバー)
役割:本人確認をする本部
仕事:
- ユーザー情報のデータベースを管理
- 認証情報(ユーザー名・パスワード・証明書)を確認
- OKかNGかをオーセンティケータに返答
身近な例え:
「ビルの警備本部。受付から『この人、社員ですか?』と聞かれたら、データベースで確認して答える」
RADIUS(Remote Authentication Dial-In User Service:リモート・オーセンティケーション・ダイヤルイン・ユーザー・サービス)
「RADIUSは、認証サーバーのプロトコルよ」
RADIUSの役割:
- ユーザー認証
- アクセス許可の決定
- 接続時間やデータ量の記録(アカウンティング)
身近な例え:
「会社の受付システム。社員証をかざすと、受付端末(オーセンティケータ)が本部(RADIUSサーバー)に問い合わせて、『この人、社員です』って確認して、ゲートを開ける」
EAP(Extensible Authentication Protocol:拡張可能認証プロトコル)
「EAPは、認証方法を柔軟に選べる『枠組み』よ」
EAPの特徴:
- いろんな認証方法を使える
- パスワード、証明書、指紋など
- 拡張可能(新しい方法を追加できる)
身近な例え:
「認証方法の『アダプター』。社員証でも、指紋でも、パスワードでも、好きな方法で本人確認できる仕組み」
EAPの種類(代表的なもの)
| 種類 | 認証方法 | 安全性 | 備考 |
|---|---|---|---|
| EAP-MD5 | パスワード(MD5ハッシュ) | 🔴 危険 | 平文同然。使用禁止 |
| EAP-PEAP | TLSトンネル内でパスワード | 🟢 安全 | Windowsで標準 |
| EAP-TLS | デジタル証明書 | 🟢 最も安全 | 証明書の管理が必要 |
| EAP-TTLS | TLSトンネル内で柔軟な認証 | 🟢 安全 | いろんな方法を組み合わせ可能 |
| EAP-LEAP | Cisco独自方式 | 🟡 脆弱 | 古い。非推奨 |
| EAP-OTP | ワンタイムパスワード | 🟢 安全 | 毎回違うパスワード |
推奨:EAP-TLS または EAP-PEAP
EAPOL(EAP Over LAN:イーエーピー・オーバー・ラン)
「EAPOLは、EAPをLAN上で使うためのプロトコルよ」
役割:
- サプリカントとオーセンティケータの間でEAPメッセージをやり取り
- LANケーブルやWi-Fiで直接通信
身近な例え:
「受付(オーセンティケータ)と来客者(サプリカント)が直接話すための『内線電話』」
📖 里見の解説:SSH(Secure Shell:セキュア・シェル)
SSHとは
「SSHは、遠隔でサーバーを操作するための暗号化プロトコルよ」
SSHの役割:
- 遠隔地からサーバーにログイン
- コマンドラインでサーバー操作
- ファイル転送(SFTP、SCP)
- すべて暗号化
身近な例え:
「自宅から会社のサーバーを『リモコン操作』するようなもの。操作内容は全部暗号化されてるから、誰にも見られない」
SSHの暗号化方式(ハイブリッド暗号)
「SSHはハイブリッド暗号を使ってるの」
ハイブリッド暗号とは:
- 公開鍵暗号:最初の鍵交換に使う(安全だけど遅い)
- 共通鍵暗号:実際のデータ通信に使う(速いけど鍵の共有が課題)
- 両方の良いとこ取り
SSHの暗号化の流れ:
- 公開鍵暗号で共通鍵を安全に交換(最初だけ)
- 共通鍵暗号で高速にデータ通信(本番)
身近な例え:
「初めて会う人と秘密の話をするとき、最初に『合言葉(共通鍵)』を郵便(公開鍵暗号)で安全に送って、あとは電話(共通鍵暗号)で速く話す」
SSHの公開鍵認証
「SSHでは、パスワードじゃなくて公開鍵認証がおすすめよ」
公開鍵認証の仕組み:
- ユーザーが秘密鍵と公開鍵のペアを作成
- 公開鍵をサーバーに登録
- 秘密鍵は自分のPCに保管(絶対に漏らさない)
- ログイン時、秘密鍵で署名して本人確認
メリット:
- パスワードを送らない(盗聴されても安全)
- ブルートフォース攻撃(総当たり)が効かない
- 複数のサーバーに同じ公開鍵を登録できる
身近な例え:
「家の鍵と鍵穴の関係。鍵穴(公開鍵)はドアにつけて、鍵(秘密鍵)は自分だけが持つ。鍵穴をコピーされても、鍵がなければ開けられない」
フィンガープリント(Fingerprint:指紋)
「SSHで初めてサーバーに接続するとき、フィンガープリントを確認するの」
フィンガープリントとは:
- サーバーの公開鍵の「指紋」(ハッシュ値)
- サーバーが本物かどうかの確認
- 中間者攻撃を防ぐ
確認の流れ:
【初回接続時】 $ ssh user@server.example.com The authenticity of host 'server.example.com' can't be established. RSA key fingerprint is SHA256:nThbg6kXUpJWGl7E1IGOCspRomTxdCARLviKw6E5SY8. Are you sure you want to continue connecting (yes/no)?
「このとき、フィンガープリントを管理者に確認して、一致したら『yes』と答えるの」
なぜ確認が必要?
攻撃者が偽のサーバーを立てて、中間者攻撃をしようとしても、フィンガープリントが違うからバレる。
身近な例え:
「友達の家に初めて行くとき、『ここで合ってる?』って電話で確認するようなもの。間違った家(偽サーバー)に入っちゃったら大変」
⚠️ 結城の攻撃開始
その時、メタCのネットワークに異変が起きた。
結城は、古いバージョンのTLS(TLS 1.0)を使っている一部のユーザーを狙って、中間者攻撃(MITM)を仕掛けていた。
「見つけた…古いAndroidスマホで接続してるユーザーが数人いる。TLS 1.0しか使えないから、ダウングレード攻撃で通信を傍受できる…」
結城は、公衆Wi-Fiに偽のアクセスポイントを立て、通信を横取りしようとした。
【通常の通信】
山本のスマホ ←─暗号化通信─→ メタCサーバー
【中間者攻撃】
山本のスマホ ←─結城の偽AP─→ 結城のPC ←─→ メタCサーバー
↑ 盗聴・改ざん
「これで、山本と里見のメッセージを全部読める…!」
しかし、結城の計画には大きな誤算があった。
🔍 異変の検知
メタCのセキュリティ監視室。佐藤が異常なアラートに気付いた。
「ん…?TLS接続で、証明書エラーが大量発生している…」
[ログ] 2025-01-08 22:15:32 - SSL Certificate Error: CN mismatch 2025-01-08 22:15:35 - SSL Certificate Error: CN mismatch 2025-01-08 22:15:38 - SSL Certificate Error: CN mismatch ...(50回以上)
「証明書のCN(Common Name:コモンネーム)が一致しない…これは中間者攻撃だ!」
佐藤はすぐに里見に連絡した。
「里見さん、TLS接続で中間者攻撃の兆候です。偽の証明書を使った攻撃者がいます」
「発生場所は?」
「都内の公衆Wi-Fi経由のアクセスです。山本さんのアカウントも標的になっています」
「すぐに対応します!」
🛡️ 防御と対策
里見は、山本に緊急連絡した。
「慎也!今すぐ公衆Wi-Fiから切断して!中間者攻撃を受けてるわ!」
「え!?今、カフェのWi-FiでメタCに接続してたけど…」
「そのWi-Fi、偽物よ!すぐに切って、モバイルデータ通信に切り替えて!」
山本は慌ててWi-Fiをオフにした。
即時対応:
- 該当アクセスポイントの特定:カフェ周辺の偽APを発見
- ユーザーへの警告:影響を受けたユーザーに緊急通知
- TLS 1.0/1.1の無効化:サーバー側で古いバージョンを拒否
- 証明書ピンニング:正規の証明書以外を拒否
「佐藤さん、偽APの位置を特定しました。警察に通報します」
「了解。ユーザーへの被害は最小限に抑えられました」
恒久対策:
- TLS 1.3の推奨:最新バージョンへの移行を促進
- HSTS(HTTP Strict Transport Security):常にHTTPSを強制
- 証明書の透明性(CT: Certificate Transparency):不正な証明書を検知
- ユーザー教育:公衆Wi-Fiの危険性を啓発
- VPN推奨:公衆Wi-Fi使用時はVPNを使うよう推奨
💑 安堵のひととき
攻撃が阻止された夜、山本と里見はメタCのプライベートワールドで話していた。
「里見、ありがとう…もう少しで通信を盗聴されるところだった」
「大丈夫よ、慎也。間に合って良かった。でも、今回の件で学んだことがあるわ」
「うん、公衆Wi-Fiは危険だってこと…」
「そうね。公衆Wi-Fiを使うときは、必ずVPNを使うこと。それから、古いOSやアプリは最新版にアップデートすること」
「わかった。でも、TLSとかIPsecとか、今日は用語が多すぎて頭パンクしそう…」
里見が笑いながら言った。
「大丈夫、一度に全部覚えなくていいのよ。大事なのは、『暗号化通信の重要性』を理解すること」
「うん、それはわかった。TLSは『封筒』、VPNは『秘密のトンネル』、SSHは『リモコン』だよね」
「完璧!慎也、だいぶ理解が深まったわね」
「えへへ、里見のおかげだよ」
二人は手を繋ぎながら、夜空を見上げた。
「ねぇ、慎也。次はWebアプリケーションのセキュリティを学びましょうか。SQLインジェクションとか、XSSとか」
「うん、楽しみ!お砂糖と一緒なら、難しいことも楽しく学べる」
「ありがとう。じゃあ、また今度ね」
二人の絆は、試練を乗り越えるたびに深まっていった。
😤 結城の敗北
一方、結城は自室で頭を抱えていた。
「くそっ…中間者攻撃も失敗した。証明書エラーで即座にバレるなんて…」
画面には、「Connection Refused」「Certificate Error」の文字が並んでいた。
「TLS 1.3は強すぎる…ダウングレード攻撃も効かない。証明書ピンニングで偽の証明書も弾かれる…」
しかし・・・ここで諦めてたまるか。
次なる攻撃の手段を・・・・
📚 用語まとめ
| 用語 | 読み | 意味・用途 |
|---|---|---|
| TLS | ティーエルエス | Transport Layer Security。通信を暗号化するプロトコル。HTTPSで使用。 |
| TLSハンドシェイク | ティーエルエスハンドシェイク | TLS通信開始時の暗号化準備プロセス。証明書交換や鍵交換を行う。 |
| プリマスターシークレット | プリマスターシークレット | Pre-master Secret。暗号鍵を生成するための元となる秘密の値。 |
| 証明書による認証 | ショウメイショニヨルニンショウ | デジタル証明書で通信相手が本物かを確認する仕組み。 |
| PFS | ピーエフエス | Perfect Forward Secrecy(完全前方秘匿性)。通信ごとに異なる鍵を使う方式。 |
| DHE | ディーエイチイー | Diffie-Hellman Ephemeral。一時的な鍵を使う鍵交換方式。PFSを実現。 |
| ECDHE | イーシーディーエイチイー | Elliptic Curve Diffie-Hellman Ephemeral。楕円曲線暗号を使ったDHE。高速。 |
| SSL/TLSアクセラレータ | エスエスエル/ティーエルエスアクセラレータ | 暗号化処理を専用ハードウェアで高速化する装置。サーバー負荷軽減。 |
| DTLS | ディーティーエルエス | Datagram Transport Layer Security。UDP上で動作するTLS。リアルタイム通信向け。 |
| IPsec | アイピーセック | Internet Protocol Security。ネットワーク層で通信を暗号化。VPNで使用。 |
| IKE | アイケー | Internet Key Exchange。IPsecの鍵交換プロトコル。 |
| トランスポートモード | トランスポートモード | IPsecでデータ部分だけを暗号化するモード。同一ネットワーク内向け。 |
| トンネルモード | トンネルモード | IPsecでパケット全体を暗号化し新しいIPヘッダをつけるモード。VPN向け。 |
| VPN | ブイピーエヌ | Virtual Private Network。インターネット上に仮想的な専用線を構築。 |
| IPsec-VPN | アイピーセック・ブイピーエヌ | IPsecを使ったVPN。拠点間接続に最適。 |
| SSL-VPN | エスエスエル・ブイピーエヌ | TLS/SSLを使ったVPN。ブラウザからアクセス可能。リモートワーク向け。 |
| PPTP | ピーピーティーピー | Point-to-Point Tunneling Protocol。古いVPN方式。暗号化が弱く非推奨。 |
| IEEE 802.1X | アイトリプルイー はちまるにてんいちエックス | ネットワーク接続時の認証システム。企業のWi-Fiなどで使用。 |
| サプリカント | サプリカント | Supplicant。ネットワークに接続したいユーザー・機器。 |
| オーセンティケータ | オーセンティケータ | Authenticator。ネットワークの入口を守る門番(APやスイッチ)。 |
| RADIUS | レイディウス | Remote Authentication Dial-In User Service。認証サーバーのプロトコル。 |
| EAP | イーエーピー | Extensible Authentication Protocol。拡張可能な認証プロトコルの枠組み。 |
| EAP-MD5 | イーエーピー・エムディーファイブ | MD5ハッシュを使うEAP。危険で使用禁止。 |
| EAP-PEAP | イーエーピー・ピーイーエーピー | Protected EAP。TLSトンネル内でパスワード認証。安全。 |
| EAP-TLS | イーエーピー・ティーエルエス | デジタル証明書で認証するEAP。最も安全。 |
| EAP-TTLS | イーエーピー・ティーティーエルエス | Tunneled TLS。TLSトンネル内で柔軟な認証。安全。 |
| EAP-LEAP | イーエーピー・リープ | Cisco独自のEAP。古くて脆弱。非推奨。 |
| EAP-OTP | イーエーピー・オーティーピー | One-Time Password。ワンタイムパスワードで認証。安全。 |
| EAPOL | イーエーピーオーエル | EAP Over LAN。EAPをLAN上で使うためのプロトコル。 |
| SSH | エスエスエイチ | Secure Shell。遠隔でサーバーを操作するための暗号化プロトコル。 |
| ハイブリッド暗号 | ハイブリッドアンゴウ | 公開鍵暗号と共通鍵暗号を組み合わせた方式。SSHで使用。 |
| 公開鍵認証 | コウカイカギニンショウ | SSHでパスワードではなく公開鍵・秘密鍵ペアで認証する方式。 |
| フィンガープリント | フィンガープリント | Fingerprint。サーバーの公開鍵のハッシュ値。サーバーが本物かの確認に使う。 |
| MITM攻撃 | エムアイティーエムコウゲキ | Man-in-the-Middle(中間者攻撃)。通信の間に割り込んで盗聴・改ざん。 |
| HSTS | エイチエスティーエス | HTTP Strict Transport Security。常にHTTPSを強制する仕組み。 |
| 証明書ピンニング | ショウメイショピンニング | 特定の証明書のみを信頼し、偽の証明書を拒否する仕組み。 |
🎯 試験対策ポイント
TLSバージョンの比較(超重要!)
| バージョン | 登場年 | 安全性 | 備考 |
|---|---|---|---|
| SSL 3.0 | 1996年 | 🔴 危険 | POODLE攻撃に脆弱。廃止済み |
| TLS 1.0 | 1999年 | 🔴 危険 | BEAST攻撃に脆弱。使用禁止 |
| TLS 1.1 | 2006年 | 🟡 脆弱 | 一部攻撃に弱い。非推奨 |
| TLS 1.2 | 2008年 | 🟢 安全 | 現在の標準。十分安全 |
| TLS 1.3 | 2018年 | 🟢 最も安全 | 高速で安全。最新推奨 |
VPNの種類の比較
| 種類 | プロトコル | 用途 | 特徴 |
|---|---|---|---|
| IPsec-VPN | IPsec | 拠点間接続 | 高速・安全。専用機器必要 |
| SSL-VPN | TLS/SSL | リモートアクセス | ブラウザで接続可能 |
| PPTP | PPTP | 古い方式 | 暗号化が弱い。非推奨 |
IPsecモードの違い
| モード | 暗号化範囲 | メリット | 用途 |
|---|---|---|---|
| トランスポート | データ部分のみ | オーバーヘッド小 | 同一ネットワーク内 |
| トンネル | パケット全体 | 送信元も隠せる |
VPN・拠点間通信 |
セキュリティプロトコルの比較(ESP vs AH)
| プロトコル | 正式名称 | 暗号化 | 認証 | 完全性保証 | 特徴 |
|---|---|---|---|---|---|
| ESP | Encapsulating Security Payload (カプセル化セキュリティペイロード) |
⭕ あり | ⭕ あり | ⭕ あり | データを暗号化してプライバシーを保護。最も一般的に使用される。 |
| AH | Authentication Header (認証ヘッダ) |
❌ なし | ⭕ あり | ⭕ あり | データの改ざん検知に特化。暗号化は行わないため、通信内容は見える。 |
プロトコルとモードの組み合わせ
| 組み合わせ | 説明 | 利用シーン |
|---|---|---|
| ESP + トランスポート | データ部分のみを暗号化・認証 | 社内LANでの端末間セキュア通信 |
| ESP + トンネル | パケット全体を暗号化・認証(最も一般的) | 拠点間VPN、リモートアクセスVPN |
| AH + トランスポート | データ部分の認証のみ(暗号化なし) | 改ざん検知が主目的の場合 |
| AH + トンネル | パケット全体の認証のみ(暗号化なし) | NATとの相性問題があり使用頻度は低い |
EAPの種類(頻出!)
- 安全:EAP-TLS、EAP-PEAP、EAP-TTLS、EAP-OTP
- 危険:EAP-MD5、EAP-LEAP
IEEE 802.1Xの3要素
- サプリカント:接続したいユーザー・機器
- オーセンティケータ:ネットワークの門番(APやスイッチ)
- 認証サーバー:本人確認する本部(RADIUSサーバー)
SSH認証の2つの方式
- パスワード認証:簡単だが安全性低い
- 公開鍵認証:安全。推奨
🎓 語呂合わせ・暗記法
TLSのバージョン
「さん(3)は安全」
- TLS 1.3が最も安全
- TLS 1.2も安全
- 1.0、1.1は危険
IPsecの2つのモード
「トラ(虎)はトンネル掘る」
- トランスポートモード:データだけ暗号化
- トンネルモード:全部暗号化(トンネルを掘る)
IEEE 802.1Xの3要素
「サオニ(竿に)かける」
- サプリカント
- オーセンティケータ
- 認証サーバー
安全なEAP
「TLSつく(TとP)と安全」
- EAP-TLS
- EAP-PEAP(Pにもtlsが入ってる)
- EAP-TTLS
💡 補足:実際の使われ方
TLSが使われている場所
- HTTPS(Webサイト)
- メール(SMTP over TLS、POP3S、IMAPS)
- VPN(SSL-VPN)
- VoIP(音声通話)
IPsecが使われている場所
- 拠点間VPN(本社↔支社)
- リモートアクセスVPN
- IPv6通信(標準装備)
IEEE 802.1Xが使われている場所
- 企業のオフィスWi-Fi
- 大学・病院のネットワーク
- 公共施設の認証付きWi-Fi
SSHが使われている場所
- サーバー管理(リモートログイン)
- ファイル転送(SFTP、SCP)
- Git(バージョン管理)
- IoT機器の設定