AAAにおけるアクセスポイントでの認証の仕組み

AAAにおけるアクセスポイントでの認証の仕組み

今回は、前回まで紹介してきたAAAテクノロジーに関連するAAAサーバーについてご紹介したいと思います。

IT業界まるわかりガイドは、日本初Web専門スクールのインターネット・アカデミーが運営する業界情報メディアです。最新の業界情報を、初心者にも分かりやすくご紹介しています。

目次

AAAサーバーとは

アクセス制御について重要な三つの要素である「認証」、「認可」、「アカウンティング」(=AAA)は、 コンピュータではなく人の手を介して行うことも可能です。

身近な一例としては、守衛さんが施設の訪問者に身分証明書の提示を求め、 その写真と本人の特徴が一致すれば、訪問する目的に応じて施設内部への進入を認めるという場合が考えられます。

しかし、オンライン上のサービスや、企業や組織内部のシステムにおいて、 利用者の増加や利用状況が複雑になるような場合は、手作業による管理は困難になります。

複数のユーザーが複数のパソコンからシステムにログインするような状況でも、 AAAを一元的に扱うことのできる仕組みがあれば便利です。

そのような場合、AAAを全て実装しているAAAサーバーと呼ばれるコンピューターで、 認証、認可、アカウントを管理することが一般的です。

RADIUSサーバーとは

AAAサーバーのうち、もっともよく普及され、一般に用いられているのがRADIUSサーバーです。

RADIUS(Remote Authentication Dial In User Service)は、 リモートアクセスにおける認証、認可、アカウンティングを一元的に管理するためのプロトコル(規約)で、 ラディアスあるいはラディウスと呼ばれています。

RADIUSは、元々はダイヤルアップ接続の際に使われる認証情報を管理するための技術でした。

ダイヤルアップ接続でインターネットを利用する際は、自宅のPCから近くのアクセスポイントまで電話回線を通じ、 PPP(Point-to-Point Protocol)等の通信プロトコルでデータをやりとりして認証を受けます。 この際、アクセスポイントもサーバーも一つであれば、 ユーザーの認証情報はそのアクセスポイントのサーバーに保存するだけで済みます。

しかし、プロバイダの規模が大きくなれば、サーバーは一台で対応しきれなくなります。 また、アクセスポイントを増やして、様々な地域から一つのIDとパスワードでサービスを利用できるようになれば、 ユーザーにとって便利です。

ところが、個々のサーバーやアクセスポイントごとに認証情報を管理していた場合、 別のサーバーやアクセスポイントにアクセスしようとしても、認証情報がないので拒否されてしまいます。

そこで、RADIUSというプロトコルを用い、ユーザーの認証情報を一カ所のサーバー(RADIUSサーバー)で管理するようにします。 アクセスポイントや複数サーバーのうち、どれか一つにユーザーからのアクセス要求があった場合、 以下の手順を踏むことで、ユーザーはサービスを利用することが可能となります。

  1. ユーザーはアクセスポイントのサーバーに認証情報を送信
  2. アクセスポイントのサーバーはRADIUSサーバーにその認証情報を転送
  3. RADIUSサーバーは認証情報のデータベースを持っており、認証情報のIDとパスワードをデータベースと照合し、認証情報が正しいとの確認が取れた場合、当該ユーザーのアクセスを許可
  4. 「アクセス許可」との返信をRADIUSサーバーから受け取ったアクセスポイントのサーバーは、アクセス要求をしてきたユーザーにサービスの使用を許可

RADIUSは、AAAモデルが確立される前に開発されたプロトコルのため、 「認証」と「認可」を切り離すことができないなど、不便な点もありますが、 IETF標準(RFCスタンダード)となっており、「認証といえばRADIUS」と言われるくらい広く普及しています。

ISP(インターネットサービスプロバイダ)や企業によって使用され、 インターネットや社内のネットワーク、無線ネットワーク、電子メールサービスなどの認証情報の管理に使用されています。

TACACS+サーバーとは

TACACS+サーバーもまた、よく用いられるAAAサーバーです。 TACACS+サーバーはRADIUSサーバーと同様、TACACS+というプロトコルを用いて認証情報を管理します。

TACACS+の特徴は、AAAの三要素が完全に切り離されていることです。 その他、RADIUSにはない特徴を備えているため、RADIUSとTACACS+どちらを選択するかは、 性能を比較した上で、使い手のニーズに応じて決定するのがよいでしょう。