認証(2)
認証システム実現技術
RADIUS(Remote Authentication Dial In User Service)
- 「ラディウス」と発音される。
- もともとはリモートアクセスサーバ(RAS:Remote Access Server)のユーザ認証のために開発されていたプロトコル。
- ネットワーク上のユーザ認証プロトコルの1つ
- ユーザ認証だけでなくネットワークの接続時間やデータ量の情報も収集できるため、認証ユーザの課金管理も担う。
- 現在では無線LANや有線LANでのネットワーク接続時のユーザ認証のプロトコルとしても利用される
RAS
電話回線やISDN回線などを通じて遠隔地のコンピュータやネットワークにダイヤルアップ接続し、それらの持つ機能やデータなどの資源を遠隔から利用すること。
認証の仕組み
RADIUSは、ユーザからの要求に対してサーバなどが認証を行い、接続の可否を返すというサーバ/クライアントモデルの仕組みをとる
。
Radiusサーバ、Radiusクライアント、ユーザの3つの要素で構成される。
RadiusクライアントはNAS(Network Access Server)とも呼ばれる。
要求は、要求を識別するための種別コードと認証用のあて先ポート番号(1812)によって区別される。
Radiusクライアント | : | アクセスしてくるユーザの認証要求を受け付けてRadius |
サーバにその情報を転送する | ||
Radiusサーバ | : | 認証要求に応じて認証を実行してアクセスを許可するか |
どうかを決定する。 |
メッセージダイジェスト処理におけるBOF
RADIUSサーバがMD5によるクライアントからのメッセージダイジェストを処理する際に、入力データのサイズをチェックしないため、BOFが発生する可能性がある
vender-lengthの検証を適切に行わないことによるDoS
ベンダ特有の属性内にあるフィールドであり、属性全体の長さを示すvendor-lengthの検証を適切に行わないというもの。この脆弱性により、vendor-lengthに2以下を指定された場合、正しい処理が実行できず、RADIUSサーバが停止してしまう可能性がある
RADIUSの脆弱性
過去に以下のような脆弱性が発見されているが、いずれもRADIUSの仕様によるものではなく、製品が実装される際のバグが原因となっている。
TACACS/TACACS+
認証用のプロトコルの一つで、リモートアクセス時の認証機能などを提供する TACACSだけでは機能が不十分ということで、以下のような拡張規格が存在する。
- TACACS+
- XTACACS
Kerberos
ケルベロス認証とは、ネットワーク認証方式の1つでありサーバとクライアント間の身元確認のために使用するプロトコル。ドメインの認証方式のひとつである。Kerberosはクライアントとサーバとを相互認証できるだけでなくデータ保全のためにクライアントとサーバ間の通信を暗号化する。現在ではKerberosバージョン 5 が主流。
Windows Server Active Directoryのユーザ認証の際に使用しているプロトコルとして有名。
Kerberos認証はシングルサインオンに限った仕組みではないが、結果的にシングルサインオンと同様の機能を持つ。
※Kerberos認証を実装するには、チケットの盗聴によるなりすましを防ぐために、コンポーネント間で時刻同期が必要
ケルベロス認証の構成要素
ケルベロスの用語 | 説明 |
---|---|
KDC(Key Distribution Center) | サーバとユーザに関する信頼関係の情報を一括管理する中央データベース |
AS (Authentication Server) | 認証サーバ。ユーザからの認証を受け付けるサーバ。ユーザに対してTGT (Ticket Granting Ticket:チケット発行のための大もとのチケット)を発行する。 |
TGS(Ticket Granting Server) | チケット発行サーバ。TGTを持つユーザに対し、各サーバを利用するためのチケットを発行するサーバ |
プリンシパル(principal) | KDCが認証を行うユーザやサーバのこと |
レルム(realm) | 同じKDCの配下にあるシステムをグループとして定義する論理ネットワーク |
Kerberos認証の仕組み
- ユーザはASに対しユーザ名とチケット交付サーバ名を送信し、TGTを要求する
- ASはユーザを認証し、TGTを発行する
(TGTにはユーザとAS間で使用する鍵[ASキー]、ユーザとTGS間で使用するチケット[TGST]及び鍵[TGSキー]が含まれる) - ユーザはTGSサーバにTGTを送付し、チケット発行を要求する
- TGSはユーザを認証し、サービス利用のためのチケット(ST)を発行する
- ユーザはSTを用いて目的のサーバにアクセス要求を行う
- サーバはユーザを認証する
ディレクトリサービス
ディレクトリサービス
ユーザIDやパスワード、所属などのユーザ情報やファイルなどの情報が各サーバに分散されて保存されているものを、ディレクトリサービス導入により、集約して保管することができ、一元的に管理できるようにする仕組み。
ディレクトリサービスを提供するサーバをディレクトリサーバ又はLDAPサーバといい、情報をツリー構造で管理でき、ユーザ情報なども登録、修正・削除の作業を分かりやすく整理することが可能となる。
ディレクトリサービス導入の利点
- ドメインと呼ばれる単位でユーザ、組織(グループ)、コンピュータ、プリンタ、共有フォルダなどさまざまなオブジェクトの情報を集中して格納することで、一元管理することができる。
- これらの情報を利用して、複数のサーバやクライアントにまたがってユーザ認証(シングルサインオン)をし、ファイル・フォルダへのアクセス制御を行うことが可能。
- クライアントPCが変わっても同一の設定やホームディレクトリを利用する、セキュリティポリシーなども統一することが可能。
- ExchangeサーバのアカウントもActive Directoryに統合される。
- Active Directoryの管理は、Active Directoryサイトとサービス、Active Directoryドメインと信頼関係、Active Directoryユーザとコンピュータ、グループポリシーの管理といったGUIツールを使うことも、PowerShellでコマンドラインから実行することもできる。
EAP
EAP(PPP Extensible)とは、PPPの認証機能を拡張したユーザ認証プロトコル EAPはIEEE802.X規格を実装した標準的なプロトコルで、有線及び無線LANの認証システムとして利用されている。
PPP(Point to Point Protocol)
2台の機器間で認証、接続しデータ通信を行う標準的なプロトコル。
IEEE802.Xとは
IEEE802.1xとは、有線LANや無線LANで使用される認証について規定したプロトコル。このIEEE802.1Xに対応したLANスイッチのポートでIEEE802.1Xが有効な場合、そのポートにPCなどを接続してもすぐにLAN接続が行われることはなく認証された機器のみが接続されます。IEEE802.1Xは検疫ネットワークでは中核の技術です。
IEEE802.1X:3つの構成要素
構成要素 | 説明 |
---|---|
サプリカント | IEEE802.1Xにおけるクライアントのこと。またはクライアントにインストールするソフトウェア。認証を受けるクライアントはPCにインストールする必要があるが、最近のPCには標準搭載されている。 |
認証装置 (オーセンティケータ) | サプリカントと認証サーバの仲介役となるネットワーク機器。IEEE802.1X対応のLANスイッチまたは無線LANアクセスポイントのこと。これらの機器はサプリカントと認証サーバとの認証結果を受けて、ネットワークへのアクセス制御を行う |
認証サーバ | ユーザ認証を行うサーバのこと。IEEE802.1X/EAPに対応したRadiusサーバを使用する。 |
IEEE802.1xのプロトコルは、
1.「データリンク層」
2.「EAP(PPP Extensible Authentication Protocol)層」
3.「Authentication層(認証)」
という三つの階層に分けることができる。
IEEE802.1X/EAPにおけるプロトコルスタック
※EAPOL(Extensible Authentication Protocol over LAN):
LAN上で動作する拡張可能な認証プロトコル。IEEE802.1xに規定されているEAPのメッセージをLAN上で伝送するための仕組み。
EAPがサポートしている認証方式
EAP-MD5 (EAP-Message digest algorithm 5)
IDとパスワードで認証する方式。パスワードはチャレンジ&レスポンス方式で暗号化されて送信される。無線LANでは安全ではない。
EAP-TLS (EAP-Transport layer security)
デジタル電子証明書を使って認証する方式。IDやパスワードは使用されない。スマートカードやUSBキー(ドングル)と組み合わせて使用されることが多い。無線LANでもほぼ安全。
PEAP (Protected EAP)
米マイクロソフト社が開発したEAP規格でIDとパスワードで認証する方式。SSL (Secure Sockets Layer) と同じ暗号化技術によって認証通信全体が暗号化されている。暗号化のために認証サーバにデジタル電子証明書が必要。無線LANでもほぼ安全。
LEAP (Lightweight EAP)
米シスコシステムズ社が開発したEAP製品。
EAP-TTLS (EAP-Tunneled transport layer security)
米ファンク・ソフトウェア社 (Funk Software) が開発したEAP製品。TLSによるサーバ認証によってEAPトンネルを確立後、そのトンネル内で様々方式を用いてサプリカントを確立する。無線LANでもほぼ安全。
方式 | 認証方式 | 相互認証 | WEPキー | 対応端末OS | 端末設定 | サーバ設定 |
---|---|---|---|---|---|---|
EAP-MD5 | ID/パスワード | なし | 固定 | Windows XP(ただしSP1では未対応) | 容易 | 容易 |
EAP-TLS | 証明書 | あり | 生成可 | Windows XP、2000 SP4 | 証明書のインストール | 証明書のインストール |
PEAP | ID/パスワード | あり | 生成可 | Windows XP、2000 SP4 | 容易 | 証明書のインストール |
LEAP | ID/パスワード | あり | 生成可 | 主要各OS(シスコシステムズのドライバが必要) | 容易 | 容易 |
EAP-TTLS | ID/パスワード | あり | 生成可 | 主要各OS(シスコシステムズのドライバが必要) | 容易 | 証明書のインストール |
EAP認証手順
- サプリカント(クライアント)は通信を開始する為に、認証装置(アクセスポイント等)に認証開始要求。
この時実行したい認証方式(EAP-TLSなど)を指定する。 - 認証装置はサプリカント(クライアント)から指定された認証方式を通知し、処理開始する。
- 指定された認証方式によってクライアントと認証装置、認証サーバ間でやりとりする。
- 認証サーバから認証可否の通知
- 認証サーバは認証装置に、ユーザ用のセッション鍵のもとになる情報を送信する。
- EAPは認証サーバから受信したセッション鍵の情報から、暗号カギを生成しクライアントに配布
- 通信の開始
 

