RADIUS【Remote Authentification Dial In User Service】

広告

広告

RADIUSとは

最終更新
2005-11-27T23:59:00+09:00
この記事のURI参照
http://www.7key.jp/nw/technology/term/server/radius.html#radius

ラディウスと読みます。Livingston Enterprise社(現Lucent Technologies社)によってダイヤルアップユーザの認証システムとして開発されました。後に、認証とアカウンティングの機能をネットワーク上のサーバにて一元化するIP上のプロトコルUDPベースのクライアント/サーバモデル)として、幅広く(ダイヤルアップネットワーク接続に限らず)利用されることとなりました。データベースに登録されたユーザ情報に基づいて該当サーバへの接続の可否を判断し、割り当てるべきIPアドレスをRAIUSクライアントに伝えたり、接続の記録を保存することが主な役割です。これらの機能を備えるRADIUSサーバ(認証する側)に対し、RADIUSサーバと通信する相手(認証要求を出す側)をRADIUSクライアントと呼びます。

RADIUSサーバ概要

補足

IETFによってRFC2138/2139として標準化。RFC2865(Authentication),RFC2866(Accounting)

RADIUSプロトコル

最終更新
2005-11-28T22:11:00+09:00
この記事のURI参照
http://www.7key.jp/nw/technology/term/server/radius.html#protocol

RADIUSクライアントがRADIUSサーバにRADIUS要求パケットを送信し、RADIUSサーバがRADIUSクライアントにRADIUS応答パケットを送信します。これらは全てUDPパケットによって行われます。基本的にはこの繰り返しで処理が行われることとなります。RADIUS要求にはいくつかの種類がありますが、これらは種別コードとRADIUSサーバへの宛先ポート番号で区別されます。認証(Authentication)の宛先ポート番号は1812(旧実装では1645)、アカウンティング(Accounting)の宛先ポート番号は1813(旧実装では1646)となっています。

認証の手順

  1. RADIUSクライアントからRADIUSサーバへ認証要求パケット(Access-Request)が送られる。多くの場合このパケットにユーザIDと暗号化されたパスワードが含まれる。
  2. このパケットを受け取ったRADIUSサーバはアクセス許可(Access-Accept)、アクセス拒否(Access-Reject)、アクセスチャレンジ(Access-Challenge)のいずれかの応答を返す(応答は必須)。
  3. アクセスチャレンジを受け取ったクライアントはそれに応じた処理を行う。
  4. RADIUSクライアントにアクセス許可(Access-Accept)が返される場合には、IPアドレス(Framed-IP-Address)やサブネットマスク(Framed-Netmask)などの付属パラメータも同時に渡される場合が多い。

アカウンティングの手順

  1. RADIUSクライアントからRADIUSサーバへアカウンティング要求パケットが送られる。
  2. このパケットを受け取った際に、条件を満たす場合のみRADIUSサーバは応答を返す。この際に記録開始(終了)処理を行う。

RADIUSパケットの最大長は、RADIUS認証プロトコルで4096オクテット、RADIUSアカウンティングプロトコルで4095オクテットとなっており、UDPパケットの最大長である4096オクテットに起因しています。

RADIUSパケット

種別コード(1)
Access-Request(認証要求)、Access-Accept(アクセス許可)、Access-Reject(アクセス拒否)などパケットの種別を表すコードが入る。
識別子(1)
複数の要求を区別する為に使用するシリアル番号が入る。
パケット長(2)
RADIUSパケットのパケット長。
認証符号(16)
送信者の詐称と改竄が無いことの証明を行う部分。
属性ペア
属性番号(1オクテット)、長さ(1オクテット)、属性の値を指定する。PPP用の認証プロトコルであるPAP、CHAP、EAPのそれぞれに適した属性番号や、アカウンティングの為の利用病数や送受信データ量などの属性番号も用意されている。新たに属性番号に対する意味を定義して使用目的を増やすこともできるが、機器のベンダ等が独自の属性番号を使用することは推奨されていない。ベンダが独自に機能を追加したい場合は属性番号26番(Vendor Specific)の値としてベンダ番号(IANAが管理及び付与)を含むデータを与えることが推奨されている。属性番号26番の属性値ペアを一般にVSA【Vendor Specific Attribute】と呼ぶ。

偽のRADIUSクライアントや偽のRADIUSサーバからの接続要求を排除するために、RADIUSクライアントとサーバの間で共有暗号鍵を設定することができます。これと乱数を使用してパケットの一部を生成することにより、リプレイアタックを防止することができます。また、RADIUSサーバに正規のRADIUSクライアントのIPアドレスを記憶させておくことによって不正なアクセスを防ぐ機能もあります。

補足

RADIUSアカウンティングパケットの最大長が4096オクテットではなく4095オクテットとなっていることに特に意味は無く、タイプミスがそのまま規格になってしまったらしいです。

広告

Copyright (C) 2005 七鍵 key@do.ai 初版:2005年11月25日 最終更新:2005年11月28日