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」メッセージを送って、アクセスを許可しないことを伝える仕組みだ。