
ケルベロス(kerberos)認証とは
ケルベロス認証とは、ネットワーク上で安全にユーザーの認証を行うための仕組みです。もともとは地獄の番犬「ケルベロス」に由来しており、ユーザーとサービス間の通信を暗号化しながら、身元を確認するプロトコルです。
ユーザーは最初のログイン時に認証を済ませると、「チケット」と呼ばれる認証データが発行されます。チケットは一定時間のみ有効で、その間は複数のサービスに再ログインせずにアクセス可能です。
このような仕組みにより、ケルベロス認証はシングルサインオン(SSO)を実現する代表的な方式の一つとされています。
ケルベロス認証とシングルサインオンの違い
ここでは、ケルベロス認証と他のシングルサインオン方式との違いを見ていきましょう。
ケルベロス認証はチケットを用いて認証する
ケルベロス認証では、正しいIDとパスワードを送信して認証に成功すると、「チケット」と呼ばれるデータを受け取れます。これは有効期限付きの鍵のような役割を果たし、アクセス先に提出することでログインが可能になります。
チケットには、ユーザーIDやタイムスタンプ、有効期限などが含まれており、IDとパスワードを再送信する必要がないため、情報漏えいのリスクも低減されます。
- 1:初回ログイン
- ユーザーがKDC(Key Distribution Center)にログイン情報を送信し、TGT(チケット)を取得します。
- 2:サービス要求
- ユーザーはTGTを使って、アクセスしたいサービスへのチケット(Service Ticket)を要求します。
- 3:サービスアクセス
- 取得したService Ticketをサーバに送信し、認証されるとサービス利用が可能になります。
他のシングルサインオン方式との違い
他のシングルサインオン方式では、ケルベロスのような「チケット発行」の仕組みがないものもあります。例えば、SAML認証ではIdP(Identity Provider)を介して認証情報をやり取りし、セキュリティトークン(SAMLアサーション)を使って認証します。
このように、シングルサインオンを実現する仕組みには複数の方式があり、それぞれ実装方法や利用シーンに違いがあります。
ケルベロス認証とシングルサインオンのメリット
つづいて、ケルベロス認証とシングルサインオンのメリットを見ていきましょう。
利便性の向上
ケルベロス認証やシングルサインオンを導入することで、1つのパスワードで複数のアカウントにログイン可能です。
つまり、パスワード管理の手間が大幅に減ります。複数のパスワードを管理するとなると、管理者の負担は大きくなるでしょう。また、パスワードを忘れてログインできなくなる可能性があります。
シングルサインオンを利用すれば1つのパスワードを覚えておくだけになるので、このようなトラブルを回避できます。サービスの利便性が向上し、結果的に売上アップにもつながるでしょう。
セキュリティの強化
パスワード管理は複数のアカウント把握しなくてはならず、面倒で負担がかかるものです。そのため、以下のようなケースがよくみられます。
- ■パスワードを書いた紙を誰でも見える場所に貼っている
- ■複数のアカウントで同じパスワードの使いまわしている
- ■簡単で短いパスワードを使っている
このようなパスワード管理をしているとセキュリティリスクが生じます。シングルサインオンやケルベロス認証なら1つのパスワード設定だけで済むため、長く複雑なパスワードでも容易に管理できます。
複雑なパスワードを設定すれば、総当たり攻撃を受けて不正アクセスされる可能性は低いでしょう。このように、シングルサインオンの仕組みを活用すれば、セキュリティ強度を高めることが可能です。
シングルサインオンの主な実現方法
シングルサインオン(SSO)を実現するためには、いくつかの異なる方式があります。組織の規模や利用システム、セキュリティ要件に応じて、最適な認証方法を選ぶことが重要です。ケルベロス認証以外にも、さまざまな手法でシングルサインオンは実現可能です。ここでは、代表的な方式として、ICカード認証・統合Windows認証・SAML認証の3つを紹介します。
ICカード認証
端末にICカードリーダーを接続し、ICカードを挿入・かざすことで認証を行う方式です。
パスワードを入力する手間がないので利便性が高く、ICカード以外では認証できません。ICカードに加えて、パスワードやクライアント証明書による認証を併用すると、より安全です。パスワードという知識認証と、カードという所有物認証を組み合わせた多要素認証になるためです。
また、ICカードの使用ログを記録できるので、利用状況の管理も可能です。共用端末でもICカード認証を行えば利用者を特定できます。
ICカードによる認証は2000年代前半から中盤までによく使われました。しかし、ケルベロス認証と同様でクラウドに対応していないため、今では一時期ほど導入されていません。
統合Windows認証(Active Directoryによるシングルサインオン)
統合Windows認証とは、Windowsアカウント情報を利用してWebアプリなどに自動ログインできる認証方式です。Active Directory(AD)と連携することでシングルサインオンを実現します。
この仕組みでは、ケルベロス認証やNTLM、SPNEGOといった技術が使われており、ユーザーが明示的にID・パスワードを入力せずに認証が完了します。
SAML認証
SAMLとは「Security Assertion Markup Language」の略であり、認証情報をやり取りする際のプロトコルです。ユーザーとサーバの2者間認証のケルベロス認証に対して、SAML認証は3者間認証となります。
SAML認証では、クラウドアプリとISサービスプロバイダ(IdP)の間で認証情報の受け渡しを行い、ユーザーの認証を行います。今までのような社内システムだけでなく、クラウドサービスも使う場合はSAML認証が使われることが多いです。
なお、SAMLはフェデレーション型SSOに分類され、Kerberosなどの社内ネットワーク型SSOと異なり、IdP(Identity Provider)を介してクラウドサービスとの連携が可能です。
ケルベロス認証などを用いてシングルサインオンを構築!
ケルベロス認証とはシングルサインオンを実現し、チケットを発行するネットワーク認証です。チケットはいわば有効期限付きの鍵で、一定期間内なら再ログインの必要はありません。ID・パスワードを使わないので、利便性やセキュリティ強度が高い認証方法です。
ケルベロス認証以外にも認証方式があるため、自社に適した方式を選び、シングルサインオンを構築しましょう。
