目次
1. Kerberos認証とは
2. Kerberos認証で登場する用語
3. Kerberos認証の流れ
4. Kerberos認証への攻撃:Pass-the-Ticket
5. Kerberos認証への攻撃:Kerberoasting
6. まとめ
参考文献
1. Kerberos認証とは
Kerberos認証とは、SSO1を実現するための技術のことです。
Kerberos認証の特徴は二つあります。
一つ目が、「チケット」というデータが存在すること。
二つ目が、WindowsのActive-directory2で応用されていることで有名なこと。
2. Kerberos認証で登場する用語
Kerberos認証には独自の用語が存在するのでそれらについて表2.1で説明します。
用語 | 説明 |
---|---|
KDC | Key Distribution CenterKerberos;認証のサーバ AS、TGS、KDBで構成されている |
AS | Authentication Server;認証サーバ 利用者の認証を行う |
TGS | Ticket Grating Server;チケット認可サーバ 各サーバを利用するためのチケットを発行するサーバ |
レルム | KDCが管理して認証を行うセグメントの範囲のこと |
プリンシパル | 利用者、およびサービスを提供するサーバのこと |
TGT | Ticket Frating Ticket;チケット許可チケット 利用者が本人であることを証明するためのもの |
ST | Service Ticket;サービスチケット サーバにアクセスするときに必要となるチケット |
3. Kerberos認証の流れ
- KRB_AS_REQ
- TGTの発行申請。利用者がASにIDとパスワードを送信する。
- KRB_AS_REP
- 利用者が本人であることが検証できたら、ASは利用者にTGTを発行する。
- KRB_TGS_REQ
- STの発行申請。利用者がTGSにTGTを送信する。
- KRB_TGS_REP
- TGTが偽造されていないか検証できたら、TGSは利用者にSTを発行する。
- KRB_AP_REQ
- サービスの申請。利用者がサーバにSTを送信する。
- KRB_AP_REP
- サーバは利用者にサービスを提供する。
4. Kerberos認証への攻撃:Pass-the-Ticket
Kerberos認証への攻撃として、「Pass-the-Ticket」というものがあります。
Pass-the-Ticketとは、チケット情報を窃取したり偽造することで不正にサービスへアクセスすることです。
不正に入手したTGTを「ゴールデンチケット」、
不正に入手したSTを「シルバーチケット」と呼びます。
TGTは、KDCにおいて偽造を検知する対策が行えますが、
STは、KDCに送信されることがないので、KDCでの対策はできません。
5. Kerberos認証への攻撃:Kerberoasting
Kerberos認証への攻撃として、「Kerberoasting」というものがあります。
Kerberoastingとは、サーバ管理者のアカウントパスワードを解読して不正にログインすることです。
具体的には、STはサーバ管理者のパスワードハッシュ値を鍵として暗号化されています。
そのため、サーバ管理者のパスワードを総当たりに試行して、STを復号できるような鍵を見つけると、それがサーバ管理者のパスワードとなります。
STが窃取されただけでは被害は限定的ですが、サーバ管理者のパスワードが解読されるとサーバそのものが乗っ取られてしまいます。
STに対する総当たり攻撃はオフラインで行われるため、ログイン失敗回数に制限を設けてアカウントロックをするといった対策はできません。
6. まとめ
- Kerberos認証はSSOを実現する技術の一つで、Active-Directoryで使われている
- Kerberos認証では、 KDC、レルム、プリンシパル、TGT、STといった用語が使われている
- STやTGTを不正に入手する攻撃を「Pass-the-Ticket」と呼ぶ
- STを解読してサーバ管理者のパスワードを入手する攻撃を「Kerberoasting」と呼ぶ
- Kerberoastingはオフラインで行われるため検知が難しい
参考文献
- 情報処理安全確保支援士試験委員会. 『令和4年春 情報処理安全確保支援士試験 午後II』. IPA. 2022.
- 三好康之. 『2023情報処理安全確保支援士「専門知識+午後問題」の重点対策』. 株式会社アイテック. 2022.