【シングルサインオン解説】シングルサインオン実装「ケルベロス認証編」
シングルサインオン実装の1つである「ケルベロス認証」の概要について紹介します。
「シングルサインオン」とは
「シングルサインオン(SSO:Single Sign-On)」とは、1回のユーザー認証処理によって、それぞれ独立した複数のソフトウェアシステムにログインすることを可能とする仕組みを指します。
シングルサインオンの概要についてはこちらも参照ください。
→シングルサインオンの概要
「ケルベロス認証」とは
概要
ケルベロス認証とは、ネットワーク認証プロトコル「ケルベロス(Kerberos)」を利用するユーザー認証方式です。
Kerberosは「サーバとクライアントの相互認証機能」の他にも、「データ保全のためのクライアントとサーバ間の通信暗号化機能」も提供します。ネットワークセキュリティ問題の解決策として、ネットワーク上の認証および暗号機能を提供し企業全体の情報システムを保護できます。
サーバとクライアント間の身元確認を実施でき、秘密鍵暗号方式を使用してクライアント/サーバアプリケーションに強力な認証を提供できるため、シングルサインオンシステム構築に利用できます。
Kerberosは「Windows Server Active Directory」のユーザー認証に利用されているプロトコルとして有名です。
主な特徴
MITが開発
Kerberosは、ネットワークセキュリティ問題の解決策として、「X Window System」の開発でも知られるMIT(マサチューセッツ工科大学)で開発されました。
仕様は「RFC 4120」として標準化されています。
Kerberosプロトコルの無料実装はMITから入手でき、多くのオープンソース製品や商用製品などで利用されています。
強力な暗号化機能
Kerberosプロトコルは強力な暗号化を使用しているため、クライアントおよびサーバは安全でないネットワーク接続を介してお互いに身元を証明できます。
クライアントおよびサーバは、Kerberosを使用して身元を証明した後、すべての通信を暗号化して、ビジネスに取り組む際のプライバシーとデータの整合性を確保できます。
仕組み
「チケット」による認証
ケルベロス認証では、クライアント/サーバ型構成で「チケット」を発行することにより、パスワードを送受信することなく安全に認証を行えます。
ユーザーが正しい「ユーザーID+パスワード」をKerberos認証サーバに送信して認証に成功すると「チケット」と呼ばれるデータを受け取ります。
サーバはアクセスしてくるユーザーに対して、「ユーザーID+パスワード」ではなく「チケット」を利用して認証します。
認証実施時にパスワードがネットワークを流れる必要がないため、パスワード漏洩リスクを大幅に低下できます。
時刻同期機能
ケルベロス認証では、チケット盗聴による「なりすまし」を防ぐために、時刻同期の仕組みが用意されています。
チケットの中にはタイムスタンプ(送信時刻)が記録されており、「チケット内の時刻」と「チケットを受信したサーバの時刻」に一定のズレがあると認証失敗となります。
シングルサインオン環境構築
各サーバは受け取ったチケットと自身の鍵を用いて認証を行うため、ユーザーはチケットを提示するだけで毎回認証情報を入力する必要がありません。
そのため、ケルベロス認証によるシングルサインオン環境を構築できます。
最後に
「ケルベロス認証」は、歴史のあるネットワーク認証方式の一つですが、いまだ多くの環境で利用されている技術です。
弊社にご連絡いただければ「ケルベロス認証を組み合わせたシングルサインオンについてのご提案」など、トータルサポートでご支援できます。
まずは、お気軽にお問い合わせください。
参考元サイト