VPN 接続に利用されている認証プロトコル「MS-CHAP v2」

Tadashi Shigeoka ·  Sat, May 21, 2016

VNP で受け取ったデータは PPP (Point to Point Protocol) へ流されていて、そこで使われる認証方法「MSCHAPv2 認証」について調べた内容をまとめてみました。

MS-CHAP (エムエス・チャプ)

マイクロソフトのRAS(Remote Access Service)で利用されるPPPでのCHAPのこと。Windows NT LAN ManagerではMS-CHAP v1、Windows 2000ではMS-CHAP v2が利用されている。

MS-CHAP v2

MS-CHAP v2の仕様は RFC 2759 で情報提供プロトコル扱いで公開されている。

プロトコルレベルではCHAPと同等だが、MD5でアルゴリズム番号5とする部分を、0x81として用いる。MD4とDESを用いてチャレンジとレスポンスを生成する。

MS-CHAP v2はv1の欠点の改善と機能強化が行なわれており、双方向認証への対応、常にパスワードとチャレンジに基づく暗号鍵を作成する、送受信で別の暗号鍵を用いる、などの特徴がある。但し、相変わらずMD4である点には変更が無い。

このため、MS-CHAP v2には情報漏洩に繋がる可能性のある脆弱性が相次いで報告されており、危険である。

MS-CHAP v2 の脆弱性に関する注意喚起

問題は、MS-CHAP v2を単体で利用して、PPTPベースのVPN接続を行っている場合に生じる。悪意ある第三者が中間者攻撃や無線通信を盗聴することで認証トラフィックを取得し、認証に関する情報(パスワード)を窃取される可能性がある。こうして盗まれた認証情報が悪用されれば、なりすましや不正アクセスにつながる恐れもある。すでに、この攻撃を行うためのツールも公開済みだ。

日本マイクロソフトはこの状況を受け、2012年8月21日にセキュリティアドバイザリを公開した。上記に該当する環境では、拡張プロトコルの「PEAP」を併用したり、L2TP、SSTP、IKEv2といったほかのプロトコルを利用することを推奨している。

セキュリティの観点では VPN は PPTP よりも L2TP over IPSec で構築した方がよいということが分かりました。

参考情報