説明

認証システム、認証方法、認証装置、プログラム

【課題】サーバ装置による認証を認証装置による認証で代行実施する認証技術において、認証装置がそれぞれのグループユーザの認証ポリシーに柔軟に対応する認証技術を提供する。
【解決手段】認証装置300の記憶部309に、グループユーザを識別するためのグループIDと、ソフトウェアリソースを識別するためのリソースIDと、グループユーザによって決定された認証要素の組み合わせである認証式(登録認証式)との対応関係を表すデータベースであるグループ認証ロジックDB309aが記憶されている。認証式特定部302は、グループ認証ロジックDB309aを参照して、発信元ユーザ装置が所属するグループIDと認証指示情報に含まれるリソースID対応する登録認証式を得て、当該登録認証式から発信元ユーザ装置に対して実施する認証式(実施認証式)を特定する。認証実行部303が、発信元ユーザ装置に対して、実施認証式に従って認証を行う。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、多要素認証技術とシングルサインオン技術との組合せ技術に関する。
【背景技術】
【0002】
パスワード認証、指紋などの生体情報を用いた生体認証、ICカード認証、回線認証、機器認証その他さまざまな認証要素を組み合わせて認証強度を高めることを多要素認証と呼び、現在、徐々にインターネットバンキング等で利用されつつある。
【0003】
一方、一度の認証で複数のコンピュータ(以下、サーバ装置という。)上のソフトウェアリソースの利用を可能にすることによって、ユーザが異なるサーバ装置上のソフトウェアリソースを利用する毎に認証を実施する必要をなくす機能をシングルサインオンと呼び、徐々にその実施が拡大しつつある(例えば非特許文献1参照)。
【0004】
シングルサインオン技術として、OASISという団体が標準化を推進しているSAML v2.0(非特許文献2参照)という方式が一般的になりつつあり、サーバ装置(サービスプロバイダー;SP)とユーザ装置(ユーザーエージェント;UA)とは別に認証装置(アイデンティティープロバイダー;IDP)があり、認証を一括して実施する仕組みになっている。
【先行技術文献】
【非特許文献】
【0005】
【非特許文献1】エヌ・ティ・ティ・コミュニケーションズ株式会社、「マスターID」、[平成21年9月1日検索]、インターネット〈URL : http://506506.ntt.com/masterid/explain/index.html〉
【非特許文献2】OASIS (Organization for the Advancement of Structured Information Standards), "Security Assertion Markup Language(SAML) v2.0", [平成21年9月1日検索], インターネット<URL : http://www.oasis-open.org/specs/index.php#samlv2.0>
【発明の概要】
【発明が解決しようとする課題】
【0006】
今後、認証に多要素認証技術およびシングルサインオン技術を利用するというニーズが高まると予想される。
【0007】
認証装置と複数のサーバ装置との間でシングルサインオンを行う場合、各々のサーバ装置で採用される認証ポリシー(認証要素の種類や組み合わせ、有効期間など、認証の成否に影響を与える設定)が異なることが予想され、この際、認証装置がそれぞれのサーバ装置の認証ポリシーに柔軟に対応する必要が生じるであろう。
【0008】
一つのサーバ装置においてソフトウェアリソースの内容に応じて複数の認証要素に拠る認証が必要な例として、インターネットバンキングがある。単に口座の残高確認であればパスワードのみでいいが、振込み等の場合にはセキュリティを高めるために第2の認証を要求するといった仕組みが取り入れられている。
【0009】
こうした複数の認証要素に拠る認証を必要とするサーバ装置同士がシングルサインオンで連携する場合として、高額の商品をネットショッピングで購入する場合が考えられる。高額取引である場合、複数の銀行口座から分割してネットショッピングサイトに入金することが考えられるが、各銀行サーバ装置にアクセスするたびに認証を実施しなければならなく、これを煩わしいとユーザが感じるであろう。このような状況に対して、各銀行サーバ装置がシングルサインオンで連携することが考えられるが、各銀行サーバ装置には銀行サーバ装置ごとの認証ポリシーがあり、サービスに必要な認証要素の組み合わせが各銀行サーバ装置で一般的に異なることを考慮しなければならない。例えば取引額が500万円として、A銀行サーバ装置から300万円、B銀行サーバ装置から150万円、C銀行サーバ装置から50万円をネットショッピングサイトに入金する場合の例では、各銀行サーバ装置の振込金額等で定まる認証ポリシーに応じて、A銀行サーバ装置ではパスワード認証、指紋認証、リスクベース認証を必要とし、B銀行サーバ装置では第1パスワード認証、第2パスワード認証、カード認証を必要とし、C銀行サーバ装置ではパスワード認証、カード認証を必要とするといったように、サービスに必要な認証要素の組み合わせが各銀行サーバ装置で異なる。
【0010】
上述の銀行サーバ装置の場合と同様に、一般的なサービスプロバイダーは、サービスごとに認証ポリシーを持っており、この認証ポリシーに基づいて各種認証要素の組み合わせを要求することが現実的であろう。
【0011】
ところで、ソフトウェアをサービスとしてネットワーク経由で提供するSaaS (Software as a Service)と呼ばれる形態のサービスが近年注目されている。SaaSは複数のユーザによって共用されることが一般的である。このユーザには企業のようなグループユーザ(一つまたは複数のユーザの纏まりを一単位とするユーザ)も含まれる。企業は通常、自社の情報資産を守るために各々のルールでセキュリティポリシーを規定している。このため、或る企業が或るサービスを利用するときに必要とされる認証ポリシーについて、グループユーザである企業ごとに異なることを考慮しなければならない。
【0012】
このような場合、前出の例(認証装置がそれぞれのサーバ装置の認証ポリシーに柔軟に対応する場合)とは異なり、認証装置がそれぞれのグループユーザの認証ポリシーに柔軟に対応する必要が生じるであろう。
【0013】
さらに言えば、認証装置がそれぞれのサーバ装置の認証ポリシーに柔軟に対応することと、認証装置がそれぞれのグループユーザの認証ポリシーに柔軟に対応することとの両立が求められる場合もあるであろう。
【0014】
また、認証装置がそれぞれのサーバ装置/グループユーザの認証ポリシーに柔軟に対応するということが、単純に個々の認証ポリシーに従って認証を行えば足りることを意味するに止まらず、サーバ装置/グループユーザからの随意の要求に応じて変わり得る、認証ポリシーの具体的な内容に柔軟に対応するということを意味する場合もあることを考慮しなくてはならない。つまり、認証ポリシーが不変的内容を持つのではなく、その内容が随意の要求に応じて変わり得るのである。
【0015】
例えば、シングルサインオンでは、認証が過去一定期間内(認証の有効期間)に成功していれば、ユーザ装置には現実の認証処理を求めずに、シングルサインオン要求元のサービスプロバイダに認証成功という応答がなされることが一般的である。しかし、サービスを提供している間で継続的に正規のユーザが利用していることが求められる場合に、途中でユーザが入れ替わっていないことを確認するために、認証の有効期間に関わらず強制的に再認証を行うことが必要になることが考えられる。
【0016】
また、認証装置がそれぞれのサーバ装置/グループユーザの認証ポリシーに柔軟に対応するという観点から、認証ポリシーにより要求される認証要素のうち全部または一部がサーバ装置/グループユーザにより指定可能な構成が望まれることも考慮すべきであろう。
【0017】
さらに、認証装置がそれぞれのサーバ装置/グループユーザの認証ポリシーに柔軟に対応するという観点から、認証ロジックが認証強度の代替性を有する構成が望まれることも考慮すべきであろう。例えば、認証ポリシーに拠る認証要素がXとYとZである場合に、XとYとZのうち一つでも認証に失敗するか実施できなかったとすると認証全体が失敗であると扱われる認証ロジックだと、運用が硬直的であってユーザビリティが高くない。ユーザが何らかの事情で認証要素Zによる認証を受けることができないが、認証要素X,Y,Zの組み合わせで得られる認証強度と同程度かそれ以上の認証強度を与える認証要素VとWとの組み合わせによる認証にユーザが成功できるのであれば、認証要素VとWによる認証を実施して、ユーザにサービスを提供することに特段の問題は無いはずである。ここで認証強度は、何らかの客観的な指標に基づく認証要素それぞれあるいは複数の認証要素の組み合わせの認証強度を言うに限らず、サービスを運営する者などの主観的な評価に拠る認証強度であってもよい。
【0018】
このような来たる状況を見出したことに鑑みて、本発明は、サーバ装置による認証を認証装置による認証で代行実施する認証技術において、認証装置がそれぞれのサーバ装置/グループユーザの認証ポリシーに柔軟に対応する認証技術を提供することを目的とする。
【課題を解決するための手段】
【0019】
本発明の一つは、次のとおりである。認証装置の記憶部に、一つまたは複数のユーザ装置をメンバーとするグループユーザを識別するための情報と、ソフトウェアリソースを識別するための情報と、グループユーザによって決定された認証要素の組み合わせである認証式(登録認証式)との対応関係を表すデータベースであるグループ認証ロジックデータベースが記憶されている。まず、サーバ装置の認証指示情報生成部が、ユーザ装置(送信元装置)から送られた、ソフトウェアリソースを指示する情報であるリソース指示情報に基づき、当該リソース指示情報で指示されたソフトウェアリソースを表す情報を少なくとも含む認証指示情報を生成し、(認証指示情報生成処理)、サーバ装置の送信部が、認証指示情報を認証装置に送信する(送信処理)。認証装置の受信部が、サーバ装置から認証指示情報を受信すると(受信処理)、認証装置の認証式特定部が、グループ認証ロジックデータベースを参照して、発信元装置が所属するグループユーザと認証指示情報とに対応する登録認証式を得て、当該登録認証式から発信元装置に対して実施する認証式(実施認証式)を特定する(認証式特定処理)。そして、認証装置の認証実行部が、発信元装置に対して、実施認証式に従って認証を行い(認証実行処理)、認証装置の送信部が、認証実行処理の認証結果を、認証指示情報を送信したサーバ装置に送信する(送信処理)。この場合、グループ認証ロジックデータベースにグループユーザごとに決定された認証ポリシーが登録されているので、認証装置がそれぞれのグループユーザの認証ポリシーに応ずる認証が可能である。
【0020】
本発明の一つは、次のとおりである。認証装置の記憶部に、サーバ装置を識別するための情報と、ソフトウェアリソースを識別するための情報と、サーバ装置によって決定された認証要素の組み合わせである認証式(登録認証式)との対応関係を表すデータベースであるサーバ認証ロジックデータベースが記憶されている。まず、サーバ装置の認証指示情報生成部が、ユーザ装置(送信元装置)から送られた、ソフトウェアリソースを指示する情報であるリソース指示情報に基づき、当該リソース指示情報で指示されたソフトウェアリソースを表す情報を少なくとも含む認証指示情報を生成し(認証指示情報生成処理)、サーバ装置の送信部が、認証指示情報を認証装置に送信する(送信処理)。認証装置の受信部が、サーバ装置から認証指示情報を受信し(受信処理)、認証装置の認証式特定部が、サーバ認証ロジックデータベースを参照して、認証指示情報を送信したサーバ装置と認証指示情報とに対応する登録認証式を得て、当該登録認証式から発信元装置に対して実施する認証式(実施認証式)を特定する(認証式特定処理)。そして、認証装置の認証実行部が、発信元装置に対して、実施認証式に従って認証を行い(認証実行処理)、認証装置の送信部が、認証実行処理の認証結果を、認証指示情報を送信したサーバ装置に送信する(送信処理)。この場合、サーバ認証ロジックデータベースにサーバ装置ごとに決定された認証ポリシーが登録されているので、認証装置がそれぞれのサーバ装置の認証ポリシーに応ずる認証が可能である。
【0021】
本発明の一つは、次のとおりである。認証装置の記憶部に、一つまたは複数のユーザ装置をメンバーとするグループユーザを識別するための情報と、ソフトウェアリソースを識別するための情報と、グループユーザによって決定された認証要素の組み合わせである認証式(登録認証式)との対応関係を表すデータベースであるグループ認証ロジックデータベースと、サーバ装置を識別するための情報と、ソフトウェアリソースを識別するための情報と、サーバ装置によって決定された認証要素の組み合わせである認証式(登録認証式)との対応関係を表すデータベースであるサーバ認証ロジックデータベースとが記憶されている。まず、サーバ装置の認証指示情報生成部が、グループユーザに含まれるユーザ装置またはグループユーザに含まれないユーザ装置(送信元装置)から送られた、ソフトウェアリソースを指示する情報であるリソース指示情報に基づき、当該リソース指示情報で指示されたソフトウェアリソースを表す情報と、異なる二つの認証タイプX,Yとその組み合わせのいずれかを表す情報である認証種別情報を少なくとも含む認証指示情報を生成し(認証指示情報生成処理)、サーバ装置の送信部が、認証指示情報を認証装置に送信する(送信処理)。そして、認証装置の受信部が、サーバ装置から認証指示情報を受信し(受信処理)、証装置の認証式特定部が、[1]認証指示情報に含まれる認証種別情報がXの場合に、グループ認証ロジックデータベースを参照して、発信元装置が所属するグループユーザと認証指示情報とに対応する登録認証式を得て、当該登録認証式から発信元装置に対して実施する認証式(実施認証式)を特定し、[2]認証指示情報に含まれる認証種別情報がYの場合に、サーバ認証ロジックデータベースを参照して、認証指示情報を送信したサーバ装置と認証指示情報とに対応する登録認証式を得て、当該登録認証式から発信元装置に対して実施する認証式(実施認証式)を特定し、[3]認証指示情報に含まれる認証種別情報がXとYの組み合わせである場合に、グループ認証ロジックデータベースを参照して得られる、発信元装置が所属するグループユーザと認証指示情報とに対応する登録認証式と、サーバ認証ロジックデータベースを参照して得られる、認証指示情報を送信したサーバ装置と認証指示情報とに対応する登録認証式との組み合わせを得て、当該組み合わせから発信元装置に対して実施する認証式(実施認証式)を特定する(認証式特定処理)。そして、認証装置の認証実行部が、発信元装置に対して、実施認証式に従って認証を行い(認証実行処理)、認証装置の送信部が、認証実行処理の認証結果を、認証指示情報を送信したサーバ装置に送信する(送信処理)。この場合、グループ認証ロジックデータベースにグループユーザごとに決定された認証ポリシーが登録されており、サーバ認証ロジックデータベースにサーバ装置ごとに決定された認証ポリシーが登録されているので、認証種別情報に応じて、認証装置がそれぞれのユーザ装置および/またはグループユーザの認証ポリシーに応ずる認証が可能である。
【0022】
少なくとも各サーバ装置に対応する登録認証式のうちいずれか、あるいは少なくとも各グループユーザに対応する登録認証式のうちいずれかを、複数の認証要素を積および/または和で連結して得られる式としてもよい。この場合、認証強度に代替性を持たせることができる。
【0023】
また、グループ認証ロジックデータベースとサーバ認証ロジックデータベースの少なくともいずれかにおいて、登録認証式に含まれる各認証要素に、認証実施が必須であるかオプションであるかを表す要否情報が対応付けられているとし、認証指示情報は、オプションを表す要否情報が対応付けられた認証要素を実施することを指定するオプション認証要素指示情報を含みえるとし、実施認証式を、登録認証式に含まれる認証要素のうち、認証指示情報に含まれたオプション認証要素指示情報で指定される認証要素を除き、オプションを表す要否情報が対応付けられた認証要素を除外して得られる認証式としてもよい。この場合、サーバ装置/グループユーザからの随意の要求に応じた認証が可能になる。
【発明の効果】
【0024】
本発明に拠れば、グループユーザごとに決定された認証ポリシーが登録されたグループ認証ロジックデータベース/サーバ装置ごとに決定された認証ポリシーが登録されたサーバ認証ロジックデータベースが認証装置に保有されているので、認証装置がそれぞれのグループユーザ/ユーザ装置の認証ポリシーに柔軟に応ずる認証が可能である。
【図面の簡単な説明】
【0025】
【図1】第1実施形態の認証システムの構成例を示す図。
【図2】グループ認証ロジックデータベースの例を示す図。
【図3】認証結果データベースの例を示す図。
【図4】第1実施形態の認証方法の処理フロー。
【図5】第2実施形態の認証システムの構成例を示す図。
【図6】サーバ認証ロジックデータベースの例を示す図。
【図7】第2実施形態の認証方法の処理フロー。
【図8】第3実施形態の認証システムの構成例を示す図。
【図9】グループ認証ロジックデータベースから得られた登録認証式R1とサーバ認証ロジックデータベースから得られた登録認証式R2との組み合わせで得られる登録認証式R3を表現するデータベースの例。
【図10】グループ認証ロジックデータベースから得られた登録認証式R1とサーバ認証ロジックデータベースから得られた登録認証式R2との組み合わせで得られる登録認証式R3において、積で連結された認証要素のグループに同じ認証要素が現れる場合に、認証強度を強める方向で縮約した結果の登録認証式を表現するデータベースの例。
【図11】第3実施形態の認証方法の処理フロー。
【図12】ユーザ装置が実施できない認証要素が登録されたブラックリスト型データベースの例。
【図13】第2変形実施形態の認証システムの構成例を示す図。
【図14】ユーザ管理データベースの例。
【図15】第2変形実施形態の認証方法の処理フロー。
【発明を実施するための形態】
【0026】
図面を参照しながら、本発明の実施形態について説明する。
[第1実施形態]は、認証装置がグループユーザの認証ポリシーに柔軟に対応するグループオーソリティ型認証形態である。
[第2実施形態]は、認証装置がサーバ装置の認証ポリシーに柔軟に対応するサーバオーソリティ型認証形態である。
[第3実施形態]は、サーバオーソリティ型認証とグループオーソリティ型認証との両立形態である。
【0027】
[第1実施形態]
第1実施形態はグループユーザが認証ポリシーを決定した場合の形態(グループオーソリティ型認証形態)である。例えば、企業などのグループユーザが、そのメンバーのリソース利用について、独自の認証ポリシーを決定している場合がある。第1実施形態は、このような場合に、認証装置がグループユーザの認証ポリシーに柔軟に対応する実施形態である。
【0028】
本発明の第1実施形態である認証システム1は、相互に通信可能とされた、サーバ装置200、認証装置300を含む(図1参照)。一つの認証装置300に対して複数のサーバ装置200が存在する実施形態が通例であり、この発明の理解を容易にする観点から、一つの認証装置300に対して二つのサーバ装置200,400が存在する実施形態として説明する。
【0029】
また、この第1実施形態では、認証システム1に一つまたは複数のユーザ装置100−1,100−2,・・・が含まれる。これらユーザ装置100−1,100−2,・・・は一つのグループユーザを形成している。なお、概念的には、人間であるユーザの集団がグループユーザを形成していると考えられるが、個々のユーザがユーザ装置を使用する時点で、ユーザとユーザ装置とが1対1の関係に等価的に評価されるから、複数のユーザ装置が一つのグループユーザを形成していると考えて差し支えない。勿論、例えば物理アドレスで特定される複数のユーザ装置の集団がグループユーザを形成してもよい。認証システム1には、複数のグループユーザが存在してもよい。個々のユーザ装置は、サーバ装置によるリソース提供の対象であってかつ認証装置300が行う認証の対象である。認証ポリシーは、グループユーザごとに定められている。なお、本発明においては、決定主体により定められた認証ポリシーに応じて柔軟な認証を行うことを特徴の一つとするから、ユーザ装置やグループユーザそのものが発明の必須構成要素であるわけではない。
【0030】
各サーバ装置200,400は中央処理装置、記憶装置、送受信装置などのハードウェアを備えたコンピュータで実現され、各サーバ装置200,400が発揮する機能は後述の機能を発現するように記述されたプログラムを中央処理装置が解釈・実行することで実現される。ユーザ装置100−1,100−2,・・・、認証装置300についても同様である。
【0031】
各ユーザ装置100−1,100−2,・・・は、サーバ装置200,400により提供されるソフトウェアリソース(アプリケーションサービス、データ、その他種々のリソースを含む。)を指示する情報であるリソース指示情報を、サーバ装置200あるいはサーバ装置400に対して送信する送信部101と、認証装置300との間で認証を行う認証処理部102とを備えている(図1参照)。以下、ユーザ装置100−1を、ユーザ装置100と呼称し、ユーザ装置の代表として説明する。
【0032】
サーバ装置200は、ユーザ装置100からリソース指示情報を受信する受信部201と、リソース指示情報に基づき、認証装置300がユーザ装置100に対して実施する認証を特定するために認証装置300が用いる情報である認証指示情報を生成する認証指示情報生成部202と、認証指示情報を認証装置300に送信する送信部204を備えている(図1参照)。
【0033】
認証指示情報には、少なくともサーバIDが含まれ、さらにリソース指示情報に応じてリソースID情報も含まれる。サーバIDは、個々のサーバ装置に割り当てられた固有ID(つまり、サーバ装置を識別するための情報)であり、認証指示情報には当該認証指示情報を生成したサーバ装置のサーバIDが含まれる。リソースIDは、個々のソフトウェアリソースに割り当てられた固有ID(つまり、ソフトウェアリソースを識別するための情報)である。リソースID情報は、リソースIDを表す情報であり、認証指示情報にはリソース指示情報で指示されたソフトウェアリソースのリソースIDを表すリソースID情報が含まれる。なお、リソース指示情報にソフトウェアリソースが指定されていない場合や、リソース指示情報で指定されたソフトウェアリソースが認証システムのデフォルト設定のそれである場合、認証指示情報にリソースID情報が含まれない実施形態も許容される(この場合、認証装置300は、デフォルト設定されたソフトウェアリソースのリソースIDを認証装置300における処理に用いる。)。また、リソースID情報がリソースIDそのものであってもよい。
【0034】
認証指示情報には、サーバIDとリソースID情報以外に強制実施認証要素指示情報、オプション認証要素指示情報、グループIDが含まれる場合がある。強制実施認証要素指示情報は、直前の認証結果に係らず認証装置300がユーザ装置100に対して強制実施する認証要素を指示する情報である。オプション認証要素指示情報は、サーバ装置から随意の要求があった場合に認証装置300がユーザ装置100に対して実施する認証要素を指示する情報である。グループIDは、個々のグループユーザに割り当てられた固有ID(つまり、グループユーザを識別するための情報)であり、認証指示情報にはリソース指示情報を送信したユーザ装置の所属するグループユーザのグループIDが含まれる。
【0035】
サーバ装置200について説明したことは、サーバ装置400はもとよりその他のサーバ装置についても当てはまる。
【0036】
次に、認証装置300は、記憶部309を備えており、この記憶部309に、グループ認証ロジックデータベース309aが記憶されている(図1参照)。
【0037】
グループ認証ロジックデータベース309aは、グループIDと、リソースIDと、認証ロジックとの対応関係を表すデータベースである(図2参照)。グループIDごとの、リソースIDと認証ロジックとの対応関係は、グループIDで特定されるグループユーザの認証ポリシーを表している。各サーバ装置が提供可能なアプリケーションリソースのリソースIDは事前にグループユーザに提供されており、この事前情報に基づいて作成された認証ポリシーは事前に各グループユーザから認証装置300に登録されている。ここで「認証ロジック」は、認証要素の組み合わせである認証式、各認証要素の実施要否、各認証要素による認証の有効期間など、認証に係る設定を表す。「認証要素の組み合わせ」は当該組み合わせに複数の認証要素が含まれることに限定せず、当該組み合わせに一つの認証要素のみが含まれる場合も許容される。また、「認証式」は、各認証要素を積および/または和で連結して得られる式であるが、組み合わせに一つの認証要素のみが含まれる場合には、一つの認証要素そのものが認証式となる。各認証要素の認証結果を2ビットで表現したとき(認証成功を1、認証失敗を0とする)、この認証式は、積をAND演算、和をOR演算とする論理式と等価となる。図2に示すグループ認証ロジックデータベース309aでは、この認証式をデータベースに登録するため、積で連結される認証要素の集合と、和で連結される集合を表現するための認証タグを利用している。リソースIDごとに、異なる認証タグが認証要素に対応付けられている。この例では認証タグは二桁の整数である。十の位が同じ認証タグに対応する認証要素の集合では各認証要素が積で連結され、十の位に対応する各集合は和で連結され、この結果、認証式が構成される。各認証要素の実施要否は、認証実施が必須であるか否かを表す。図2に示すグループ認証ロジックデータベース309aでは、必須実施の認証要素に○が登録され、オプション認証要素指示情報により指定された場合に実施(オプション実施)する認証要素に□が登録されている。各認証要素による認証の有効期間は、認証が成功した場合のその有効期間を表している。認証要素は図2に示すグループ認証ロジックデータベース309aでは、A,B,C,Dなどで表しているが、認証要素の具体例としては、回線認証、機器認証、パスワード認証、カード認証、生体認証などが挙げられる。
【0038】
図2に示すグループ認証ロジックデータベース309aを参照して、グループ認証ロジックデータベース309aを具体的に説明する。グループユーザG1のグループIDをGR1、グループユーザG2のそれをGR2とする。また、サーバ装置200が提供可能なソフトウェアリソースのリソースIDをSV1,SV2とし、サーバ装置400が提供可能なソフトウェアリソースのリソースIDをSV1とする。リソースIDは、サーバ装置200とサーバ装置400との間で重複してもよい。リソースIDが重複しても、それを提供する主体(つまり、ユーザ装置がアクセスしたサーバ装置)を表すサーバIDにより識別されるからである。また、サーバ装置200とサーバ装置400が同種のソフトウェアリソースを提供することも許容される。例えばサーバ装置200とサーバ装置400がWebメールを提供する場合であっても、それを提供する主体(つまり、ユーザ装置がアクセスしたサーバ装置)を表すサーバIDによりソフトウェアリソースが識別されるからである。グループID=GR1,リソースID=SV1について、3種類の認証要素A,B,Dが対応し、10の認証タグが割り当てられた認証要素Aには必須実施(○)と1時間の有効期間が割り当てられ、11の認証タグが割り当てられた認証要素Bにはオプション実施(□)と1時間の有効期間が割り当てられ、20の認証タグが割り当てられた認証要素Aにはオプション実施(□)と30分の有効期間が割り当てられ、21の認証タグが割り当てられた認証要素Dには必須実施(○)と30分の有効期間が割り当てられている。従って、グループID=GR1,リソースID=SV1についての認証ポリシーに拠る認証式は、10番台の認証タグに対応する認証要素の積と、20番台の認証タグに対応する認証要素の積と、それらの和で表され、具体的には式(1)で表される。なお式中、丸囲み記号は必須実施を、四角囲み記号はオプション実施を表す。同様に、グループID=GR2,リソースID=SV1について、1種類の認証要素Bが対応し、認証要素が1種類だけなので認証タグは形式的に10が割り当てられ、さらに必須実施(○)と30分の有効期間が割り当てられている。従って、グループID=GR2,リソースID=SV1についての認証ポリシーに拠る認証式は、認証要素Bそのものであり、具体的には式(2)で表される。なお、認証式が一つの認証要素しか含まない場合、その実施要否は必須とされることが一般的であるが、オプション実施とした場合には原則無認証でソフトウェアリソースを提供することになる。
【数1】

【0039】
グループ認証ロジックデータベース309aから得られる認証式は、グループユーザから登録された認証ポリシーを反映したものであり、認証装置300が実際に実施する認証式(以下、実施認証式ともいう。)は、グループ認証ロジックデータベース309aから得られる認証式(以下、登録認証式ともいう。)と認証指示情報と直前の認証結果(認証結果データベース309bであり後述する。)とに基づいて決定される。具体的には、認証装置300は、登録認証式を特定した後、
《1》登録認証式中の必須実施の認証要素のうち、直前の認証結果が認証成功であって、認証装置300の現在時刻管理部(図示しない。)が提供する現在時刻が直前の認証時刻からグループ認証ロジックデータベース309aに登録された有効期間を経過していないものをオプション実施に変更し、
《2》認証指示情報にオプション認証要素指示情報が含まれる場合に、登録認証式中のオプション実施の認証要素のうち、オプション認証要素指示情報で指定される認証要素を必須実施とし、
《3》《2》の処理で必須実施に変更された認証要素のうち、直前の認証結果が認証成功であって、認証装置300の現在時刻管理部が提供する現在時刻が直前の認証時刻からグループ認証ロジックデータベース309aに登録された有効期間を経過していないものをオプション実施に変更し、
《4》認証指示情報に強制実施認証要素指示情報が含まれる場合に、《3》の処理で得られた認証式に含まれるオプション実施の認証要素のうち、強制実施認証要素指示情報で指定される認証要素を必須実施とし、
《F》これらの処理で得られた認証式からオプション実施とされた認証要素を除いて得られる認証式を、実際に実施する認証式とする。なお、オプション認証要素指示情報で指定可能な認証要素は、グループ認証ロジックデータベース309aでオプション実施が登録されている認証要素であり、強制実施認証要素指示情報で指定可能な認証要素は、グループ認証ロジックデータベース309aで必須実施が登録されている認証要素およびオプション認証要素指示情報で指定された認証要素である。
【0040】
ここでは登録認証式(1)の例を用いて説明する。前回の認証時刻が午前9:00で今回の認証時刻が同日午前9:15とする。認証指示情報には、認証要素BとDを指定する強制実施認証要素指示情報と、認証要素Bを指定するオプション認証要素指示情報が含まれるとする。前回の認証では、認証要素AとBは失敗、認証要素Dは成功であったとする。この場合、登録認証式(1)は処理《1》により認証式(1a)に変形され、処理《2》により認証式(1b)に変形され、処理《3》により認証式(1c)に変形され、処理《4》により認証式(1d)に変形され、処理《F》により認証式(1e)が得られる。結局、この例では、認証装置300が実際に実施する認証式は(1e)であり、認証要素AとBの両方による認証に成功した場合、あるいは認証要素Dによる認証に成功した場合に認証全体が成功となる。
【数2】

【0041】
上述の例のように認証タグが整数で表される場合、認証タグの値に従って例えば昇順に認証を実施することができる。式(1e)の例では、認証要素Aの認証タグが10、認証要素Bの認証タグが11、認証要素Dの認証タグが21なので、A⇒B⇒Dの順番で認証を実施する。従って、認証要素AとBの両方による認証に成功した場合、認証要素Dによる認証を行わなくても認証全体が成功であると判定してよいことに留意されたい。勿論、ユーザ装置に対するリソース提供に関してサーバ装置による判定の一助とするため、(途中で認証全体が成功であると判定できたとしても)実際に実施する認証式の個々の認証要素による認証を全て実施することは否定されない。
【0042】
グループ認証ロジックデータベース309aは、この例に限らず、有効期間を定めなくてもよい。また、認証要素の実施要否を定めることも必須ではなく、この場合、全ての認証要素は必須実施と看做される。
【0043】
また、記憶部309には、ユーザ装置ごとに、各認証要素の前回の認証結果と認証実施時刻を記録した認証結果データベース309bが記憶されている(図3参照)。図3に示す例では、例えばユーザ装置βについて、認証要素Aで認証成功かつ9時12分実施、認証要素Bで未実施、認証要素Cで認証失敗かつ9時11分実施、認証要素Dで未実施などが登録されている。なお、認証結果データベース309bは、サーバ装置ごとに用意されるものではない。シングルサインオンの場合、どのサーバ装置からの認証依頼であっても、リソース要求主体であるユーザ装置と認証要素との関係が同一の認証結果データベース309bに登録される。従って先の例であれば、午前9:00の認証は例えばサーバ装置400からの依頼で行われてこの認証結果が認証結果データベース309bに登録され、同日午前9:15の認証は例えばサーバ装置200からの依頼で行われ、この際には午前9:00の認証結果も反映された認証結果データベース309bが使われ、さらに同日午前9:15の認証結果が認証結果データベース309bに最新の認証結果が反映されるように上書き登録されることになる。
【0044】
また、認証装置300は、サーバ装置200から認証指示情報を受信する受信部301と、認証指示情報とグループ認証ロジックデータベース309aから得られる認証式(登録認証式)と直前の認証結果(認証結果データベース309b)とに基づいて実際に実施する認証式を特定する認証式特定部302と、認証式特定部302によって特定された実施認証式に従って、ユーザ装置100との間で認証を行う認証実行部303と、認証実行部303による認証結果をサーバ装置200に送信する送信部304とを備えている(図1参照)。
【0045】
次に、図4を参照して、認証システム1における処理の流れを叙述的に説明する。
まず、ユーザ装置100の送信部101は、サーバ装置200が提供可能なソフトウェアリソースを指示する情報であるリソース指示情報を、サーバ装置200に対して送信する(ステップS1)。
【0046】
サーバ装置200の受信部201が、ユーザ装置100からリソース指示情報を受信すると(ステップS2)、サーバ装置200の認証指示情報生成部202が、リソース指示情報に基づき、認証装置300がユーザ装置100に対して実施する認証を特定するために認証装置300が用いる情報である認証指示情報を生成する(ステップS3)。既述のとおり、認証指示情報には少なくともサーバIDが含まれるが、強制実施認証要素指示情報、オプション認証要素指示情報、グループIDを認証指示情報に含めるか否か、含める場合にはその具体的な内容(但し、グループIDとリソースID情報は除く。)を、サーバ装置200が自由に決めることができる。
【0047】
サーバ装置200の送信部204は、ステップS3の処理で生成された認証指示情報を認証装置300に送信する(ステップS4)。この送信処理は、例えばHTTPリダイレクトを利用して、リソース指示情報を送ったユーザ装置100を経由して行われる。あるいは、この送信処理は、SAML v2.0を利用する場合、例えば、認証指示情報とユーザ装置特定情報を記述したExtensionsを認証装置300に送信する処理でもよい。この送信処理により、認証装置300は、リソース指示情報を送ったユーザ装置100を知ることができ、ユーザ装置100との認証処理や認証結果データベース309bの作成を行うことができる。
【0048】
認証装置300の受信部301は、サーバ装置200から認証指示情報を受信する(ステップS5)。受信した認証指示情報にグループIDが含まれていない場合には、認証装置300のID取得部(図示しない。)が、リソース指示情報を送信したユーザ装置にグループIDを問い合わせてそれを取得する(ステップS5a)。そして、認証装置300の認証式特定部302が、記憶部309に記憶されたグループ認証ロジックデータベース309aを参照して登録認証式を求め、認証指示情報と直前の認証結果(認証結果データベース309b)とに基づいて実際に実施する認証式(実施認証式)を特定する(ステップS6)。この特定処理の具体例は既述のとおりである。
【0049】
続いて、認証装置300の認証実行部303は、ステップS6の処理において特定された実施認証式に従って、ユーザ装置100の認証処理部102との間で認証を行う(ステップS7)。各認証要素の認証結果は、認証装置の制御部(図示しない。)によって、認証結果データベース309bに書き込まれる。
【0050】
上記の認証が完了すると、認証装置300の送信部304が、ステップS7の処理での認証結果をサーバ装置200に送信する(ステップS8)。送信される認証結果には、実際に実施する認証式による認証結果が含まれる。また、送信される認証結果は、実際に実施する認証式による認証結果に替えて、あるいは、実際に実施する認証式による認証結果とともに、各認証要素の認証結果(成功/失敗/未実施/エラー)を含むとしてもよい。個々の認証要素の認証結果を送信することで、既述のとおり、サーバ装置200側での、各認証要素の認証結果に応じたソフトウェアリソースのフレキシブルな提供を可能ならしめる。この処理は、SAML v2.0を利用する場合、例えば、アサーション(Assertion)に実際に実施する認証式による認証結果を記述し、アサーションの属性情報として各認証要素の認証結果(成功/失敗/未実施/エラー)を記述して、これをサーバ装置200に送信する処理となる。
【0051】
サーバ装置200の受信部203が、認証装置300から上記認証結果を受信する(ステップS9)。受信した認証結果が例えば実際に実施する認証式による認証結果である場合には、それが成功を示す場合には、サーバ装置200の制御部(図示しない。)は、リソース指示情報で指示されたソフトウェアリソースをユーザ装置100に提供するように制御を行い、それが失敗の場合には、リソース指示情報で指示されたソフトウェアリソースの提供を行わない制御を行う(ステップS10)。また、個々の認証要素の認証結果を受信した場合には、サーバ装置200の制御部(図示しない。)は、その全ての認証が成功の場合には、リソース指示情報で指示されたソフトウェアリソースをユーザ装置100に提供するように制御を行い、その全ての認証が成功でない場合でも、認証成功した認証要素の組合せに応じた制限を伴うソフトウェアリソースの提供を行うようにすることができる。
【0052】
このように第1実施形態によれば、各グループユーザが決定した認証ポリシーを登録したグループ認証ロジックデータベース309aが認証装置300の記憶部に記憶されているので、グループユーザに属するユーザ装置からのリソースリクエストについて、当該ユーザ装置の属するグループユーザの認証ポリシーに則って認証を行うことができる。また、認証式が認証要素(あるいは積で連結された認証要素)の和の連結で表されることで認証ロジックが認証強度の代替性を有する。また、認証要素の実施要否について必須実施とオプション実施が定められている場合には、オプション実施が定められた認証要素についてサーバ装置の随意の要求に応じた認証が可能である。また、認証指示情報が強制実施認証要素指示情報を含みうる情報であるから、前回の認証成功から有効期間内であっても、サーバ装置の随意の要求に応じた認証が可能である。
【0053】
[第2実施形態]
第1実施形態はグループユーザが認証ポリシーを決定した場合の形態(グループオーソリティ型認証形態)であったが、第2実施形態はリソース提供主体であるサーバ装置が認証ポリシーを決定した場合の形態(サーバオーソリティ型認証形態)である。
【0054】
第2実施形態は、第1実施形態と比較して、認証装置の記憶部309にグループ認証ロジックデータベース309aに替えてサーバ認証ロジックデータベース308aが記憶されている以外は第1実施形態と同じ構成であるといって過言ではないが、両実施形態は独立して実施できるので、重複事項も含めて第2実施形態を説明する。
【0055】
本発明の第2実施形態である認証システム2は、相互に通信可能とされた、サーバ装置200、認証装置300を含む(図5参照)。一つの認証装置300に対して複数のサーバ装置200が存在する実施形態が通例であり、この発明の理解を容易にする観点から、一つの認証装置300に対して二つのサーバ装置200,400が存在する実施形態として説明する。認証ポリシーは、サーバ装置ごとに定められている。
【0056】
また、この第2実施形態では、リソース提供の相手方であってかつ認証装置300が行う認証の対象である一つまたは複数のユーザ装置100が認証システム2に備わっている。なお、本発明においては、決定主体により定められた認証ポリシーに応じて柔軟な認証を行うことを特徴の一つとするから、ユーザ装置そのものが発明の必須構成要素であるわけではない。
【0057】
各サーバ装置200,400は中央処理装置、記憶装置、送受信装置などのハードウェアを備えたコンピュータで実現され、各サーバ装置200,400が発揮する機能は後述の機能を発現するように記述されたプログラムを中央処理装置が解釈・実行することで実現される。ユーザ装置100、認証装置300についても同様である。
【0058】
ユーザ装置100は、サーバ装置200,400により提供されるソフトウェアリソース(アプリケーションサービス、データ、その他種々のリソースを含む。)を指示する情報であるリソース指示情報を、サーバ装置200あるいはサーバ装置400に対して送信する送信部101と、認証装置300との間で認証を行う認証処理部102とを備えている(図5参照)。
【0059】
サーバ装置200は、ユーザ装置100からリソース指示情報を受信する受信部201と、リソース指示情報に基づき、認証装置300がユーザ装置100に対して実施する認証を特定するために認証装置300が用いる情報である認証指示情報を生成する認証指示情報生成部202と、認証指示情報を認証装置300に送信する送信部204を備える(図5参照)。
【0060】
認証指示情報には、少なくともサーバIDが含まれ、さらにリソース指示情報に応じてリソースID情報も含まれる。サーバIDは、個々のサーバ装置に割り当てられた固有ID(つまり、サーバ装置を識別するための情報)であり、認証指示情報には当該認証指示情報を生成したサーバ装置のサーバIDが含まれる。リソースIDは、個々のソフトウェアリソースに割り当てられた固有ID(つまり、ソフトウェアリソースを識別するための情報)である。リソースID情報は、リソースIDを表す情報であり、認証指示情報にはリソース指示情報で指示されたソフトウェアリソースのリソースIDを表すリソースID情報が含まれる。なお、リソース指示情報にソフトウェアリソースが指定されていない場合や、リソース指示情報で指定されたソフトウェアリソースが認証システムのデフォルト設定のそれである場合、認証指示情報にリソースID情報が含まれない実施形態も許容される(この場合、認証装置300は、デフォルト設定されたソフトウェアリソースのリソースIDを認証装置300における処理に用いる。)。また、リソースID情報がリソースIDそのものであってもよい。
【0061】
認証指示情報には、サーバIDとリソースID情報以外に強制実施認証要素指示情報、オプション認証要素指示情報が含まれる場合がある。強制実施認証要素指示情報は、直前の認証結果に係らず認証装置300がユーザ装置100に対して強制実施する認証要素を指示する情報である。オプション認証要素指示情報は、サーバ装置から随意の要求があった場合に認証装置300がユーザ装置100に対して実施する認証要素を指示する情報である。
【0062】
サーバ装置200について説明したことは、サーバ装置400はもとよりその他のサーバ装置についても当てはまる。
【0063】
次に、認証装置300は、記憶部309を備えており、この記憶部309に、サーバ認証ロジックデータベース308aが記憶されている(図5参照)。
【0064】
サーバ認証ロジックデータベース308aは、サーバIDと、リソースIDと、認証ロジックとの対応関係を表すデータベースである(図6参照)。サーバIDごとの、リソースIDと認証ロジックとの対応関係は、サーバIDで特定されるサーバ装置の認証ポリシーを表している。これら認証ポリシーは事前に各サーバ装置から認証装置300に登録されている。ここで「認証ロジック」は、認証要素の組み合わせに拠る認証式、各認証要素の実施要否、各認証要素による認証の有効期間など、認証に係る設定を表す。「認証要素の組み合わせ」は当該組み合わせに複数の認証要素が含まれることに限定せず、当該組み合わせに一つの認証要素のみが含まれる場合も許容される。また、「認証式」は、各認証要素を積および/または和で連結して得られる式であるが、組み合わせに一つの認証要素のみが含まれる場合には、一つの認証要素そのものが認証式となる。各認証要素の認証結果を2ビットで表現したとき(認証成功を1、認証失敗を0とする)、この認証式は、積をAND演算、和をOR演算とする論理式と等価となる。図6に示すサーバ認証ロジックデータベース308aでは、この認証式をデータベースに登録するため、積で連結される認証要素の集合と、和で連結される集合を表現するための認証タグを利用している。リソースIDごとに、異なる認証タグが認証要素に対応付けられている。この例では認証タグは二桁の整数である。十の位が同じ認証タグに対応する認証要素の集合では各認証要素が積で連結され、十の位に対応する各集合は和で連結され、この結果、認証式が構成される。各認証要素の実施要否は、認証実施が必須であるか否かを表す。図6に示すサーバ認証ロジックデータベース308aでは、必須実施の認証要素に○が登録され、オプション認証要素指示情報により指定された場合に実施(オプション実施)する認証要素に□が登録されている。各認証要素による認証の有効期間は、認証が成功した場合のその有効期間を表している。認証要素は図6に示すサーバ認証ロジックデータベース308aでは、A,B,F,G,Hなどで表しているが、認証要素の具体例としては、回線認証、機器認証、パスワード認証、カード認証、生体認証などが挙げられる。
【0065】
図6に示すサーバ認証ロジックデータベース308aを参照して、サーバ認証ロジックデータベース308aを具体的に説明する。サーバ装置200のサーバIDをSP1、サーバ装置400のそれをSP2とする。また、サーバ装置200が提供可能なソフトウェアリソースのリソースIDをSV1,SV2とし、サーバ装置400が提供可能なソフトウェアリソースのリソースIDをSV1とする。リソースIDは、サーバ装置200とサーバ装置400との間で重複してもよい。リソースIDが重複しても、それを提供する主体(つまり、ユーザ装置がアクセスしたサーバ装置)を表すサーバIDにより識別されるからである。また、サーバ装置200とサーバ装置400が同種のソフトウェアリソースを提供することも許容される。例えばサーバ装置200とサーバ装置400がWebメールを提供する場合であっても、それを提供する主体(つまり、ユーザ装置がアクセスしたサーバ装置)を表すサーバIDによりソフトウェアリソースが識別されるからである。サーバID=SP1,リソースID=SV1について、4種類の認証要素A,F,G,Hが対応し、10の認証タグが割り当てられた認証要素Aにはオプション実施(□)と1時間の有効期間が割り当てられ、11の認証タグが割り当てられた認証要素Fにはオプション実施(□)と1時間の有効期間が割り当てられ、20の認証タグが割り当てられた認証要素Gには必須実施(○)と30分の有効期間が割り当てられ、21の認証タグが割り当てられた認証要素Hにはオプション実施(□)と30分の有効期間が割り当てられている。従って、サーバID=SP1,リソースID=SV1についての認証ポリシーに拠る認証式は、10番台の認証タグに対応する認証要素の積と、20番台の認証タグに対応する認証要素の積と、それらの和で表され、具体的には式(3)で表される。なお式中、丸囲み記号は必須実施を、四角囲み記号はオプション実施を表す。同様に、サーバID=SP2,リソースID=SV1について、1種類の認証要素Bが対応し、認証要素が1種類だけなので認証タグは形式的に10が割り当てられ、さらに必須実施(○)と30分の有効期間が割り当てられている。従って、サーバID=SP2,リソースID=SV1についての認証ポリシーに拠る認証式は、認証要素Bそのものであり、具体的には式(4)で表される。なお、認証式が一つの認証要素しか含まない場合、その実施要否は必須とされることが一般的であるが、オプション実施とした場合には原則無認証でソフトウェアリソースを提供することになる。
【数3】

【0066】
サーバ認証ロジックデータベース308aから得られる認証式は、サーバ装置から登録された認証ポリシーを反映したものであり、認証装置300が実際に実施する認証式(以下、実施認証式ともいう。)は、サーバ認証ロジックデータベース308aから得られる認証式(以下、登録認証式ともいう。)と認証指示情報と直前の認証結果(図3参照)とに基づいて決定される。具体的には、認証装置300は、登録認証式を特定した後、
《1》登録認証式中の必須実施の認証要素のうち、直前の認証結果が認証成功であって、認証装置300の現在時刻管理部(図示しない。)が提供する現在時刻が直前の認証時刻からサーバ認証ロジックデータベース308aに登録された有効期間を経過していないものをオプション実施に変更し、
《2》認証指示情報にオプション認証要素指示情報が含まれる場合に、登録認証式中のオプション実施の認証要素のうち、オプション認証要素指示情報で指定される認証要素を必須実施とし、
《3》《2》の処理で必須実施に変更された認証要素のうち、直前の認証結果が認証成功であって、認証装置300の現在時刻管理部が提供する現在時刻が直前の認証時刻からサーバ認証ロジックデータベース308aに登録された有効期間を経過していないものをオプション実施に変更し、
《4》認証指示情報に強制実施認証要素指示情報が含まれる場合に、《3》の処理で得られた認証式に含まれるオプション実施の認証要素のうち、強制実施認証要素指示情報で指定される認証要素を必須実施とし、
《F》これらの処理で得られた認証式からオプション実施とされた認証要素を除いて得られる認証式を、実際に実施する認証式とする。なお、オプション認証要素指示情報で指定可能な認証要素は、サーバ認証ロジックデータベース308aでオプション実施が登録されている認証要素であり、強制実施認証要素指示情報で指定可能な認証要素は、サーバ認証ロジックデータベース308aで必須実施が登録されている認証要素およびオプション認証要素指示情報で指定された認証要素である。
【0067】
ここでは登録認証式(3)の例を用いて説明する。前回の認証時刻が午前9:00で今回の認証時刻が同日午前9:15とする。認証指示情報には、認証要素Gを指定する強制実施認証要素指示情報と、認証要素Fを指定するオプション認証要素指示情報が含まれるとする。前回の認証では、認証要素AとFとHは失敗、認証要素Gは成功であったとする。この場合、登録認証式(3)は処理《1》により認証式(3a)に変形され、処理《2》により認証式(3b)に変形され、処理《3》により認証式(3c)に変形され、処理《4》により認証式(3d)に変形され、処理《F》により認証式(3e)が得られる。結局、この例では、認証装置300が実際に実施する認証式は(3e)であり、認証要素Fによる認証に成功した場合、あるいは認証要素Gによる認証に成功した場合に認証全体が成功となる。
【数4】

【0068】
上述の例のように認証タグが整数で表される場合、認証タグの値に従って例えば昇順に認証を実施することができる。式(3e)の例では、認証要素Fの認証タグが11、認証要素Gの認証タグが20なので、F⇒Gの順番で認証を実施する。従って、認証要素Fによる認証に成功した場合、認証要素Gによる認証を行わなくても認証全体が成功であると判定してよいことに留意されたい。勿論、ユーザ装置に対するリソース提供に関してサーバ装置による判定の一助とするため、(途中で認証全体が成功であると判定できたとしても)実際に実施する認証式の個々の認証要素による認証を全て実施することは否定されない。
【0069】
サーバ認証ロジックデータベース308aは、この例に限らず、有効期間を定めなくてもよい。また、認証要素の実施要否を定めることも必須ではなく、この場合、全ての認証要素は必須実施と看做される。
【0070】
また、記憶部309には、ユーザ装置ごとに、各認証要素の前回の認証結果と認証実施時刻を記録した認証結果データベース309bが記憶されている(図3参照)。この認証結果データベース309bは第1実施形態で説明したとおりであるから、当該説明をここに援用し、重複説明を省略する。
【0071】
また、認証装置300は、サーバ装置200から認証指示情報を受信する受信部301と、認証指示情報とサーバ認証ロジックデータベース308aから得られる認証式(登録認証式)と直前の認証結果(認証結果データベース309b)とに基づいて実際に実施する認証式を特定する認証式特定部302と、認証式特定部302によって特定された認証式に従って、ユーザ装置100との間で認証を行う認証実行部303と、認証実行部303による認証結果をサーバ装置200に送信する送信部304とを備えている(図5参照)。
【0072】
次に、図7を参照して、認証システム1における処理の流れを叙述的に説明する。
まず、ユーザ装置100の送信部101は、サーバ装置200が提供可能なソフトウェアリソースを指示する情報であるリソース指示情報を、サーバ装置200に対して送信する(ステップS1s)。
【0073】
サーバ装置200の受信部201が、ユーザ装置100からリソース指示情報を受信すると(ステップS2s)、サーバ装置200の認証指示情報生成部202が、リソース指示情報に基づき、認証装置300がユーザ装置100に対して実施する認証を特定するために認証装置300が用いる情報である認証指示情報を生成する(ステップS3s)。既述のとおり、認証指示情報には少なくともサーバIDが含まれるが、強制実施認証要素指示情報、オプション認証要素指示情報を認証指示情報に含めるか否か、含める場合にはその具体的な内容(但し、グループIDとリソースID情報は除く。)を、サーバ装置200が自由に決めることができる。
【0074】
サーバ装置200の送信部204は、ステップS3sの処理で生成された認証指示情報を認証装置300に送信する(ステップS4s)。この送信処理は、例えばHTTPリダイレクトを利用して、リソース指示情報を送ったユーザ装置100を経由して行われる。あるいは、この送信処理は、SAML v2.0を利用する場合、例えば、認証指示情報とユーザ装置特定情報を記述したExtensionsを認証装置300に送信する処理でもよい。この送信処理により、認証装置300は、リソース指示情報を送ったユーザ装置100を知ることができ、ユーザ装置100との認証処理や認証結果データベース309bの作成を行うことができる。
【0075】
認証装置300の受信部301は、サーバ装置200から認証指示情報を受信する(ステップS5s)。そして、認証装置300の認証式特定部302が、記憶部309に記憶されたサーバ認証ロジックデータベース308aを参照して登録認証式を求め、認証指示情報と直前の認証結果(認証結果データベース309b)とに基づいて実際に実施する認証式を特定する(ステップS6s)。この特定処理の具体例は既述のとおりである。
【0076】
続いて、認証装置300の認証実行部303は、ステップS6sの処理において特定された認証式に従って、ユーザ装置100の認証処理部102との間で認証を行う(ステップS7s)。各認証要素の認証結果は、認証装置の制御部(図示しない。)によって、認証結果データベース309bに書き込まれる。
【0077】
上記の認証が完了すると、認証装置300の送信部304が、ステップS7sの処理での認証結果をサーバ装置200に送信する(ステップS8s)。送信される認証結果には、実際に実施する認証式による認証結果が含まれる。また、送信される認証結果は、実際に実施する認証式による認証結果に替えて、あるいは、実際に実施する認証式による認証結果とともに、各認証要素の認証結果(成功/失敗/未実施/エラー)を含むとしてもよい。個々の認証要素の認証結果を送信することで、既述のとおり、サーバ装置200側での、各認証要素の認証結果に応じたソフトウェアリソースのフレキシブルな提供を可能ならしめる。この処理は、SAML v2.0を利用する場合、例えば、アサーション(Assertion)に実際に実施する認証式による認証結果を記述し、アサーションの属性情報として各認証要素の認証結果(成功/失敗/未実施/エラー)を記述して、これをサーバ装置200に送信する処理となる。
【0078】
サーバ装置200の受信部203が、認証装置300から上記認証結果を受信する(ステップS9s)。受信した認証結果が例えば実際に実施する認証式による認証結果である場合には、それが成功を示す場合には、サーバ装置200の制御部(図示しない。)は、リソース指示情報で指示されたソフトウェアリソースをユーザ装置100に提供するように制御を行い、それが失敗の場合には、リソース指示情報で指示されたソフトウェアリソースの提供を行わない制御を行う(ステップS10s)。また、個々の認証要素の認証結果を受信した場合には、サーバ装置200の制御部(図示しない。)は、その全ての認証が成功の場合には、リソース指示情報で指示されたソフトウェアリソースをユーザ装置100に提供するように制御を行い、その全ての認証が成功でない場合でも、認証成功した認証要素の組合せに応じた制限を伴うソフトウェアリソースの提供を行うようにすることができる。
【0079】
このように第2実施形態によれば、各サーバ装置が決定した認証ポリシーを登録したサーバ認証ロジックデータベース308aが認証装置300の記憶部に記憶されているので、ユーザ装置からのリソースリクエストについて、各サーバ装置の認証ポリシーに則って認証を行うことができる。また、認証式が認証要素(あるいは積で連結された認証要素)の和の連結で表されることで認証ロジックが認証強度の代替性を有する。また、認証要素の実施要否について必須実施とオプション実施が定められている場合には、オプション実施が定められた認証要素についてサーバ装置の随意の要求に応じた認証が可能である。また、認証指示情報が強制実施認証要素指示情報を含みうる情報であるから、前回の認証成功から有効期間内であっても、サーバ装置の随意の要求に応じた認証が可能である。
【0080】
[第3実施形態]
第3実施形態は、第1実施形態のグループオーソリティ型認証と第2実施形態のサーバオーソリティ型認証との併用形態である。
【0081】
第3実施形態は、第1実施形態と第2実施形態の併用形態であるが、認証式の合成など第3実施形態に固有の技術事項が存在するので、特に断りの無い限り重複事項も含めて第3実施形態を説明する。
【0082】
本発明の第3実施形態である認証システム3は、相互に通信可能とされた、サーバ装置200、認証装置300を含む(図8参照)。一つの認証装置300に対して複数のサーバ装置200が存在する実施形態が通例であり、この発明の理解を容易にする観点から、一つの認証装置300に対して二つのサーバ装置200,400が存在する実施形態として説明する。認証ポリシーは、サーバ装置ごとに定められている。
【0083】
また、この第3実施形態では、認証システム3に一つまたは複数のユーザ装置100−1,100−2,・・・が含まれる。これらユーザ装置100−1,100−2,・・・は一つのグループユーザを形成している。なお、概念的には、人間であるユーザの集団がグループユーザを形成していると考えられるが、個々のユーザがユーザ装置を使用する時点で、ユーザとユーザ装置とが1対1の関係に等価的に評価されるから、複数のユーザ装置が一つのグループユーザを形成していると考えて差し支えない。勿論、例えば物理アドレスで特定される複数のユーザ装置の集団がグループユーザを形成してもよい。認証システム3には、複数のグループユーザが存在してもよい。個々のユーザ装置は、サーバ装置によるリソース提供の対象であってかつ認証装置300が行う認証の対象である。認証ポリシーは、グループユーザごとに定められている。なお、本発明においては、決定主体により定められた認証ポリシーに応じて柔軟な認証を行うことを特徴の一つとするから、ユーザ装置やグループユーザそのものが発明の必須構成要素であるわけではない。また、認証システム3には、グループユーザに所属しない一つ以上のユーザ装置(無所属ユーザ装置)100Pも含まれる。
【0084】
各サーバ装置200,400は中央処理装置、記憶装置、送受信装置などのハードウェアを備えたコンピュータで実現され、各サーバ装置200,400が発揮する機能は後述の機能を発現するように記述されたプログラムを中央処理装置が解釈・実行することで実現される。ユーザ装置100−1,100−2,・・・、無所属ユーザ装置100P、認証装置300についても同様である。
【0085】
ユーザグループに含まれる各ユーザ装置100−1,100−2,・・・や無所属ユーザ装置100Pは、サーバ装置200,400により提供されるソフトウェアリソース(アプリケーションサービス、データ、その他種々のリソースを含む。)を指示する情報であるリソース指示情報を、サーバ装置200あるいはサーバ装置400に対して送信する送信部101と、認証装置300との間で認証を行う認証処理部102とを備えている(図8参照)。以下、いずれかのユーザ装置をユーザ装置100と呼称して、これをユーザ装置の代表として説明する。
【0086】
サーバ装置200は、ユーザ装置100からリソース指示情報を受信する受信部201と、リソース指示情報に基づき、認証装置300がユーザ装置100に対して実施する認証を特定するために認証装置300が用いる情報である認証指示情報を生成する認証指示情報生成部202と、認証指示情報を認証装置300に送信する送信部204を備える(図8参照)。
【0087】
認証指示情報には、少なくともサーバIDと認証種別情報が含まれ、さらにリソース指示情報に応じてリソースID情報も含まれる。サーバIDは、個々のサーバ装置に割り当てられた固有ID(つまり、サーバ装置を識別するための情報)であり、認証指示情報には当該認証指示情報を生成したサーバ装置のサーバIDが含まれる。リソースIDは、個々のソフトウェアリソースに割り当てられた固有ID(つまり、ソフトウェアリソースを識別するための情報)である。リソースID情報は、リソースIDを表す情報であり、認証指示情報にはリソース指示情報で指示されたソフトウェアリソースのリソースIDを表すリソースID情報が含まれる。なお、リソース指示情報にソフトウェアリソースが指定されていない場合や、リソース指示情報で指定されたソフトウェアリソースが認証システムのデフォルト設定のそれである場合、認証指示情報にリソースID情報が含まれない実施形態も許容される(この場合、認証装置300は、デフォルト設定されたソフトウェアリソースのリソースIDを認証装置300における処理に用いる。)。また、リソースID情報がリソースIDそのものであってもよい。認証種別情報は、第1の認証タイプ「グループオーソリティ型認証」と第2の認証タイプ「サーバオーソリティ型認証」とその組み合わせの第3の認証タイプ「グループオーソリティ型認証かつサーバオーソリティ型認証」の3タイプのうちいずれであるかを示す情報である。
【0088】
認証指示情報には、サーバIDとリソースID情報以外に強制実施認証要素指示情報、オプション認証要素指示情報、グループIDが含まれる場合がある。強制実施認証要素指示情報は、直前の認証結果に係らず認証装置300がユーザ装置100に対して強制実施する認証要素を指示する情報である。オプション認証要素指示情報は、サーバ装置から随意の要求があった場合に認証装置300がユーザ装置100に対して実施する認証要素を指示する情報である。グループIDは、個々のグループユーザに割り当てられた固有ID(つまり、グループユーザを識別するための情報)であり、認証指示情報にはリソース指示情報を送信したユーザ装置の所属するグループユーザのグループIDが含まれる。
【0089】
サーバ装置200について説明したことは、サーバ装置400はもとよりその他のサーバ装置についても当てはまる。
【0090】
次に、認証装置300は、記憶部309を備えており、この記憶部309に、グループ認証ロジックデータベース309aとサーバ認証ロジックデータベース308aが記憶されている(図8参照)。グループ認証ロジックデータベース309a(図2参照)とサーバ認証ロジックデータベース308a(図6参照)については、第1実施形態と第2実施形態で詳しく説明したので、それらの説明をここに援用し、重複説明を省略する。
【0091】
認証指示情報に含まれる認証種別情報が認証タイプ「グループオーソリティ型認証」を示す場合にはグループ認証ロジックデータベース309aを用いて第1実施形態と同じ処理が行われ、認証種別情報が認証タイプ「サーバオーソリティ型認証」を示す場合にはサーバ認証ロジックデータベース308aを用いて第2実施形態と同じ処理が行われる。認証指示情報に含まれる認証種別情報が認証タイプ「グループオーソリティ型認証かつサーバオーソリティ型認証(併用形態)」を示す場合について説明を加える。
【0092】
認証指示情報に含まれる認証種別情報が「グループオーソリティ型認証かつサーバオーソリティ型認証」である場合、認証装置300は、グループ認証ロジックデータベース309aから得られる、グループIDと指定されたリソースIDとの組み合わせに対応する登録認証式R1と、サーバ認証ロジックデータベース308aから得られる、サーバIDと指定されたリソースIDとの組み合わせに対応する登録認証式R2とを積で連結することによって、併用形態における登録認証式R3を決定する。登録認証式R1と登録認証式R2との積による連結は通常の分配則により展開可能である。展開後の登録認証式R3では、積のみで連結された認証要素のグループの中に同じ認証要素(重複認証要素)が現れる場合がある。この場合、重複認証要素に付帯する登録情報、つまり実施要否と有効期間は、認証強度を強める方向で取捨選択される。
【0093】
図2に示すグループ認証ロジックデータベース309aと図6に示すサーバ認証ロジックデータベース308aを参照して、併用形態における認証式決定プロセスを具体的に説明する。ここでは、サーバID=SP1、グループID=GR1、リソースID=SV1とする。登録認証式R1は第1実施形態の説明を参照して明らかなように式(1)で表され、登録認証式R2は第2実施形態の説明を参照して明らかなように式(3)で表される。よって、登録認証式R1と登録認証式R2との積による連結で得られる登録認証式R3は式(5)で表される。この登録認証式R3は、グループ認証ロジックデータベース309aやサーバ認証ロジックデータベース308aと同様に、図9に示すようにデータベースとして表現される。
【数5】

【0094】
ここで、展開後の登録認証式R3の第1項と第3項には、認証要素Aが重複して現れる。第1項について、重複認証要素Aの一方は必須実施であり他方はオプション実施であるから、認証強度を強める方向つまり必須実施に集約される。上述の例のように認証タグが整数で表される場合、認証タグの値に従って例えば昇順に認証を実施することができ、この場合、第1項について、最初に実施予定の重複認証要素Aが必須実施であるから、後に実施される予定の重複認証要素Aを実施しないようにすればよい。例えば、最初に実施予定の重複認証要素Aがオプション実施で後に実施される予定の重複認証要素Aが必須実施である場合、オプション実施要素指示情報が存在して当該オプション実施要素指示情報で指定される認証要素が認証要素Aであるなら、最初に実施予定の重複認証要素Aを必須実施とし、後に実施される予定の重複認証要素Aを実施しないようにすればよい。つまり、認証タグの値に従って昇順に認証を実施する場合、オプション実施要素指示情報で指定される認証要素を考慮して、重複認証要素のうち最初に行うべき必須実施の重複認証要素に集約すればよい。
【0095】
第3項について、重複認証要素Aの一方の有効期間は1時間であり他方のそれは30分であるから、認証強度を強める方向つまり有効期間30分に集約される。つまり、積のみで連結された認証要素のグループの中に同じ認証要素(重複認証要素)が現れる場合、各重複認証要素の有効期間を最も短い有効期間に揃えればよい。
【0096】
式(5)の例では、第1項では重複認証要素は互いに実施要否が異なるが有効期間が同じで、第3項では重複認証要素は互いに実施要否が同じだが有効期間が異なるものであった。これに対して、積のみで連結された認証要素のグループの中の同じ認証要素(重複認証要素)が互いに実施要否および有効期間が異なる場合には、まず、各重複認証要素の有効期間を最も短い有効期間に揃えた上で、必須実施に集約すればよい(認証タグの値に従って昇順に認証を実施するならば、オプション実施要素指示情報で指定される認証要素を考慮して、重複認証要素のうち最初に行うべき必須実施の重複認証要素に集約すればよい)。
【0097】
この結果、登録認証式R3は式(5)に現れる重複認証要素を集約した式(6)で与えられ、この式(6)の登録認証式R3は図10に示すようにデータベースDBR3として表現される。
【数6】

【0098】
このように登録認証式R1と登録認証式R2から合成された登録認証式R3は、グループユーザから登録された認証ポリシーとサーバ装置から登録された認証ポリシーを反映したものであり、認証装置300が実際に実施する認証式は、登録認証式R3と認証指示情報と直前の認証結果(図3参照)とに基づいて決定される。具体的には、認証装置300は、登録認証式R3を特定した後、
《1》登録認証式R3中の必須実施の認証要素のうち、直前の認証結果が認証成功であって、認証装置300の現在時刻管理部(図示しない。)が提供する現在時刻が直前の認証時刻からデータベースDBR3に登録された有効期間を経過していないものをオプション実施に変更し、
《2》認証指示情報にオプション認証要素指示情報が含まれる場合に、登録認証式R3中のオプション実施の認証要素のうち、オプション認証要素指示情報で指定される認証要素を必須実施とし、
《3》《2》の処理で必須実施に変更された認証要素のうち、直前の認証結果が認証成功であって、認証装置300の現在時刻管理部が提供する現在時刻が直前の認証時刻からデータベースDBR3に登録された有効期間を経過していないものをオプション実施に変更し、
《4》認証指示情報に強制実施認証要素指示情報が含まれる場合に、《3》の処理で得られた認証式に含まれるオプション実施の認証要素のうち、強制実施認証要素指示情報で指定される認証要素を必須実施とし、
《F》これらの処理で得られた認証式からオプション実施とされた認証要素を除いて得られる認証式を、実際に実施する認証式とする。なお、オプション認証要素指示情報で指定可能な認証要素は、グループ認証ロジックデータベース309aとサーバ認証ロジックデータベース308aでオプション実施が登録されている認証要素であり、強制実施認証要素指示情報で指定可能な認証要素は、グループ認証ロジックデータベース309aとサーバ認証ロジックデータベース308aで必須実施が登録されている認証要素およびオプション認証要素指示情報で指定された認証要素である。
【0099】
ここでは式(6)の例を用いて説明する。前回の認証時刻が午前9:00で今回の認証時刻が同日午前9:45とする。認証指示情報には、認証要素Dを指定する強制実施認証要素指示情報と、認証要素Bを指定するオプション認証要素指示情報が含まれるとする。前回の認証では、全ての認証要素は成功であったとする。この場合、登録認証式(6)は処理《1》により認証式(6a)に変形され、処理《1》により認証式(6b)に変形され、処理《3》により認証式(6c)に変形され、処理《4》により認証式(6d)に変形され、処理《F》により認証式(6e)が得られる。結局、この例では、認証装置300が実際に実施する認証式は(6e)であり、認証要素Gによる認証に成功した場合、あるいは認証要素Dによる認証に成功した場合に認証全体が成功となる。
【数7】

【0100】
上述の例のように認証タグが整数で表される場合、認証タグの値に従って例えば昇順に認証を実施することができる。式(6e)の例では、第2項の認証要素Gの認証タグが22、第3項の認証要素Dの認証タグが31、第4項の認証要素Dの認証タグが41、第4項の認証要素Gの認証タグが42なので、G⇒D⇒D⇒Gの順番で認証を実施する。従って、認証要素Gによる認証に成功した場合、認証要素Dによる認証を行わなくても認証全体が成功であると判定してよく、認証要素Gによる認証に失敗しても、認証要素Dによる認証に成功した場合、残りの認証要素DとGによる認証を行わなくても認証全体が成功であると判定してよいことに留意されたい。勿論、ユーザ装置に対するリソース提供に関してサーバ装置による判定の一助とするため、(途中で認証全体が成功であると判定できたとしても)実際に実施する認証式の個々の認証要素による認証を全て実施することは否定されない。但し、この式(6e)の例では、第3項が第1項と第2項の積で与えられるから、第1項と第2項の各認証を実施するだけで第3項の認証結果も得られることに留意されたい。
【0101】
グループ認証ロジックデータベース309aとサーバ認証ロジックデータベース308aでは、この例に限らず、有効期間を定めなくてもよい。また、認証要素の実施要否を定めることも必須ではなく、この場合、全ての認証要素は必須実施と看做される。
【0102】
また、記憶部309には、ユーザ装置ごとに、各認証要素の前回の認証結果と認証実施時刻を記録した認証結果データベース309bが記憶されている(図3参照)。この認証結果データベース309bは第1実施形態で説明したとおりであるから、当該説明をここに援用し、重複説明を省略する。
【0103】
また、認証装置300は、サーバ装置200から認証指示情報を受信する受信部301と、認証指示情報に含まれる認証種別情報に応じて、グループ認証ロジックデータベース309aから得られる認証式(登録認証式R1)またはサーバ認証ロジックデータベース308aから得られる認証式(登録認証式R2)または登録認証式R1と登録認証式R2との積による連結で得られる登録認証式R3を得て、認証指示情報と直前の認証結果(認証結果データベース309b)とに基づいて実際に実施する認証式を特定する認証式特定部302と、認証式特定部302によって特定された認証式に従って、ユーザ装置100との間で認証を行う認証実行部303と、認証実行部303による認証結果をサーバ装置200に送信する送信部304とを備えている(図8参照)。
【0104】
次に、図11を参照して、認証システム3における処理の流れを叙述的に説明する。
まず、ユーザ装置100の送信部101は、サーバ装置200が提供可能なソフトウェアリソースを指示する情報であるリソース指示情報を、サーバ装置200に対して送信する(ステップS1p)。
【0105】
サーバ装置200の受信部201が、ユーザ装置100からリソース指示情報を受信すると(ステップS2p)、サーバ装置200の認証指示情報生成部202が、リソース指示情報に基づき、認証装置300がユーザ装置100に対して実施する認証を特定するために認証装置300が用いる情報である認証指示情報を生成する(ステップS3p)。既述のとおり、認証指示情報には少なくともサーバIDと認証種別情報が含まれるが、サーバ装置200は認証種別情報の具体的な内容を自由に決めることができる。ただし、一般的には、リソース指示情報を送ったユーザ装置から取得した当該ユーザ情報の所属形態に関する情報(グループユーザに所属するか否かを表す情報)に拘束される。また、認証指示情報に強制実施認証要素指示情報、オプション認証要素指示情報、グループIDを認証指示情報に含めるか否か、含める場合にはその具体的な内容(但し、グループIDとリソースID情報は除く。)を、サーバ装置200が自由に決めることができる。
【0106】
サーバ装置200の送信部204は、ステップS3pの処理で生成された認証指示情報を認証装置300に送信する(ステップS4p)。この送信処理は、例えばHTTPリダイレクトを利用して、リソース指示情報を送ったユーザ装置100を経由して行われる。あるいは、この送信処理は、SAML v2.0を利用する場合、例えば、認証指示情報とユーザ装置特定情報を記述したExtensionsを認証装置300に送信する処理でもよい。この送信処理により、認証装置300は、リソース指示情報を送ったユーザ装置100を知ることができ、ユーザ装置100との認証処理や認証結果データベース309bの作成を行うことができる。
【0107】
認証装置300の受信部301は、サーバ装置200から認証指示情報を受信する(ステップS5p)。受信した認証指示情報に含まれる認証種別情報が認証タイプ「グループオーソリティ型認証」または認証タイプ「グループオーソリティ型認証かつサーバオーソリティ型認証(併用形態)」を示す場合において、当該認証指示情報にグループIDが含まれていない場合には、認証装置300のID取得部(図示しない。)が、リソース指示情報を送信したユーザ装置にグループIDを問い合わせてそれを取得する(ステップS5ap)。そして、認証装置300の認証式特定部302が、記憶部309に記憶されたグループ認証ロジックデータベース309aおよび/またはサーバ認証ロジックデータベース308aを参照して登録認証式を求め、認証指示情報と直前の認証結果(認証結果データベース309b)とに基づいて実際に実施する認証式を特定する(ステップS6p)。この特定処理の具体例は既述のとおりである。
【0108】
続いて、認証装置300の認証実行部303は、ステップS6pの処理において特定された認証式に従って、ユーザ装置100の認証処理部102との間で認証を行う(ステップS7p)。各認証要素の認証結果は、認証装置の制御部(図示しない。)によって、認証結果データベース309bに書き込まれる。
【0109】
上記の認証が完了すると、認証装置300の送信部304が、ステップS7pの処理での認証結果をサーバ装置200に送信する(ステップS8p)。送信される認証結果には、実際に実施する認証式による認証結果が含まれる。また、送信される認証結果は、実際に実施する認証式による認証結果に替えて、あるいは、実際に実施する認証式による認証結果とともに、各認証要素の認証結果(成功/失敗/未実施/エラー)を含むとしてもよい。個々の認証要素の認証結果を送信することで、既述のとおり、サーバ装置200側での、各認証要素の認証結果に応じたソフトウェアリソースのフレキシブルな提供を可能ならしめる。この処理は、SAML v2.0を利用する場合、例えば、アサーション(Assertion)に実際に実施する認証式による認証結果を記述し、アサーションの属性情報として各認証要素の認証結果(成功/失敗/未実施/エラー)を記述して、これをサーバ装置200に送信する処理となる。
【0110】
サーバ装置200の受信部203が、認証装置300から上記認証結果を受信する(ステップS9p)。受信した認証結果が例えば実際に実施する認証式による認証結果である場合には、それが成功を示す場合には、サーバ装置200の制御部(図示しない。)は、リソース指示情報で指示されたソフトウェアリソースをユーザ装置100に提供するように制御を行い、それが失敗の場合には、リソース指示情報で指示されたソフトウェアリソースの提供を行わない制御を行う(ステップS10p)。また、個々の認証要素の認証結果を受信した場合には、サーバ装置200の制御部(図示しない。)は、その全ての認証が成功の場合には、リソース指示情報で指示されたソフトウェアリソースをユーザ装置100に提供するように制御を行い、その全ての認証が成功でない場合でも、認証成功した認証要素の組合せに応じた制限を伴うソフトウェアリソースの提供を行うようにすることができる。
【0111】
このように第3実施形態によれば、各グループユーザが決定した認証ポリシーを登録したグループ認証ロジックデータベース309aと各サーバ装置が決定した認証ポリシーを登録したサーバ認証ロジックデータベース308aが認証装置300の記憶部に記憶されているので、グループユーザに属するユーザ装置あるいはグループユーザに属しないユーザ装置からのリソースリクエストについて、認証種別情報による当該ユーザ装置の所属形態に応じた認証ポリシーに則って認証を行うことができる。また、認証式が認証要素(あるいは積で連結された認証要素)の和の連結で表されることで認証ロジックが認証強度の代替性を有する。また、認証要素の実施要否について必須実施とオプション実施が定められている場合には、オプション実施が定められた認証要素についてサーバ装置の随意の要求に応じた認証が可能である。また、認証指示情報が強制実施認証要素指示情報を含みうる情報であるから、前回の認証成功から有効期間内であっても、サーバ装置の随意の要求に応じた認証が可能である。
【0112】
[第1変形実施形態]
本発明の第1変形実施形態を説明する。第1変形実施形態では、登録認証式の特定から実際に実施する認証式の導出過程において、ユーザ装置の端末種別に基づき、ユーザ装置が実行できない認証要素を排除する処理を行う。この第1変形実施形態は、第1、第2、第3の各実施形態に適用可能である。
【0113】
第1、第2、第3の各実施形態において、登録認証式の特定から実際に実施する認証式の導出過程(例えば、最終プロセス《F》の後)で、ユーザ装置の端末種別に基づき、ユーザ装置が実行できない認証要素を排除する処理を行う。この排除処理は、例えばHTTPリクエストのUserAgentヘッダに対して正規表現でパターンマッチングにより行う。図12に示すように、認証要素ごとに排除されるUserAgentが対応付けられたデータベースBLが認証装置300の記憶部309に記憶されている。認証式特定部302が、データベースBLを参照して、最終プロセス《F》で得られた認証式の中の認証要素のうちUserAgentに対応する認証要素を除外することで、実際に実施する認証式を特定する。なお、UserAgentの正規表現は一例に過ぎず、下記の公開情報を参考にした。
[平成21年9月8日検索], インターネット<URL : http://www.nttdocomo.co.jp/service/imode/make/content/spec/useragent/>;
[平成21年9月8日検索], インターネット<URL : http://www.au.kddi.com/ezfactory/tec/spec/4_4.html>;
[平成21年9月8日検索], インターネット<URL : http://creation.mb.softbank.jp/terminal/index.html>;
[平成21年9月8日検索], インターネット<URL : http://developer.emnet.ne.jp/useragent.html>
【0114】
[第2変形実施形態]
本発明の第2変形実施形態を説明する。この第2変形実施形態は第3実施形態とその第1変形実施形態に適用可能である。グループユーザには例外無くグループオーソリティ型認証が適用されるのではなく、サーバオーソリティ型認証が適用されるグループユーザが存在する場合がある。そこで、認証装置300は、一旦は認証種別情報に従った認証を行うものの、ユーザ装置の所属先グループユーザを確認して、その所属先グループユーザの認証タイプが認証種別情報で指定された認証タイプと異なる場合に、ユーザ装置の所属先グループユーザの認証タイプで再度認証を実施する実施形態が第2変形実施形態である。
【0115】
認証装置300は、その記憶部309にユーザ管理データベースUDBを記憶している(図13参照)。このユーザ管理データベースUDBは、ユーザ装置の識別情報であるユーザIDとその所属先グループユーザの認証タイプ(サーバオーソリティ型認証またはグループオーソリティ型認証)が対応付けられている(図14参照)。認証式特定部302は、まず、認証指示情報に含まれる認証種別情報に従って実際に実施する認証式を特定し、この認証式に従い認証実行部303がユーザ装置との間で認証を実施する(ステップS6p)。そして、図示しない制御部が、ユーザ管理データベースUDBを参照して、認証を実施したユーザ装置のユーザIDに対応する所属先グループユーザの認証タイプが認証種別情報で指定される認証タイプと一致するか否かを判定し(ステップS6pa)、一致しない場合、認証式特定部302は、ユーザ管理データベースUDBを参照して得られる認証タイプに従って実際に実施する認証式を特定し(ステップS6pb)、この認証式に従い認証実行部303がユーザ装置との間で認証を実施する(ステップS6pc)。サーバ装置に送信する認証結果は、ユーザ管理データベースUDBを参照して得られる認証タイプに従った場合の認証結果のみ、または、当該認証結果と認証指示情報に含まれる認証種別情報に従った場合の認証結果の両方である。なお、この認証結果と共に、実際に実施する認証式を特定するために使用した認証タイプもサーバ装置に送信される。
【0116】
以上の実施形態の他、本発明は上述の実施形態に限定されるものではなく、本発明の趣旨を逸脱しない範囲で適宜変更が可能である。

【特許請求の範囲】
【請求項1】
サーバ装置と認証装置とを含み、サーバ装置による認証を認証装置による認証で代行実施する認証システムであって、
上記サーバ装置は、
一つまたは複数のユーザ装置をメンバーとするグループユーザに含まれるユーザ装置(以下、送信元装置という。)から送られた、ソフトウェアリソースを指示する情報であるリソース指示情報に基づき、当該リソース指示情報で指示されたソフトウェアリソースを表す情報を少なくとも含む認証指示情報を生成する認証指示情報生成部と、
上記認証指示情報を上記認証装置に送信する送信部とを備え、
上記認証装置は、
グループユーザを識別するための情報と、ソフトウェアリソースを識別するための情報と、グループユーザによって決定された認証要素の組み合わせである認証式(以下、登録認証式という。)との対応関係を表すデータベースであるグループ認証ロジックデータベースを記憶した記憶部と、
上記サーバ装置から上記認証指示情報を受信する受信部と、
上記グループ認証ロジックデータベースを参照して、上記発信元装置が所属するグループユーザと上記認証指示情報とに対応する登録認証式を得て、当該登録認証式から上記発信元装置に対して実施する認証式(以下、実施認証式という。)を特定する認証式特定部と、
上記発信元装置に対して、上記実施認証式に従って認証を行う認証実行部と、
上記認証実行部による認証結果を、認証指示情報を送信した上記サーバ装置に送信する送信部と
を備えた認証システム。
【請求項2】
サーバ装置と認証装置とを含み、サーバ装置による認証を認証装置による認証で代行実施する認証システムであって、
上記サーバ装置は、
ユーザ装置(以下、送信元装置という。)から送られた、ソフトウェアリソースを指示する情報であるリソース指示情報に基づき、当該リソース指示情報で指示されたソフトウェアリソースを表す情報を少なくとも含む認証指示情報を生成する認証指示情報生成部と、
上記認証指示情報を上記認証装置に送信する送信部とを備え、
上記認証装置は、
サーバ装置を識別するための情報と、ソフトウェアリソースを識別するための情報と、サーバ装置によって決定された認証要素の組み合わせである認証式(以下、登録認証式という。)との対応関係を表すデータベースであるサーバ認証ロジックデータベースを記憶した記憶部と、
上記サーバ装置から上記認証指示情報を受信する受信部と、
上記サーバ認証ロジックデータベースを参照して、認証指示情報を送信した上記サーバ装置と上記認証指示情報とに対応する登録認証式を得て、当該登録認証式から上記発信元装置に対して実施する認証式(以下、実施認証式という。)を特定する認証式特定部と、
上記発信元装置に対して、上記実施認証式に従って認証を行う認証実行部と、
上記認証実行部による認証結果を、認証指示情報を送信した上記サーバ装置に送信する送信部と
を備えた認証システム。
【請求項3】
サーバ装置と認証装置とを含み、サーバ装置による認証を認証装置による認証で代行実施する認証システムであって、
上記サーバ装置は、
一つまたは複数のユーザ装置をメンバーとするグループユーザに含まれるユーザ装置またはグループユーザに含まれないユーザ装置(以下、送信元装置という。)から送られた、ソフトウェアリソースを指示する情報であるリソース指示情報に基づき、当該リソース指示情報で指示されたソフトウェアリソースを表す情報と、異なる二つの認証タイプX,Yとその組み合わせのいずれかを表す情報である認証種別情報を少なくとも含む認証指示情報を生成する認証指示情報生成部と、
上記認証指示情報を上記認証装置に送信する送信部とを備え、
上記認証装置は、
グループユーザを識別するための情報と、ソフトウェアリソースを識別するための情報と、グループユーザによって決定された認証要素の組み合わせである認証式(以下、登録認証式という。)との対応関係を表すデータベースであるグループ認証ロジックデータベースと、サーバ装置を識別するための情報と、ソフトウェアリソースを識別するための情報と、サーバ装置によって決定された認証要素の組み合わせである認証式(以下、登録認証式という。)との対応関係を表すデータベースであるサーバ認証ロジックデータベースとを記憶した記憶部と、
上記サーバ装置から上記認証指示情報を受信する受信部と、
[1]上記認証指示情報に含まれる上記認証種別情報がXの場合に、上記グループ認証ロジックデータベースを参照して、上記発信元装置が所属するグループユーザと上記認証指示情報とに対応する登録認証式を得て、当該登録認証式から上記発信元装置に対して実施する認証式(以下、実施認証式という。)を特定し、[2]上記認証指示情報に含まれる上記認証種別情報がYの場合に、上記サーバ認証ロジックデータベースを参照して、認証指示情報を送信した上記サーバ装置と上記認証指示情報とに対応する登録認証式を得て、当該登録認証式から上記発信元装置に対して実施する認証式(以下、実施認証式という。)を特定し、[3]上記認証指示情報に含まれる上記認証種別情報がXとYの組み合わせである場合に、上記グループ認証ロジックデータベースを参照して得られる、上記発信元装置が所属するグループユーザと上記認証指示情報とに対応する登録認証式と、上記サーバ認証ロジックデータベースを参照して得られる、認証指示情報を送信した上記サーバ装置と上記認証指示情報とに対応する登録認証式との組み合わせを得て、当該組み合わせから上記発信元装置に対して実施する認証式(以下、実施認証式という。)を特定する認証式特定部と、
上記発信元装置に対して、上記実施認証式に従って認証を行う認証実行部と、
上記認証実行部による認証結果を、認証指示情報を送信した上記サーバ装置に送信する送信部と
を備えた認証システム。
【請求項4】
請求項1から請求項3のいずれかに記載の認証システムにおいて、
上記登録認証式は、複数の認証要素を積および/または和で連結して得られる式である
ことを特徴とする認証システム。
【請求項5】
請求項1から請求項4のいずれかに記載の認証システムにおいて、
上記グループ認証ロジックデータベースと上記サーバ認証ロジックデータベースの少なくともいずれかにおいて、上記登録認証式に含まれる各認証要素に、認証実施が必須であるかオプションであるかを表す要否情報が対応付けられており、
上記認証指示情報は、オプションを表す要否情報が対応付けられた認証要素を実施することを指定するオプション認証要素指示情報を含みえて、
上記実施認証式は、上記登録認証式に含まれる認証要素のうち、上記認証指示情報に含まれた上記オプション認証要素指示情報で指定される認証要素を除き、オプションを表す要否情報が対応付けられた認証要素を除外して得られる認証式である
ことを特徴とする認証システム。
【請求項6】
請求項3に記載の認証システムにおいて、
上記登録認証式は、複数の認証要素を積および/または和で連結して得られる式であり、
上記[3]の場合において、上記グループ認証ロジックデータベースを参照して得られる登録認証式と上記サーバ認証ロジックデータベースを参照して得られる登録認証式との上記組み合わせは、当該両登録認証式の積で得られる認証式である
ことを特徴とする認証システム。
【請求項7】
請求項6に記載の認証システムにおいて、
上記グループ認証ロジックデータベースと上記サーバ認証ロジックデータベースの少なくともいずれかにおいて、上記登録認証式に含まれる各認証要素に、認証実施が必須であるかオプションであるかを表す要否情報が対応付けられており、
上記認証指示情報は、オプションを表す要否情報が対応付けられた認証要素を実施することを指定するオプション認証要素指示情報を含みえて、
上記[3]の場合において、上記実施認証式は、上記グループ認証ロジックデータベースを参照して得られる登録認証式と上記サーバ認証ロジックデータベースを参照して得られる登録認証式との上記組み合わせに含まれる認証要素のうち、上記認証指示情報に含まれた上記オプション認証要素指示情報で指定される認証要素を除き、オプションを表す要否情報が対応付けられた認証要素を除外して得られる認証式である
ことを特徴とする認証システム。
【請求項8】
サーバ装置と認証装置とを含み、サーバ装置による認証を認証装置による認証で代行実施する認証方法であって、
上記認証装置の記憶部には、一つまたは複数のユーザ装置をメンバーとするグループユーザを識別するための情報と、ソフトウェアリソースを識別するための情報と、グループユーザによって決定された認証要素の組み合わせである認証式(以下、登録認証式という。)との対応関係を表すデータベースであるグループ認証ロジックデータベースが記憶されており、
上記サーバ装置の認証指示情報生成部が、ユーザ装置(以下、送信元装置という。)から送られた、ソフトウェアリソースを指示する情報であるリソース指示情報に基づき、当該リソース指示情報で指示されたソフトウェアリソースを表す情報を少なくとも含む認証指示情報を生成する認証指示情報生成ステップと、
上記サーバ装置の送信部が、上記認証指示情報を上記認証装置に送信する送信ステップと、
上記認証装置の受信部が、上記サーバ装置から上記認証指示情報を受信する受信ステップと、
上記認証装置の認証式特定部が、上記グループ認証ロジックデータベースを参照して、上記発信元装置が所属するグループユーザと上記認証指示情報とに対応する登録認証式を得て、当該登録認証式から上記発信元装置に対して実施する認証式(以下、実施認証式という。)を特定する認証式特定ステップと、
上記認証装置の認証実行部が、上記発信元装置に対して、上記実施認証式に従って認証を行う認証実行ステップと、
上記認証装置の送信部が、上記認証実行ステップにおける認証結果を、認証指示情報を送信した上記サーバ装置に送信する送信ステップと
を有する認証方法。
【請求項9】
サーバ装置と認証装置とを含み、サーバ装置による認証を認証装置による認証で代行実施する認証方法であって、
上記認証装置の記憶部には、サーバ装置を識別するための情報と、ソフトウェアリソースを識別するための情報と、サーバ装置によって決定された認証要素の組み合わせである認証式(以下、登録認証式という。)との対応関係を表すデータベースであるサーバ認証ロジックデータベースが記憶されており、
上記サーバ装置の認証指示情報生成部が、ユーザ装置(以下、送信元装置という。)から送られた、ソフトウェアリソースを指示する情報であるリソース指示情報に基づき、当該リソース指示情報で指示されたソフトウェアリソースを表す情報を少なくとも含む認証指示情報を生成する認証指示情報生成ステップと、
上記サーバ装置の送信部が、上記認証指示情報を上記認証装置に送信する送信ステップと、
上記認証装置の受信部が、上記サーバ装置から上記認証指示情報を受信する受信ステップと、
上記認証装置の認証式特定部が、上記サーバ認証ロジックデータベースを参照して、認証指示情報を送信した上記サーバ装置と上記認証指示情報とに対応する登録認証式を得て、当該登録認証式から上記発信元装置に対して実施する認証式(以下、実施認証式という。)を特定する認証式特定ステップと、
上記認証装置の認証実行部が、上記発信元装置に対して、上記実施認証式に従って認証を行う認証実行ステップと、
上記認証装置の送信部が、上記認証実行ステップにおける認証結果を、認証指示情報を送信した上記サーバ装置に送信する送信ステップと
を有する認証方法。
【請求項10】
サーバ装置と認証装置とを含み、サーバ装置による認証を認証装置による認証で代行実施する認証方法であって、
上記認証装置の記憶部には、一つまたは複数のユーザ装置をメンバーとするグループユーザを識別するための情報と、ソフトウェアリソースを識別するための情報と、グループユーザによって決定された認証要素の組み合わせである認証式(以下、登録認証式という。)との対応関係を表すデータベースであるグループ認証ロジックデータベースと、サーバ装置を識別するための情報と、ソフトウェアリソースを識別するための情報と、サーバ装置によって決定された認証要素の組み合わせである認証式(以下、登録認証式という。)との対応関係を表すデータベースであるサーバ認証ロジックデータベースとが記憶されており、
上記サーバ装置の認証指示情報生成部が、グループユーザに含まれるユーザ装置またはグループユーザに含まれないユーザ装置(以下、送信元装置という。)から送られた、ソフトウェアリソースを指示する情報であるリソース指示情報に基づき、当該リソース指示情報で指示されたソフトウェアリソースを表す情報と、異なる二つの認証タイプX,Yとその組み合わせのいずれかを表す情報である認証種別情報を少なくとも含む認証指示情報を生成する認証指示情報生成ステップと、
上記サーバ装置の送信部が、上記認証指示情報を上記認証装置に送信する送信ステップと、
上記認証装置の受信部が、上記サーバ装置から上記認証指示情報を受信する受信ステップと、
上記認証装置の認証式特定部が、[1]上記認証指示情報に含まれる上記認証種別情報がXの場合に、上記グループ認証ロジックデータベースを参照して、上記発信元装置が所属するグループユーザと上記認証指示情報とに対応する登録認証式を得て、当該登録認証式から上記発信元装置に対して実施する認証式(以下、実施認証式という。)を特定し、[2]上記認証指示情報に含まれる上記認証種別情報がYの場合に、上記サーバ認証ロジックデータベースを参照して、認証指示情報を送信した上記サーバ装置と上記認証指示情報とに対応する登録認証式を得て、当該登録認証式から上記発信元装置に対して実施する認証式(以下、実施認証式という。)を特定し、[3]上記認証指示情報に含まれる上記認証種別情報がXとYの組み合わせである場合に、上記グループ認証ロジックデータベースを参照して得られる、上記発信元装置が所属するグループユーザと上記認証指示情報とに対応する登録認証式と、上記サーバ認証ロジックデータベースを参照して得られる、認証指示情報を送信した上記サーバ装置と上記認証指示情報とに対応する登録認証式との組み合わせを得て、当該組み合わせから上記発信元装置に対して実施する認証式(以下、実施認証式という。)を特定する認証式特定ステップと、
上記認証装置の認証実行部が、上記発信元装置に対して、上記実施認証式に従って認証を行う認証実行ステップと、
上記認証装置の送信部が、上記認証実行ステップにおける認証結果を、認証指示情報を送信した上記サーバ装置に送信する送信ステップと
を有する認証方法。
【請求項11】
一つまたは複数のユーザ装置をメンバーとするグループユーザを識別するための情報と、ソフトウェアリソースを識別するための情報と、グループユーザによって決定された認証要素の組み合わせである認証式(以下、登録認証式という。)との対応関係を表すデータベースであるグループ認証ロジックデータベースを記憶した記憶部と、
ユーザ装置(以下、送信元装置という。)から送られた、ソフトウェアリソースを指示する情報であるリソース指示情報に基づき、当該リソース指示情報で指示されたソフトウェアリソースを表す情報を少なくとも含む認証指示情報を外部から受信する受信部と、
上記グループ認証ロジックデータベースを参照して、上記発信元装置が所属するグループユーザと上記認証指示情報とに対応する登録認証式を得て、当該登録認証式から上記発信元装置に対して実施する認証式(以下、実施認証式という。)を特定する認証式特定部と、
上記発信元装置に対して、上記実施認証式に従って認証を行う認証実行部と
を備えた認証装置。
【請求項12】
一つまたは複数のユーザ装置をメンバーとするグループユーザを識別するための情報と、ソフトウェアリソースを識別するための情報と、グループユーザによって決定された認証要素の組み合わせである認証式(以下、登録認証式という。)との対応関係を表すデータベースであるグループ認証ロジックデータベースと、サーバ装置を識別するための情報と、ソフトウェアリソースを識別するための情報と、サーバ装置によって決定された認証要素の組み合わせである認証式(以下、登録認証式という。)との対応関係を表すデータベースであるサーバ認証ロジックデータベースとを記憶した記憶部と、
グループユーザに含まれるユーザ装置またはグループユーザに含まれないユーザ装置(以下、送信元装置という。)から送られた、ソフトウェアリソースを指示する情報であるリソース指示情報に基づき、当該リソース指示情報で指示されたソフトウェアリソースを表す情報と、異なる二つの認証タイプX,Yとその組み合わせのいずれかを表す情報である認証種別情報を少なくとも含む認証指示情報を外部から受信する受信部と、
[1]上記認証指示情報に含まれる上記認証種別情報がXの場合に、上記グループ認証ロジックデータベースを参照して、上記発信元装置が所属するグループユーザと上記認証指示情報とに対応する登録認証式を得て、当該登録認証式から上記発信元装置に対して実施する認証式(以下、実施認証式という。)を特定し、[2]上記認証指示情報に含まれる上記認証種別情報がYの場合に、上記サーバ認証ロジックデータベースを参照して、認証指示情報を送信した上記サーバ装置と上記認証指示情報とに対応する登録認証式を得て、当該登録認証式から上記発信元装置に対して実施する認証式(以下、実施認証式という。)を特定し、[3]上記認証指示情報に含まれる上記認証種別情報がXとYの組み合わせである場合に、上記グループ認証ロジックデータベースを参照して得られる、上記発信元装置が所属するグループユーザと上記認証指示情報とに対応する登録認証式と、上記サーバ認証ロジックデータベースを参照して得られる、認証指示情報を送信した上記サーバ装置と上記認証指示情報とに対応する登録認証式との組み合わせを得て、当該組み合わせから上記発信元装置に対して実施する認証式(以下、実施認証式という。)を特定する認証式特定部と、
上記発信元装置に対して、上記実施認証式に従って認証を行う認証実行部と
を備えた認証装置。
【請求項13】
コンピュータを請求項11または請求項12に記載の認証装置として機能させるためのプログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate


【公開番号】特開2011−60233(P2011−60233A)
【公開日】平成23年3月24日(2011.3.24)
【国際特許分類】
【出願番号】特願2009−212428(P2009−212428)
【出願日】平成21年9月14日(2009.9.14)
【出願人】(399035766)エヌ・ティ・ティ・コミュニケーションズ株式会社 (321)
【Fターム(参考)】