RADIUSとは
インターネット創成期の頃から、認証用プロトコルとして利用されてきている「RADIUS」について紹介します。
企業向けからISPや通信事業者向けまで、RADIUSサーバーの構築は、こちらもご参考ください。
【RADIUSとは】
RADIUSは「Remote Authentication Dial In User Service」の略です。
ネットワーク上で利用者認証、権限付与、利用状況記録などを行うための通信/認証プロトコルです。インターネット接続サービスや有線/無線LANのユーザー認証に使われています。
RADIUSサーバとRADIUSクライアントの間の通信方式を規定したもので、利用者の情報はRADIUSサーバが一元的に管理することにより、クライアントからの要求に応じて、認証可否、ネットワーク資源へのアクセス可否などを通知します。また、利用事実記録(アカウンティング)も行います。
【RADIUSの経緯】
名称に「Dial In(ダイヤルイン)」というワードが入っていることからも分かるように、元来はダイヤルアップインターネット接続サービスを実現するために開発されました。
1992年に「Livingston Enterprise」社が開発し、1997年にIETFによって標準化されています。
【RADIUSの構成】
RADIUSによる認証システムは、「ユーザ」、「RADIUSクライアント」、「RADIUSサーバ」の3つで構成されます。
「ユーザ」からの認証要求を「RADIUSクライアント」が受け付け、「RADIUSサーバ」に転送します。「RADIUSサーバ」は、認証に必要なユーザ情報を一元管理していて、認証可否を応答します。
【RADIUSクライアントの例】
無線LAN接続においては、無線LANアクセスポイントがRADIUSクライアントとなります
また、コンテンツ提供サービスにおいては、WebサーバがRADIUSクライアントとなります。RADIUSプロトコルの観点からすると、サーバであっても、クライアントという扱いになります。
【AAAモデル】
「RADIUSプロトコルはAAAモデルの先駆け」といわれることがあります。
AAAモデルとは、(1)認証(Authentication)、(2)承認(Authorization)、(3)アカウンティング(Accounting)の3つの段階として分けて考えるモデルです。
「(1)認証」はユーザを識別確認することです。「(2)承認」は、サービス提供の可否を行います。「(3)アカウンティング」は、利用事実や利用実績を記録することで、アクセスログ管理機能ともいえます。
【共有鍵(セキュリティ)】
RADIUSプロトコルにおいて、RADIUSクライアントとRADIUSサーバ間の通信は、UDPという通信プロトコルを使って行われます。UDPの上位プロトコルであるTCPとは違い、UDPは、送信者の詐称やデータ改竄などを検出することができません。このため、通信相手のIPアドレス情報だけで通信内容について信頼することはできません。
そこで、偽のRADIUSクライアントからの不正なアクセス要求を排除し、通信内容の詐称と改竄を防ぐため、RADIUSクライアントとRADIUSサーバの間で、「共有鍵(共有暗号鍵)」という鍵文字列を共有して、パケットに共有鍵認証符号を付加することにより、通信の信頼性を確保しています。
【RADIUSプロキシサーバ】
RADIUSサーバでありながら、認証/承認処理とアカウンティング処理を他のRADIUSサーバに転送するものを「RADIUSプロキシサーバ」といいます。つまり、RADIUSサーバでありながら、RADIUSクライアントでもあります。
たとえば、ユーザ名として電子メールアドレスのように「@」マークとドメイン名を含んだ文字列を使用している場合、「@」マーク以下のドメインごとに、それぞれのドメインを担当するRADIUSサーバに処理を割り振るといったようなことができます。
【まとめ】
インターネット黎明期から認証用プロトコルとしての役割を担ってきたRADIUSですが、最近では、他のさまざまな新しい認証方式も現れてきています。しかし、それらも標準でRADIUSをサポートしていることが多く、基本認証プロトコルとして、まだまだ活躍しています。
RADIUSサーバの構築やリプレース、及び価格については、こちらからお問合せください!