Introduction
RADIUS(Remote Authentication Dial-In User Service)プロトコルは、アクセスサーバーの認証およびアカウンティングプロトコルとして、Livingston Enterprises, Inc.によって開発されました。 RADIUS仕様RFC2865 はRFC2138を廃止したものです。
Prerequisites
Requirements
このドキュメントには特定の前提条件はありません。
Components Used
このドキュメントは特定のソフトウェアやハードウェアのバージョンに制限されていません。
Conventions
ドキュメントの慣習については、Cisco Technical Tips Conventionsを参照してください。
Background Information
ネットワーク アクセス サーバー (NAS) と RADIUS サーバー間の通信は、User Datagram Protocol (UDP)に基づいています。 一般的に、RADIUSプロトコルはコネクションレスサービスと考えられています。 サーバーの可用性、再送信、タイムアウトなどに関する問題は、伝送プロトコルではなくRADIUS対応機器が処理します。
RADIUSは、クライアント/サーバープロトコルです。 RADIUSクライアントは通常NASで、RADIUSサーバーは通常UNIXやWindows NTマシン上で動作するデーモンプロセスです。 クライアントは、指定されたRADIUSサーバーにユーザー情報を渡し、返ってきた応答に基づいて行動します。 RADIUSサーバーは、ユーザーの接続要求を受け取り、ユーザーを認証した後、クライアントがユーザーにサービスを提供するために必要な設定情報を返します。 また、RADIUSサーバは、他のRADIUSサーバや他の種類の認証サーバのプロキシ・クライアントとしても機能します。
この図は、ダイアルインユーザーとRADIUSクライアントおよびサーバーとのやりとりを示しています。
-
ユーザーがNASに対してPPP認証を開始します。
-
NASはユーザー名とパスワード(Password Authentication Protocolの場合)またはチャレンジ(Challenge Handshake Authentication Protocolの場合)の入力を要求します。
-
ユーザーが返信します。
-
RADIUSクライアントがユーザー名と暗号化されたパスワードをRADIUSサーバーに送信します。
-
RADIUSサーバーはAccept、Reject、Challengeのいずれかで応答します。
-
RADIUSクライアントはAcceptまたはRejectにバンドルされているサービスとサービスパラメータに基づいて動作します。
Authentication and Authorization
RADIUSサーバーは、ユーザーを認証するためのさまざまな方法をサポートすることができます。 ユーザーから与えられたユーザー名とオリジナルのパスワードが提供されると、PPP、PAPまたはCHAP、UNIXログイン、その他の認証メカニズムをサポートすることができます。
典型的には、ユーザーのログインは、NASからRADIUSサーバーへの問い合わせ(Access-Request)と、それに対応するサーバーからの応答(Access-AcceptまたはAccess-Reject)で構成されます。 Access-Requestパケットには、ユーザー名、暗号化されたパスワード、NASのIPアドレス、ポートが含まれています。 RADIUSの初期の導入では、UDPポート番号1645を使用していましたが、これは「datametrics」サービスと競合します。 この競合のため、RFC2865ではRADIUSにポート番号1812を正式に割り当てました。 ほとんどのシスコデバイスやアプリケーションは、どちらのポート番号にも対応しています。 また、リクエストのフォーマットは、ユーザーが開始したいセッションの種類に関する情報を提供します。
RADIUSサーバがNASからAccess-Requestを受信すると、データベースを検索し、リストアップされたユーザ名を探します。 ユーザー名がデータベースに存在しない場合、デフォルトのプロファイルが読み込まれるか、RADIUSサーバーは直ちにAccess-Rejectメッセージを送信します。 このAccess-Rejectメッセージには、拒否の理由を示すテキストメッセージを添付することができます。
RADIUSでは、認証と認可が連動しています。 ユーザー名が見つかり、パスワードが正しければ、RADIUSサーバーはAccess-Acceptレスポンスを返し、その中にはこのセッションに使用するパラメータを記述した属性-値ペアのリストが含まれています。 典型的なパラメータには、サービスタイプ(シェルまたはフレーム)、プロトコルタイプ、ユーザに割り当てるIPアドレス(静的または動的)、適用するアクセスリスト、NASルーティングテーブルにインストールするスタティックルートなどがあります。 RADIUSサーバーの構成情報は、NASにインストールされる内容を定義します。 下図はRADIUSの認証・認可シーケンスを示したものです。
アカウンティング
RADIUSプロトコルのアカウンティング機能は、RADIUSの認証・認可とは別に使用することができます。 RADIUSのアカウンティング機能は、セッションの開始時と終了時にデータを送信し、セッション中に使用されたリソース(時間、パケット、バイトなど)の量を示すことができます。 インターネットサービスプロバイダ(ISP)は、特別なセキュリティや課金のニーズに応えるために、RADIUSアクセスコントロールとアカウンティングソフトウェアを使用することがあります。
クライアントとRADIUSサーバー間のトランザクションは、ネットワーク上では決して送信されない共有シークレットを使用して認証されます。 また、ユーザーのパスワードはクライアントとRADIUSサーバー間で暗号化されて送信されるため、安全でないネットワークを盗み見た人がユーザーのパスワードを知る可能性はありません。