「ケルベロス認証」の版間の差分
提供: セキュリティ
(相違点なし)
|
2015年6月13日 (土) 17:59時点における版
ケルベロス認証 (kerberos, ケルベロス) とは、暗号を用いた認証方式の1つです。
読み方
- ケルベロス認証
- けるべろす にんしょう
- kerberos
- けるべろす
目次
概要
ケルベロスは、MITのAthenaプロジェクトの「認証サービス、プロトコル、プログラム」の総称です。秘密鍵暗号(共通鍵暗号)を用います。
- ケルベロス認証 は、複数のサーバと複数のユーザの認証情報を一元管理します。
- シングルサインオン
- 相互認証
- 通信は、暗号化できます。
- ケルベロス認証は、時刻同期が必須です
ケルベロス認証の用語
- KDC(Key Distribution Center)
- 鍵配布センター
- AS(Authentication Server
- 認証サーバ
- TGS(Ticket Granting Server)
- チケット発行サーバ
- プリンシパル(principals)
- ユーザやサーバ
- レルム(realm)
- プリンシパルの塊。ケルベロスで管理される人、サーバのある組織。EXAMPLE.JP みたいな大文字で表記される。
- TGT(Ticket Granting Ticket)
- チケット発行のためのもとになるチケット
レルム
- ユーザプリンシパル
- ホストプリンシパル
- サービスプリンシパル
- ケルベロスチケット交付サービスプリンシパル
プリンシパルの記述
コンポーネント[/コンポーネント]/[コンポーネント][...]@レルム
- ユーザプリンシパル
- user@EXAMPLE.JP
- foo/admin@EXAMPLE.JP
- ユーザ foo , レルム EXAMPLE.JP の管理者
- ホストプリンシパル
- host/fs.example.jp@EXAMPLE.JP
- レルム EXAMPLE.JP の ホスト fs.example.jp
- host/fs.example.jp@EXAMPLE.JP
- サービスプリンシパル
- ldap/ldap.example.jp@EXAMPLE.jp
- ldap.example.jp が提供している LDAP サービス
- ldap/ldap.example.jp@EXAMPLE.jp
ホストプリンシパル、サービスプリンシパルのホスト名は、FQDNで表記します。
ケルベロス認証の認証
ケルベロスは、パスワード、もしくは、それと同じようなものをネットワークに流しません。 ユーザとKDCは、共通鍵を持ちます。
パスワードの文字列とほかの情報を利用して, 暗号鍵に変換して利用します(string to key)。
ケルベロス認証の流れ
- ユーザは AS へ認証要求
- AS は TGT をユーザへ送信
- サーバXにアクセスするためのチケットを TGT に要求, TGSを送信
- TGS はユーザに サーバX へのチケットを送信
- ユーザは、チケットを サーバX へ送信
ユーザ -- 認証要求 --> AS ユーザ <- TGT -------- AS ユーザ -- サーバXへのチケット要求 + TGT --> TGS ユーザ <- サーバ X へのチケット ----------- TGS ユーザ -- チケット --> サーバX
時刻同期
チケットには、リプレイ攻撃対策として、チケットにタイムスタンプ(時刻情報)が記録されています。時刻が大きく異なると、アクセスの正当性評価ができなくなります。そのため、時刻同期が重要です。
ケルベロス バージョン1-3
ケルベロスのバージョン1 から 3 は、MITのテスト用であるため、実装はありません。
ケルベロス バージョン4
- 暗号化には、56ビットDESを用います。
ケルベロス バージョン4
- 暗号化モジュールを自由に選択可能になりました。
Windows とケルベロス
- Windows 2000では、ユーザ認証とアクセス制御にケルベロスが採用されました。
英語の意味
kerberos は、ギリシャ神話の「3つの頭を持った冥界の番犬」の意味です。