認証システム
【課題】「目だたない不正アクセス」を含む不正アクセスを効果的に検出する。
【解決手段】認証サーバ100は、ユーザ600から認証要求を受信し、ユーザ認証処理を行う。認証が成功すると認証情報とユーザ識別情報とをDB300に登録しユーザ600に返信する。連携サイトサーバ200は、認証情報とユーザ識別情報とを含むアクセス情報を受信し、認証情報を用いて認証サーバ100に認証確認要求を送信する。認証サーバ100は認証確認要求を受信すると認証確認成立を判定し、成立と判定するとDB300のユーザ識別情報を更新し認証確認成立を連携サイトサーバ200に送信する。連携サイトサーバ200は認証確認成立を受信するとDB300におけるその認証情報のユーザ識別情報を参照し、アクセス情報に含まれるユーザ識別情報とデータベースのそのユーザ識別情報とを比較し、不正アクセスかどうかを判定する。
【解決手段】認証サーバ100は、ユーザ600から認証要求を受信し、ユーザ認証処理を行う。認証が成功すると認証情報とユーザ識別情報とをDB300に登録しユーザ600に返信する。連携サイトサーバ200は、認証情報とユーザ識別情報とを含むアクセス情報を受信し、認証情報を用いて認証サーバ100に認証確認要求を送信する。認証サーバ100は認証確認要求を受信すると認証確認成立を判定し、成立と判定するとDB300のユーザ識別情報を更新し認証確認成立を連携サイトサーバ200に送信する。連携サイトサーバ200は認証確認成立を受信するとDB300におけるその認証情報のユーザ識別情報を参照し、アクセス情報に含まれるユーザ識別情報とデータベースのそのユーザ識別情報とを比較し、不正アクセスかどうかを判定する。
【発明の詳細な説明】
【技術分野】
【0001】
この発明は、ユーザ端末装置を認証する認証サーバ装置と、認証サーバ装置によって認証されたユーザ端末装置にアクセスを認めるサイトサーバ装置とを備える認証システムに関する。
【背景技術】
【0002】
SSO(Single Sign−On)認証システムにおいて、SSO認証により得た認証情報が、盗聴や総当たり攻撃などの方法で、正規ユーザではない悪意のあるユーザ(以下、不正ユーザ)に漏れてしまうと、全ての連携サイトが不正アクセスや攻撃の対象となり、大変危険である。そこで、SSO認証による認証情報以外に、連携サイトの提供するアプリケーション上でのユーザの不審挙動を検出して信頼度を算出し、別の連携サイトへのアクセス時に信頼度を元に不正ユーザによる不正アクセスであるかどうかを判別し、ユーザへのアクセス可否やサービス権限の制限を行う方法が提案されている(特許文献1)。
【0003】
特許文献1では、連携サイトのアプリケーション上でのユーザの不審挙動という、正規ユーザが通常行わないような「目だった」アクセスを検出することにより、アクセスするユーザが不正ユーザかどうかを判断する。しかし、近年の不正アクセスは、不審挙動を検出されないようになるべく「目立たない」アクセスを行う傾向にある。特許文献1では、不審挙動という「目立った」アクセスが必要であり、近年の「目立たない」アクセスを行う不正アクセスを検出することができないという課題がある。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開2008−152596号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
本発明は、上記「目だたない不正アクセス」を含む不正アクセスを効果的に検出することを目的とする。
【課題を解決するための手段】
【0006】
この発明の認証システムは、
ユーザ端末装置と、認証サーバ装置と、サイトサーバ装置とを備えた認証システムにおいて、
認証サーバ装置は、
ユーザ端末装置から認証処理を求める認証要求を受信し、前記認証要求の受信を契機として、前記ユーザの前記認証処理を実行し、前記認証処理に成功すると前記認証処理の成功を示す認証情報と、前記認証情報に付随する付随情報とをデータベース装置に登録すると共に、前記認証情報と前記付随情報とを前記ユーザ端末装置に返信し、
前記サイトサーバ装置は、
前記認証情報と、前記付随情報とを含み、アクセスを要求するアクセス要求情報を受信し、前記アクセス要求情報を受信すると前記認証情報を含み、認証確認を要求する認証確認要求を前記認証サーバ装置に送信し、
前記認証サーバ装置は、
前記認証確認要求を受信すると前記認証情報に対して認証が成立しているかどうかの認証確認成立を判定し、前記認証情報に対する前記認証確認成立と判定すると前記データベース装置における前記認証確認成立と判定された前記認証情報に対応する前記付随情報を更新し、前記認証確認成立を前記サイトサーバ装置に送信し、
前記サイトサーバ装置は、
前記認証確認成立を受信すると前記アクセス情報に含まれる前記認証情報をキーとして前記データベース装置における前記キーとなる前記認証情報に対応する前記付随情報を参照し、前記アクセス情報に含まれる前記付随情報と、前記データベース装置における前記キーとなる前記認証情報に対応する前記付随情報とを比較し、比較結果と不正アクセスかどうかを予め規定した不正アクセス条件リストとに基づき、受信した前記アクセス情報が不正アクセスかどうかを判定し、不正アクセスではないと判定した場合に前記ユーザ端末装置にアクセスを認めることを特徴とする。
【発明の効果】
【0007】
本発明により、不正アクセスを効果的に検出することができる。
【図面の簡単な説明】
【0008】
【図1】実施の形態1における認証システム1000のブロック図。
【図2】実施の形態1における不正アクセス条件リスト240及びユーザ識別情報DB300を示す情報。
【図3】実施の形態1におけるユーザと認証サーバとの間の認証処理のフローチャート。
【図4】実施の形態1における認証成功処理のフローチャート。
【図5】実施の形態1における連携サイトアクセス処理のフローチャート。
【図6】実施の形態1における認証確認処理(S16)のフローチャート。
【図7】実施の形態1におけるユーザ識別処理(S18)のフローチャート。
【図8】実施の形態1における無効化処理(S21)のフローチャート。
【図9】図3、図4をシーケンス化した図。
【図10】図5をシーケンス化した図。
【図11】図6をシーケンス化した図。
【図12】図7、図8をシーケンス化した図。
【図13】実施の形態2における認証システム1001のブロック図。
【図14】実施の形態2における定型アクセス条件リスト。
【図15】実施の形態2における認証システム1001の動作を示すフローチャート。
【図16】実施の形態3における連携サイトサーバ200のハードウェア構成。
【発明を実施するための形態】
【0009】
実施の形態1.
以下の実施の形態では、連携する複数のサイト(以下、連携サイト)にアクセスするための認証情報を一元管理する、シングルサインオン(以下、SSO)を実現するSSO認証システムを説明する。この認証システムでは、認証成功時に得られる「認証情報」を利用した認証確認に加えて、認証成功時や認証確認成功時に更新されるユーザ識別情報(付随情報の一例)を利用したユーザ識別を行うことで第三者による不正アクセスを自動検出、対処し、セキュリティを確保する。
(1)ここで、「認証情報」とは、SSO認証サーバに対する認証(例えば、アカウントとパスワードの入力によるユーザ認証や、指紋認証など)に成功したことを証明する情報(例えば認証ID)を示す。
(2)また、「ユーザ識別情報」とは、認証、認証確認の成功回数や成功時刻など、認証や認証確認に成功した際に得られる、認証情報以外の情報を指す。
(3)また、以下の実施の形態ではSSO認証システムを想定して説明するが、何らかの手段で認証を行い、得た認証情報を利用して何らかの対象にアクセスするシステムであればよく、シングルサインオン認証システムに限定されない。
【0010】
本実施の形態1では、正規ユーザ、不正ユーザに関わらずSSO認証システムの連携サイトへのアクセス時に必ず実行される「認証確認処理」に着目し、認証情報以外に認証確認成功時に取得しうる情報であり、かつ、認証確認成功ごとに更新される情報である、認証確認に利用した認証情報に対する「認証確認成功回数」と、「認証確認成功時刻」をユーザ識別情報としてユーザに与え、連携サイトへのアクセス時に、認証確認に加えて、ユーザ識別情報の確認を行うことで、不正アクセスの検出を行う。認証確認は「目立たない」アクセスを実行しようとしても必ず実行される処理であるため、本実施の形態1の認証システムにより、背景技術で述べた「目だたない不正アクセスの検出」に有効である。
【0011】
図1は実施の形態1の認証システム1000の構成図である。図1において、認証システム1000は、認証サーバ装置100(以下、認証サーバ100という)と、認証サーバ装置100が発行する認証情報により認証確認可能な一つ以上の連携サイトサーバ装置200(以下、連携サイトサーバ200という)と、認証サーバ100における、認証処理、認証確認処理時に得られるユーザ認証情報を格納するユーザ識別情報データベース装置300(以下、ユーザ識別情報DB300という)と、からなる。
【0012】
(ユーザ600)
認証システム1000には、正規ユーザ400と、認証システム1000に対して不正アクセスを実施する不正ユーザ500(正規ユーザ400と不正ユーザ500を合わせてユーザ600とする)とが存在するものとする。ユーザ600は、ネットワーク700を介して、認証システム1000に認証およびアクセスを行うものとする。
【0013】
(認証サーバ100)
認証サーバ100は、認証サーバ機能部110と、ユーザ識別情報更新機能部120とを備える。
(1)認証サーバ機能部110は、ユーザからの認証処理や連携サイトからの認証確認処理、認証情報無効化処理を実行する。
(2)ユーザ識別情報更新機能部120は、認証成功時や認証確認成功時の情報(認証情報、認証成功回数、認証成功時刻)を元に、ユーザ識別情報DB300を更新する。
【0014】
(連携サイトサーバ200)
連携サイトサーバ200は、ユーザ識別機能部210と、認証クライアント機能部220と、認証情報無効化機能部230と、不正アクセス条件リスト240と、アプリケーションを実行するアプリケーション実行部250とを備える。
(1)ユーザ識別機能部210は、ユーザ600からのアクセスに付与される認証情報とユーザ識別情報を元に、アクセスが不正アクセスかどうかを判別する。
(2)認証クライアント機能部220は、認証情報を利用して、認証サーバ機能部110に対して認証確認要求を出す。
(3)認証情報無効化機能部230は、認証情報を利用した不正アクセスを検出した際に、認証情報の無効化を認証サーバ機能部110に要求する。
(4)不正アクセス条件リスト240は、連携サイトサーバ200に対するアクセスに付与されているユーザ識別情報と、ユーザ識別情報DB300に登録されているユーザ識別情報を比較した結果を元に、不正アクセスであるかを判別する条件を記載する。
(5)アプリケーション実行部250は、連携サイトサーバ200が正規ユーザ400に対して提供するサービスが動作する。
【0015】
(ユーザ識別情報DB300)
図2は、不正アクセス条件リスト240とユーザ識別情報DB300の内容との例を示す図である。ユーザ識別情報DB300は、認証情報単位で認証成功時、認証確認成功時に、認証成功回数の値を1増加、前回認証成功時刻の値を最新認証成功時刻の値に変更、最新認証成功時刻の値を今回の認証成功時刻に設定する(詳細は動作説明で後述する)。ここで、不正ユーザ500に簡単に予測されないよう、認証成功回数の増加値は1でなくてもよいが、実施の形態1では、認証成功回数の増加値は1として説明する。また、認証情報や前回認証成功時刻、最新認証成功時刻のフォーマットも用いる認証サーバ100のポリシに従ってもよいし、ユーザ識別情報更新機能部120による更新時に、別フォーマットへの変更や値の変更などの処理を行ってもよい。
【0016】
(不正アクセス条件リスト240)
不正アクセス条件リスト240は、図1の説明時に記述したように、連携サイトサーバ200に対するアクセスに付与されているユーザ識別情報と、ユーザ識別情報DB300に登録されているユーザ識別情報を比較した結果を元に、不正アクセスであるかを判別する条件を記載するものである。実施の形態1では、そもそもユーザ識別情報がない(不正ユーザが認証情報を不正取得した状態で不正アクセスした)場合、アクセスに付与された認証成功回数がユーザ識別情報DBの「認証成功回数−1」の値と異なる場合、アクセスに付与された認証成功時刻がユーザ識別情報DBの「前回認証成功時刻」と異なる場合に不正アクセスとする。これらの詳細は動作説明で後述する。認証成功回数の比較条件が「認証成功回数−1」、認証成功時刻の比較条件が「前回認証成功時刻」なのは、後述する認証システム1000の動作に関して、ユーザ識別情報を用いたユーザ識別より、先に認証情報を用いた認証確認を行い、認証確認成功時に、ユーザ識別情報が更新されるので、連携サイトサーバ200へのアクセス時点での状態、つまり認証成功回数が「認証成功回数−1」、認証成功時刻が「前回認証成功時刻」と比較する必要があるためである。ここで、認証成功回数から引く値については、認証、認証確認成功時の認証成功回数の増加値と合わせるものとする。
【0017】
次に図3〜8を用いて、実施の形態1の認証システム1000の動作を説明する。実施の形態1は、ユーザ600による、<認証処理>(S01〜S12)と<連携サイトアクセス処理>(S13〜S41)により実現される。
【0018】
図3はユーザ600と認証サーバとの間の<認証処理>のフローチャートである。
また図9は、図3をシーケンス化して示している。図3及び図9を参照して、<認証処理>を説明する。
S01において、ユーザ600は、認証サーバ100に認証を試みる。
S02において、認証サーバ機能部110はユーザ600に対して認証のためのアカウントとパスワードの入力を求める。
S03において、認証に成功した場合はS04へ、認証に失敗した場合はS05へ遷移する。
S04において、認証サーバ機能部110は<認証成功処理>(S07〜S12)を実施し、S06へ遷移する。<認証成功処理>(S07〜S12)については後述する。
S05において、認証サーバ機能部110はユーザ600に認証失敗を通知し、S06へ遷移する。
S06において、認証処理が終了する。
【0019】
図4は<認証成功処理>を示すのフローチャートである。図9は、認証成功処理をシーケンス化して示している。図4及び図9を参照して、認証サーバ100による「認証成功理」(S07〜S12)を説明する。
S07において、S03にてユーザ600が認証に成功したため、認証サーバ100は認証成功処理を開始する。
S08において、認証サーバ機能部110は、連携サイトへのアクセスに利用するための「認証情報」(例えば認証ID)を発行する。
S09において、認証サーバ機能部110は、S08で発行した「認証情報」、認証成功時に得られる情報である「認証成功時刻」を元に、ユーザ識別情報更新機能部120にユーザ識別情報DB300の新規登録を要求する。
S10において、ユーザ識別情報更新機能部120は、ユーザ識別情報DB300に認証サーバ機能部110から得た「認証情報」と「ユーザ識別情報」を新規登録する。
ここで、
(1)認証情報には認証サーバ機能部110から得た認証情報の値を設定し、
(2)認証成功回数には初期値(実施の形態1では1)、前回認証成功時刻には初期値(例えば、空欄、nullなど)を設定し、
(3)最新認証成功時刻には認証サーバ機能部110から得た認証成功時刻の値を設定する。
この例では最初の登録とし、図2に示すユーザ識別情報DB300の一行目のように、
認証情報:「0ac32g」
成功回数:「1」
前回認証成功時刻:「null」
最新認証成功時刻:「2010−01−01:20:00.000」
と登録されたとする。
S11において認証サーバ機能部110は、ユーザ600に「認証情報」と、「ユーザ識別情報」(認証成功回数、最新認証成功時刻)とを付与する。
S12において認証成功処理を終了する。
【0020】
図5、図10は<連携サイトアクセス処理>の動作を示す。図5及び図5をシーケンス化した図10を参照して、<連携サイトアクセス処理>(S13〜S23)の動作を説明する。
S13において、ユーザ600が、連携サイトサーバ200にアクセスを要求するアクセス情報(以下、単にアクセスという)を送信する。このアクセスは、S11で取得された「認証情報」と「ユーザ識別情報」とを含む。ここで、アクセスが正規ユーザ400であれば、S11で述べたように、
「認証情報」=「0ac32g」、
「ユーザ識別情報」=認証成功時刻「2010−01−01:20:00.000」及び成功回数「1」、
である。
S14において、ユーザ識別機能部210は、アクセスに付与された認証情報、ユーザ識別情報を取得する。
S15において、アクセスから認証情報が取得できた場合はS16へ、できなかった場合はS22へ遷移する。
S16において、認証クライアント機能部220は、<認証確認処理>(S24〜S31)を行い(詳細は後述する)、認証確認結果を得る。
S17において、認証確認に成功した場合はS18へ、失敗した場合はS22へ遷移する。
S18において、ユーザ識別機能部210は、<ユーザ識別処理>(S32〜S36)を行い(詳細は後述する)、このアクセスが認証情報を利用した不正アクセスであるかどうかを判断する。
S19において、アクセスが認証情報を利用した不正アクセスではないと判断した場合はS20へ、不正アクセスであると判断した場合はS21へ遷移する。
S20において、ユーザ識別機能部210は、ユーザ600のアクセスを許可し、更新されたユーザ識別情報(認証成功回数、認証成功時刻)をユーザに付与して、S23へ遷移する。
S21において、認証情報を利用した不正アクセスを検出すると、認証情報無効化機能部230は、<認証情報無効化処理>(S37〜S41)を行い(詳細は後述する)、不正アクセスに利用された認証情報の無効化を行う。
S22において、ユーザ識別機能部210は、ユーザ600に対してアクセス不許可を通知する。
S23において、連携サイトアクセス処理を終了する。
【0021】
図6は、S16の<認証確認処理>(S24〜S31)の具体的な処理を示すフローチャートである。図11は、図6の内容をシーケンス化した図である。
S24において、S15でユーザ600のアクセスに認証情報が付与されていた場合、連携サイトサーバ200は認証確認処理を開始する。
S25において、認証クライアント機能部220は、認証情報を利用し、認証サーバ機能部110に認証確認を要求する。
S26において、認証サーバ機能部110は、認証情報を利用して認証確認を行う。
S27において、認証確認に成功した場合はS28へ、失敗した場合はS30へ遷移する。
S28において、認証サーバ機能部110は、認証情報と今回の認証確認時に得たユーザ識別情報(認証確認成功時刻)を元に、ユーザ識別情報更新機能部120にユーザ識別情報DB300の更新を要求する。
S29において、ユーザ識別情報更新機能部120は、認証情報をキーとして、ユーザ識別情報DB300のユーザ識別情報を更新する。
(1)ここで、認証成功回数には更新前の値に増加値分増加した値を設定し、
(2)前回認証成功時刻には更新前の最新認証成功時刻の値を設定し、
(3)最新認証成功時刻には今回の認証確認成功時に得た認証成功時刻を設定する。
この例では、ユーザ識別情報DB300のユーザ識別情報は、図2の2行目のように更新される。
S30において、認証サーバ機能部110は、認証確認結果(成功、失敗)を認証クライアント機能部220に返す。
S31において、認証確認処理を終了する。
【0022】
図7は<ユーザ識別処理>(S18)の内容を具体的に示したフローチャートである。
図12は図7をシーケンス化した図である。これらを参照して<ユーザ識別処理>(S18:S32〜S36)を説明する。
S32において、S17にて「認証確認」に成功した場合、連携サイトサーバ200はユーザ識別処理を開始する。
S33において、ユーザ識別機能部210は、認証情報をキーとして、ユーザ識別情報DB300からユーザ識別情報を取得する。
S34において、ユーザ識別機能部210は、S14でアクセスから取得したユーザ識別情報(認証成功回数、認証成功時刻)と、S33でユーザ識別情報DB300から取得したユーザ識別情報とを、比較する。この例では、アクセス情報から所得されるのは図2のユーザ識別情報DB300の一行目の内容である。
またユーザ識別情報DB300の内容は、図2の2行目まで記載されている。
S35において、ユーザ識別機能部210は、S34で実施したユーザ識別情報の比較結果と、図2に示した不正アクセス条件リスト240の内容とを比較し、不正アクセスであるかどうかを判別する。
S36において、ユーザ識別処理が終了する。
【0023】
図8は<認証情報無効化処理>(S21)のフローチャートである。また図12に認証情報無効化処理のシーケンスを記載した。図8、図12を参照して、<認証情報無効化処理>の具体的内容を説明する。
S37において、S19にて認証情報を利用した不正アクセスを検出した場合、連携サイトサーバ200は、認証情報無効化処理を開始する。
S38において、認証情報無効化機能部330は、不正アクセスに利用された認証情報の無効化を認証サーバ機能部110に要求する。
S39において、認証サーバ機能部110は、認証情報を無効化する。
S40において、ユーザ識別情報更新機能部120は、認証情報をキーとしてユーザ識別情報DBにアクセスし、対応するレコードの削除を行う。
S41において、認証情報無効化処理を終了する。
【0024】
以上の実施の形態1の認証システム1000によれば、不正アクセスとして考えられる以下に示す3つのケース(1.2(a),(b))について、下記のような効果がある。
【0025】
(1.第三者が認証情報を不正取得した場合)
ユーザ識別情報がないため、第三者が業務サーバにアクセスし、認証確認した時点で不正アクセスを検出できる。
【0026】
(2.第三者が認証情報だけでなく、ユーザ識別情報を取得した場合)
(a)正規ユーザが先に業務サーバにアクセスした場合:
正規ユーザのアクセスによりユーザ識別情報が更新され、第三者の持つユーザ識別情報が無効になるため、第三者が業務サーバにアクセスした時点で不正アクセスを検出できる。
(b)第三者が先に業務サーバにアクセスした場合:
不正アクセスが成功するが、ユーザ識別情報が更新され、正規ユーザの持つユーザ識別情報が無効となる。このため、不正ユーザが目立った行動を起こさなくても、正規ユーザが業務サーバにアクセスした時点で不正アクセスがあったことを検出することができる。さらに、該当認証情報の無効化を行うことで、以降、第三者による不正アクセスを防ぎ、被害を最小限に抑えることができる。
【0027】
このように、認証処理や認証確認処理ごとに更新されるユーザ識別情報を利用したユーザ識別を実行することで、不正ユーザ500からの不正アクセスを自動的に検出し、対応することができ、適用システムの安全性が向上する。
【0028】
以上の実施の形態1の認証システム1000では、以下を備え、認証により得られる情報(認証情報、ユーザ識別情報)から第三者による不正アクセスを検出することのできる、シングルサインオン認証方式、およびシングルサインオン認証システムを説明した。
(1)以下のシングルサインオン認証サーバ、
認証処理を行うことができ、認証成功時に発行する認証情報を利用した認証確認処理を行うことができる認証サーバ機能部、
認証成功時や認証確認成功時に、ユーザ識別情報を登録、更新することのできるユーザ識別情報更新機能部、
(2)ユーザ識別情報を格納するユーザ識別情報DB装置、
(3)以下の機能を持つ連携サイトサーバ、
アクセスに付与された認証情報とユーザ識別情報を利用し、ユーザ識別情報DBの該当レコードとのマッチングを実施し、不正アクセスを検出する、ユーザ識別情報確認機能部、
アクセスに付与された認証情報を利用し、シングルサインオン認証サーバに認証確認要求を出す、認証クライアント機能部、
認証情報を利用した不正アクセスを検出した際に、シングルサインオン認証サーバに該当する認証情報の無効化を要求する認証情報無効化機能部、
上記ユーザ識別情報のマッチング結果による不正アクセス条件を記載した、不正アクセス条件リスト、
連携サイトが提供するサービスが動作するアプリケーションを実行するアプリケーション実行部、
【0029】
実施の形態2.
図13〜図15を参照して実施の形態2を説明する。以上の実施の形態1では、正規ユーザ、不正ユーザに関わらず、確実に実施する必要のある認証処理、認証確認処理時の情報を利用したユーザ確認を行うことで、不正アクセスを検出、対処できるようにしたものである。実施の形態2では、正規のアクセス内容(手順、回数など)が決まっているような場合(例えば、バッチ処理を伴うサービスなど)において、不正アクセスの検出精度をより高める認証方式を提案する。
【0030】
図13は、実施の形態2の認証システム1001の構成図である。実施の形態1との変更点のみ説明する。認証システム1001では、正規ユーザ400(ユーザ端末装置)がバッチプログラム800を実行して、自動的に認証、連携サイトサーバ201へのアクセスを実行する構成である。ここで、バッチプログラム800は、連携サイトサーバ201のアプリケーション実行部250から実行されるような構成でもよい。連携サイトサーバ201は、実施の形態1で備えた各機能部に加えて、新たに定型アクセス条件リスト260(図14)を持つ。また、ユーザ識別機能部211は、実施の形態1で実施する認証確認、ユーザ識別に加え、定型アクセス条件リスト260を利用して、アクセスがバッチプログラム800による定型アクセスであるかどうかを判断する。
【0031】
図14は、連携サイトサーバ201が保有する定型アクセス条件リスト260の例である。定型アクセス条件リスト260は、定型アクセスを識別するための項目である「定型アクセス識別項目」とその「条件」からなる。例えば、図14の例の場合、バッチプログラム800が、毎日M時からL時の間に自動認証後、発行された認証情報、ユーザ識別情報を利用して、連携サイトへのアクセス(つまり、認証確認)をN回実行する場合を想定している。例えば、不正ユーザ500が、不正アクセスに成功したとしても、連携サイトサーバ201に対して、N回より多くアクセス(認証確認)したり、認証成功時刻の条件外の時間にアクセスすると、その時点で定型アクセスでない、つまり不正アクセスであると判断される。
【0032】
次に図15を用いて、実施の形態2の認証システム1001の動作を説明する。実施の形態2は、実施の形態1に対して、<連携サイトアクセス処理>時において、「定型アクセス確認処理」が追加されている点が異なるため、その部分のみを説明する。
【0033】
図15は、<連携サイトアクセス処理>のフローチャートである。ここで、S13〜18、S20〜S21については実施の形態1の<連携サイトアクセス処理>と同じであるため、説明を省略する。
S42において、S18でのユーザ識別処理の結果、不正アクセスと判別された場合はS21へ、不正アクセスでないと判別された場合はS43へ遷移する。
S43において、ユーザ識別機能部210は、S33でユーザ識別情報DBから取得したユーザ識別情報(認証成功回数、最新認証成功時刻)と定型アクセス条件リストの条件を比較し、アクセスが定型アクセスであるか判断する。ここで、定型アクセス条件リストの条件を全て満たしている場合は定型アクセスと判断し、そうでない場合は定型アクセスでないと判断する。
S44において、S43の結果、アクセスが定型アクセスであると判断された場合はS20へ、定型アクセスでないと判断された場合はS21へ遷移する。
【0034】
このように実施の形態2の認証システム1002によれば、予めアクセス内容が判別しているようなサービスや処理に対して、定型アクセス確認機能部を追加することで、不正アクセスの検出精度をより高めることができ、適用システムの安全性が向上する。
【0035】
以上の実施の形態2の認証システム1001では、実施の形態1で説明したシングルサインオン認証方式およびシングルサインオン認証システムの連携サイトに、予め決定しているアクセス手順やタイミングを記載した、定型アクセス条件リストを加えた。すなわち、バッチ処理など、予めアクセス手順やタイミングが決まっているアクセス(定型アクセス)があること分かっている環境において、予め決定しているアクセス条件を連携サイトサーバに定型アクセス条件として登録しておく。これにより、第三者からの不正アクセスを高精度で検出することのできる、シングルサインオン認証方式、およびシングルサインオン認証システムを提供できる。
【0036】
実施の形態3.
実施の形態3は、コンピュータである連携サイトサーバのハードウェア構成を説明する。
図16は、連携サイトサーバ200のハードウェア資源の一例を示す図である。なお、ユーザ端末装置、認証サーバ及びデータベース装置も連携サイトサーバ同様のコンピュータでり、ハードウェア資源も連携サイトサーバと同様である。よって以下の連携サイトサーバの説明はユーザ端末装置及び認証サーバにも当てはまる。
【0037】
ハードウェア資源を示す図16において、連携サイトサーバ200は、プログラムを実行するCPU810(Central Processing Unit)を備えている。CPU810は、バス825を介してROM(Read Only Memory)811、RAM(Random Access Memory)812、表示装置813、キーボード814、マウス815、通信ボード816、FDD817、CDD818、磁気ディスク装置820と接続され、これらのハードウェアデバイスを制御する。磁気ディスク装置820の代わりに、光ディスク装置、フラッシュメモリなどの記憶装置でもよい。
【0038】
RAM812は、揮発性メモリの一例である。ROM811、FDD817、CDD818、磁気ディスク装置820等の記憶媒体は、不揮発性メモリの一例である。これらは、「記憶装置」あるいは記憶部、格納部、バッファの一例である。通信ボード816、キーボード814、FDD817などは、入力部、入力装置の一例である。また、通信ボード816、表示装置813などは、出力部、出力装置の一例である。
【0039】
通信ボード816は、ネットワークに接続されている。通信ボード816は、LANに限らず、インターネット、ISDN等のWAN(ワイドエリアネットワーク)などに接続されていても構わない。
【0040】
磁気ディスク装置820には、オペレーティングシステム821(OS)、ウィンドウシステム822、プログラム群823、ファイル群824が記憶されている。プログラム群823のプログラムは、CPU810、オペレーティングシステム821、ウィンドウシステム822により実行される。
【0041】
上記プログラム群823には、以上の実施の形態の説明において「〜部」として説明した機能を実行するプログラムが記憶されている。プログラムは、CPU810により読み出され実行される。
【0042】
ファイル群824には、以上の実施の形態の説明において、「不正アクセス条件リスト」、「定型アクセス条件リスト」として説明したリストや、「〜の判定結果」、「〜の算出結果」、「〜の抽出結果」、「〜の生成結果」、「〜の処理結果」として説明した情報や、データや信号値や変数値やパラメータなどが、「〜ファイル」や「〜データベース」の各項目として記憶されている。「〜ファイル」や「〜データベース」は、ディスクやメモリなどの記録媒体に記憶される。ディスクやメモリなどの記憶媒体に記憶された情報やデータや信号値や変数値やパラメータは、読み書き回路を介してCPU810によりメインメモリやキャッシュメモリに読み出され、抽出・検索・参照・比較・演算・計算・処理・出力・印刷・表示などのCPUの動作に用いられる。抽出・検索・参照・比較・演算・計算・処理・出力・印刷・表示のCPUの動作の間、情報やデータや信号値や変数値やパラメータは、メインメモリやキャッシュメモリやバッファメモリに一時的に記憶される。
【0043】
また、以上に述べた実施の形態の説明において、データや信号値は、RAM812のメモリ、FDD817のフレキシブルディスク、CDD818のコンパクトディスク、磁気ディスク装置820の磁気ディスク、その他光ディスク、ミニディスク、DVD(Digital・Versatile・Disk)等の記録媒体に記録される。また、データや信号は、バス825や信号線やケーブルその他の伝送媒体によりオンライン伝送される。
【0044】
また、以上の実施の形態の説明において、「〜部」として説明したものは、「〜手段」、「〜回路」、「〜機器」であってもよく、また、「〜ステップ」、「〜手順」、「〜処理」であってもよい。すなわち、「〜部」として説明したものは、ROM811に記憶されたファームウェアで実現されていても構わない。或いは、ソフトウェアのみ、或いは、素子・デバイス・基板・配線などのハードウェアのみ、或いは、ソフトウェアとハードウェアとの組み合わせ、さらには、ファームウェアとの組み合わせで実施されても構わない。ファームウェアとソフトウェアは、プログラムとして、磁気ディスク、フレキシブルディスク、光ディスク、コンパクトディスク、ミニディスク、DVD等の記録媒体に記憶される。プログラムはCPU810により読み出され、CPU810により実行される。すなわち、プログラムは、以上に述べた「〜部」としてコンピュータを機能させるものである。あるいは、以上に述べた「〜部」の手順や方法をコンピュータに実行させるものである。
【0045】
以上の実施の形態では、認証システム、認証サーバ100、連携サイトサーバ200、データベース装置等を説明したが、これらの動作をコンピュータに実行させるプログラムとして把握することも可能である。あるいは、プログラムを記録したコンピュータ読み取り可能な記録媒体として把握することも可能である。さらに、これらの動作を方法として把握することも可能である。
【符号の説明】
【0046】
1000,1001 認証システム、100 認証サーバ、110 認証サーバ機能部、120 ユーザ識別情報更新機能部、200,201 連携サイトサーバ、210,211 ユーザ識別機能部、220 認証クライアント機能部、230 認証情報無効化機能部、240 不正アクセス条件リスト、250 アプリケーション実行部、260 定型アクセス条件リスト、300 ユーザ識別情報DB、400 正規ユーザ、500 不正ユーザ、600 ユーザ。
【技術分野】
【0001】
この発明は、ユーザ端末装置を認証する認証サーバ装置と、認証サーバ装置によって認証されたユーザ端末装置にアクセスを認めるサイトサーバ装置とを備える認証システムに関する。
【背景技術】
【0002】
SSO(Single Sign−On)認証システムにおいて、SSO認証により得た認証情報が、盗聴や総当たり攻撃などの方法で、正規ユーザではない悪意のあるユーザ(以下、不正ユーザ)に漏れてしまうと、全ての連携サイトが不正アクセスや攻撃の対象となり、大変危険である。そこで、SSO認証による認証情報以外に、連携サイトの提供するアプリケーション上でのユーザの不審挙動を検出して信頼度を算出し、別の連携サイトへのアクセス時に信頼度を元に不正ユーザによる不正アクセスであるかどうかを判別し、ユーザへのアクセス可否やサービス権限の制限を行う方法が提案されている(特許文献1)。
【0003】
特許文献1では、連携サイトのアプリケーション上でのユーザの不審挙動という、正規ユーザが通常行わないような「目だった」アクセスを検出することにより、アクセスするユーザが不正ユーザかどうかを判断する。しかし、近年の不正アクセスは、不審挙動を検出されないようになるべく「目立たない」アクセスを行う傾向にある。特許文献1では、不審挙動という「目立った」アクセスが必要であり、近年の「目立たない」アクセスを行う不正アクセスを検出することができないという課題がある。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開2008−152596号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
本発明は、上記「目だたない不正アクセス」を含む不正アクセスを効果的に検出することを目的とする。
【課題を解決するための手段】
【0006】
この発明の認証システムは、
ユーザ端末装置と、認証サーバ装置と、サイトサーバ装置とを備えた認証システムにおいて、
認証サーバ装置は、
ユーザ端末装置から認証処理を求める認証要求を受信し、前記認証要求の受信を契機として、前記ユーザの前記認証処理を実行し、前記認証処理に成功すると前記認証処理の成功を示す認証情報と、前記認証情報に付随する付随情報とをデータベース装置に登録すると共に、前記認証情報と前記付随情報とを前記ユーザ端末装置に返信し、
前記サイトサーバ装置は、
前記認証情報と、前記付随情報とを含み、アクセスを要求するアクセス要求情報を受信し、前記アクセス要求情報を受信すると前記認証情報を含み、認証確認を要求する認証確認要求を前記認証サーバ装置に送信し、
前記認証サーバ装置は、
前記認証確認要求を受信すると前記認証情報に対して認証が成立しているかどうかの認証確認成立を判定し、前記認証情報に対する前記認証確認成立と判定すると前記データベース装置における前記認証確認成立と判定された前記認証情報に対応する前記付随情報を更新し、前記認証確認成立を前記サイトサーバ装置に送信し、
前記サイトサーバ装置は、
前記認証確認成立を受信すると前記アクセス情報に含まれる前記認証情報をキーとして前記データベース装置における前記キーとなる前記認証情報に対応する前記付随情報を参照し、前記アクセス情報に含まれる前記付随情報と、前記データベース装置における前記キーとなる前記認証情報に対応する前記付随情報とを比較し、比較結果と不正アクセスかどうかを予め規定した不正アクセス条件リストとに基づき、受信した前記アクセス情報が不正アクセスかどうかを判定し、不正アクセスではないと判定した場合に前記ユーザ端末装置にアクセスを認めることを特徴とする。
【発明の効果】
【0007】
本発明により、不正アクセスを効果的に検出することができる。
【図面の簡単な説明】
【0008】
【図1】実施の形態1における認証システム1000のブロック図。
【図2】実施の形態1における不正アクセス条件リスト240及びユーザ識別情報DB300を示す情報。
【図3】実施の形態1におけるユーザと認証サーバとの間の認証処理のフローチャート。
【図4】実施の形態1における認証成功処理のフローチャート。
【図5】実施の形態1における連携サイトアクセス処理のフローチャート。
【図6】実施の形態1における認証確認処理(S16)のフローチャート。
【図7】実施の形態1におけるユーザ識別処理(S18)のフローチャート。
【図8】実施の形態1における無効化処理(S21)のフローチャート。
【図9】図3、図4をシーケンス化した図。
【図10】図5をシーケンス化した図。
【図11】図6をシーケンス化した図。
【図12】図7、図8をシーケンス化した図。
【図13】実施の形態2における認証システム1001のブロック図。
【図14】実施の形態2における定型アクセス条件リスト。
【図15】実施の形態2における認証システム1001の動作を示すフローチャート。
【図16】実施の形態3における連携サイトサーバ200のハードウェア構成。
【発明を実施するための形態】
【0009】
実施の形態1.
以下の実施の形態では、連携する複数のサイト(以下、連携サイト)にアクセスするための認証情報を一元管理する、シングルサインオン(以下、SSO)を実現するSSO認証システムを説明する。この認証システムでは、認証成功時に得られる「認証情報」を利用した認証確認に加えて、認証成功時や認証確認成功時に更新されるユーザ識別情報(付随情報の一例)を利用したユーザ識別を行うことで第三者による不正アクセスを自動検出、対処し、セキュリティを確保する。
(1)ここで、「認証情報」とは、SSO認証サーバに対する認証(例えば、アカウントとパスワードの入力によるユーザ認証や、指紋認証など)に成功したことを証明する情報(例えば認証ID)を示す。
(2)また、「ユーザ識別情報」とは、認証、認証確認の成功回数や成功時刻など、認証や認証確認に成功した際に得られる、認証情報以外の情報を指す。
(3)また、以下の実施の形態ではSSO認証システムを想定して説明するが、何らかの手段で認証を行い、得た認証情報を利用して何らかの対象にアクセスするシステムであればよく、シングルサインオン認証システムに限定されない。
【0010】
本実施の形態1では、正規ユーザ、不正ユーザに関わらずSSO認証システムの連携サイトへのアクセス時に必ず実行される「認証確認処理」に着目し、認証情報以外に認証確認成功時に取得しうる情報であり、かつ、認証確認成功ごとに更新される情報である、認証確認に利用した認証情報に対する「認証確認成功回数」と、「認証確認成功時刻」をユーザ識別情報としてユーザに与え、連携サイトへのアクセス時に、認証確認に加えて、ユーザ識別情報の確認を行うことで、不正アクセスの検出を行う。認証確認は「目立たない」アクセスを実行しようとしても必ず実行される処理であるため、本実施の形態1の認証システムにより、背景技術で述べた「目だたない不正アクセスの検出」に有効である。
【0011】
図1は実施の形態1の認証システム1000の構成図である。図1において、認証システム1000は、認証サーバ装置100(以下、認証サーバ100という)と、認証サーバ装置100が発行する認証情報により認証確認可能な一つ以上の連携サイトサーバ装置200(以下、連携サイトサーバ200という)と、認証サーバ100における、認証処理、認証確認処理時に得られるユーザ認証情報を格納するユーザ識別情報データベース装置300(以下、ユーザ識別情報DB300という)と、からなる。
【0012】
(ユーザ600)
認証システム1000には、正規ユーザ400と、認証システム1000に対して不正アクセスを実施する不正ユーザ500(正規ユーザ400と不正ユーザ500を合わせてユーザ600とする)とが存在するものとする。ユーザ600は、ネットワーク700を介して、認証システム1000に認証およびアクセスを行うものとする。
【0013】
(認証サーバ100)
認証サーバ100は、認証サーバ機能部110と、ユーザ識別情報更新機能部120とを備える。
(1)認証サーバ機能部110は、ユーザからの認証処理や連携サイトからの認証確認処理、認証情報無効化処理を実行する。
(2)ユーザ識別情報更新機能部120は、認証成功時や認証確認成功時の情報(認証情報、認証成功回数、認証成功時刻)を元に、ユーザ識別情報DB300を更新する。
【0014】
(連携サイトサーバ200)
連携サイトサーバ200は、ユーザ識別機能部210と、認証クライアント機能部220と、認証情報無効化機能部230と、不正アクセス条件リスト240と、アプリケーションを実行するアプリケーション実行部250とを備える。
(1)ユーザ識別機能部210は、ユーザ600からのアクセスに付与される認証情報とユーザ識別情報を元に、アクセスが不正アクセスかどうかを判別する。
(2)認証クライアント機能部220は、認証情報を利用して、認証サーバ機能部110に対して認証確認要求を出す。
(3)認証情報無効化機能部230は、認証情報を利用した不正アクセスを検出した際に、認証情報の無効化を認証サーバ機能部110に要求する。
(4)不正アクセス条件リスト240は、連携サイトサーバ200に対するアクセスに付与されているユーザ識別情報と、ユーザ識別情報DB300に登録されているユーザ識別情報を比較した結果を元に、不正アクセスであるかを判別する条件を記載する。
(5)アプリケーション実行部250は、連携サイトサーバ200が正規ユーザ400に対して提供するサービスが動作する。
【0015】
(ユーザ識別情報DB300)
図2は、不正アクセス条件リスト240とユーザ識別情報DB300の内容との例を示す図である。ユーザ識別情報DB300は、認証情報単位で認証成功時、認証確認成功時に、認証成功回数の値を1増加、前回認証成功時刻の値を最新認証成功時刻の値に変更、最新認証成功時刻の値を今回の認証成功時刻に設定する(詳細は動作説明で後述する)。ここで、不正ユーザ500に簡単に予測されないよう、認証成功回数の増加値は1でなくてもよいが、実施の形態1では、認証成功回数の増加値は1として説明する。また、認証情報や前回認証成功時刻、最新認証成功時刻のフォーマットも用いる認証サーバ100のポリシに従ってもよいし、ユーザ識別情報更新機能部120による更新時に、別フォーマットへの変更や値の変更などの処理を行ってもよい。
【0016】
(不正アクセス条件リスト240)
不正アクセス条件リスト240は、図1の説明時に記述したように、連携サイトサーバ200に対するアクセスに付与されているユーザ識別情報と、ユーザ識別情報DB300に登録されているユーザ識別情報を比較した結果を元に、不正アクセスであるかを判別する条件を記載するものである。実施の形態1では、そもそもユーザ識別情報がない(不正ユーザが認証情報を不正取得した状態で不正アクセスした)場合、アクセスに付与された認証成功回数がユーザ識別情報DBの「認証成功回数−1」の値と異なる場合、アクセスに付与された認証成功時刻がユーザ識別情報DBの「前回認証成功時刻」と異なる場合に不正アクセスとする。これらの詳細は動作説明で後述する。認証成功回数の比較条件が「認証成功回数−1」、認証成功時刻の比較条件が「前回認証成功時刻」なのは、後述する認証システム1000の動作に関して、ユーザ識別情報を用いたユーザ識別より、先に認証情報を用いた認証確認を行い、認証確認成功時に、ユーザ識別情報が更新されるので、連携サイトサーバ200へのアクセス時点での状態、つまり認証成功回数が「認証成功回数−1」、認証成功時刻が「前回認証成功時刻」と比較する必要があるためである。ここで、認証成功回数から引く値については、認証、認証確認成功時の認証成功回数の増加値と合わせるものとする。
【0017】
次に図3〜8を用いて、実施の形態1の認証システム1000の動作を説明する。実施の形態1は、ユーザ600による、<認証処理>(S01〜S12)と<連携サイトアクセス処理>(S13〜S41)により実現される。
【0018】
図3はユーザ600と認証サーバとの間の<認証処理>のフローチャートである。
また図9は、図3をシーケンス化して示している。図3及び図9を参照して、<認証処理>を説明する。
S01において、ユーザ600は、認証サーバ100に認証を試みる。
S02において、認証サーバ機能部110はユーザ600に対して認証のためのアカウントとパスワードの入力を求める。
S03において、認証に成功した場合はS04へ、認証に失敗した場合はS05へ遷移する。
S04において、認証サーバ機能部110は<認証成功処理>(S07〜S12)を実施し、S06へ遷移する。<認証成功処理>(S07〜S12)については後述する。
S05において、認証サーバ機能部110はユーザ600に認証失敗を通知し、S06へ遷移する。
S06において、認証処理が終了する。
【0019】
図4は<認証成功処理>を示すのフローチャートである。図9は、認証成功処理をシーケンス化して示している。図4及び図9を参照して、認証サーバ100による「認証成功理」(S07〜S12)を説明する。
S07において、S03にてユーザ600が認証に成功したため、認証サーバ100は認証成功処理を開始する。
S08において、認証サーバ機能部110は、連携サイトへのアクセスに利用するための「認証情報」(例えば認証ID)を発行する。
S09において、認証サーバ機能部110は、S08で発行した「認証情報」、認証成功時に得られる情報である「認証成功時刻」を元に、ユーザ識別情報更新機能部120にユーザ識別情報DB300の新規登録を要求する。
S10において、ユーザ識別情報更新機能部120は、ユーザ識別情報DB300に認証サーバ機能部110から得た「認証情報」と「ユーザ識別情報」を新規登録する。
ここで、
(1)認証情報には認証サーバ機能部110から得た認証情報の値を設定し、
(2)認証成功回数には初期値(実施の形態1では1)、前回認証成功時刻には初期値(例えば、空欄、nullなど)を設定し、
(3)最新認証成功時刻には認証サーバ機能部110から得た認証成功時刻の値を設定する。
この例では最初の登録とし、図2に示すユーザ識別情報DB300の一行目のように、
認証情報:「0ac32g」
成功回数:「1」
前回認証成功時刻:「null」
最新認証成功時刻:「2010−01−01:20:00.000」
と登録されたとする。
S11において認証サーバ機能部110は、ユーザ600に「認証情報」と、「ユーザ識別情報」(認証成功回数、最新認証成功時刻)とを付与する。
S12において認証成功処理を終了する。
【0020】
図5、図10は<連携サイトアクセス処理>の動作を示す。図5及び図5をシーケンス化した図10を参照して、<連携サイトアクセス処理>(S13〜S23)の動作を説明する。
S13において、ユーザ600が、連携サイトサーバ200にアクセスを要求するアクセス情報(以下、単にアクセスという)を送信する。このアクセスは、S11で取得された「認証情報」と「ユーザ識別情報」とを含む。ここで、アクセスが正規ユーザ400であれば、S11で述べたように、
「認証情報」=「0ac32g」、
「ユーザ識別情報」=認証成功時刻「2010−01−01:20:00.000」及び成功回数「1」、
である。
S14において、ユーザ識別機能部210は、アクセスに付与された認証情報、ユーザ識別情報を取得する。
S15において、アクセスから認証情報が取得できた場合はS16へ、できなかった場合はS22へ遷移する。
S16において、認証クライアント機能部220は、<認証確認処理>(S24〜S31)を行い(詳細は後述する)、認証確認結果を得る。
S17において、認証確認に成功した場合はS18へ、失敗した場合はS22へ遷移する。
S18において、ユーザ識別機能部210は、<ユーザ識別処理>(S32〜S36)を行い(詳細は後述する)、このアクセスが認証情報を利用した不正アクセスであるかどうかを判断する。
S19において、アクセスが認証情報を利用した不正アクセスではないと判断した場合はS20へ、不正アクセスであると判断した場合はS21へ遷移する。
S20において、ユーザ識別機能部210は、ユーザ600のアクセスを許可し、更新されたユーザ識別情報(認証成功回数、認証成功時刻)をユーザに付与して、S23へ遷移する。
S21において、認証情報を利用した不正アクセスを検出すると、認証情報無効化機能部230は、<認証情報無効化処理>(S37〜S41)を行い(詳細は後述する)、不正アクセスに利用された認証情報の無効化を行う。
S22において、ユーザ識別機能部210は、ユーザ600に対してアクセス不許可を通知する。
S23において、連携サイトアクセス処理を終了する。
【0021】
図6は、S16の<認証確認処理>(S24〜S31)の具体的な処理を示すフローチャートである。図11は、図6の内容をシーケンス化した図である。
S24において、S15でユーザ600のアクセスに認証情報が付与されていた場合、連携サイトサーバ200は認証確認処理を開始する。
S25において、認証クライアント機能部220は、認証情報を利用し、認証サーバ機能部110に認証確認を要求する。
S26において、認証サーバ機能部110は、認証情報を利用して認証確認を行う。
S27において、認証確認に成功した場合はS28へ、失敗した場合はS30へ遷移する。
S28において、認証サーバ機能部110は、認証情報と今回の認証確認時に得たユーザ識別情報(認証確認成功時刻)を元に、ユーザ識別情報更新機能部120にユーザ識別情報DB300の更新を要求する。
S29において、ユーザ識別情報更新機能部120は、認証情報をキーとして、ユーザ識別情報DB300のユーザ識別情報を更新する。
(1)ここで、認証成功回数には更新前の値に増加値分増加した値を設定し、
(2)前回認証成功時刻には更新前の最新認証成功時刻の値を設定し、
(3)最新認証成功時刻には今回の認証確認成功時に得た認証成功時刻を設定する。
この例では、ユーザ識別情報DB300のユーザ識別情報は、図2の2行目のように更新される。
S30において、認証サーバ機能部110は、認証確認結果(成功、失敗)を認証クライアント機能部220に返す。
S31において、認証確認処理を終了する。
【0022】
図7は<ユーザ識別処理>(S18)の内容を具体的に示したフローチャートである。
図12は図7をシーケンス化した図である。これらを参照して<ユーザ識別処理>(S18:S32〜S36)を説明する。
S32において、S17にて「認証確認」に成功した場合、連携サイトサーバ200はユーザ識別処理を開始する。
S33において、ユーザ識別機能部210は、認証情報をキーとして、ユーザ識別情報DB300からユーザ識別情報を取得する。
S34において、ユーザ識別機能部210は、S14でアクセスから取得したユーザ識別情報(認証成功回数、認証成功時刻)と、S33でユーザ識別情報DB300から取得したユーザ識別情報とを、比較する。この例では、アクセス情報から所得されるのは図2のユーザ識別情報DB300の一行目の内容である。
またユーザ識別情報DB300の内容は、図2の2行目まで記載されている。
S35において、ユーザ識別機能部210は、S34で実施したユーザ識別情報の比較結果と、図2に示した不正アクセス条件リスト240の内容とを比較し、不正アクセスであるかどうかを判別する。
S36において、ユーザ識別処理が終了する。
【0023】
図8は<認証情報無効化処理>(S21)のフローチャートである。また図12に認証情報無効化処理のシーケンスを記載した。図8、図12を参照して、<認証情報無効化処理>の具体的内容を説明する。
S37において、S19にて認証情報を利用した不正アクセスを検出した場合、連携サイトサーバ200は、認証情報無効化処理を開始する。
S38において、認証情報無効化機能部330は、不正アクセスに利用された認証情報の無効化を認証サーバ機能部110に要求する。
S39において、認証サーバ機能部110は、認証情報を無効化する。
S40において、ユーザ識別情報更新機能部120は、認証情報をキーとしてユーザ識別情報DBにアクセスし、対応するレコードの削除を行う。
S41において、認証情報無効化処理を終了する。
【0024】
以上の実施の形態1の認証システム1000によれば、不正アクセスとして考えられる以下に示す3つのケース(1.2(a),(b))について、下記のような効果がある。
【0025】
(1.第三者が認証情報を不正取得した場合)
ユーザ識別情報がないため、第三者が業務サーバにアクセスし、認証確認した時点で不正アクセスを検出できる。
【0026】
(2.第三者が認証情報だけでなく、ユーザ識別情報を取得した場合)
(a)正規ユーザが先に業務サーバにアクセスした場合:
正規ユーザのアクセスによりユーザ識別情報が更新され、第三者の持つユーザ識別情報が無効になるため、第三者が業務サーバにアクセスした時点で不正アクセスを検出できる。
(b)第三者が先に業務サーバにアクセスした場合:
不正アクセスが成功するが、ユーザ識別情報が更新され、正規ユーザの持つユーザ識別情報が無効となる。このため、不正ユーザが目立った行動を起こさなくても、正規ユーザが業務サーバにアクセスした時点で不正アクセスがあったことを検出することができる。さらに、該当認証情報の無効化を行うことで、以降、第三者による不正アクセスを防ぎ、被害を最小限に抑えることができる。
【0027】
このように、認証処理や認証確認処理ごとに更新されるユーザ識別情報を利用したユーザ識別を実行することで、不正ユーザ500からの不正アクセスを自動的に検出し、対応することができ、適用システムの安全性が向上する。
【0028】
以上の実施の形態1の認証システム1000では、以下を備え、認証により得られる情報(認証情報、ユーザ識別情報)から第三者による不正アクセスを検出することのできる、シングルサインオン認証方式、およびシングルサインオン認証システムを説明した。
(1)以下のシングルサインオン認証サーバ、
認証処理を行うことができ、認証成功時に発行する認証情報を利用した認証確認処理を行うことができる認証サーバ機能部、
認証成功時や認証確認成功時に、ユーザ識別情報を登録、更新することのできるユーザ識別情報更新機能部、
(2)ユーザ識別情報を格納するユーザ識別情報DB装置、
(3)以下の機能を持つ連携サイトサーバ、
アクセスに付与された認証情報とユーザ識別情報を利用し、ユーザ識別情報DBの該当レコードとのマッチングを実施し、不正アクセスを検出する、ユーザ識別情報確認機能部、
アクセスに付与された認証情報を利用し、シングルサインオン認証サーバに認証確認要求を出す、認証クライアント機能部、
認証情報を利用した不正アクセスを検出した際に、シングルサインオン認証サーバに該当する認証情報の無効化を要求する認証情報無効化機能部、
上記ユーザ識別情報のマッチング結果による不正アクセス条件を記載した、不正アクセス条件リスト、
連携サイトが提供するサービスが動作するアプリケーションを実行するアプリケーション実行部、
【0029】
実施の形態2.
図13〜図15を参照して実施の形態2を説明する。以上の実施の形態1では、正規ユーザ、不正ユーザに関わらず、確実に実施する必要のある認証処理、認証確認処理時の情報を利用したユーザ確認を行うことで、不正アクセスを検出、対処できるようにしたものである。実施の形態2では、正規のアクセス内容(手順、回数など)が決まっているような場合(例えば、バッチ処理を伴うサービスなど)において、不正アクセスの検出精度をより高める認証方式を提案する。
【0030】
図13は、実施の形態2の認証システム1001の構成図である。実施の形態1との変更点のみ説明する。認証システム1001では、正規ユーザ400(ユーザ端末装置)がバッチプログラム800を実行して、自動的に認証、連携サイトサーバ201へのアクセスを実行する構成である。ここで、バッチプログラム800は、連携サイトサーバ201のアプリケーション実行部250から実行されるような構成でもよい。連携サイトサーバ201は、実施の形態1で備えた各機能部に加えて、新たに定型アクセス条件リスト260(図14)を持つ。また、ユーザ識別機能部211は、実施の形態1で実施する認証確認、ユーザ識別に加え、定型アクセス条件リスト260を利用して、アクセスがバッチプログラム800による定型アクセスであるかどうかを判断する。
【0031】
図14は、連携サイトサーバ201が保有する定型アクセス条件リスト260の例である。定型アクセス条件リスト260は、定型アクセスを識別するための項目である「定型アクセス識別項目」とその「条件」からなる。例えば、図14の例の場合、バッチプログラム800が、毎日M時からL時の間に自動認証後、発行された認証情報、ユーザ識別情報を利用して、連携サイトへのアクセス(つまり、認証確認)をN回実行する場合を想定している。例えば、不正ユーザ500が、不正アクセスに成功したとしても、連携サイトサーバ201に対して、N回より多くアクセス(認証確認)したり、認証成功時刻の条件外の時間にアクセスすると、その時点で定型アクセスでない、つまり不正アクセスであると判断される。
【0032】
次に図15を用いて、実施の形態2の認証システム1001の動作を説明する。実施の形態2は、実施の形態1に対して、<連携サイトアクセス処理>時において、「定型アクセス確認処理」が追加されている点が異なるため、その部分のみを説明する。
【0033】
図15は、<連携サイトアクセス処理>のフローチャートである。ここで、S13〜18、S20〜S21については実施の形態1の<連携サイトアクセス処理>と同じであるため、説明を省略する。
S42において、S18でのユーザ識別処理の結果、不正アクセスと判別された場合はS21へ、不正アクセスでないと判別された場合はS43へ遷移する。
S43において、ユーザ識別機能部210は、S33でユーザ識別情報DBから取得したユーザ識別情報(認証成功回数、最新認証成功時刻)と定型アクセス条件リストの条件を比較し、アクセスが定型アクセスであるか判断する。ここで、定型アクセス条件リストの条件を全て満たしている場合は定型アクセスと判断し、そうでない場合は定型アクセスでないと判断する。
S44において、S43の結果、アクセスが定型アクセスであると判断された場合はS20へ、定型アクセスでないと判断された場合はS21へ遷移する。
【0034】
このように実施の形態2の認証システム1002によれば、予めアクセス内容が判別しているようなサービスや処理に対して、定型アクセス確認機能部を追加することで、不正アクセスの検出精度をより高めることができ、適用システムの安全性が向上する。
【0035】
以上の実施の形態2の認証システム1001では、実施の形態1で説明したシングルサインオン認証方式およびシングルサインオン認証システムの連携サイトに、予め決定しているアクセス手順やタイミングを記載した、定型アクセス条件リストを加えた。すなわち、バッチ処理など、予めアクセス手順やタイミングが決まっているアクセス(定型アクセス)があること分かっている環境において、予め決定しているアクセス条件を連携サイトサーバに定型アクセス条件として登録しておく。これにより、第三者からの不正アクセスを高精度で検出することのできる、シングルサインオン認証方式、およびシングルサインオン認証システムを提供できる。
【0036】
実施の形態3.
実施の形態3は、コンピュータである連携サイトサーバのハードウェア構成を説明する。
図16は、連携サイトサーバ200のハードウェア資源の一例を示す図である。なお、ユーザ端末装置、認証サーバ及びデータベース装置も連携サイトサーバ同様のコンピュータでり、ハードウェア資源も連携サイトサーバと同様である。よって以下の連携サイトサーバの説明はユーザ端末装置及び認証サーバにも当てはまる。
【0037】
ハードウェア資源を示す図16において、連携サイトサーバ200は、プログラムを実行するCPU810(Central Processing Unit)を備えている。CPU810は、バス825を介してROM(Read Only Memory)811、RAM(Random Access Memory)812、表示装置813、キーボード814、マウス815、通信ボード816、FDD817、CDD818、磁気ディスク装置820と接続され、これらのハードウェアデバイスを制御する。磁気ディスク装置820の代わりに、光ディスク装置、フラッシュメモリなどの記憶装置でもよい。
【0038】
RAM812は、揮発性メモリの一例である。ROM811、FDD817、CDD818、磁気ディスク装置820等の記憶媒体は、不揮発性メモリの一例である。これらは、「記憶装置」あるいは記憶部、格納部、バッファの一例である。通信ボード816、キーボード814、FDD817などは、入力部、入力装置の一例である。また、通信ボード816、表示装置813などは、出力部、出力装置の一例である。
【0039】
通信ボード816は、ネットワークに接続されている。通信ボード816は、LANに限らず、インターネット、ISDN等のWAN(ワイドエリアネットワーク)などに接続されていても構わない。
【0040】
磁気ディスク装置820には、オペレーティングシステム821(OS)、ウィンドウシステム822、プログラム群823、ファイル群824が記憶されている。プログラム群823のプログラムは、CPU810、オペレーティングシステム821、ウィンドウシステム822により実行される。
【0041】
上記プログラム群823には、以上の実施の形態の説明において「〜部」として説明した機能を実行するプログラムが記憶されている。プログラムは、CPU810により読み出され実行される。
【0042】
ファイル群824には、以上の実施の形態の説明において、「不正アクセス条件リスト」、「定型アクセス条件リスト」として説明したリストや、「〜の判定結果」、「〜の算出結果」、「〜の抽出結果」、「〜の生成結果」、「〜の処理結果」として説明した情報や、データや信号値や変数値やパラメータなどが、「〜ファイル」や「〜データベース」の各項目として記憶されている。「〜ファイル」や「〜データベース」は、ディスクやメモリなどの記録媒体に記憶される。ディスクやメモリなどの記憶媒体に記憶された情報やデータや信号値や変数値やパラメータは、読み書き回路を介してCPU810によりメインメモリやキャッシュメモリに読み出され、抽出・検索・参照・比較・演算・計算・処理・出力・印刷・表示などのCPUの動作に用いられる。抽出・検索・参照・比較・演算・計算・処理・出力・印刷・表示のCPUの動作の間、情報やデータや信号値や変数値やパラメータは、メインメモリやキャッシュメモリやバッファメモリに一時的に記憶される。
【0043】
また、以上に述べた実施の形態の説明において、データや信号値は、RAM812のメモリ、FDD817のフレキシブルディスク、CDD818のコンパクトディスク、磁気ディスク装置820の磁気ディスク、その他光ディスク、ミニディスク、DVD(Digital・Versatile・Disk)等の記録媒体に記録される。また、データや信号は、バス825や信号線やケーブルその他の伝送媒体によりオンライン伝送される。
【0044】
また、以上の実施の形態の説明において、「〜部」として説明したものは、「〜手段」、「〜回路」、「〜機器」であってもよく、また、「〜ステップ」、「〜手順」、「〜処理」であってもよい。すなわち、「〜部」として説明したものは、ROM811に記憶されたファームウェアで実現されていても構わない。或いは、ソフトウェアのみ、或いは、素子・デバイス・基板・配線などのハードウェアのみ、或いは、ソフトウェアとハードウェアとの組み合わせ、さらには、ファームウェアとの組み合わせで実施されても構わない。ファームウェアとソフトウェアは、プログラムとして、磁気ディスク、フレキシブルディスク、光ディスク、コンパクトディスク、ミニディスク、DVD等の記録媒体に記憶される。プログラムはCPU810により読み出され、CPU810により実行される。すなわち、プログラムは、以上に述べた「〜部」としてコンピュータを機能させるものである。あるいは、以上に述べた「〜部」の手順や方法をコンピュータに実行させるものである。
【0045】
以上の実施の形態では、認証システム、認証サーバ100、連携サイトサーバ200、データベース装置等を説明したが、これらの動作をコンピュータに実行させるプログラムとして把握することも可能である。あるいは、プログラムを記録したコンピュータ読み取り可能な記録媒体として把握することも可能である。さらに、これらの動作を方法として把握することも可能である。
【符号の説明】
【0046】
1000,1001 認証システム、100 認証サーバ、110 認証サーバ機能部、120 ユーザ識別情報更新機能部、200,201 連携サイトサーバ、210,211 ユーザ識別機能部、220 認証クライアント機能部、230 認証情報無効化機能部、240 不正アクセス条件リスト、250 アプリケーション実行部、260 定型アクセス条件リスト、300 ユーザ識別情報DB、400 正規ユーザ、500 不正ユーザ、600 ユーザ。
【特許請求の範囲】
【請求項1】
ユーザ端末装置と、認証サーバ装置と、サイトサーバ装置とを備えた認証システムにおいて、
認証サーバ装置は、
ユーザ端末装置から認証処理を求める認証要求を受信し、前記認証要求の受信を契機として、前記ユーザの前記認証処理を実行し、前記認証処理に成功すると前記認証処理の成功を示す認証情報と、前記認証情報に付随する付随情報とをデータベース装置に登録すると共に、前記認証情報と前記付随情報とを前記ユーザ端末装置に返信し、
前記サイトサーバ装置は、
前記認証情報と、前記付随情報とを含み、アクセスを要求するアクセス要求情報を受信し、前記アクセス要求情報を受信すると前記認証情報を含み、認証確認を要求する認証確認要求を前記認証サーバ装置に送信し、
前記認証サーバ装置は、
前記認証確認要求を受信すると前記認証情報に対して認証が成立しているかどうかの認証確認成立を判定し、前記認証情報に対する前記認証確認成立と判定すると前記データベース装置における前記認証確認成立と判定された前記認証情報に対応する前記付随情報を更新し、前記認証確認成立を前記サイトサーバ装置に送信し、
前記サイトサーバ装置は、
前記認証確認成立を受信すると前記アクセス情報に含まれる前記認証情報をキーとして前記データベース装置における前記キーとなる前記認証情報に対応する前記付随情報を参照し、前記アクセス情報に含まれる前記付随情報と、前記データベース装置における前記キーとなる前記認証情報に対応する前記付随情報とを比較し、比較結果と不正アクセスかどうかを予め規定した不正アクセス条件リストとに基づき、受信した前記アクセス情報が不正アクセスかどうかを判定し、不正アクセスではないと判定した場合に前記ユーザ端末装置にアクセスを認めることを特徴とする認証システム。
【請求項2】
前記サイトサーバ装置は、
受信した前記アクセス情報に係るアクセスを許可する場合、更新された前記付随情報を前記ユーザ端末装置に返信することを特徴とする請求項1記載の認証システム。
【請求項3】
前記サイトサーバ装置は、
前記比較結果と前記不正アクセス条件リストに基づき、受信した前記アクセス情報を不正アクセスと判定した場合には前記認証サーバ装置に、前記不正アクセスに係る前記認証情報の無効化を要求する無効化要求情報を送信し、
前記認証サーバ装置は、
前記無効化要求情報を受信すると要求に係る認証情報を無効化すると共に前記データベース装置から要求に係る前記認証情報及び対応する付随情報とを削除することを特徴とする請求項1または2のいずれかに記載の認証システム。
【請求項4】
前記付随情報は、
認証が成立した時刻と認証が成功した回数との少なくともいずれかを含むことを特徴とする請求項1〜3のいずれかに記載の認証システム。
【請求項5】
前記ユーザ端末装置は、
予め定められた定型のアクセスを示す定型アクセス情報を前記サイトサーバ装置に送信し、
前記サイトサーバ装置は、
前記比較結果と前記不正アクセス条件リストとに基づき、受信した前記アクセス情報を不正アクセスではないと判定した場合には、受信した前記アクセス情報が定型アクセスかどうかを予め定められた定型アクセス条件リストに基づき判定し、定型アクセスと判定した場合に前記定型アクセス情報によるアクセスを認めることを特徴とする請求項1〜4のいずれかに記載の認証システム。
【請求項1】
ユーザ端末装置と、認証サーバ装置と、サイトサーバ装置とを備えた認証システムにおいて、
認証サーバ装置は、
ユーザ端末装置から認証処理を求める認証要求を受信し、前記認証要求の受信を契機として、前記ユーザの前記認証処理を実行し、前記認証処理に成功すると前記認証処理の成功を示す認証情報と、前記認証情報に付随する付随情報とをデータベース装置に登録すると共に、前記認証情報と前記付随情報とを前記ユーザ端末装置に返信し、
前記サイトサーバ装置は、
前記認証情報と、前記付随情報とを含み、アクセスを要求するアクセス要求情報を受信し、前記アクセス要求情報を受信すると前記認証情報を含み、認証確認を要求する認証確認要求を前記認証サーバ装置に送信し、
前記認証サーバ装置は、
前記認証確認要求を受信すると前記認証情報に対して認証が成立しているかどうかの認証確認成立を判定し、前記認証情報に対する前記認証確認成立と判定すると前記データベース装置における前記認証確認成立と判定された前記認証情報に対応する前記付随情報を更新し、前記認証確認成立を前記サイトサーバ装置に送信し、
前記サイトサーバ装置は、
前記認証確認成立を受信すると前記アクセス情報に含まれる前記認証情報をキーとして前記データベース装置における前記キーとなる前記認証情報に対応する前記付随情報を参照し、前記アクセス情報に含まれる前記付随情報と、前記データベース装置における前記キーとなる前記認証情報に対応する前記付随情報とを比較し、比較結果と不正アクセスかどうかを予め規定した不正アクセス条件リストとに基づき、受信した前記アクセス情報が不正アクセスかどうかを判定し、不正アクセスではないと判定した場合に前記ユーザ端末装置にアクセスを認めることを特徴とする認証システム。
【請求項2】
前記サイトサーバ装置は、
受信した前記アクセス情報に係るアクセスを許可する場合、更新された前記付随情報を前記ユーザ端末装置に返信することを特徴とする請求項1記載の認証システム。
【請求項3】
前記サイトサーバ装置は、
前記比較結果と前記不正アクセス条件リストに基づき、受信した前記アクセス情報を不正アクセスと判定した場合には前記認証サーバ装置に、前記不正アクセスに係る前記認証情報の無効化を要求する無効化要求情報を送信し、
前記認証サーバ装置は、
前記無効化要求情報を受信すると要求に係る認証情報を無効化すると共に前記データベース装置から要求に係る前記認証情報及び対応する付随情報とを削除することを特徴とする請求項1または2のいずれかに記載の認証システム。
【請求項4】
前記付随情報は、
認証が成立した時刻と認証が成功した回数との少なくともいずれかを含むことを特徴とする請求項1〜3のいずれかに記載の認証システム。
【請求項5】
前記ユーザ端末装置は、
予め定められた定型のアクセスを示す定型アクセス情報を前記サイトサーバ装置に送信し、
前記サイトサーバ装置は、
前記比較結果と前記不正アクセス条件リストとに基づき、受信した前記アクセス情報を不正アクセスではないと判定した場合には、受信した前記アクセス情報が定型アクセスかどうかを予め定められた定型アクセス条件リストに基づき判定し、定型アクセスと判定した場合に前記定型アクセス情報によるアクセスを認めることを特徴とする請求項1〜4のいずれかに記載の認証システム。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【公開番号】特開2012−3383(P2012−3383A)
【公開日】平成24年1月5日(2012.1.5)
【国際特許分類】
【出願番号】特願2010−136012(P2010−136012)
【出願日】平成22年6月15日(2010.6.15)
【出願人】(000006013)三菱電機株式会社 (33,312)
【Fターム(参考)】
【公開日】平成24年1月5日(2012.1.5)
【国際特許分類】
【出願日】平成22年6月15日(2010.6.15)
【出願人】(000006013)三菱電機株式会社 (33,312)
【Fターム(参考)】
[ Back to top ]