Kerberosとkerberos暗号化方式の違い

目次

Kerberosとkerberos暗号化方式の違いのまとめ

何か 例え


具体例

Kerberos 認証プロトコル全体
誰であるかを証明する仕組み
パスポート審査の仕組み全体 TGT発行・チケット認証の流れ
kerberos暗号化方式 Kerberosが内部で使う暗号化の方式
チケットやデータを暗号化する手段
パスポートの偽造防止技術 AES-256、RC4-HMACなど

Kerberos(ケルベロス) は、ネットワーク上で本人を確認するための認証プロトコルです。

Kerberos暗号化方式は、Kerberosの一部です。

Kerberosとは

Kerberos(ケルベロス) とは、ネットワーク上でユーザーやサービスの身元を確認するための認証プロトコルです。

現在もWindowsのActive Directoryなど広く使われています。

 

認証のおおまかな流れとActive Directoryにあてはめた場合の流れ

Kerberosの流れ Active Directoryの流れ
ユーザーがログイン → KDCに認証要求 ドメイン参加しているPCやユーザー→ドメインコントローラー(DC)に認証要求
KDCがTGT(チケット発行チケット)を発行 ドメインコントローラーがログオン時に発行されるチケット(TGT)を発行
サービスを使いたいとき → TGTを提示してサービスチケットを要求→発行 ファイルサーバにアクセス時 → DCにTGTを提示→DCがファイルサーバ用のTGSを発行→PCがファイルサーバにTGSを提示→ファイルサーバが許可
サービスにアクセス サービスにアクセス

KDC・・・Key Distribution Center

 

主な特徴

  • パスワード非送信 — ネットワーク上にパスワードが流れない
  • シングルサインオン(SSO) — 一度認証すれば複数サービスを利用可能
  • 相互認証 — クライアントとサーバーがお互いを確認し合う
  • チケットの有効期限 — 通常8〜10時間で失効、セキュリティを維持

 

主な用途

  • Windows Active Directory(企業の認証基盤として最も普及)
  • LinuxのSSO環境
  • HadoopなどのBigData基盤

kerberos暗号化方式とは

Kerberos暗号化方式とは、ネットワーク上でユーザーやサービスの認証を行うためのプロトコルです。


基本的な仕組み

Kerberosは信頼できる第三者機関として機能するKDCを中心に動作します。パスワードを直接ネットワーク上に流さず、チケットと呼ばれる暗号化された証明書を使って認証します。

 

認証の流れ

AS(Authentication Service)への要求 ユーザーがログインすると、KDCのASに認証を要求します。
TGT(Ticket Granting Ticket)の発行 KDCはユーザーのパスワードから派生した鍵で暗号化されたTGT(チケット発行チケット)を返します。
TGS(Ticket Granting Service)への要求 特定のサービスを使いたいとき、TGTを提示してサービス用チケットを要求します。
サービスチケットの発行と利用 KDCがサービスチケット(TGS)を発行し、ユーザーはそれをサービスに提示してアクセスします。

 

使用される暗号化アルゴリズム

方式 説明
AES-256-CTS-HMAC-SHA1-96 現在の推奨(最も強固)
AES-128-CTS-HMAC-SHA1-96 AESの128bit版
RC4-HMAC 旧来のWindows環境で使用(現在は非推奨)
DES 古い方式・現在は使用禁止

 

RC4-HMAC がKerberosで使われる場面

主な使用状況

レガシーなWindows環境との互換性が必要なとき

  • Windows XP / Windows Server 2003 以前のシステムが混在する環境
  • AESをサポートしていない古いクライアントやサービス
  • 古いSamba(LinuxのWindows互換ソフト)との連携時

 

Active Directoryの設定で明示的に許可されているとき

デフォルトでは、Windows Server 2008以降はAESを優先しますが、環境によってはRC4も有効のままになっていることがあります。

 

クライアントとKDCの暗号化方式のネゴシエーション結果

KerberosはクライアントとKDCが共通して対応している方式の中で最も強いものを選ぶ仕組みです。片方がAESに対応していない場合、RC4にフォールバックします。

関連の記事

LDAPとActiveDirectoryの違い

△上に戻る