Kerberos とは?
- IAM 用語集
- Kerberos とは?
Kerberos は、デジタル「チケット」のシステムを使用してユーザーまたはホストのアイデンティティを検証するコンピュータネットワーク認証プロトコルです。秘密鍵暗号と信頼できるサードパーティを使用して、ユーザーの身元を確認し、クライアント/サーバーアプリケーションを認証します。
Kerberos プロトコルは、1988 年にマサチューセッツ工科大学(MIT)で開発されたもので、同大学がネットワークユーザーを安全に認証し、ストレージやデータベースなどの特定のリソースへのアクセスを許可するためのものです。当時のコンピュータネットワークでは、ユーザー ID とパスワードでユーザーを認証していましたが、これらは暗号化されず、平文で送信されていました。そのため、脅威者はユーザーのクレデンシャルを傍受し、それを使って MIT のネットワークに侵入することが可能でした。
Kerberos は、信頼できるホストが、信頼できないネットワーク(特にインターネット)上でパスワードを平文で送信したり保存したりすることなく通信できるようにしました。さらに、ユーザーが 1 つのパスワードだけで複数のシステムにアクセスすることを可能にする、シングルサインオン(SSO)技術の初期バージョンとなりました。
Kerberos は何に使われている?
Kerberos は、現在最も広く使われているネットワーク認証プロトコルの 1 つです。大規模な企業ネットワークで SSO をサポートするために頻繁に使用されており、Windows のデフォルトの認証方法であり、Windows Active Directory(AD)において不可欠な役割を果たしています。Kerberos の実装は、Apple OS、FreeBSD、UNIX、Linux でも可能です。
Kerberos を使用する際のチケットの目的とは?
チケットは、Kerberos 認証プロトコルの中核をなすものです。
Kerberos(ケルベロス)という名前は、ギリシャ神話に由来しています。ケルベロスは、死者の世界への門を守る 3 つの頭を持つ犬でした。この名前は、Kerberos プロトコルの 3 つの「頭」、すなわちクライアント、サーバー、Kerberos の「チケット」を発行するKerberos Key Distribution Center(KDC、Kerberos 鍵配布センター)を指しています。
Kerberos の「チケット」は、認証サーバーが発行するデジタル証明書であり、サーバーの鍵を使って暗号化され、ホストが安全な方法でお互いの身元を証明することを可能にします。これは、相互認証として知られています。
Kerberos チケットのリクエストと付与は、エンドユーザーに対して透過的に行われます。クライアントは Kerberos 認証チケットを受け取ると、クライアントの身元を確認するための追加情報とともに、チケットをサーバーに返します。次にサーバーは、Kerberos サービスチケットとセッション鍵を発行し、そのセッションの認証プロセスを完了させます。すべての Kerberos チケットは、タイムスタンプ、時間制限、セッション固有であるため、脅威者が漏洩したチケットを使用してシステムにアクセスするリスクを最小限に抑えることができます。
Kerberos プロトコルはどのように動作する?
ここでは、Kerberos プロトコルの動作を非常に簡略化して説明します:
- Kerberos クライアント認証プロセスは、クライアントが KDC 認証サーバーから認証チケット、またはチケット付与チケット(TGT)をリクエストすることから始まります。この最初のリクエストにはセンシティブな情報が含まれていないため、平文で送信されます。
- KDC がそのデータベースからクライアントを探します。KDC がクライアントを見つけた場合、暗号化された TGT とセッション鍵を送り返します。そうでない場合は、プロセスは停止し、クライアントはアクセスを拒否されます。
- 認証されると、クライアントは TGT を使用して、チケット付与サービス(TGS)にサービスチケットをリクエストします。
- TGS がクライアントを認証できた場合、リクエストされたサービスにアクセスするためのクレデンシャルとチケットをクライアントに送信します。このチケットは、エンドユーザーのデバイスに保管されます。
- クライアントは、チケットを使用してアプリケーションサーバーへのアクセスをリクエストします。アプリケーションサーバーがリクエストを認証すると、クライアントはサーバーにアクセスできるようになります。
Kerberos プロトコルのメリットとは?
Kerberos は、成熟した堅牢な認証プロトコルであり、すべての一般的なオペレーティングシステムに統合され、現代の分散コンピューティング環境をサポートしています。特に SSO の導入に適しており、ロールベースのアクセス制御(RBAC)とデジタルリソースへの最小特権アクセスをサポートしながら、エンドユーザーがスムーズに利用できるようにするバックエンドのテクノロジーを提供します。
Kerberos はハッキングされる?
Kerberos は数十年前から広く使われている技術なので、脅威者は Kerberos を侵害する方法を見つけ出しています。Kerberos に対してのよくあるサイバー攻撃は以下の通りです:
- パス・ザ・チケット攻撃は、脅威者が認証されたユーザーとの間で送信されたチケットを傍受して再利用するものです。
- ゴールデンチケット攻撃は、DC シャドー攻撃とも呼ばれ、脅威者が自分自身の Windows ドメインコントローラをセットアップするために必要なアクセス権を取得するものです。これにより、ネットワークリソースへの無制限のアクセスを許可する偽の特権クレデンシャルを作成することができます。
- クレデンシャルスタッフィング攻撃は、脅威者がユーザーのパスワードの漏洩を試みるものです。これらの攻撃は、一般的に KDC 認証サーバーやチケット付与サービスを標的とします。
しかし、100%ハッキングされないテクノロジーはありませんが、Kerberos は適切に設定、維持されていれば、かなり安全です。Kerberos の展開を安全に保つには、Kerberos が常にアップデートされており、エンドユーザーが多要素認証(MFA)で支えられた強力な独自のパスワードを使用していることを確認する必要があります。