keyboard samurai ZERO COOL

 

  1. ホーム
  2. IT技術及びツール紹介
  3. セキュリティ(認証とは)

セキュリティ(認証)

RADIUS認証(Remote Authentication Dial In User Service)

Livingston Enterprise社が開発したダイヤルアップユーザの認証システム。IETFによってRFC 2138として標準化されている。

電話回線などを通じてアクセスサーバにダイヤルアップしたユーザを認証し、割り当てるべきIPアドレスをアクセスサーバに伝えたり、課金情報を収集したりする。

アクセスサーバとの間で認証用のユーザIDやパスワードをやり取りする際にはMD5を使った独自の方式を用い、セキュリティを高めている。

ダイヤルアップ接続のための認証システム、または認証を行うためのプロトコルであり、米Livingston Enterprise社が開発した。

RADIUSシステムは、IETF(Internet Engineering Task Force)によりRFC2138/RFC2139として標準化され、RADIUSサーバのソースコードは公開されている。

電話回線などを通じてアクセスサーバにリモートでダイヤルアップ接続した利用者ユーザーは、PPP内のLCPやCHAPを使用してユーザー利用者名とパスワードをアクセスサーバへ伝送する。

アクセスサーバは、このユーザー利用者名とパスワードを、RADIUSプロトコルを使用してRADIUSサーバへ伝送し、ユーザー利用者として認証されれば接続を許可する仕組みである。

現在ほとんどのアクセスサーバ製品が、RADIUSのクライアント機能をサポートしている。

ネットワーク資源の利用の可否の判断(認証)と、利用の事実の記録(アカウンティング)を、ネットワーク上のサーバコンピュータに一元化することを目的とした、IP上のプロトコルである。

名称に「ダイヤルイン」という言葉を含むことからわかるように、元来はダイヤルアップ・インターネット接続サービスを実現することを目的として開発された。

しかし、常時接続方式のインターネット接続サービス、無線LAN、VLAN、コンテンツ提供サービスなどのサービス提供者側設備において、認証とアカウンティングを実現するプロトコルとして幅広く利用されている。

インターネット接続サービスにおいては、ダイヤルアップ着信装置やブロードバンドアクセスサーバ(BAS、Broadband Access Server)などの着信装置(NAS、Network Access Server)がRADIUSクライアントである(「サーバ」という名称であっても、RADIUSプロトコルの観点ではクライアントである)。

無線LANにおいては、無線LANアクセスポイントである。

VLANにおいては、VLANスイッチである。

コンテンツ提供サービスにおいては、ウェブサーバがRADIUSクライアントとして機能するだろう。

クライアントがサーバに「RADIUS要求パケット」を送信し、サーバがクライアントに「RADIUS応答パケット」を送信する。

いずれの方向の通信も、IP上のUDPパケットによって行う。

いずれのパケットも、ヘッダ部分20オクテットと、「属性」部分とからなる。

ヘッダ部分は、種別コード(Code)1オクテット、識別子(Identifier)1オクテット、パケット全体の長さ2オクテット、「認証符号(オーセンティケータ、Authenticator)」16オクテットからなる。

識別子は、クライアントが決めて要求パケットに設定し、サーバが応答パケットにコピーする。

クライアントが、受信した応答パケットと過去に送信した要求パケットとの対応付けを行うために使用する。

クライアントの実装では1ずつ増加する数値とするのが一般的であるが、シリアル番号であるとは規定されていない。

認証符号とは、送信者の詐称と改竄(かいざん)の無いことの証明を行うデータである。

属性部分は、属性値ペア (Attribute Value Pair) を任意の回数繰り返したものである。

属性値ペアは、属性番号1オクテット、長さ1オクテット、属性の値からなる。

値としては、4オクテットの整数値、4オクテットのIPアドレス、1 - 253オクテットの文字列などを与えることができる。

属性番号ごとに、属性値ペアの値の意味がRFC文書において規定されている。

属性番号に対する意味を新たに定義することによって使用目的を増やすことができることが、RADIUSプロトコルの柔軟性の源であり、最大の特徴である。

機器のベンダが独自に属性番号の意味を定義して独自の目的に使用することは推奨されない。

ベンダ独自の機能に対応するためには、属性番号26番 (Vendor Specific) の値として、ベンダ番号を含むデータを与えることが推奨される。

属性番号26番の属性値ペアを、一般にVSA (Vendor Specific Attribute) と呼ぶ。

ベンダ番号は、IANAが管理および付与している。

属性値ペアにさまざまな情報を含めることによって、認証とアカウンティングを行う。

認証のために、ユーザ名、パスワードのための属性番号が用意されている。

ダイヤルアップ・インターネット接続においてPPPを使用する場合のため、PPP用の認証プロトコルであるPAP、CHAP、EAPのそれぞれに適した属性番号が用意されている。

アカウンティングのために、利用秒数、送受信データ量などの属性番号が用意されている。

これからわかるように、属性番号によって、認証とアカウンティングのどちらで利用できるのか、どちらでも利用できるのかの違いがある。

RADIUSパケットの最大長は、RADIUS認証プロトコルにおいては4096オクテット、RADIUSアカウンティングプロトコルにおいては4095オクテットである。

RADIUSアカウンティングプロトコルが4096オクテットでなく4095オクテットであることには特に意味がないようである(RFCの執筆者によれば、タイプミスがそのまま規格になってしまったとのことである)。

「RADIUSプロトコルは、AAAモデル(AAA プロトコル)に基づいたプロトコルである」という表現をすることがある。

AAAモデルとは、サービスの提供から記録までの流れを、認証 (Authentication)、承認 (Authorization)、アカウンティング (Accounting) の3つの段階に分けて考えるモデルである。

認証とは、利用者が誰であるかを識別することである。

この点では、認証よりも「利用者の識別」と言ったほうが適切かもしれない。

一番単純な認証は、ユーザ名とパスワードの組み合わせが正しいことを確認する方法だろう。

承認とは、認証済みの利用者に対してサービスを提供するか否かを判断することである。

たとえば、利用の時刻、発信者電話番号などによる利用場所、前払い利用料金の残額などによって判断するだろう。

「認可」「許可」と訳されることもある。

アカウンティングとは、利用の事実を記録することである。

「課金」と訳されることもあるが、請求・決済業務を指す課金 (Billing) と混同する可能性があるので「アカウンティング」とカナ表記するのが望ましいだろう。

RADIUSプロトコル自体は、AAAモデルという考え方が確立するよりも前に開発されたものである。

そのため、RADIUSプロトコルにおいては、認証と承認を区別せず、あわせて「認証」として取り扱っている。

実際、RADIUSクライアントは、利用が拒否された理由がパスワードの間違いなのか、権限の不足なのかを知ることができない。

 

EAP(PPP拡張認証プロトコル)PPP Extensible Authentication Protocol

リモートアクセスによるユーザー認証の際に用いられるプロトコルで、PPP(Point-to-Point Protocol)を拡張し、追加的な認証方法をサポートする。

認証方式として、MD5、TLS(Transport Layer Security)、S/Keyなどをサポートしている。

IEEE802.1xが採用し、同規格に基づいた認証プロトコルである。

また、さまざまな方式があり、サーバ/クライアントの双方で電子証明書を利用するEAP-TLS(Transport Layer Security)、ファンク・ソフトウエアとサーティコムが開発したEAP-TTLS、シスコ独自方式のLEAP(EAP-Cisco Wireless)、マイクロソフトとシスコなどが開発したPEAP(protected EAP)、そのほかEAP-MD5、EAP-RADIUSなどがある。

 

EAP-TLS方式

無線LANなどで利用される認証規格「IEEE 802.1x」に対応した、認証プロトコルの1つ。ネットワークのセキュリティを高めるEAP(Extensible Authentication Protocol )に対応し、サーバ/クライアントの双方で電子証明書を利用する方式のためセキュリティが、より強化される。

また、電子証明書の保管にUSB認証トークン、指紋認証トークンなどを用いることで、さらにセキュリティレベルを強化することができる。

 

    スポンサーリンク