ネットワークセキュリティにおけるKerberosとは?仕組みと特徴をわかりやすく解説
Kerberosとは何か?
Kerberos(ケルベロス)は、安全ではないネットワーク上で通信するノード同士の身元を検証するために、「チケット」と呼ばれる仕組みをベースとして動作する認証プロトコルです。Kerberosプロトコルで送受信されるメッセージは、盗聴攻撃やリプレイ攻撃から保護されています。
この名称は、ギリシャ神話に登場する地獄の門を守る三つ頭の犬「ケルベロス(Cerberus)」に由来しています。インターネットのような信頼できないネットワーク上でも、信頼できるホスト同士がサービスへの要求を安全に認証できるよう設計されている点が大きな特徴です。
Kerberosの基本的な仕組み
Kerberosでは、ユーザーがサーバーに対して、またサーバーがユーザーに対して、それぞれ相手の正当性を確認する「相互認証」を行います。この認証処理の中核を担うのが、信頼された第三者サーバーである鍵配布センター(KDC:Key Distribution Center)です。認証はユーザーのクライアント、サーバー、そしてKDCが管理するデータベースによって実行されます。
認証の流れ
通常、クライアント(ユーザーやサービス)がKDCに対してチケットを要求すると、KDCはクライアント用のチケット許可チケット(TGT:Ticket Granting Ticket)を作成します。このTGTはクライアントのパスワードを鍵として暗号化され、クライアントへ返送されます。パスワードそのものがネットワーク上に流れることはないため、安全性が高く保たれるのです。
認証手順のステップ
- ユーザーがログインする
- クライアントがサーバーにチケット許可チケット(TGT)を要求する
- サーバーが既存のユーザー情報を検索する
- クライアントがTGTを受け取る
- パスワードによる本人確認を行う
- TGSネットワーク経由でクライアントのTGSセッション鍵を取得する
- クライアントがサービスの利用を要求する
Kerberosを構成する3つの主要要素
Kerberosプロトコルは、次の3つの要素で構成されています。
- クライアント: サービスを利用したいユーザーやアプリケーション
- サーバー: サービスを提供する側のアプリケーションサーバー
- 信頼された第三者(KDC): 認証の仲介役となる鍵配布センター
クライアントはKDCからチケットを取得し、サーバーとの接続確立時にそのチケットを提示することで認証を行います。この第三者認証の仕組みにより、安全でないネットワーク上でも信頼性の高い認証が実現されます。
「3つの頭」が意味するもの
神話のケルベロスが3つの頭を持つように、Kerberosプロトコルにも「3つの頭」に相当する存在があります。それはクライアント(プリンシパル)、ネットワークリソース(アプリケーションサーバー)、そして鍵配布センター(KDC)の3つです。この三者が連携することで、Kerberosは第三者認証機能を提供しています。
KDC(鍵配布センター)の構成要素
Kerberosシステム全体の中心となるのがKDCであり、Kerberosプロセスにおいて最も重要なコンポーネントです。主に以下のサービスで構成されます。
- 認証サービス(AS:Authentication Service): ユーザーの最初のログイン認証を担当
- チケット許可サービス(TGS:Ticket Granting Service): 各サービスへのアクセスに必要なチケットを発行
Active Directoryとの連携
WindowsのActive Directory(AD)は、Kerberosバージョン5を認証プロトコルとして採用しており、サーバーとクライアント間の認証に利用しています。Kerberosは、多数のシステムがアクセス可能なオープンなネットワーク環境において、サーバーとクライアント間の認証を保護する目的で設計されたプロトコルです。
Kerberosはどのように安全なのか
過去には攻撃者がKerberosの脆弱性を突いた事例もありますが、長年にわたりKerberosは有効なアクセス制御・認証プロトコルとして実績を積み重ねてきました。強力な暗号化アルゴリズムによってパスワードや認証チケットを保護できるほか、パスワードをネットワーク上に送信しないという設計思想も大きな強みです。
対応している主な暗号化方式
Kerberosでは、用途や環境に応じてさまざまな暗号化方式を選択できます。主なものは以下の通りです。
- des-cbc-crc
- des3-cbc-sha1-kd
- arcfour-hmac-md5
- aes128-cts-hmac-sha1-96
- aes256-cts-hmac-sha1-96
特にAES系(aes128 / aes256)は現在の標準的な選択肢とされており、古いDES系は脆弱性の観点から非推奨となっています。
Kerberosで使われるポート:UDPかTCPか
Kerberosは通常UDPを使用しますが、チケットサイズが大きい場合にはTCPへフォールバック(切り替え)することがあります。Kerberosクライアントはポート88番を使用してUDPおよびTCPパケットを送信し、Kerberosサーバー(KDC)からの応答を受信します。ファイアウォール環境では、KDCがUDP応答を送信できるよう設定の調整が必要になる場合があります。
まとめ
Kerberosは、信頼できないネットワーク上でも安全な認証を実現するために開発された、実績ある認証プロトコルです。チケットベースの認証によりパスワードをネットワークに流さず、盗聴やリプレイ攻撃への耐性も備えています。Active Directoryの標準認証プロトコルとしても広く採用されており、企業ネットワークのセキュリティ基盤として今も重要な役割を担っています。
-
OSとネットワークセキュリティとは?仕組み・種類・必要性をわかりやすく解説
ネットワークセキュリティとは?ネットワークセキュリティとは、ネットワークとデータを様々な脅威から守り、可用性と完全性を維持するための一連の取り組みです。対象となるのはハードウェアだけでなく、ソフトウェア技術も含まれます。ウイルスや不正アクセスなど数多くの脅威が存在しますが、ネットワークセキュリティによって、これらがネットワークへ侵入したり拡散したりすることを防ぎます。効果的なネットワークセキュリティがあれば、安全なネットワークアクセスが実現します。ネットワークセキュリティの定義と種類ネットワークセキュリティとは、ネットワークおよびその上にあるデータが、意図せず漏洩したり盗み見られたりすることを
-
ネットワークセキュリティにおける認証(Authentication)と認可(Authorization)とは?違いと仕組みを徹底解説
はじめに:認証と認可はネットワークセキュリティの要ネットワークセキュリティにおいて、「認証(Authentication)」と「認可(Authorization)」は、システムを不正アクセスから守るための二大柱です。この2つは似た言葉のため混同されがちですが、役割はまったく異なります。本記事では、それぞれの定義、具体的な例、そして安全な運用のために押さえておきたいポイントをわかりやすく解説します。 認証(Authentication)とは何か? 認証とは、ユーザーやデバイスが「本人であること」を確認するプロセスです。最も身近な例は、Webサイトへのログインです。ユーザー名とパスワードを入力し