説明

シングルサインオンサーバ及びシングルサインオンプログラム

【課題】シングルサインオンの特徴を可能な範囲で活かしつつセキュリティ性の維持を図ることを容易に実現可能にする。
【解決手段】SSOサーバ10は、サービスサーバ4に対する各ユーザの利用状況を記憶する利用ログ情報記憶部16と、各ユーザのサービスサーバ4の利用実績に関する情報を記憶する利用実績情報記憶部17と、ログインしたユーザの利用ログ情報から得られる利用傾向が当該ユーザの利用実績と合致した場合及び合致しなくてもSSOの必要度が所定の基準値以上であった場合にSSOによる認証の許可、そうでない場合にSSOによる認証の禁止と判定する判定部19と、認証可と判定されたサービスサーバ4及びアプリケーションに対してのみ当該ユーザにSSOによるユーザ認証を行う認証処理部11とを有する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、シングルサインオンサーバ及びシングルサインオンプログラムに関する。
【背景技術】
【0002】
SSO(Single Sign On)は、ユーザがSSOサーバにて一度認証を受けるだけで、許可されている他のサーバ、機能等を利用できるようになる点で便利である。しかし、その一方で、不正者に認証情報が漏洩してしまった場合にセキュリティ上の脅威、被害等を拡大させてしまうという問題が発生しうる。このような問題に対処するためには、何らかの手段を講じる必要が生じてくる。
【0003】
なお、ログインユーザのアプリケーションの利用状況に応じてアクセス権を動的に変更する技術が提案されている(例えば、特許文献1)。
【0004】
【特許文献1】特開2004−062241号公報
【発明の開示】
【発明が解決しようとする課題】
【0005】
セキュリティ上の脅威を広げずにSSOの利便性を維持しようとすると、例えば、管理者がアプリケーション毎にSSOサーバを介してログインを許可/禁止させるような設定を行えば可能であるかもしれない。しかしながら、アプリケーション毎に、かつユーザ毎に個別の設定を行うことになると、その設定作業は複雑かつ面倒であり、現実的ではない。
【0006】
本発明は、シングルサインオンの特徴を可能な範囲で活かしつつセキュリティ性の維持を図ることを容易に実現可能にすることを目的とする。
【課題を解決するための手段】
【0007】
本発明に係るシングルサインオンサーバは、ユーザにサービスを提供するサービスサーバそれぞれに対する各ユーザの利用状況を記憶する利用ログ情報記憶手段と、当該ユーザの前記サービスサーバの利用実績に関する情報を記憶する利用実績情報記憶手段と、ユーザがログインしたときに、当該ユーザの利用ログ情報から得られる利用傾向と当該ユーザの利用実績とを比較した結果に応じてシングルサインオンによるユーザ認証の可否を前記サービスサーバ毎に判定する判定手段と、前記判定手段により認証可と判定されたサービスサーバに対してのみ当該ユーザにシングルサインオンによるユーザ認証を行う認証手段と、を有することを特徴とする。
【0008】
また、シングルサインオンによるユーザ認証の可否の判定に用いる基準値を記憶する基準値記憶手段を有し、前記判定手段は、当該ユーザの利用傾向と当該ユーザの利用実績とを比較した結果、シングルサインオンによるユーザ認証を否と判定した場合でも、当該ユーザの利用実績が前記基準値に達している場合にはシングルサインオンによるユーザ認証を可と判定することを特徴とする。
【0009】
また、前記利用実績情報記憶手段には、当該ユーザの前記サービスサーバ毎アプリケーション毎の利用実績に関する情報が記憶されており、前記判定手段は、前記サービスサーバに搭載されたアプリケーション毎にシングルサインオンによるユーザ認証の可否を判定することを特徴とする。
【0010】
また、前記判定手段は、当該ユーザの利用傾向が当該ユーザの利用実績と合致した場合にシングルサインオンによるユーザ認証を可と判定することを特徴とする。
【0011】
また、前記判定手段による当該ユーザの利用傾向を前記利用実績情報記憶手段に記憶された当該ユーザの利用実績情報に反映させることで更新する更新手段を有することを特徴とする。
【0012】
本発明に係るシングルサインオンプログラムは、コンピュータを、ユーザにサービスを提供するサービスサーバそれぞれに対する各ユーザの利用状況を記憶する利用ログ情報記憶手段、当該ユーザの前記サービスサーバの利用実績に関する情報を記憶する利用実績情報記憶手段、ユーザがログインしたときに、当該ユーザの利用ログ情報から得られる利用傾向と当該ユーザの利用実績とを比較した結果に応じてシングルサインオンによるユーザ認証の可否を前記サービスサーバ毎に判定する判定手段、前記判定手段により認証可と判定されたサービスサーバに対してのみ当該ユーザにシングルサインオンによるユーザ認証を行う認証手段として機能させることを特徴とする。
【発明の効果】
【0013】
本発明によれば、ユーザの利用状況に応じてシングルサインオンによる認証の是非を動的に決定することができるので、ユーザの便宜を図りつつセキュリティ性の維持を図ることができる。また、複雑な設定作業が不要である。
【発明を実施するための最良の形態】
【0014】
以下、図面に基づいて、本発明の好適な実施の形態について説明する。
【0015】
図1は、本発明に係るシングルサインオンサーバの一実施の形態を含むネットワークシステムの全体構成図である。図1には、シングルサインオン(SSO)サーバ10と、クライアント2と、サービスサーバ4とがネットワーク6で接続された構成が示されている。サービスサーバ4は、ユーザに対して所定のサービスを提供するサーバコンピュータである。クライアント2は、SSOサーバ10を介してサービスサーバ4が提供するサービスを利用するユーザによって使用されるコンピュータであり、本実施の形態ではパーソナルコンピュータ(PC)を実現することを想定している。SSOサーバ10は、SSOをクライアントユーザに提供するサーバコンピュータである。なお、図1では、各コンピュータを接続するネットワーク手段としてLAN(Local Area Network)を想定して図示したが、LANに限定する必要はない。
【0016】
更に、図1には、SSOサーバ10のブロック構成が示されている。本実施の形態におけるSSOサーバ10は、認証処理部11、利用状況収集部12、制御部13、認証情報記憶部14、基準値情報記憶部15、利用ログ情報記憶部16及び利用実績情報記憶部17を有している。
【0017】
認証情報記憶部14には、ユーザIDとパスワードの組から成るユーザ認証情報が事前に登録されている。ユーザ認証情報には、各サービスサーバ4に対応した情報と、ユーザ認証を要求するアプリケーションに対応した情報とが存在する。基準値情報記憶部15には、SSOによるユーザ認証の可否の判定に用いる複数種類の基準値が事前に登録されている。利用ログ情報記憶部16には、サービスサーバ4及びサービスサーバ4に搭載されたアプリケーションに対する各ユーザの利用状況に関連するログが蓄積されている。利用実績情報記憶部17には、各ユーザの利用状況が解析されることによって得られる利用実績に関する情報が記憶される。
【0018】
認証処理部11は、ログイン画面から入力されたユーザID及びパスワードを、認証情報記憶部14に登録されているユーザ認証情報と照合することでユーザ認証を行う。本実施の形態における認証処理部11は、ログ解析部18、判定部19及び実績更新部20を有している。ログ解析部18は、利用ログ情報記憶部16に蓄積されたログインユーザに関するログを解析することによって当該ユーザの利用傾向を求める。判定部19は、ログインユーザの利用傾向と、当該ユーザの利用傾向を分析することによって得られた利用実績との対比、またサービスサーバ4aあるいはアプリケーションの必要度と基準値との比較を行うことによりSSOによるユーザ認証の可否をサービスサーバ毎アプリケーション毎に判定する。実績更新部20は、判定部19が判定を行う過程で得た利用実績情報により利用ログ情報記憶部16に記憶されている当該ユーザの利用実績情報を更新する。利用状況収集部12は、SSOサーバ10にログインした各ユーザの利用状況をログとして利用ログ情報記憶部16に逐次記録する。制御部13は、SSOサーバ10における各構成要素11,12の制御を行う。
【0019】
図2は、本実施の形態におけるSSOサーバ10のハードウェア構成図である。本実施の形態においてSSOサーバ10を形成するサーバコンピュータは、従前から存在する汎用的なハードウェア構成で実現できる。すなわち、コンピュータは、図2に示したようにCPU21、ROM22、RAM23、ハードディスクドライブ(HDD)24を接続したHDDコントローラ25、入力手段として設けられたマウス26とキーボード27、及び表示装置として設けられたディスプレイ28をそれぞれ接続する入出力コントローラ29、通信手段として設けられたネットワークコントローラ30を内部バス31に接続して構成される
【0020】
なお、性能的に差異はあるかもしれないが、サービスサーバ4、更にはクライアント2もコンピュータであることから、そのハードウェア構成は、図2と同じように図示することができる。
【0021】
SSOサーバ10における各構成要素11〜13は、SSOサーバ10に搭載されたコンピュータと、コンピュータに搭載されたCPU21で動作するプログラムとの協調動作により実現される。また、各記憶部14〜17は、SSOサーバ10に搭載されたHDD24にて実現される。
【0022】
また、本実施の形態で用いるプログラムは、通信手段により提供することはもちろん、CD−ROMやDVD−ROM等のコンピュータ読み取り可能な記録媒体に格納して提供することも可能である。通信手段や記録媒体から提供されたプログラムはコンピュータにインストールされ、コンピュータのCPUがインストールプログラムを順次実行することで各種処理が実現される。
【0023】
図3は、本実施の形態における利用ログ情報記憶部16に蓄積されるログ情報のデータ構成例を示した図である。ログ情報は、サービスサーバ4へのアクセスを開始した日時情報(アクセス日時)、サービスサーバ4へアクセスした際に用いたクライアント2の識別情報(アクセス端末)、サービスサーバ4が提供するサービスシステムの名称(サービス名)及びアクセスをしたユーザの識別情報(ユーザID)が対応付けして構成される。もちろん、ログ情報には、その他のデータ項目も含めてもよいが、図3には、本実施の形態の説明上必要な項目を抽出して図示した。
【0024】
従来のSSOサーバにおけるユーザ認証においては、認証を受けたユーザはアクセスが許可されている全てのサービスサーバに対して個々にユーザ認証を受けなくてもアクセスすることが可能になる。これに対し、本実施の形態においては、当該ユーザの各サービスサーバ4に対する利用状況、更にアプリケーションの利用状況に応じてSSOを許可することによってユーザ認証を省略可能にしたり、SSを許可しないことによってサービスサーバ4等の利用の都度ユーザ認証を要求したりする。本実施の形態において特徴的なことは、SSOを一律的に有効にするのではなく、ユーザの利用状況によって、具体的には過去の利用実績から頻繁に利用するサービスサーバ4やアプリケーションに関してはSSOを許可し、あまり利用しないサービスサーバ4やアプリケーションに関してはSSOを禁止するようにしたことである。このように、ユーザの利用状況に応じてSSOの可否を分けて取り扱うようにしたので、セキュリティ性の維持とSSOの利便性の双方を効果的に満たすことができる。
【0025】
次に、本実施の形態における認証処理について図4に示したフローチャートを用いて説明する。
【0026】
ユーザがクライアント2を用いてSSOサーバ10にアクセスすると、SSOサーバ10は、ログイン画面をクライアント2に表示させてログインを要求する。ユーザが表示されたログイン画面からユーザID及びパスワードを入力すると、SSOサーバ10における認証処理部11は、その入力された認証情報を受け付ける(ステップ110)。そして、認証処理部11は、入力された認証情報を、認証情報記憶部14に登録されているユーザ認証情報と照合することによって当該ユーザを認証する。なお、ここでは、正規のユーザが正しい認証情報を入力したものとして説明する。正しくない認証情報が入力された場合は認証情報の再入力を促すなど従前と同様に対処すればよい。続いて、認証処理部11におけるログ解析部18は、利用ログ情報記憶部16に蓄積されたログインユーザに関するログを解析することによって週、月などの所定期間内における当該ユーザの利用傾向を得る。この利用傾向についてここで詳述する。
【0027】
図3に例示したように、ログ情報として、アクセス日時、アクセス端末、サービス名及びユーザIDの各データ項目が収集されている。ここで、まずアクセス日時に注目して分析してみると、ログインしたユーザは、毎週決まった曜日に当該システムを利用している、毎日利用している、特定の月に利用している、ある特定の時間帯に集中して利用している、などの利用傾向を得ることが可能である。また、アクセス端末に注目して分析してみると、ログインしたユーザは、特定の決まった端末からのアクセスがある、同じドメインからアクセスしている、などの利用傾向を得ることが可能である。更にサービス名に注目して分析してみると、ログインしたユーザは、特定のサービスのみ利用しているなどの利用傾向を得ることが可能である。また、これらを組み合わせて分析してみると、ログインしたユーザは、あるシステムに関しては、特定の曜日・日・月に利用している、特定のアクセス端末からある時間帯に利用している、などの利用傾向を得ることが可能である。
【0028】
更に、サービスサーバ毎からアプリケーション毎まで落とし込んだ利用傾向を得るようにしてもよい。本実施の形態では、これをアプリケーション間の依存度と称している。例えば、SSOサーバ10で管理可能なサービスに勤怠管理システムと工数管理システムが含まれているとする。そして、ほとんどのユーザが勤怠管理システムを利用して勤怠を入力した後に工数管理システムを利用して工数を入力する傾向にあるとする。つまり、勤怠管理システムを提供するサービスサーバ4が利用された後に工数管理システムを提供するサービスサーバ4が利用される傾向がある場合、これらのサービスは依存関係のあるサービス関係として利用実績情報記憶部17に事前に登録しておく。これにより、勤怠管理システムがSSOによる認証を許可する場合には工数管理システムも同じくSSOによる認証を許可するように設定しておくことは、ユーザにとって都合が良い。
【0029】
また、このようなユーザの利用に依存しない処理の工程の流れから導き出すこと以外に、前述したログの解析を行うことによって、例えば、あるユーザは、あるサービスサーバ4が提供するサービスAを利用した後は他のサービスサーバ4が提供するサービスBを利用する傾向にあるというというユーザに特化した利用傾向を導き出す。
【0030】
利用傾向の強弱は、アプリケーション間の依存度によって表すことができる。依存度は、有り/無しという表現や、数値で表現可能とする。数値で表現可能な場合の例として数値が低いほど依存度が弱く、高いほど依存度が強いと設定する。例えば、サービスAを利用した後にサービスBを利用するユーザが100人に達していれば、サービスA,Bの依存度は1、200人に達していれば、サービスA,Bの依存度は2、とサービス間の依存度を定義できる。また、依存度が数値で表されている場合でも、基準値情報記憶部15に事前に設定されている依存度の基準値(閾値)と比較することによって依存度を有り/無しと置換することも可能になる。
【0031】
以上のように、ログ解析部18がログインユーザ及び当該ユーザが利用するシステム環境に関連した利用傾向を得ると、判定部19は、利用実績情報記憶部17から当該ユーザの利用実績情報を取得する(ステップ130)。ここで、ユーザの利用実績というのは、ユーザの利用傾向を解析した結果として得られる情報である。利用実績としては、例えば、過去Xヶ月間におけるシステムAへのアクセス日数がZ%以上である、1日におけるX時〜Y時という時間帯におけるアクセスはZ%以上である、などのように表現し、その分析結果は数値化して百分率(%)で表現できるように求める。ただ、情報量(サンプル数)が少ないうちは、分析結果の精度は必ずしも高いとは言えないので、一定のアクセス件数を要件としてもよい。
【0032】
まず、判定部19は、ログ解析部18が求めた利用傾向が利用実績と合致しているか否かを判定する。例えば、利用傾向が、サービスAに対するアクセスは月曜日に集中しZ%以上である、という利用実績に該当するか否かを判別する。利用傾向が利用実績と合致している場合(ステップ140でY)、判定部19は、ログインユーザをSSOによる認証を許可すると判定する。これにより、認証処理部11は、その判定結果に従って該当するサービスサーバ4及びアプリケーションにSSOの許可を設定する(ステップ150)。つまり、上記例によるとサービスAを提供するサービスサーバ4及びサービスAのアプリケーションに対して、SSOを有効とする、すなわちSSOサーバ10へのログインによってサービスAのアプリケーションを利用する際にユーザ認証を要求しないことになる。なお、ステップ140における利用傾向と利用実績との対比は、利用実績として登録されている数だけ行われる。
【0033】
一方、利用傾向が利用実績と合致していない場合(ステップ140でN)、判定部19は、続いて必要度と基準値とを比較する。ここで、必要度というのは、SSOを許可する必要性の度合いである。利用傾向が利用実績に合致すると、利用実績の%が上がり、この結果、必要度は上昇する。一方、利用傾向が利用実績に合致しないと、利用実績の%が下がるため必要度は減少する。ただ、外出や休暇を取ることによって必然的に必要度が低くなってしまう場合を考慮して、利用傾向が利用実績に合致しない場合でも、必要度に対して設定された基準値を必要度が上回っていればSSOを許可する。数値例をあげて説明すると、サービスAに対するアクセスは月曜日に集中しZ(=90)%以上である、という利用実績に対し、必要度の基準値として80%が設定されているとする。今までのサービスAに対する月曜日の利用傾向が92%で利用実績を満たしていたものの、祭日や振替休日でサービスAにアクセスしなかったことで、利用傾向が86%と下がり利用実績を満たさなくなったとする。このような場合に、利用傾向(86%)が利用実績(90%)を合致しなくなったとしても基準値(80%)は満たす関係にある。
【0034】
従って、必要度と基準値とを比較した結果、必要度が基準値以上である場合(ステップ170でY)、判定部19は、ログインユーザをSSOによる認証を許可すると判定する。これにより、認証処理部11は、その判定結果に従って該当するサービスサーバ4及びアプリケーションにSSOの許可を設定する(ステップ150)。
【0035】
一方、必要度が基準値を下回った場合(ステップ170でN)、判定部19は、ログインユーザをSSOによる認証を禁止すると判定する。これにより、認証処理部11は、その判定結果に従って該当するサービスサーバ4及びアプリケーションにSSOの禁止を設定する(ステップ150)。すなわち、当該サービスサーバ4やアプリケーションを利用する際には、ユーザ認証を要求することになる。このユーザ認証が改めて要求されるサービスサーバ4及びアプリケーションは、当該ユーザが本来利用していない、若しくはほとんど利用していない。このようなサービスサーバ4等が利用されようとしているのは、正規ユーザによる利用かもしれないけれども利用実績からして正規ユーザでない可能性が相対的に高いと考えられる。このため、本実施の形態では、SSOサーバ10の管理対象といえどもSSOを禁止することによってセキュリティの維持を図ることを優先した。
【0036】
以上のようにSSOの許可又は禁止を設定した後、実績更新部20は、利用傾向を現時点における当該ユーザの利用実績に反映させることによって利用実績情報記憶部17に記憶されている当該ユーザの利用実績情報を更新する(ステップ160)。
【0037】
以上説明したように、本実施の形態では、管理対象のサービスサーバ4及びアプリケーションに対してSSOを一律に許可するのではなく、利用状況に応じてSSOの許可/禁止を動的に設定する。仮に、SSOが禁止されたことでサービスサーバ4等を利用する度にユーザ認証が要求されていたとしても当該サービスサーバ4等を繰り返し利用し続ければ必要度が増加するので、いずれSSOが許可されることになる。従って、管理者等がSSOの許可/禁止を個別に設定する必要はない。
【図面の簡単な説明】
【0038】
【図1】本発明に係るシングルサインオンサーバの一実施の形態を含むネットワークシステムの全体構成図である。
【図2】本実施の形態におけるSSOサーバ10のハードウェア構成図である。
【図3】本実施の形態における利用ログ情報記憶部16に蓄積されるログのデータ構成例を示した図である。
【図4】本実施の形態における認証処理を示したフローチャートである。
【符号の説明】
【0039】
2 クライアント、4 サービスサーバ、6 ネットワーク、10 SSOサーバ、11 認証処理部、12 利用状況収集部、13 制御部、14 認証情報記憶部、15 基準値情報記憶部、16 利用ログ情報記憶部、17 利用実績情報記憶部、18 ログ解析部、19 判定部、20 実績更新部、21 CPU、22 ROM、23 RAM、24 ハードディスクドライブ(HDD)、25 HDDコントローラ、26 マウス、27 キーボード、28 ディスプレイ、29 入出力コントローラ、30 ネットワークコントローラ、31 内部バス。

【特許請求の範囲】
【請求項1】
ユーザにサービスを提供するサービスサーバそれぞれに対する各ユーザの利用状況を記憶する利用ログ情報記憶手段と、
当該ユーザの前記サービスサーバの利用実績に関する情報を記憶する利用実績情報記憶手段と、
ユーザがログインしたときに、当該ユーザの利用ログ情報から得られる利用傾向と当該ユーザの利用実績とを比較した結果に応じてシングルサインオンによるユーザ認証の可否を前記サービスサーバ毎に判定する判定手段と、
前記判定手段により認証可と判定されたサービスサーバに対してのみ当該ユーザにシングルサインオンによるユーザ認証を行う認証手段と、
を有することを特徴とするシングルサインオンサーバ。
【請求項2】
請求項1記載のシングルサインオンサーバにおいて、
シングルサインオンによるユーザ認証の可否の判定に用いる基準値を記憶する基準値記憶手段を有し、
前記判定手段は、当該ユーザの利用傾向と当該ユーザの利用実績とを比較した結果、シングルサインオンによるユーザ認証を否と判定した場合でも、当該ユーザの利用実績が前記基準値に達している場合にはシングルサインオンによるユーザ認証を可と判定することを特徴とするシングルサインオンサーバ。
【請求項3】
請求項1記載のシングルサインオンサーバにおいて、
前記利用実績情報記憶手段には、当該ユーザの前記サービスサーバ毎アプリケーション毎の利用実績に関する情報が記憶されており、
前記判定手段は、前記サービスサーバに搭載されたアプリケーション毎にシングルサインオンによるユーザ認証の可否を判定することを特徴とするシングルサインオンサーバ。
【請求項4】
請求項1記載のシングルサインオンサーバにおいて、
前記判定手段は、当該ユーザの利用傾向が当該ユーザの利用実績と合致した場合にシングルサインオンによるユーザ認証を可と判定することを特徴とするシングルサインオンサーバ。
【請求項5】
請求項1記載のシングルサインオンサーバにおいて、
前記判定手段による当該ユーザの利用傾向を前記利用実績情報記憶手段に記憶された当該ユーザの利用実績情報に反映させることで更新する更新手段を有することを特徴とするシングルサインオンサーバ。
【請求項6】
コンピュータを、
ユーザにサービスを提供するサービスサーバそれぞれに対する各ユーザの利用状況を記憶する利用ログ情報記憶手段、
当該ユーザの前記サービスサーバの利用実績に関する情報を記憶する利用実績情報記憶手段、
ユーザがログインしたときに、当該ユーザの利用ログ情報から得られる利用傾向と当該ユーザの利用実績とを比較した結果に応じてシングルサインオンによるユーザ認証の可否を前記サービスサーバ毎に判定する判定手段、
前記判定手段により認証可と判定されたサービスサーバに対してのみ当該ユーザにシングルサインオンによるユーザ認証を行う認証手段、
として機能させることを特徴とするシングルサインオンプログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate


【公開番号】特開2009−93596(P2009−93596A)
【公開日】平成21年4月30日(2009.4.30)
【国際特許分類】
【出願番号】特願2007−266323(P2007−266323)
【出願日】平成19年10月12日(2007.10.12)
【出願人】(000005496)富士ゼロックス株式会社 (21,908)
【Fターム(参考)】