Kerberos認証とは
ギリシャ神話の「地獄の番犬ケルベロス(Kerberos)」に由来する。シングルサインオンシステムを提供するネットワーク認証方式で、「Kerberos」はサーバーとクライアント間の身元確認のために使用するプロトコルである。UNIX系OSにクライアントサーバ型のウィンドウシステムを提供する「X Window System」の開発で知られるマサチューセッツ工科大学(MIT)のAthenaプロジェクトが開発。その仕様は「RFC 4120」で標準化され、マイクロソフトの「Active Directory」が推奨する認証方式で、Mac OSでも採用されている。
Kerberos認証の構成要素は以下の5つ。
(1)KDC(Key Distribution Server):サーバーとクライアントに関する信頼関係の情報を一括管理するデータベース
(2)AS(Authentication Server):クライアントからの認証を受け付けるサーバー
(3)TGS(Ticket Granting Server):サーバーを利用するためのチケットを発行するサーバー
(4)プリンシパル(principal):KDCが認証するクライアントやサーバー
(5)レルム(realm):同一KDCの配下にあるシステムをグループとして定義する論理ネットワーク
Kerberos認証では、クライアントが正しいユーザーIDとパスワードを「AS(Authentication Server)」に送信して認証に成功すると、「TGS(Ticket Granting Server)」から「チケット」と呼ばれるデータを受け取ることができる。認証には、このチケットが使用され、サーバーはアクセスしてくるクライアントがアクセス権を持っているかどうかを、ユーザーIDとパスワードではなく「チケット(クライアントのID、タイムスタンプ、有効期限など)」を使用して確認している。認証時にチケットを使用することでアカウント(ユーザーID、パスワード)の漏えいを防いでいるのである。