IEEE802.1x(2014-09-28)
概要 †
IEEE802.1xは、LAN接続に使用される認証用の規格です。
ある端末がインターネットや社内ネットワークに接続する際に、その接続可否を認証装置が制御します。
登場人物 †
- サプリカント(Supplicant)
PCや無線LAN端末。認証されるクライアント端末のこと。Windowsには標準で入っている。
- 認証装置(Authenticator)
LANスイッチや無線LANアクセスポイント。もちろんIEEE802.1xに対応した装置になる。
認証成功まで、認証装置がネットワークへのアクセスをせき止めるのが仕事。
また、上の図のとおり、サプリカント(Ethernetや無線LAN)と認証サーバ(RADIUS)とは別のネットワークプロトコルなので、その橋渡しの役割も担う。
- 認証サーバ(Authentication Server)
IEEE802.1xとEAP(後述)に対応したRadiusサーバ。
認証情報を入れたDBサーバが裏に控えているかもしれませんが、まぁ省略で。
サプリカント達の情報を管理して、接続の可否判定を下す。
RADIUS(ラディウス。Remote Authentication Dial In User Service)*1 †
ネットワーク接続の為のユーザ認証と、利用記録を残すためのプロトコル。
元々はダイアルアップ接続に使用されていたので、課金のための「利用記録」という概念がある。
IEEE802.1xでは認証装置がRADIUSクライアント兼ユーザ(?)、認証サーバがRADIUSサーバになる。
プロトコルはUDPなので、よりセキュアな通信にする必要があるならばIPSecや共有鍵等の暗号化が別途必要。
接続までの流れ †
以下の3ステップ
- サプリカントと認証装置の接続
- サプリカントと認証サーバ間での認証
- 認証後の、サプリカントが接続したかったネットワークへの接続
サプリカントと認証装置の接続 †
サプリカントが有線or無線LANに接続した時点で、その接続可否を認証装置が判定する。
(この段階で接続拒否するってことはあんまり無いんだと思いますが)
サプリカントは認証装置に対して、どの方式のEAP認証を行いたいか伝える。
認証装置はサプリカントに対して、これからどの方式のEAPで認証を行うかを応答する。
サプリカントと認証サーバ間での認証 †
EAP(Extended Authentication Protocol)で認証を行う。方式の例は以下。
- EAP-MD5
チャレンジレスポンス*2とMD5を利用したID、パスワード方式での認証。でもMD5は弱い暗号方式なので安全ではない(ハッシュ関数を参照)。
- EAP-TLS(EAP Transport layer security)
デジタル証明書を使って認証する。また、通信はTLSによって暗号化される。
サプリカント側の証明書、認証サーバ側の証明書を事前に用意する必要がある。
その上で事前に(いざ認証が発生する前に)お互いの証明書を持ち合うか、あるいは認証局(CA)に証明書を登録&認証時にサプリカントと認証サーバが各々認証局に問合せができる仕組みが必要になる。(認証局についてはPKIを参照)
手間がかかる分セキュリティは高い。
- EAP-TTLS(Tunneled TLS)
ESP-TLSと概ね似た感じだが、こちらはサーバ側のデジタル証明書と、サプリカントのID/パスワードで認証を行う。
サプリカント側の証明書管理をしない分、楽になる。
- PEAP(Protected EAP)
実装方式が違うけど、特徴はEAP-TTLSと同じ。
- EAP-FAST(Flexible Authentication via Secure Tunneling)
Cisco独自の仕様によって、デジタル証明書や認証局無しで高度な暗号化を行いたいという方式。
認証後 †
上記のEAP認証が成功した後に、認証装置はサプリカントのネットワークへのアクセスを許可する。