図●RADIUSによる認証の仕組み(PAPの場合)
図●RADIUSによる認証の仕組み(PAPの場合)
PPPのPAPで接続する際のRADIUS認証の動作を示した。
[画像のクリックで拡大表示]

 RADIUSはRemote Authentication Dial In User Serviceの略で、認証プロトコルの一つである。様々なインターネット接続サービスや有線/無線LANのユーザー認証で使われている。

 RADIUSによる認証システムは、ユーザー、RADIUSクライアント、そしてRADIUSサーバーの三つで構成される。アクセスしてくるユーザーの認証要求を受け付け、RADIUSサーバーに転送するのがRADIUSクライアントだ。転送されてきた認証要求に応じて実際に認証を実行し、アクセスを許可するかどうかを決めるのがRADIUSサーバーである。認証に必要なユーザー情報は、RADIUSサーバーが一括して管理する。

 RADIUSの仕様は、RFC2865などいくつかのインターネット標準として規格化されている。そこでは、RADIUSクライアントとRADIUSサーバーの間のやり取りだけを決めている。サーバーの実装方法や、設定ファイルの記述方法は規定していない。ただし、現在使われているRADIUSサーバーの多くでは、設定ファイルのフォーマットや設定名はある程度共通している。

 RADIUSサーバーにはソフトウエア、ハードウエアの2通りの実装がある。ソフトウエアのタイプには、商用ソフトだけでなくフリーのソフトもある。ハードウエア製品は、LinuxなどのOSとRADIUSサーバーのソフトウエアを組み合わせ、設定用のGUI画面を付け加えたアプライアンスなどだ。

 ユーザーがPPPを使って接続する際の、RADIUSによる認証の過程を見てみよう(図)。PPPでは、PAP、CHAPという2種類の認証方式を使う。PAPはユーザーがパスワードを直接送って認証を依頼する方式。CHAPはパスワードが盗まれないように、パスワードを送らずに認証を依頼する方式だ。ここではPAPを例に説明する。

 ユーザーがPPPのメッセージでユーザーIDとパスワードをRADIUSクライアントに送ると、RADIUSクライアントはユーザーIDとパスワードを「Access-Request」メッセージでRADIUSサーバーに渡す。RADIUSサーバーは送られてきた情報と、自分が持っている情報を照らし合わせてユーザーを識別する。正規のユーザーで問題なく認証できた場合は、「Access-Accept」メッセージでそのことをRADIUSクライアントに伝える。正規のユーザーと認められない場合は、RADIUSクライアントに「Access-Reject」メッセージを送って、アクセスを許可しないことを伝える仕組みだ。