なぜ、Linuxでkerberosを使用しないのか
まずはkerberosの基礎知識から
オープン・ネットワーク上
認証と暗号化セキュリティを確保するためのアルゴリズム
信頼のおける第三者機関による認証のモデルに基づく
realmに属する複数のクライアントとサーバーとの認証と暗号鍵の発行を一手に受け持つ
具体的には,KDCが各クライアントのパスワードを基に生成した有効期限付きの身分証明書(TGT:ticket-granting ticket)をレルム内の各サーバーへのアクセス時に使い,パスワードが漏れるリスクを減らす。
KerberosはMITで開発された認証および暗号化システム。
ユーザ認証プロトコルである。
現在のバージョンはKerberosバージョン5。RFC1510に規定。
複数のユーザそれぞれが、複数のネットワーク・リソース(サーバー)を利用するようなケースにおいて、一度だけ認証を受ければ複数のサービスを利用できるようにするしくみ。シングルサインオンを実現する方法のひとつである。
・レルム :KDCの管理領域「レルム」(realm)
・プリンシパル :レルム内の全てのクライアントとサーバ
クライアントってことかな?
・KDC :証明書を発行する鍵発行局などを担当するサーバ群?
(key distributioncenter)
信頼される第三者のあつかい?
KDCは通常、次の3つから構成される。
・AS (認証サーバ authentication server)
・TGS (チケット発行サーバ Ticket Granting Server)
・KDB (ケルベロス・データベースサーバ)
Windowsではドメインコントローラ(DC)がKDCとして機能する。
1) KDCのASに認証依頼
2) 正しいIDとパスワードで認証に成功すると,ASからユーザーに対して
TGT(Ticket Granting Ticket:チケット発行のための大もとのチケット)
を発行
3)ユーザーはKDCのTGS(Ticket Granting Server)に対して,実際にアクセスしたいサーバーへの利用権を請求します
4)TGSはユーザーに対して,チケットと呼ばれるものを発行します
5)ユーザーはこのチケットをアクセス先のサーバーへ提出して,これを受け取ったサーバーはユーザーを認識し,そのユーザーに合ったアクセスを許可します
で、本題。
1)標準的なUNIXパスワードデータベース(/etc/passwdや/etc/shadowなど)からKerberosパスワードデータベースへとユーザーのパスワードを移行するための高速なソリューションが存在しない。
2)Linuxで使用されているPAM(Pluggable Authentication Modules)システムとの互換性を部分的にしか持っていない。
ってところでしょうかね