【テクニカル・上級編】 エンタープライズWi-Fi認証におけるPEAP(Protected EAP)とMSCHAPv2の検証 – 家庭用ネットワーク・IoT・モバイル通信実践ガイド

エンタープライズWi-Fiの深淵:PEAP-MSCHAPv2のハンドシェイクを解剖し、現代のゼロトラストへ繋ぐ

ネットワークの現場に身を置いていると、最新のWi-Fi 7のMLO(Multi-Link Operation)や6GHz帯の到来に心を奪われがちです。しかし、どれほど物理層が進化しようとも、認証という「信頼の基点」が崩れていれば、そのネットワークは砂上の楼閣に過ぎません。

今回は、エンタープライズWi-Fiのデファクトスタンダードである PEAP-MSCHAPv2 に焦点を当て、そのパケットレベルの挙動と、現代のインフラに求められる防御術を紐解きます。

1. PEAP-MSCHAPv2のハンドシェイク:TLSの皮を被った狼

PEAP(Protected EAP)は、クライアントと認証サーバーの間に TLS トンネルを確立し、その中で EAP-MSCHAPv2 という比較的一般的な認証を行う仕組みです。

ハンドシェイクの裏側

1. Outer Authentication: まず、クライアントはアクセスポイント(AP)を経由して認証サーバー(RADIUS)と TLS ハンドシェイクを開始します。この段階でサーバーは自身の証明書を提示し、クライアントはサーバーを検証します。
2. Inner Authentication: TLS トンネルが確立されると、その安全なパイプラインの中で MSCHAPv2 によるID/パスワードのチャレンジ・レスポンス認証が行われます。

ここでの問題は、MSCHAPv2 が持つ脆弱性です。MSCHAPv2 は DES を使用しており、オフライン辞書攻撃に対する耐性が著しく低いです。つまり、TLS トンネルを終端するクライアント側が「サーバー証明書の検証」を怠ると、中間者(MITM)が容易にパスワードハッシュを抽出し、総当たりで平文を割り出せてしまいます。

2. 脆弱性の核心と回避策:証明書検証の徹底

多くのインフラ担当者が陥る罠は、クライアントデバイスで「サーバー証明書を検証しない」という設定を許容してしまうことです。

推奨されるRADIUSサーバー設定(FreeRADIUS例)

FreeRADIUS を使用する場合、TLSのバージョンを固定し、弱い暗号スイートを排除することが必須です。

# /etc/raddb/mods-enabled/eap
eap {
    default_eap_type = peap
    peap {
        # TLS 1.2以上を強制し、TLS 1.0/1.1の脆弱性を排除
        tls_min_version = "1.2"
        # 証明書検証を必須にする(クライアント側で設定させる)
        verify_client = yes
    }
}

3. パフォーマンスとチューニング:RTT削減の処方箋

認証は RTT(Round Trip Time)の影響を強く受けます。特に TLS ハンドシェイクの往復回数は、低速なモバイル回線や高負荷な環境下では致命的です。

TCPバッファとカーネルチューニング

認証パケットの遅延を防ぐため、RADIUSサーバー側の sysctl パラメータを最適化し、TCP バッファを調整します。

# /etc/sysctl.conf に追記
# 認証パケットのロスを防ぐためのバッファ拡大
net.core.rmem_max = 2621440
net.core.wmem_max = 2621440
# 輻輳制御アルゴリズムをBBRに変更(パケットロスに強くする)
net.ipv4.tcp_congestion_control = bbr

また、TLS セッションの再開(Session Resumption)を有効にすることで、2回目以降の認証ハンドシェイクを短縮可能です。これは、頻繁にAP間をローミングするモバイルデバイスにとって、接続の「体感速度」を劇的に改善します。

4. なぜ私たちは次に進むべきか

PEAP-MSCHAPv2 は、既存のActive Directory環境との統合が容易という理由で延命されていますが、技術の本質に立ち返れば、これは「パスワード」という極めて漏洩リスクの高い認証要素に依存しています。

次世代へのステップ

インフラアーキテクトとして、我々が目指すべきは EAP-TLS への移行です。

  • 証明書ベース認証: ID/パスワードを使わず、デバイス証明書(クライアント証明書)のみで認証することで、盗聴リスクを根本から排除できます。
  • TLS 1.3の採用: TLS 1.3 を利用すれば、ハンドシェイクの往復回数はさらに削減され、完全前方秘匿性(PFS)も担保されます。

結論:ネットワークは「厳格さ」で守られる

Wi-Fi 7が提供する大容量・超低遅延の世界であっても、認証という入り口がガバガバであれば、その先には何のセキュリティも存在しません。

パケットの挙動を理解し、TLS のハンドシェイク一つひとつに疑いの目を向け、環境に合わせてカーネルパラメータを泥臭く調整する。そうした地道な積み重ねこそが、テックリードとしての腕の見せ所です。

皆さんのネットワークが、今日も安全かつ高速にパケットを運び続けることを願っています。次は、EAP-TLS における OCSP Stapling の実装について深掘りしましょうか。

コメント

タイトルとURLをコピーしました