Kerberos認証

読み方 : けるべろすにんしょう

英語正式表記 : Kerberos Authentication

Kerberos認証とは

Kerberos認証とは、ネットワーク越しでアクセスするユーザーを認証するプロトコルである。仕様は、RFC4120やRFC4121で規定される。マイクロソフトのActive Directoryなどが対応している。

Kerberos認証では、「チケット」と呼ぶデータを認証に使う。ユーザーがサーバーにアクセスしようとすると、サーバーはアクセス権を持っているユーザーかどうかを判断する。このとき、ID/パスワードといったテキストのアカウント情報で認証を行うと、暗号化しない限り、ネットワーク上にアカウント情報が平文のまま流れてしまう。そこでKerberos認証では、クライアントのIDやタイムスタンプ、有効期限が含まれるチケットと呼ぶデータを使って認証する。こうすることで、アカウント情報を漏洩しにくくする。

Kerberos認証の仕組みを、Active Directory環境を例にして説明する。特徴的なのは、2種類のチケットを使う点だ。

ユーザーは、アカウント情報やアクセス権を管理するドメインコントローラーで認証を受けると、最初のチケットを受け取る。この後ユーザーがサーバーAにアクセスするときは、ドメインコントローラーに最初のチケットを送信して、サーバーAにアクセスするための第2のチケットを要求する。ドメインコントローラーは、最初のチケットのタイムスタンプや有効期限などを確認し、サーバーへのアクセス権を持ったユーザーなら、サーバーAにアクセスするための第2のチケットをユーザーに送信する。ユーザーは受け取ったチケットAをサーバーAに送ることで、アクセス可能になる。

Kerberos認証では、チケットが盗聴されるとなりすましの被害を受ける可能性がある。これを抑えるために、「時刻同期」という仕組みが用意されている。

チケットの中には、送信時刻(タイムスタンプ)が記録されていて、チケットを受け取ったサーバーが、チケットのタイムスタンプとそのサーバーの設定時刻とのズレが大きいと認証に失敗するようになっている。例えば、Active Directory環境では、初期設定で5分ずれると認証時にエラーが表示される。

出典:ITpro「今日のキーワード」(C)日経BP社

[2014年 2月13日 公開]

お役立ち情報満載!「資料ダウンロードまとめサイト」のご案内