Kerberos認証についてまとめてみた

CISSP

こんにちは、今回は、すごく苦手なKerberos認証についてざっくりまとめたいと思います。私なりの整理になりますので、間違っている記述等ありましたら、ご指摘いただけますと幸いです。

1. Kerberosとは?  

チケットを用いた認証プロトコルで、使用することで、ネットワーク上のアプリケーション、リソースへの安全かつスムーズなアクセスを実現します。

2. Kerberos認証の流れ

流れを見ていく前に、Kerberos認証を構成する要素からご説明します。

登場人物

  • クライアント端末:ユーザーが使用する端末です。
  • KDC
  • AS(Authentication Server):KDCの機能の一つです。ユーザーの認証情報を管理し、TGTを発行します。
  • TGS(Ticket Granting Server):KDCの機能の一つです。TGTを使用して、ユーザーがアプリケーションにアクセスするためのSTを発行します。
  • サービスA:ユーザーがアクセスしたいサービスです。

チケット

  • TGT(Ticket Granting Ticket):TGSへのアクセスを要求するためにクライアントがASから取得するチケットです。
  • ST(Service Ticket):サービスへのアクセスを要求するためにクライアントがTGSから取得するチケットです。

認証の流れ

Kerberos認証の流れ
  1. クライアント端末→AS:TGT要求を行う
  2. AS:クライアントのパスワードで生成したハッシュ値を使用して、以下を暗号化する
    ・タイムスタンプが押されたTGT
     (ユーザー名、有期限、許可されたサービスなどの情報が含まれる)
    ・クライアント-TGS間で用いるセッション鍵X
  3. AS→クライアント端末:2を送信する
  4. クライアント端末:パスワードで生成したハッシュ値を使用して2を復号し、TGSに送るTGTをセッション鍵Xで暗号化する
  5. クライアント端末→TGS:4で暗号化したTGTを含め、TGS要求する
  6. TGS:5をセッション鍵Xで復号・検証し、問題なければSTを生成、セッションXを使用して、以下を暗号化する
    ・ST
    ・クライアント-サービス間で用いるセッション鍵Y
  7. TGS→クライアント端末:6を送信する
  8. クライアント端末:セッション鍵Xで6を復号し、サービスBに送るSTをセッション鍵Yで暗号化する
  9. クライアント端末→サービスB:8を送信
  10. サービスA:STを受け取り、クライアント端末に対してアクセスを許可するかどうかを決定

3. KerberosとActive Directory

一般的に普段生活している中でKerberos認証を意識することはほぼなく、Active Directoryを導入している企業等で、認証プロセスを中央管理するために利用されています。

Active Directoryは、マイクロソフトが提供する中央集権型のディレクトリサービスですが、Active Directoryが提供する認証サービスの基盤としてKerberos認証が使われていま。多くの企業で導入されており、Active Directoryに登録されたユーザーは、Kerberosによる認証を使用して、企業内の各種リソースにアクセスすることができます。

まとめ

今回はKerberos認証について勉強をしていきました。
この記事が、少しでも皆様のご理解に役立てば幸いです。

ここまでお読みいただきありがとうございました!

コメント