How Does RADIUS Work?

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クライアントおよびサーバーとのやりとりを示しています。

  1. ユーザーがNASに対してPPP認証を開始します。

  2. NASはユーザー名とパスワード(Password Authentication Protocolの場合)またはチャレンジ(Challenge Handshake Authentication Protocolの場合)の入力を要求します。

  3. ユーザーが返信します。

  4. RADIUSクライアントがユーザー名と暗号化されたパスワードをRADIUSサーバーに送信します。

  5. RADIUSサーバーはAccept、Reject、Challengeのいずれかで応答します。

  6. 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サーバー間で暗号化されて送信されるため、安全でないネットワークを盗み見た人がユーザーのパスワードを知る可能性はありません。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です