Kerberosとは、ネットワーク上でユーザーの認証を行う方式の一つ。Kerberosが利用されている例として、MicrosoftのActive Directoryなどがある。
Kerberosとは、ネットワーク上でユーザーの認証を行う方式の一つ。Kerberosが利用されている例として、MicrosoftのActive Directoryなどがある。名前はギリシャ神話の「ケルベロス」に由来する。MITで開発されており、幾つかのバージョンが存在するが、現在はIETF(Internet Engineering Task Force)でも規格化されているバージョン5が主に利用されている。
Kerberosは、クライアント/サーバ型の構成をとる。「チケット」と呼ばれるものを用いて、パスワードを送受信することなく安全に認証を行える。Kerberos管理下にあるネットワークを「レルム」と呼び、ユーザーIDやパスワードといった認証情報は「KDC(Key Distribution Center)」と呼ばれる認証サーバで一元管理される。各チケットも、ここが発行する。
チケットには「各サーバ専用のチケット自体を得るためのチケット(TGT:Ticket Granting Ticket)」「各サーバ専用のチケット」の2種類があり、TGTはユーザーの鍵、各サーバ専用のチケットは各サーバの鍵で、それぞれ暗号化される。
流れとしては、まずユーザーがKDCからTGTを受け取り、自身の鍵で復号する。その後、ユーザーがKDCへ、TGTと共に各サーバ専用のチケットを要求し、受け取ったチケットを各サーバに提示して認証するという形になる。このとき、各サーバは受け取ったチケットと自身の鍵を用いて認証を行うため、ユーザーはチケットを提示するだけで毎回認証情報を入力する必要がない。そのため、一種のシングルサインオン環境を構築できる。
なお、Kerberosを利用する際はクライアント/サーバ間で時刻同期を行わなくてはならない。なりすまし攻撃を防ぐため、クライアントとサーバ間で一定以上時刻がずれていると認証が失敗するためである。
【2004/1/1】初版公開。
【2018/7/23】最新情報に合わせて内容を書き直しました(セキュリティ・キャンプ実施協議会 著)。
Copyright © ITmedia, Inc. All Rights Reserved.