ケルベロス認証

提供: セキュリティ
移動: 案内検索
スポンサーリンク

ケルベロス認証 (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
  • サービスプリンシパル
    • ldap/ldap.example.jp@EXAMPLE.jp
      • ldap.example.jp が提供している LDAP サービス

ホストプリンシパル、サービスプリンシパルのホスト名は、FQDNで表記します。

ケルベロス認証の認証

ケルベロスは、パスワード、もしくは、それと同じようなものをネットワークに流しません。 ユーザとKDCは、共通鍵を持ちます。

パスワードの文字列とほかの情報を利用して, 暗号鍵に変換して利用します(string to key)。

ケルベロス認証の流れ

  1. ユーザは AS へ認証要求
  2. AS は TGT をユーザへ送信
  3. サーバXにアクセスするためのチケットを TGT に要求, TGSを送信
  4. TGS はユーザに サーバX へのチケットを送信
  5. ユーザは、チケットを サーバX へ送信
ユーザ -- 認証要求 --> AS
ユーザ <- TGT -------- AS

ユーザ -- サーバXへのチケット要求 + TGT --> TGS
ユーザ <- サーバ X へのチケット ----------- TGS

ユーザ -- チケット --> サーバX

時刻同期

チケットには、リプレイ攻撃対策として、チケットにタイムスタンプ(時刻情報)が記録されています。時刻が大きく異なると、アクセスの正当性評価ができなくなります。そのため、時刻同期が重要です。

ケルベロス バージョン1-3

ケルベロスのバージョン1 から 3 は、MITのテスト用であるため、実装はありません。

ケルベロス バージョン4

  • 暗号化には、56ビットDESを用います。

ケルベロス バージョン4

  • 暗号化モジュールを自由に選択可能になりました。

Windows とケルベロス

  • Windows 2000では、ユーザ認証とアクセス制御にケルベロスが採用されました。

英語の意味

kerberos は、ギリシャ神話の「3つの頭を持った冥界の番犬」の意味です。

関連項目




スポンサーリンク