注目キーワード

メタCセキュリティ物語 ~安全な通信の秘密・TLS・VPN・SSH編~

この記事は、セキュリティ資格学習のために、AI(Claude)と共同で作成したコンテンツです。
※間違った解釈がある可能性があります。

目次

この記事の目的

セキュリティの専門用語は、カタカナや略語が多く、初学者にとって非常に取っつきにくいものです。
そこで、専門家じゃなくてもわかるようにストーリー風に構成してみました。

 

📍 結城の新たな狙い

結城は、深夜の自室でモニターを見つめていた。

「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で作成しているため、若干違いがあるかもしれません。

身近な例え

「初めて会う人と秘密の話をするとき、こんな感じ」

  1. Client Hello:「こんにちは!秘密の話がしたいです」
  2. Server Hello:「こんにちは!じゃあ暗号使いましょう」
  3. Server Certificate:「私の身分証です(証明書)」
  4. Server Key Exchange:「この合言葉で暗号作りましょう」
  5. Client Key Exchange:「了解、こっちからも合言葉出します」
  6. 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の暗号化の流れ

  1. 公開鍵暗号で共通鍵を安全に交換(最初だけ)
  2. 共通鍵暗号で高速にデータ通信(本番)

身近な例え

「初めて会う人と秘密の話をするとき、最初に『合言葉(共通鍵)』を郵便(公開鍵暗号)で安全に送って、あとは電話(共通鍵暗号)で速く話す」


SSHの公開鍵認証

「SSHでは、パスワードじゃなくて公開鍵認証がおすすめよ」

公開鍵認証の仕組み

  1. ユーザーが秘密鍵公開鍵のペアを作成
  2. 公開鍵をサーバーに登録
  3. 秘密鍵は自分のPCに保管(絶対に漏らさない)
  4. ログイン時、秘密鍵で署名して本人確認

メリット

  • パスワードを送らない(盗聴されても安全)
  • ブルートフォース攻撃(総当たり)が効かない
  • 複数のサーバーに同じ公開鍵を登録できる

身近な例え

「家の鍵と鍵穴の関係。鍵穴(公開鍵)はドアにつけて、鍵(秘密鍵)は自分だけが持つ。鍵穴をコピーされても、鍵がなければ開けられない」


フィンガープリント(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をオフにした。

即時対応

  1. 該当アクセスポイントの特定:カフェ周辺の偽APを発見
  2. ユーザーへの警告:影響を受けたユーザーに緊急通知
  3. TLS 1.0/1.1の無効化:サーバー側で古いバージョンを拒否
  4. 証明書ピンニング:正規の証明書以外を拒否

「佐藤さん、偽APの位置を特定しました。警察に通報します」

「了解。ユーザーへの被害は最小限に抑えられました」

恒久対策

  1. TLS 1.3の推奨:最新バージョンへの移行を促進
  2. HSTS(HTTP Strict Transport Security):常にHTTPSを強制
  3. 証明書の透明性(CT: Certificate Transparency):不正な証明書を検知
  4. ユーザー教育:公衆Wi-Fiの危険性を啓発
  5. 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要素

  1. サプリカント:接続したいユーザー・機器
  2. オーセンティケータ:ネットワークの門番(APやスイッチ)
  3. 認証サーバー:本人確認する本部(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機器の設定