JP5383838B2 - 認証連携システム、idプロバイダ装置およびプログラム - Google Patents

認証連携システム、idプロバイダ装置およびプログラム Download PDF

Info

Publication number
JP5383838B2
JP5383838B2 JP2012033391A JP2012033391A JP5383838B2 JP 5383838 B2 JP5383838 B2 JP 5383838B2 JP 2012033391 A JP2012033391 A JP 2012033391A JP 2012033391 A JP2012033391 A JP 2012033391A JP 5383838 B2 JP5383838 B2 JP 5383838B2
Authority
JP
Japan
Prior art keywords
user
service provider
authentication
service
request
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2012033391A
Other languages
English (en)
Other versions
JP2013171349A (ja
Inventor
裕一郎 江崎
誠一郎 田中
実 西澤
正隆 山田
竜朗 池田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Toshiba Corp
Toshiba Digital Solutions Corp
Original Assignee
Toshiba Corp
Toshiba Solutions Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Toshiba Corp, Toshiba Solutions Corp filed Critical Toshiba Corp
Priority to JP2012033391A priority Critical patent/JP5383838B2/ja
Priority to PCT/JP2012/005934 priority patent/WO2013121476A1/ja
Priority to CN201280002794.4A priority patent/CN103370714B/zh
Priority to SG2013016787A priority patent/SG193224A1/en
Priority to US13/785,849 priority patent/US8955041B2/en
Publication of JP2013171349A publication Critical patent/JP2013171349A/ja
Application granted granted Critical
Publication of JP5383838B2 publication Critical patent/JP5383838B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0815Network architectures or network communication protocols for network security for authentication of entities providing single-sign-on or federations
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/31User authentication
    • G06F21/33User authentication using certificates
    • G06F21/335User authentication using certificates for accessing specific resources, e.g. using Kerberos tickets
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/31User authentication
    • G06F21/41User authentication where a single sign-on provides access to a plurality of computers

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Computing Systems (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Storage Device Security (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Description

本発明の実施形態は、認証連携システム、IDプロバイダ装置およびプログラムに関する。
社会、経済、生活のオンラインサービスへの依存度が増す情勢を背景に、近年、個人や組織に関する情報を管理するアイデンティティ管理の重要性が高まっている。アイデンティティ管理とは、様々なサービスやシステムにおいて、個人や組織に関する情報の安全性と利便性を図り、登録から変更、削除までのアイデンティティのライフサイクル全体を管理する技術である。
ここで、アイデンティティとは、ある状況で個人やグループ、組織・企業を特定する情報の総体であり、識別子やクレデンシャル、属性が含まれる。識別子とは、アイデンティティを識別するための情報であり、アカウント(ユーザID)や社員番号などに相当する。クレデンシャルとは、ある情報内容の正当性を示すための情報であり、パスワードなどがある。属性とは、アイデンティティを特徴付ける情報であり、氏名や住所、生年月日などを指す。
アイデンティティ管理技術を利用した技術の代表例として、シングルサインオン(Single Sign−On 以降SSOという)がある。SSOは、一度の認証手続きだけで、複数のアプリケーションやサービスを利用できる技術である。
一度の認証手続きで複数のアプリケーションやサービスを利用できる認証連携を行うための技術として、シングルサインオンがある。SSOは、一つの企業のイントラネットのようなシングルドメインにおいて、複数のアプリケーションが備える認証を統合させる場合が多い。
さらに、最近では、異なるドメイン間(以下、クロスドメインという)でのSSOが求められている。その理由として、企業統合や合併、海外展開などの活発化、および台頭してきたクラウドコンピューティングのSaaS(Software as a Service)等によるアウトソーシングが挙げられる。
しかしながら、クロスドメインのSSOを実現するためには、認証結果を共有するために大きな手間が発生するという問題がある。主な問題点としては以下の2点が挙げられる。
第1の問題点は、HTTP Cookieの利用がシングルドメインに限定されているため、ドメイン間でHTTP Cookieを利用して認証結果を共有できないことである。第2の問題点は、ドメインごとに採用しているアクセス管理製品のSSO方式がベンダ間で異なるため、単純に導入することはできず、別途施策を用意する必要があることである。
これらの問題点を解消するため、ベンダ間でのSSOの標準化という要望がある。この要望に応じる代表的な標準技術の一つとして、非営利団体OASIS(Organization for the Advancement of Structured Information Standards)が策定したSAML(Security Assertion Markup Language)がある。
SAMLは認証・認可・属性に関する情報の表現形式、および送受信手順が定義された仕様であり、目的に応じて様々な実装形態を可能にするように体系的に規定されている。主体の構成はアイデンティティ提供者(Identity Provider、以下、IDP、もしくはIDプロバイダという)、サービス提供者(Service Provider、以下SPもしくはサービスプロバイダという)、ユーザの三者であり、IDプロバイダが発行する認証結果をサービスプロバイダが信頼することでSSOを実現している。
SAMLに基づくSSOを開始する場合、一般的に次の2点について事前に準備する必要がある。1点目は、サービスプロバイダとIDプロバイダとの間でビジネスや技術面での情報交換や合意形成を通じて、信頼関係を構築しておくことである。2点目は、一人のユーザがサービスプロバイダごとに個別のアカウントを持ち、これらの個別のSPアカウントとIDプロバイダのアカウントを事前に連携させておくこと(以下、アカウント連携という)である。これら信頼関係の構築および事前のアカウント連携といった事前準備を終えた後にSSOを行なうことができる。
このような事前準備の後、SSOは以下のような手順(1)〜(6)に沿って実現される。ここでは、ユーザ端末を介した、サービスプロバイダ開始モデルのSSOの手順を説明する。以下の手順では、特に断りのない限り、基本的に昇順で順番に処理を行う。
(1)ユーザがサービスプロバイダに対してサービス提供を要求する。
(2)サービスプロバイダは、まだユーザの認証をしていないため、ユーザ側の端末を介して、認証リクエストをIDプロバイダに送る。
(3)IDプロバイダは何らかの手段でユーザを認証し、認証アサーションを作成する。なお、SAMLは、認証手段を規定せず、認証アサーションをサービスプロバイダに伝える仕組みを規定している。認証アサーションとは、サービスプロバイダが認証結果を信用できるかを判断するため、認証手段の種類やクレデンシャルがどのように作成されたかなどの情報が含まれる。
(4)IDプロバイダは、作成した認証アサーションを含む認証結果を、ユーザ端末を介してサービスプロバイダに返信する。
(5)サービスプロバイダは、IDプロバイダの認証結果に基づき、サービス提供の可否を決定する。
(6)ユーザは、サービスプロバイダからサービス提供を受ける。
このように、SAMLに基づくSSOでは、ユーザが一度の認証手続きをIDプロバイダに行うだけで更なる認証手続きを実行せずに、複数のサービスを使用可能となる。現在、多くのベンダが、SAMLのIDPおよびSPの機能を実装したアクセス管理製品や、SAMLのSP機能を実装したSaaSサービスの提供を行っている。
但し、SAMLに基づくSSOは、アイデンティティのライフサイクル全体のうち、アイデンティティの「利用」という一部分でしかない。前述したように、SSOを開始する場合、アカウント連携を行う必要があり、アカウント連携を行うには、サービスプロバイダとIDプロバイダ間にアイデンティティの登録、変更、削除、再発行、一時停止などの管理を包括的に連携する技術が求められる。
アイデンティティの登録、変更、削除、再発行、一時停止などを自動化する技術としてアカウントプロビジョニングがあり、その標準技術としてSPML(Service Provisioning Markup Language)がある。
ところで、前述したアカウント連携の事前準備を終えていない状態から、アカウント連携をSSOの一部として動的に実行するデータ処理システムが知られている。通常、サービスプロバイダ側にユーザのアカウントが登録されてない状態、すなわち、アカウント連携が行われてない状態でSSOを開始しようとした場合、エラーが発生することになっていた。
しかしながら、このデータ処理システムによれば、前述した状態でもアカウント連携をSSOの一部として動的に実行できる。具体的には、サービスプロバイダがユーザからのサービス要求を受けた後、サービスプロバイダがユーザのアカウントを登録するための十分な情報を保持していないことを確認する。確認後、サービスプロバイダはIDプロバイダにユーザ属性を要求し、IDプロバイダはサービスプロバイダに所望のユーザ属性を提供する。これにより、データ処理システムは、SSOの過程でアカウント登録および連携を実行する。
以上で説明したデータ処理システムは、個々のユーザのアカウント登録に必要なユーザ属性の要求および提供という軽量な処理で実現でき、多数のユーザに対する大量の事前処理を必要としないことから、通常、問題ない。
しかしながら、本発明者の検討によれば、以下に述べるように、改良の余地がある。
通常、企業において、サービスプロバイダが提供するサービスを利用する場合、企業内での情報システムを統括するIS(Information System)部門がサービスプロバイダに対して、アカウント登録および連携を行う。
IS部門は、企業に所属する多数のユーザに応じた大量の事前処理を一括して行うか、又はユーザによる任意のタイミングで一連の承認フローを通した手続きを経た後に当該ユーザに対するアカウント登録および連携を行う。
ここで、前者の事前処理を行う場合は、SSOの過程でアカウント登録および連携を実行する必要がないので、前述したデータ処理システムとは無関係である。
一方、後者の承認フローを通す場合は、ユーザだけでなく、ユーザが所属する組織階層ごとの上長や調達部門、IS部門など多くの人手を介すことになり、大量の手間暇を要する。更に、IS部門が事前処理を一括して行わないことから、人手による作業が発生し、負担が大きい上、効率や利便性も悪い。例えば、SaaS等における素早く使えるメリットを生かすことができない。
従って、SSOの過程でアカウント登録および連携を実行するシステムでは、人手を介さずにサービス利用可否を決定するシームレスな仕組みを備えていることが望ましい。
特表2008−538247号公報
本発明が解決しようとする課題は、SSOの過程でアカウント登録および連携を実行する際に、ユーザの負荷が少なく、かつ人手を介さずにサービス利用可否を決定することができる認証連携システム、IDプロバイダ装置およびプログラムを提供することである。
実施形態のIDプロバイダ装置のポリシ記憶部は、サービスプロバイダID毎に、サービスデータの送信が許可されるユーザを示すポリシ情報と、サービスデータの送信許可が削除される対象となるユーザを示すポリシ情報を記憶する。IDプロバイダ装置は、所定の周期が到来した場合、もしくはサービスプロバイダ装置の利用状況が変化した場合に、サービスプロバイダ装置から送信される当該サービスプロバイダ装置の利用状況を取得し、取得した利用状況に基づいてサービス利用状況記憶部を更新する。IDプロバイダ装置は、サービス利用状況記憶部が更新された場合、サービスプロバイダID毎の削除対象アカウントの決定を行なう。
実施形態に係る認証連携システムのハードウェア構成の一例を示すブロック図。 実施形態に係るIDPユーザリポジトリを説明するための模式図。 実施形態に係るIDPサービス利用状況ストアを説明するための模式図。 実施形態に係る認証連携ポリシストアを説明するための模式図。 実施形態に係るSPユーザ設定ルールストアを説明するための模式図。 実施形態に係る削除対象決定ポリシストアを説明するための模式図。 実施形態に係る削除対象アカウントストアを説明するための模式図。 実施形態に係る認証アサーションを説明するための模式図。 実施形態に係るSPユーザリポジトリを説明するための模式図。 実施形態に係るサービスデータストアを説明するための模式図。 実施形態に係るSPサービス利用状況ストアを説明するための模式図。 実施形態に係る検証ポリシストアを説明するための模式図。 実施形態に係る全体動作の概要を示す模式図。 実施形態に係る利用状況取得の処理フローを示すシーケンス図。 実施形態に係る利用状況取得の処理に必要な構成要素の一例を示すブロック図。 実施形態に係るユーザ認証の処理フローを示すシーケンス図。 実施形態に係るユーザ認証の処理に必要な構成要素の一例を示すブロック図。 実施形態に係る認証連携ポリシ評価の処理フローを示すシーケンス図である。 実施形態に係る認証連携ポリシ評価の処理に必要な構成要素の一例を示すブロック図。 実施形態に係るアカウント連携の処理フローを示すシーケンス図。 実施形態に係るアカウント連携の処理に必要な構成要素の一例を示すブロック図。 実施形態に係る認証連携の処理フローを示すシーケンス図。 実施形態に係る認証連携の処理に必要な構成要素の一例を示すブロック図。
(第1の実施形態)
以下、図1乃至図23を参照して本実施形態の認証連携システムについて説明する。
図1は、本実施形態の認証連携システムの基本構成を示すブロック図である。この認証連携システムは、ユーザが操作するユーザ端末100に対してログイン処理を実行可能なIDプロバイダ装置200と、ログイン処理が成功した場合にユーザ端末100にサービスデータを送信可能なサービスプロバイダ装置300とを備えている。なお、IDプロバイダ装置200とサービスプロバイダ装置300は、それぞれ複数台あってもよいが、ここでは1台ずつを図示している。また、ユーザ端末100と、IDプロバイダ装置200と、サービスプロバイダ装置300とは、それぞれネットワークを介して接続されても良い。
ユーザ端末100は、通常のコンピュータ機能を有し、IDプロバイダ装置200およびサービスプロバイダ装置300と通信可能な装置である。ユーザ端末100は、ユーザの操作に応じて、サービスプロバイダ装置300の利用を要求するサービス要求をサービスプロバイダ装置300に送信する機能と、ユーザ端末100とIDプロバイダ装置200との間でログイン処理を実行する機能と、サービスプロバイダ装置300からサービスデータを受信する機能と、予めメモリに記憶したサービス利用アプリケーションプログラムをCPUが実行することにより、当該受信したサービスデータを再生する機能と、ユーザインタフェース機能と、を備える。
IDプロバイダ装置200は、ユーザのアイデンティティを管理するものであり、IDPユーザリポジトリ201、IDPサービス利用状況ストア202、認証連携ポリシストア203、SPユーザ設定ルールストア204、鍵記憶部205、削除対象決定ポリシストア206、削除対象アカウントストア207、IDP認証連携部208、認証連携ハンドリング部209、認証連携ポリシ評価部210、IDPアカウントプロビジョニング部211、サービス利用状況管理部212、およびトリガ213を備える。
IDPユーザリポジトリ201は、IDプロバイダ装置200が配置される組織のユーザに関するアイデンティティ情報(以下、「ユーザ属性情報」という)を記憶する。具体的には、IDPユーザリポジトリ(ユーザ属性情報記憶部)201は、図2に示すように、ユーザを特定するためのユーザ属性の項目名とユーザ属性の項目値とを関連付けたユーザ属性情報201aであって、ユーザを識別するユーザIDと、ユーザのログイン処理時に参照するパスワードと、ユーザの氏名と、ユーザの所属と、ユーザの役職と、ユーザ端末のアドレス情報と、認証連携IDなどを項目名に含む複数のユーザ属性情報201aを記憶する。認証連携IDは、サービスプロバイダ装置300と自装置200との間で共有するIDであり、本実施形態では後述するアカウント連携処理において発行される。なお、サービスプロバイダとの認証連携が行われていない場合、認証連携IDは空である。
ユーザ属性情報201aは個人の情報を特徴付ける情報の集合体である。ユーザ属性情報201aは上述したに限らず、例えば電話番号や勤務状態といった任意の項目名と項目値とを更に含んでもよい。また、ユーザのログイン処理時に、参照するパスワードは、例えばユーザの指紋等の生体認証情報であってもよい。
IDPサービス利用状況ストア(第1のサービス利用状況記憶部)202は、認証連携ポリシ評価部210から参照され、ユーザごとのサービス利用状況情報202aを記憶する。なお、サービス利用状況情報202aは、ユーザID毎の、各サービスプロバイダ装置300が提供するサービスの利用状況である。
すなわち、IDPサービス利用状況ストア202は、IDプロバイダ装置200側においてユーザごとのサービス利用状況を記憶する。図3に示すように、IDPサービス利用状況ストア202は、サービス利用状況情報202aとしてユーザ利用管理テーブル202aAと、利用数管理テーブル202aBとを記憶している。 ユーザ利用管理テーブル202aAは、「ユーザID」と、各サービスプロバイダ装置300を識別する「サービスプロバイダID」(SP(1)〜SP(N))と、サービスプロバイダIDごとの「サービス利用状況」とを関連付けて記憶する。
サービス利用状況は、例えば、サービスデータの送信が許可された場合を示す「サービス利用中」、サービスデータの送信が許可されていない場合を示す「サービス未利用」、ユーザ端末100から受けた一時停止要求に基づくサービスデータの送信の許可の一時停止を示す「サービス利用停止」、およびユーザ端末100から受けた利用終了要求に基づく「サービス利用終了」である。なお、サービス利用終了は、現在の利用数が上限値を超えた場合に、IDプロバイダ装置200が遊休ユーザの利用を無効化した場合を含む。また、サービス利用状況は、ユーザがサービスを利用した最終の日時(最終のログイン日時)である最終利用日時およびディスク利用量も関連付けて記憶される。
例えば、図3のユーザIDが「USER_A」のサービス利用状況は、SP(1)はサービス未利用の状態、SP(2)はサービス利用中、SP(N)はサービス未利用の状態である。さらに、SP(2)では、最終利用日時が2011/02/10で、ディスク利用量が4Gバイトである。
利用数管理テーブル202aBは、図3に示すように、ユーザ利用管理テーブル202aA内のサービス利用状況が示すサービス利用中の個数を示す利用数と、あらかじめ設定された利用数の上限値とをサービスプロバイダIDごとに関連付けて書き込まれる。
認証連携ポリシストア(認証連携ポリシ記憶部)203は、認証連携ポリシ評価部210から参照され、認証連携ポリシを記憶する。具体的には、認証連携ポリシストア203は、図4に示すように、サービスプロバイダID毎に、当該サービスプロバイダIDで識別されるサービスプロバイダ装置300によるサービスデータの送信が許可されるユーザの所属および役職を示す複数の認証連携ポリシ(認証連携ポリシ情報)203a(203aA,203aB,203aC,…)を記憶する。
なお、認証連携ポリシ203aは、ユーザの所属および役職といった静的なポリシ(例えば、図4中のA〜Cの[1]〜[3])に加え、更に、サービスの利用数、従量制課金の合計といった動的なポリシ(例えば、図4中のCの[4])を含んでもよい。
ここでポリシとは、一般的に誰(サブジェクト)が、どのシステム資源(リソース)に対して、どのような操作(アクション)を行うことができるか否か(つまり、許可または拒否)が定義されたアクセス可否条件の集合体を指す。またオプションで、環境条件や責務条件についても定義されるものである。
例えば、上述したポリシの各要素について、「サブジェクト」は氏名や役職、所属など、「リソース」はサービスプロバイダIDやURLなど、「アクション」は利用開始や利用再開など、「環境条件」は何らかの要求を行なうユーザのIPアドレスやアクセス可能な期間や時刻などが該当する。また、「責務条件」はポリシ(アクセス可否条件)評価の結果を受けて、認証連携ハンドリング部209が認証連携の実行に際して課す作業になる。例えば、“「新規利用者を登録する」要求は許可するが、その代わりに「遊休者のIDを削除する」ことは確実に実行せよ”というような指示になるのである(例えば、図4中のAの[4]の[責務条件])。
SPユーザ設定ルールストア(一部項目名記憶部)204は、図5に示すように、ユーザ設定ルール204aを記憶する。ユーザ設定ルール204aは、サービスプロバイダIDと、IDPユーザリポジトリ201に記憶されたユーザ属性情報201a内のユーザ属性の項目名のうち、一部の項目名とを関連付けて書き込まれている
鍵記憶部205は、自装置200の署名生成鍵を記憶する。署名生成鍵としては、例えば、公開鍵暗号方式における公開鍵と秘密鍵との鍵ペアのうちの秘密鍵が使用可能となっている。
削除対象決定ポリシストア(削除対象ポリシ記憶部)206は、図6に示すように、サービス利用状況管理部212から参照され、削除対象決定ポリシを記憶する。具体的には、削除対象決定ポリシストア(削除対象決定ポリシ記憶部)206は、図6に示すように、サービスプロバイダID毎に、当該サービスプロバイダIDで識別されるサービスプロバイダ装置300において、サービスデータの送信許可を削除されるユーザの条件(削除対象条件)を示す削除対象決定ポリシ(削除対象決定ポリシ情報)206a(206aA、206aB、206aC…)を記憶する。
例えば、削除対象決定ポリシ206aは、サービスプロバイダSP(1)に登録されたユーザの最終利用日時が半年以上前であること、ディスク利用量が5GB異常であること、ユーザの所属する部がXであることを削除対象条件として記述する。サービスプロバイダSP(2)とサービスプロバイダSP(3)の削除対象決定ポリシも同様に記述する。サービスデータの送信許可の削除は、例えば後述するSPユーザリポジトリから削除対象アカウントを削除してもよいし、サービスデータ送信許可上体を一時停止状態に変更してもよい。
削除対象アカウントストア(削除対象アカウント記憶部)207は、図7に示すように、後述するサービス利用状況管理部212が、削除対象決定ポリシ206aと、サービス利用状況202aと、ユーザ属性情報201aとに基づいて決定した削除対象アカウント(削除対象アカウント情報)207aを記憶する。削除対象アカウント情報207aは各サービスプロバイダ装置200における削除対象のユーザIDである。
IDP認証連携部208は、シングルサインオンのIDプロバイダ機能を有する。IDP認証連携部208は、具体的には例えば、以下の機能(f208−1)〜(f208−3)をもっている。
(f208−1) 後述する認証連携ハンドリング部209から送出されたユーザ認証要求内のユーザ端末100のアドレス情報に基づいて、当該ユーザ端末100にログイン要求を送信し、当該ユーザ端末100から受けたユーザIDおよびユーザ認証情報をIDPユーザリポジトリ201内のユーザIDおよびパスワードに基づいて認証するログイン処理を実行する機能。
(f208−2) 後述するIDPアカウントプロビジョニング部211が発行した認証連携IDと、ログイン処理の認証方式名とを含むアサーション本文に対して鍵記憶部205内の署名生成鍵に基づくデジタル署名を生成し、図8に示すように、当該アサーション本文と当該デジタル署名とを含む認証アサーション208aを作成する機能。
(f208−3) 作成した認証アサーション208aを含む認証連携応答を認証連携要求の送信元のサービスプロバイダ装置300に送信する機能。
認証連携ハンドリング部209は、サービスプロバイダ装置300からの認証連携要求を受信した後、後述するポリシ評価処理とアカウント連携処理とIDP認証連携処理で構成される一連の処理をハンドリングする。認証連携ハンドリング部209は、具体的には、以下の機能(f209−1)〜(f209−4)をもっている。
(f209−1) サービスプロバイダ装置300から送信されて当該サービスプロバイダ装置300のサービスプロバイダIDとユーザ端末100のアドレス情報とを含む認証連携要求を受けると、当該認証連携要求内のユーザ端末100のアドレス情報を含むユーザ認証要求をIDP認証連携部208に送出する機能。
(f209−2) IDP認証連携部208によるログイン処理が成功したとき、当該ログイン処理に用いたユーザIDと認証連携要求内のサービスプロバイダIDとを含むポリシ評価要求を認証連携ポリシ評価部210に送出する機能。
(f209−3) 認証連携ポリシ評価部210から受けたポリシ評価応答内の判定結果が許可を示す場合、ポリシ評価要求内のユーザIDとサービスプロバイダIDとを含むアカウント連携要求をIDPアカウントプロビジョニング部211に送出する機能。
(f209−4) IDPアカウントプロビジョニング部211から送出されたアカウント連携応答内の操作完了に含まれるサービスプロバイダIDおよびユーザIDを含むIDP認証連携実行要求をIDP認証連携部208に送出する機能。
認証連携ポリシ評価部210は、認証連携ハンドリング部209からのポリシ評価要求を受けて、事前に定義された認証連携ポリシ203aとユーザ利用管理テーブル202aAとに基づいてポリシ評価を行う。認証連携ポリシ評価部210は、具体的には、以下の機能(f210−1)〜(f210−5)をもっている。
(f210−1) 認証連携ハンドリング部209から送出されたポリシ評価要求内のユーザIDに基づいてIDPユーザリポジトリ201からユーザ属性情報201aを読み出す機能。
(f210−2) 認証連携ハンドリング部209から送出されたポリシ評価要求内のサービスプロバイダIDに基づいて認証連携ポリシストア203から認証連携ポリシ情報203aを読み出す機能。
(f210−3) 認証連携ハンドリング部209から送出されたポリシ評価要求内のユーザIDに基づいてIDPサービス利用状況ストア202からサービス利用状況情報202aを読み出す機能。
(f210−4) 読み出した認証連携ポリシ203aに示される所属および役職に対し、当該読み出したユーザ属性情報201a内の所属や役職、および当該読み出したサービス利用状況情報202aが適合するか否かに応じて、サービスデータの送信を許可するか否かを判定する送信許可判定機能。
(f210−5) この判定結果を含むポリシ評価応答をポリシ評価要求の送信元の認証連携ハンドリング部209に送出する機能。
IDPアカウントプロビジョニング部211は、認証連携ハンドリング部209からのアカウント連携要求を受けて、サービスプロバイダ装置300に対してアカウントプロビジョニングを実行する。IDPアカウントプロビジョニング部211は、具体的には例えば、以下の機能(f212−1)〜(f212−8)をもっている。
(f211−1) 送出されたアカウント連携要求内のサービスプロバイダIDに基づいて、SPユーザ設定ルールストア204からユーザ属性の一部の項目名を読み出す機能。
(f211−2) 送出されたアカウント連携要求内のサービスプロバイダIDに基づいて、削除対象アカウントストア207から削除対象アカウント情報207aを読み出す機能。
(f211−3) 当該読み出した一部の項目名とアカウント連携要求メッセージ内のユーザIDとに基づいて、IDPユーザリポジトリ201内で当該ユーザIDに一致するユーザIDを含むユーザ属性情報201aのうち、当該一部の項目名に一致する項目名およびこの項目名に関連付けられた項目値からなるユーザ属性部分情報を取得する機能。
(f211−4) 当該アカウント連携要求内のサービスプロバイダIDで識別されるサービスプロバイダ装置300と自装置200との間で共有する認証連携IDを発行する機能。
(f211−5) 取得したユーザ属性部分情報に操作指示として「アカウント登録」を付加し、取得した削除対象アカウント情報207aに操作指示として「アカウント削除」を付加すると共に、発行された認証連携IDを付加し、アカウントプロビジョニング要求(アカウント連携要求メッセージ)を作成する機能。
(f211−6) アカウント連携要求メッセージを認証連携要求の送信元のサービスプロバイダ装置300に送信する機能。
(f211−7) アカウント連携要求メッセージの送信先のサービスプロバイダ装置300から当該サービスプロバイダ装置のサービスプロバイダIDとユーザ属性部分情報内のユーザIDとを含むSPユーザリポジトリ302の操作完了が通知されると、当該操作完了に含まれるサービスプロバイダIDおよびユーザIDに基づいて、IDPユーザリポジトリ201内のユーザ属性情報201aに認証連携IDを登録する機能。
(f211−8)当該登録完了とユーザリポジトリの操作完了を示すアカウント連携応答を認証連携ハンドリング部209に送出する機能。
サービス利用状況管理部212は、サービス利用状況取得部214と削除対象アカウント決定部215とを備える。
サービス利用状況取得部214は、サービスプロバイダ装置300に利用状況取得要求を送信する。また、サービス利用状況取得部214は、当該利用状況取得要求に基づいてサービスプロバイダ装置300から送信される当該サービスプロバイダ装置300の利用状況を取得し、取得した利用状況に基づいてSPIDPサービス利用状況ストア202を更新する。
削除対象アカウント決定部215は、取得した利用状況と、ユーザ属性情報201aと、削除対象決定ポリシ206aAとに基づいて削除対象アカウントの決定を行なう。
トリガ213は、あらかじめ定められた時刻が到来した場合に、サービス利用状況管理部211のサービス利用状況取得部212にサービスプロバイダ装置300の利用状況取得を行なうよう要求する。すなわち、トリガ213は、サービス利用状況取得部212に利用状況取得実行要求を送信する。
サービス利用状況取得部214は、この利用状況取得実行要求を受信すると、サービスプロバイダ装置300からサービス利用状況を取得する。トリガ213は、例えば、周期によって設定してもよい。すなわち、トリガ213は、IDプロバイダ装置200とサービスプロバイダ装置300との認証セッションの張り直しのアクションのように一定時間ごとに動作するアクションとしてもよい。
一方、サービスプロバイダ装置300は、ユーザが利用するサービスを提供するものであり、サービスデータ通信部301、SPユーザリポジトリ302、サービスデータストア303、SPサービス利用状況ストア304、検証ポリシストア305、SP認証連携部306、サービス利用状況提供部307、およびSPアカウントプロビジョニング部308を備えている。
サービスデータ通信部301は、後述するSP認証連携部306から送出されたサービス実行要求に基づいて、当該サービス実行要求内の認証トークンと後述するサービスデータストア303内のサービスデータ303aとをユーザ端末100に送信する機能をもっている。
SPユーザリポジトリ302は、サービスデータ通信部301が送信するサービスデータを利用するユーザのアイデンティティ情報を記憶する。具体的には、SPユーザリポジトリ(ユーザ属性部分情報記憶部)302は、図9に示すように、IDPユーザリポジトリ201内のユーザ属性情報201a内のユーザ属性の項目名および項目値のうち、SPユーザ設定ルール204aに基づく一部の項目名と項目値とを関連付けたユーザ属性部分情報302aと、自装置300内でユーザを識別するSP側ユーザIDとを関連付けて記憶している。
サービスデータストア303は、図10に示すように、サービスデータ303aを記憶している。サービスデータ303aは、サービスプロバイダ装置300によるサービス提供(サービスデータ送信)の対象として、ユーザ端末100に送信される任意のデータである。
SPサービス利用状況ストア(第2のサービス利用状況記憶部)304は、ユーザごとの当該サービスプロバイダ装置300が提供するサービスの利用状況であるサービス利用状況情報304aを記憶する。
すなわち、SPサービス利用状況ストア304は、サービスプロバイダ装置300側においてユーザごとのサービス利用状況を記憶するユーザ利用管理テーブル202aAと、利用数管理テーブル202aBとを記憶している。
図11に示すように、SPサービス利用状況ストア304は、ユーザ利用管理テーブル304aAと、利用数管理テーブル304aBとを記憶している。ユーザ利用管理テーブル304aAは、サービスデータ303aの送信が許可された場合を示す「サービス利用中」、サービスデータ303aの送信が許可されていない場合を示す「サービス未利用」、ユーザ端末100から受けた一時停止要求に基づくサービスデータの送信の許可の一時停止を示す「サービス利用停止」、もしくはユーザ端末100から受けた利用終了要求に基づく「サービス利用終了」のいずれか示す、当該サービスプロバイダ装置300の利用状況と、ユーザIDとを関連付けて書き込まれる。
また、サービスプロバイダ装置300の利用状況は、ユーザの最終利用日時およびディスク利用量も関連付けて記憶される。なお、ユーザ利用管理テーブル304aAは、IDプロバイダ装置200が複数ある場合は、ユーザIDとIDプロバイダ装置のIDごとの利用状況が書き込まれる。
利用数管理テーブル202aBは、図11に示すように、ユーザ利用管理テーブル304aA内の利用状況が示すサービス利用中の個数を示す利用数と、あらかじめ設定された利用数の上限値とを関連付けて書き込まれる。
検証ポリシストア305は、図12に示すように、ログイン処理が成功した場合にサービスデータ303aの送信を許可するログイン処理の認証方式名と、IDプロバイダ装置200の署名生成鍵に対応する署名検証鍵とを含む認証アサーション検証ポリシを記憶する。署名検証鍵としては、例えば、公開鍵暗号方式における公開鍵と秘密鍵との鍵ペアのうちの公開鍵が使用可能となっている。
SP認証連携部306は、シングルサインオンのサービスプロバイダ機能を有する。SP認証連携部306は、具体的には例えば、以下の機能(f306−1)〜(f306−4)をもっている。
(f306−1) ユーザ端末100からサービス要求を受けると、当該サービス要求が認証トークンを含むか否かを判定し、認証トークンを含む場合には当該認証トークンとサービスデータストア303内のサービスデータ303aとを当該ユーザ端末100に送信し、否の場合には自装置300のサービスプロバイダIDと当該ユーザ端末100のアドレス情報とを含む認証連携要求をIDプロバイダ装置200に送信する機能。
(f306−2) IDプロバイダ装置200から認証連携応答を受けると、検証ポリシストア305内の認証アサーション検証ポリシ内の認証方式名と署名検証鍵とに基づいて、当該認証アサーション208a内の認証方式名とデジタル署名とをそれぞれ検証する検証機能。
(f306−3) 検証した結果がいずれも正当のとき、認証トークンを発行する機能。
(f306−4) 発行された認証トークンと、IDプロバイダ装置200から受けた認証連携応答に含まれるユーザのアドレス情報とを含むサービス実行要求をサービスデータ通信部301に送出する機能。
サービス利用状況提供部307は、IDプロバイダ装置200のサービス利用状況取得部214から利用状況取得要求を受けると、この利用状況送信要求に含まれるユーザIDに基づいてSPサービス利用状況ストア304を検索し、当該検索により得られたサービスプロバイダ装置300の利用状況を送信する機能をもっている。
SPアカウントプロビジョニング部308は、IDプロバイダ装置200のIDPアカウントプロビジョニング部211から受けたアカウント連携要求メッセージに基づき、SPユーザリポジトリ302に対してアカウントプロビジョニングを行う。また、SPアカウントプロビジョニング部308は、当該アカウント連携要求メッセージに基づき、SPサービス利用状況ストア304を更新する。
SPアカウントプロビジョニング部308は、具体的には例えば、以下の機能(f308−1)〜(f308−5)をもっている。
(f308−1) IDプロバイダ装置200のIDPアカウントプロビジョニング部211からアカウント連携要求メッセージを受信すると、アカウント連携要求メッセージに含まれる操作情報を確認し、操作情報が「アカウント登録」である場合に新規のSP側ユーザIDを発行し、当該発行したSP側ユーザIDと、当該アカウント連携要求メッセージ内のユーザ属性部分情報302aとを関連付けてSPユーザリポジトリ302に登録する機能。
(f308−2) アカウント連携要求メッセージに含まれる操作情報が「削除」である場合に、当該アカウント連携要求メッセージに含まれるユーザID(削除対象アカウント)に基づいてSPユーザリポジトリ302を検索し、検索結果のユーザ属性部分情報302aを削除する機能。
(f308−3) アカウント連携要求メッセージに含まれる操作情報が「更新」である場合に、当該アカウント連携要求メッセージに含まれるユーザIDに基づいてSPユーザリポジトリ302を検索し、検索結果のユーザ属性部分情報302aを更新する機能。なお、操作情報「更新」は例えばアカウントの無効であり、このとき、SPアカウントプロビジョニング部308は、当該アカウント連携要求メッセージに含まれるユーザIDに基づいてSPユーザリポジトリ302を検索し、検索結果のユーザ属性部分情報302aに含まれる有効フラグ(図示しない)を「false」に変更する。
なお、アカウントの無効を操作情報「削除」に含めても良い。
(f308−4) ユーザリポジトリの操作の後、アカウント連携要求メッセージに含まれるユーザIDと、操作情報とに基づいてSPサービス利用状況ストア304を更新する機能。
例えば、操作情報が「アカウント登録」の場合、ユーザ利用管理テーブル304aAに新規の利用状況として当該ユーザIDと、利用状況「サービス利用中」とを書き込む。このときユーザ利用管理テーブル304aAに当該ユーザIDが存在する場合は、利用状況の更新を行なう。
また、操作情報が「削除」の場合、ユーザ利用管理テーブル304aAに書き込まれた当該ユーザIDの利用状況を「サービス未利用」に変更する。
(f308−5) SPユーザリポジトリ302の操作およびSPサービス利用状況ストア304の更新(SPアカウント操作)後、操作したユーザ属性部分情報302a内のユーザIDと自装置300のサービスプロバイダIDとを含む操作完了と、ストア更新完了とをアカウント連携要求メッセージの送信元のIDプロバイダ装置200に通知する機能。
次に、以上のように構成された認証連携システムの動作について図13乃至図23を参照して説明する。以下の説明は、IDプロバイダ装置200とサービスプロバイダ装置300間でSSOが可能なシステム環境にあり、且つIDプロバイダ側の組織に所属するユーザが当該サービスプロバイダ装置300にアカウントが登録されてない、かつ認証未連携である状態から開始される。
この状態において、ユーザがサービス要求をした時に、IDプロバイダ装置200が認証連携ポリシ203aを満たすか否かを判定し、満たす場合にサービスプロバイダ装置300側へのユーザのアカウント登録を行うことにより、IDプロバイダ装置200とサービスプロバイダ装置300間のSSOが実行され、サービスプロバイダ装置300からサービスデータ303aが送信される典型的な処理を例に挙げて述べる。
以降、図13に示す如き、ステップS10のサービス利用状況取得(S11〜S19)、ステップS20のユーザ認証(S21〜S27)、ステップS30の認証連携ポリシ評価(S31〜S36)、ステップS40のアカウント連携(S41〜S49)およびステップS50の認証連携(S51〜S58)に分けて説明する。
まず、図14のシーケンス図および図15の模式図を参照して、図13のステップS10のサービス利用状況取得について説明する。
ステップS11では、IDプロバイダ装置200のトリガ213が、あらかじめ設定された時刻が到来すると、サービス利用状況管理部212に対して、利用状況取得の実行を要求する。本実施形態では、トリガ213を2011年4月1日の12時に設定する。
ステップS12では、サービス利用状況管理部212のサービス利用状況取得部214は、トリガ213から利用状況取得実行要求を受信すると、サービスプロバイダ装置300のサービス利用状況提供部307に、利用状況の取得を要求する。本実施形態では、SP(1)というサービスプロバイダIDのサービスプロバイダ装置300のみに利用状況の取得要求を送るとする。
ステップS13では、サービス利用状況提供部307は、各サービスプロバイダ装置300のSPサービス利用状況ストア304からサービス利用状況情報304aを取得し、IDプロバイダ装置200のサービス利用状況管理部212に送信する。
ステップS14では、サービス利用状況管理部212のサービス利用状況取得部214は、受信したサービスプロバイダ装置300ごとのサービス利用状況情報304aに基づいてIDPサービス利用状況ストア202を更新する。
ステップS15では、サービス利用状況取得部214は、受信したサービス利用状況情報304aに基づいてSPIDPサービス利用状況ストア202を更新すると、削除対象アカウント決定部215に削除対象決定要求を送信する。
ステップS16では、削除対象アカウント決定部215は、削除対象決定要求を受信すると、削除対象決定ポリシストア206から削除対象決定ポリシ206aを取得する。
ステップS17では、削除対象アカウント決定部215は、IDPユーザリポジトリ201からユーザ属性情報201aを取得する。
ステップS18では、削除対象アカウント決定部215は、ステップS14で更新されたユーザ利用管理テーブル202aAと利用数管理テーブル202aBと、ステップS16で取得した削除対象決定ポリシ206aと、ステップS17で取得したユーザ属性情報201aとに基づいて、削除対象のアカウントを決定する。具体的には、削除対象アカウント決定部215は、所定のユーザに関するユーザ属性情報201aとユーザ利用管理テーブル202aAと利用数管理テーブル202aBに記憶された当該ユーザのサービス利用状況とに基づいて、削除対象決定ポリシ206aの示す削除条件を満たすユーザを判定する。
例えば、削除対象アカウント決定部215が、図6の削除対象決定ポリシ206aAと、図3のユーザ利用管理テーブル202aAと、利用数管理テーブル202aBとに基づいて削除対象決定ポリシ206aの示す削除条件を満たすユーザを判定する場合について具体的に説明する。まず、削除対象決定ポリシ206aAのSP(1)における削除条件[1]「最終利用日時が半年以上前であること」を満たすのは、USER_BおよびUSER_Nである。
続いて、削除対象決定ポリシ206aAのSP(1)における削除条件[2]「ディスク利用量が、5GB以上であること」を満たすのは、USER_BおよびUSER_Nである。続いて、削除対象決定ポリシ206aAのSP(1)における削除条件[3]「ユーザの所属する部がXであること」を満たすのは、USER_Bである。したがって、USER_Bが削除対象決定ポリシ206aの示す削除条件を全て満たすため、削除対象アカウントと決定される。なお、削除対象アカウントが複数存在する場合は、それら全てを削除対象アカウントと決定する。
ステップS19では、削除対象アカウント決定部215は、決定した削除対象アカウントを削除対象アカウントストア207に記憶する。
ここで、図16のシーケンス図および図17の模式図を参照して、図13のステップS20のユーザ認証について説明する。ステップS20のユーザ認証は、ユーザがサービスプロバイダ装置300側のサービスを利用するためにユーザ端末を操作すると開始される。
ステップS21では、ユーザが、サービスプロバイダ装置300側のサービスを利用するために、ユーザ端末100を操作すると、ユーザ端末100はサービス要求をサービスプロバイダ装置300に送信する。サービスプロバイダ装置300は、アクセス管理を担うSP認証連携部306がサービス要求をキャッチする。
ステップS22では、SP認証連携部306は、ユーザからのサービス要求を受けると、そのサービス要求が認証トークンを含むか否かを判定する。例えば、ユーザからのサービス要求がHTTPリクエストの形態の場合、そのHTTPリクエストに含まれるCookieの中に、サービスプロバイダ装置300が発行した認証トークンが存在することを確認する。
なお、認証トークンの存在が確認できた場合、すなわち認証連携済みの場合、サービスプロバイダ装置300は、サービス要求により要求されたサービスをユーザに対して提供する。すなわち、SP認証連携部306は、サービス要求が認証トークンを含む旨を判定すると、サービスデータ通信部301により、当該認証トークンとサービスデータストア303内のサービスデータ303aとをサービス要求元のユーザ端末100に送信する。具体的には、SP認証連携部306は、サービス要求内の認証トークンと、当該認証トークンに関連付けられたユーザIDとを含むサービス実行要求をサービスデータ通信部301に送出する。
一方、ステップS22での判定の結果、サービス要求が認証トークンを含まない場合には、すなわち認証未連携の場合には、ステップS23が実行される。
ステップS23では、サービスプロバイダ装置300は、IDプロバイダ装置200に認証連携要求を依頼する。このとき、認証連携要求は、サービスプロバイダ装置300から直接IDプロバイダ装置200に向けて送信してもよいし、ユーザ端末100を一旦経由して、リダイレクトする形で送信されてもよい。また、認証連携要求は、自装置300のサービスプロバイダIDとユーザ端末100のアドレス情報とを含んでいる。
ここでは、サービスプロバイダ装置300が1つのIDプロバイダであるIDプロバイダ装置200としか連携しないため、IDプロバイダの選択が不要である。サービスプロバイダ装置300が1つのIDプロバイダであるIDプロバイダ装置200と連携しており、IDプロバイダの選択が必要な場合には、SP認証連携部306は、ユーザが所属するIDプロバイダを当該ユーザに選択させるため、事前に信頼関係を確立したIDプロバイダを示すIDプロバイダIDを列挙したIDPリスト(図示しない)をユーザ端末100に送信してもよい。このとき、ユーザ端末100は、サービスプロバイダ装置300から受信したIDPリストを表示し、ユーザに対して、自身が所属するIDプロバイダの選択を促す。しかる後、ユーザ端末100は、ユーザの操作により、選択されたIDプロバイダIDをサービスプロバイダ装置300に送信する。
ステップS24では、IDプロバイダ装置200の認証連携ハンドリング部209が、IDプロバイダ装置200宛のメッセージを解析し、そのメッセージが認証連携要求であることを確認した場合、認証連携の処理を開始し、認証連携要求内のユーザ端末100のアドレス情報を含むユーザ認証要求をIDP認証連携部208に送信する。なお、認証連携要求以外のメッセージであることを確認した場合は、認証連携ハンドリング部209が仲介する形で、サービスプロバイダ装置300が所望する宛先へ再送信する。
ステップS25では、IDP認証連携部208は、ユーザ認証要求を受けると、このユーザ認証要求に基づいて、ユーザの識別と認証のためのログイン処理を実行する。このログイン処理においては、IDP認証連携部208は、送出されたユーザ認証要求内のユーザ端末100のアドレス情報に基づいて、当該ユーザ端末100にログイン要求を送信し、当該ユーザ端末100から受けたユーザIDおよびユーザ認証情報をIDPユーザリポジトリ201内のユーザIDおよびパスワードに基づいて認証する。本実施形態では、当該ユーザ端末100からから受けたユーザID「USER_A」、パスワード「PASS_A」、に基づいて認証を行い、ユーザ認証は成功したとする。
ステップS26では、IDP認証連携部208は、ログインに成功したユーザのアカウント情報が、削除対象アカウントストア207に存在するかどうかを判定し、ログインに成功したアカウントの情報が存在する場合、当該アカウントを削除対象アカウントストア207から削除する。本実施形態では、削除対象アカウントストア207に、「USER_A」が登録されていないため、削除対象アカウントストア207は更新されない。
ステップS27では、IDP認証連携部208は、ステップS25のログイン処理が成功したとき、ログイン処理に用いたユーザIDと認証成功の旨とを含むユーザ認証完了(ログイン完了)のメッセージを認証連携ハンドリング部209に通知する。
以上により、ステップS20のユーザ認証(S21〜S27)が終了する。
続いて、ステップS30の認証連携ポリシ評価においては、ユーザ認証終了後、ユーザ利用管理テーブル202aA、利用数管理テーブル202aB、ユーザ属性情報201a、認証連携ポリシ203aを入力値として、認証連携ポリシ評価を行い、ユーザのサービス要求に対して許可を下す。以下、図18のシーケンス図および図19の模式図を参照してステップS30の認証連携ポリシ評価について説明する。
ステップS31では、認証連携ハンドリング部209は、ステップS27にて送信されたユーザ認証完了のメッセージを解析し、ログイン処理が成功したことを確認する。ログイン処理が成功したとき、認証連携ハンドリング部209は、ユーザのサービス要求に対するポリシ評価要求を認証連携ポリシ評価部210に送出する。ポリシ評価要求は、ステップS25のログイン処理過程で取得したユーザID、すなわちユーザのIDPアカウントと、認証連携要求内のサービスプロバイダIDとを含んでいる。
以降、ステップS32〜S34を通じて、認証連携ポリシ評価部208は、認証連携ポリシ203aの評価に必要な情報を収集する。
ステップS32では、認証連携ポリシ評価部210は、ポリシ評価要求内のユーザIDとサービスプロバイダIDに基づいてIDPサービス利用状況ストア202からサービス利用状況202aを読み出す。但し、ステップS32は、静的なポリシ評価を実行する場合には省略される。
以降、ステップS32で読み出されるユーザIDはUSER_A、ユーザが要求するサービスプロバイダ装置300はSP(1)とする。
ステップS33では、認証連携ポリシ評価部210は、ポリシ評価要求内のユーザIDに基づいてIDPユーザリポジトリ201からユーザ属性情報201aを読み出す。
ステップS34では、認証連携ポリシ評価部210は、ポリシ評価要求内のサービスプロバイダIDに基づいて認証連携ポリシストア203から認証連携ポリシ203aを読み出す。本実施形態では、図4の各認証連携ポリシ203aのうち、図中Aに関連付けられた第1の認証連携ポリシ(SP(1)利用時のポリシ)203aAが検索結果として読み出される。
ステップS35では、認証連携ポリシ評価部210は、静的なポリシ評価を実行する場合、ステップS34で読み出した認証連携ポリシ203aAに示される所属および役職に対し、ステップS33で読み出したユーザ属性情報201a内の所属および役職が適合するか否かに応じて、サービスデータ303aの送信を許可するか否かを判定するポリシ評価処理を行う。
但し、ステップS32のユーザ利用管理テーブル202aAも用いる動的なポリシ評価を実行する場合には、ステップS32,S33,S34を通じて取得したサービス利用状況202a、ユーザ属性情報201aおよび認証連携ポリシ203aAに基づいて、ポリシ評価を実行する。
例えば、認証連携ポリシ203aAに示すSP(1)の利用に関する、ステップS35におけるポリシ評価を説明する。認証連携ポリシ203aAには、事前に[1]〜[4]のサービス利用条件が定義されており(静的なポリシ評価の場合には[4]は未定義)、収集したユーザ利用管理テーブル202aA、ユーザ属性情報201aが、これらのサービス利用条件を全て満たすことを以下のように確認する。その結果として、ユーザのサービス要求に対して、許可を下す。
認証連携ポリシ203aAの[1]:認証連携ポリシ203aは、ユーザの所属する部がXであることを示す。これに対し、図2に示すように、ユーザ属性情報201aにおけるUSER_Aの所属部が「X部門」である。従って、USER_Aは認証連携ポリシ203aにおける[1]の条件を満たす。
認証連携ポリシ203aAの[2]:認証連携ポリシ203aは、ユーザの所属する課がYであることを示す。これに対し、図2に示すように、ユーザ属性情報201aにおけるUSER_Aの所属課が「Y課」である。従って、USER_Aは認証連携ポリシ203aにおける[2]の条件を満たす。
認証連携ポリシ203aAの[3]:認証連携ポリシ203aは、ユーザの役職がZ以上の役職であることを示す。これに対し、図2に示すように、ユーザ属性情報201aにおけるUSER_Aの役職が「Z職」である。従って、認証連携ポリシ203aにおける[3]の条件を満たす。
認証連携ポリシ203aAの[4]:認証連携ポリシ203aは、利用中のアカウント数が上限値を超えないことを示す。これに対し、図3に示すように、利用数管理テーブル202aBにおけるSP(1)の現在の利用数が10であり、上限値100を超えていない。従って、認証連携ポリシ203aにおける[4]の条件を満たす。
以上のように、事前に定義した認証連携ポリシ203aに基づき、ユーザ利用管理テーブル202aA,利用数管理テーブル202aBとユーザ属性情報201aを使って、ユーザのサービス要求に対する認証連携ポリシ評価を行う。なお、上記の条件において、一つでも条件を満たさないことが確認できたら、認証連携ポリシ評価の結果は拒否となる。
すなわち、認証連携ポリシ評価部210は、読み出した認証連携ポリシ203aに対して、読み出したユーザ属性情報201a、ユーザが利用したいサービスの種類、ユーザが行いたいサービスへの操作、サービスを実行するに際してのユーザの環境条件に適合するか否かに応じて、サービスデータの送信を許可するか否かを判定する。
ステップS36では、認証連携ポリシ評価部210は、ステップS35の判定結果からなるポリシ評価結果をポリシ評価応答として、認証連携ハンドリング部209に送出する。以上により、ステップS30の認証連携ポリシ評価(S31〜S36)が終了する。
ステップS40のアカウント連携では、ステップS30の認証連携ポリシ評価により得られたポリシ評価応答(サービスデータ送信の許可を示す場合)に基づき、サービスプロバイダ装置300のSPユーザリポジトリ302に対してユーザのアカウントを作成することで、SSOの事前準備として必要なIDプロバイダ装置200とサービスプロバイダ装置300間でのアカウント連携を実現する。以下、図20のシーケンス図および図21の模式図を用いて述べる。
ステップS41では、認証連携ハンドリング部209は、ステップS36で送出されたポリシ評価応答に含まれるポリシ評価結果を確認し、ポリシ評価応答がサービス要求を許可する場合は、ポリシ評価要求内のユーザIDとサービスプロバイダIDとを含むアカウント連携要求をIDPアカウントプロビジョニング部211に依頼する。なお、ポリシ評価応答がサービス利用の拒否を示す場合、サービス利用拒否の旨をユーザ端末100に通知する。ここでは、ポリシ評価応答が許可の場合を例に挙げ、以降のステップS42〜49を説明する。
ステップS42では、IDPアカウントプロビジョニング部211は、受信したアカウント連携要求内のサービスプロバイダID(ここでは、SP(1))に基づいて、SPユーザ設定ルールストア204からユーザ設定ルール204aを読み出す。ユーザ設定ルール204aは、例えば、IDプロバイダ装置200がサービスプロバイダ装置300に対してアカウント登録を行う際、サービスプロバイダ装置300ごとに求められる必要なユーザ属性の項目名(ユーザ属性の一部の項目名)などである。ここでは、IDPアカウントプロビジョニング部211は、ユーザ設定ルール204aとして、ユーザ属性の一部の項目名を読み出したものとする。
ステップS43では、IDPアカウントプロビジョニング部211は、削除対象アカウントストア207からSP(1)に関する削除対象のアカウントを検索する。
なお、ステップS43の検索は、ステップS32で認証連携ポリシ評価部210がIDPサービス利用状況ストア202から取得したサービス利用状況情報において、受信したアカウント連携内のサービスプロバイダID(ここでは、SP(1))の利用者数が上限に達しているかを判定し、SP(1)の利用者数が上限に達している場合に行なうようにしてもよい。このとき、ステップS32において、静的なポリシ評価が実行され、サービス利用状況取得が省略された場合は、ステップS43の前にIDPプロビジョニング部210がIDPサービス利用状況ストア202からサービス利用状況を取得する。
本実施形態では、図7に示すように、削除対象アカウントストア207にはSP(1)に関する削除対象のアカウントとしてUSER_Bが登録されているため、ここではUSER_Bが検索結果である。なお、複数の削除対象アカウントが存在する場合は、1つのユーザIDのみを削除してもよいし、全て削除してもよい。
ステップS44では、IDPアカウントプロビジョニング部211は、ステップS42で読み出した一部の項目名とアカウント連携要求内のユーザIDとに基づいて、IDPユーザリポジトリ201内で当該ユーザIDに一致するユーザIDを含むユーザ属性情報201aのうち、当該一部の項目名に一致する項目名およびこの項目名に関連付けられた項目値からなる必要なユーザ属性情報(以下、ユーザ属性部分情報という)を取得する。
ステップS45では、IDPアカウントプロビジョニング部211は、ステップS44で取得したユーザ属性部分情報に、操作指示として「アカウント登録」を付加し、ステップS43で取得した削除対象アカウントに操作指示として「削除」指示を付加してSPアカウント連携要求メッセージを作成し、作成したアカウント連携要求メッセージをサービスプロバイダ装置300のSPアカウントプロビジョニング部309に送信する。また、IDPアカウントプロビジョニング部211は、認証連携IDを発行しアカウント連携要求メッセージに含める。
アカウント連携要求メッセージに含まれる操作指示は、例えば、SPアカウントプロビジョニング部308が公開する操作インタフェースに基づくSPユーザリポジトリ302の操作の種類であり、削除、アカウント登録、アカウント更新などがある。本実施形態では、サービスプロバイダ装置300側にユーザのアカウントが登録されてないため、ステップS45では、操作指示として「アカウント登録」を指定する。
また、IDPアカウントプロビジョニング部211は、SPアカウント連携要求メッセージを送信する先のサービスプロバイダ装置300と自装置200との間で共有する認証連携IDを発行し、この認証連携IDをSPアカウント連携要求メッセージに含める。
ステップS46では、SPアカウントプロビジョニング部308は、受信したアカウント連携要求メッセージに基づき、SPユーザリポジトリ302の操作を行なう。具体的には、SPアカウントプロビジョニング部308は、受信したアカウント連携要求メッセージに含まれる操作指示が「アカウント登録」である場合、SP側ユーザID(サービスプロバイダ装置300側のユーザID)を新規発行し、当該SP側ユーザIDと、SPアカウント連携要求メッセージ内のユーザ属性部分情報とを関連付けてSPユーザリポジトリ302に登録する。このとき、SPアカウントプロビジョニング部308は、アカウント連携要求メッセージ内の認証連携IDも登録する。
また、ステップS46においてSPアカウントプロビジョニング部308は、操作指示が「削除」である場合、当該アカウント連携要求メッセージ内の削除対象アカウントに基づいて、SPユーザリポジトリ302内のユーザ属性部分情報302a検索し、削除対象アカウントと一致するユーザIDを含むユーザ属性部分情報302aを削除する。
ステップS47では、SPアカウントプロビジョニング部308は、受信したアカウント連携要求メッセージに基づき、SPサービス利用状況ストア304を更新する。具体的には、SPアカウントプロビジョニング部308は、受信したアカウント連携要求メッセージに含まれる操作指示が「アカウント登録」である場合、当該アカウント連携要求メッセージ内のユーザ属性部分情報に含まれるユーザIDとサービス利用状況「サービス利用中」と、最終利用日時と、ディスク利用量と関連づけてSPサービス利用状況ストア304のユーザ利用管理テーブル304aAに登録するとともに、「サービス利用中」のユーザID数をカウントして利用数管理テーブル304aBの現在の利用数を更新する。
また、SPアカウントプロビジョニング部308は、受信したアカウント連携要求メッセージに含まれる操作指示が「削除」である場合、当該アカウント連携要求メッセージに含まれる削除対象アカウントに基づいてSPサービス利用状況ストア304を検索し、検索結果のユーザ利用情報304aに含まれるサービス利用状況を「サービス利用停止」に変更する。
ステップS46のユーザリポジトリ操作とステップS47のサービス利用状況ストア202更新後、SPアカウントプロビジョニング部308は、登録したユーザ属性部分情報302a内のユーザIDと自装置のサービスプロバイダIDとを含む操作完了をアカウント連携要求メッセージの送信元のIDプロバイダ装置200に通知する。具体的には、操作完了は、IDプロバイダ装置200内のIDPアカウントプロビジョニング部211に通知される。
ステップS48では、IDPアカウントプロビジョニング部211は、ステップS45で発行された認証連携IDをIDPユーザリポジトリ201aのUSER_Aのレコードに登録する。
ステップS49では、IDPアカウントプロビジョニング部211は、ステップS47で通知された操作完了を示すアカウント連携応答を認証連携ハンドリング部209に送出する。
以上により、ステップS40のアカウント連携(S41〜S49)が終了する。
ステップS50の認証連携では、アカウント連携終了後、IDプロバイダ装置200とサービスプロバイダ装置300との間で認証連携、すなわちSSOを行う。以下、図22のシーケンス図および図23の模式図を用いてステップS50の認証連携について説明する。
ステップS51では、認証連携ハンドリング部209は、ステップS49にて通知されたアカウント連携応答に含まれる認証結果を解析する。その結果に問題がなければ、認証連携ハンドリング部209は、アカウント連携応答内の操作完了に含まれるサービスプロバイダIDおよびユーザIDを含む認証連携実行要求をIDP認証連携部208に送出する。
ステップS52では、IDP認証連携部208は、認証連携実行要求を受けると、当該認証連携実行要求内のユーザIDに基づいてIDPユーザリポジトリを検索し、認証連携IDを取得する。
ステップS53では、IDP認証連携部208は、ステップS52で取得された認証連携IDと、ステップS25で行ったログイン処理の認証方式名とを含むアサーション本文を作成する。また、IDP認証連携部208は、アサーション本文に対して鍵記憶部205内の署名生成鍵に基づくデジタル署名を生成する。さらに、IDP認証連携部208は、当該アサーション本文と当該デジタル署名とを含む認証アサーション208aを作成する。
ステップS54では、IDP認証連携部208は、作成した認証アサーション208aと、受信した認証連携実行要求内のユーザIDを含む認証連携応答を、認証連携要求の送信元のサービスプロバイダ装置300に送信する。この認証連携応答は、当該サービスプロバイダ装置300のSP認証連携部306に受信される。
ステップS55では、SP認証連携部306は、認証アサーション検証ポリシ306内の認証方式名と署名検証鍵とに基づいて、認証アサーション208a内の認証方式名とデジタル署名とをそれぞれ検証する。これにより、SP認証連携部306は、IDプロバイダ装置200が発行した認証アサーション208aから、IDプロバイダ装置200の認証結果を信頼できるかを判断し、ユーザへのサービスデータ送信(サービス提供)の可否を決定する。本実施形態では、検証した結果がいずれも正当であるとし、サービスデータ送信を許可として決定する。
ステップS56では、SP認証連携部306は、ステップS55で許可と決定されたとき、認証トークンを発行する。この認証トークンは認証連携IDとユーザIDとに関連付けてサービスプロバイダ装置300の一時記憶部(図示しない)に記憶されても良い。
ステップS57では、SP認証連携部306は、ステップS56で発行された認証トークンと、当該認証トークンに認証連携IDを介して関連付けられたユーザIDとを含むサービス実行要求をサービスデータ通信部301に送出する。
ステップS58では、サービスデータ通信部301は、送出されたサービス実行要求に基づいて、当該サービス実行要求内の認証トークンとサービスデータストア303内のサービスデータ303aとをユーザ端末100に送信する。
上述したように本実施形態の認証連携システムによれば、ユーザからのサービスプロバイダ装置300へのサービス要求に対し、IDプロバイダ装置200内に配備された認証連携ハンドリング部208がサービスプロバイダ装置300からの認証連携要求をインターセプトし、事前に定義された認証連携ポリシ203aに基づき、サービスデータ303aの送信可否を判定する。そして、判定結果が許可の場合、IDプロバイダ装置200内で管理される当該ユーザ属性情報201aを使って、サービスプロバイダ装置300内で管理されるSPユーザリポジトリ302に対して、当該ユーザのアカウントを作成する。その後、IDプロバイダ装置200とサービスプロバイダ装置300の各々が、従来の認証連携処理を行い、当該ユーザに対してサービスプロバイダ装置300から所望のサービスが提供される。
補足すると、従来の認証連携システムにおいては、サービスプロバイダがアカウントを登録するための十分な情報を保持していないことを確認し、不足したユーザ属性をIDプロバイダに要求する手間がかかり、このような確認や要求に人手を介していた。一方、本実施形態の認証連携システムは、前述した予め認証連携ポリシ203aを記憶した構成により、従来のような確認や要求に人手を介することがない。
また、本実施形態の認証連携システムは、一般的に時間がかかる、IDプロバイダ装置200がサービスプロバイダ装置300の利用状況を取得する利用状況取得処理を、SSOのタイミングで行うのではなく事前に行なっているため、ユーザのログイン時の待ち時間が長くなることがなく、ユーザの負荷を軽減できる。また、削除対象アカウントの決定も事前に行なっているため、よりユーザの負荷を軽減できる。
従って、サービスプロバイダ装置300側に当該ユーザのアカウントが登録されてない状態でも、当該ユーザのサービス要求、すなわちSSOの実施タイミングで、IDプロバイダ装置200側に事前に定義した認証連携ポリシ203aに基づき、サービスデータ303aの送信可否を自動判定することで、人手を介すことなく、且つ時間を要することなく、当該ユーザに対してシームレスなサービス利用を提供することができる。
また、本実施形態の認証連携システムによれば、インターネットなどの分散環境下で提供されるサービス利用において、事前に定義したサービス利用のポリシとサービスの利用状況に基づいて、サービスの利用申請からシングルサインオンまでの一連の処理を自動化し、ユーザのスムーズなサービス利用の開始を実現することができる。
以上、本発明のいくつかの実施形態を説明したが、これら実施形態は例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
例えば、本実施形態ではIDプロバイダ装置200側が利用状況取得処理を要求するトリガを備えるが、サービスプロバイダ装置300側が備えても良い。サービスプロバイダ装置300側がトリガを備える場合、図13のステップS10におけるステップS10のサービスにおいて、トリガは、例えばSPサービス利用状況ストア304に登録されたサービス利用状況が変化したか否かを判定し、サービス利用状況が変化した場合に、サービス利用状況取得実行要求をサービス利用状況提供部307送信する(ステップS11)。ステップS12は省略され、ステップS13において、利用状況取得実行要求を受信したサービス利用状況提供部307がSPサービス利用状況ストア304からサービス利用状況を取得する。その後、ステップS14〜ステップS19の処理が行われる。
この場合、SPサービス利用状況ストア304とIDPサービス利用状況ストア202との間に差異が生じないため、サービス利用状況に基づいた正確なポリシ評価を行なうことが可能となる。
また、本実施形態の認証連携システムは、トリガ213によって開始されるステップS10のサービス利用状況取得において、ステップS15で削除対象アカウントの決定を行ない、削除対象アカウントを削除するのは、ステップS40のアカウント連携において行っている。これは、アカウントの削除という操作を極力遅らせるためである。
しかし、SSO時のレスポンスタイムの改善を優先するために、ステップS10のサービス利用状況取得に削除対象アカウントの削除を行なっても良い。すなわち、ステップS15の削除対象アカウント決定後にサービスプロバイダ装置300にアカウント削除のメッセージを送ってもよい。この場合、ステップS40のアカウント連携では、アカウントの登録のみを行うことになる。
また、ステップS47のSPサービス利用状況ストア304の更新は、例えば一定周期毎にSPユーザリポジトリ302に記憶されたユーザ属性部分情報302aを参照して行なうなど、SSO処理中に行なわないようにしても良い。これにより、ユーザのログイン待ち時間が軽減できる。このときSPサービス利用状況ストア304の更新の一定周期は、サービス利用状況取得を開始するトリガに設定された一定周期より短くする。
なお、上記の実施形態に記載した手法は、コンピュータに実行させることのできるプログラムとして、磁気ディスク(フロッピー(登録商標)ディスク、ハードディスクなど)、光ディスク(CD−ROM、DVDなど)、光磁気ディスク(MO)、半導体メモリなどの記憶媒体に格納して頒布することもできる。
ここで、この記憶媒体としては、プログラムを記憶でき、かつコンピュータが読み取り可能な記憶媒体であれば、その記憶形式は何れの形態であっても良い。
また、記憶媒体からコンピュータにインストールされたプログラムの指示に基づきコンピュータ上で稼働しているOS(オペレーティングシステム)や、データベース管理ソフト、ネットワークソフト等のMW(ミドルウェア)等が本実施形態を実現するための各処理の一部を実行しても良い。
さらに、本実施形態における記憶媒体は、コンピュータと独立した媒体に限らず、LANやインターネット等により伝送されたプログラムをダウンロードして記憶または一時記憶した記憶媒体も含まれる。
また、記憶媒体は1つに限らず、複数の媒体から本実施形態における処理が実行される場合も本実施形態における記憶媒体に含まれ、媒体構成は何れの構成であっても良い。
なお、本実施形態におけるコンピュータは、記憶媒体に記憶されたプログラムに基づき、本実施形態における各処理を実行するものであって、パソコン等の1つからなる装置、複数の装置がネットワーク接続されたシステム等の何れの構成であっても良い。
また、本実施形態の各記憶部は1つの記憶装置で実現しても良いし、複数の記憶装で実現しても良い。
そして、本実施形態におけるコンピュータとは、パソコンに限らず、情報処理機器に含まれる演算処理装置、マイコン等も含み、プログラムによって本実施形態の機能を実現することが可能な機器、装置を総称している。
100…ユーザ端末、200…IDプロバイダ装置、201…IDPユーザリポジトリ、202…IDPサービス利用状況ストア、203…認証連携ポリシストア、204…SPユーザ設定ルールストア、205…鍵記憶部、206…削除対象決定ポリシストア、207…削除対象アカウントストア、208…IDP認証連携部、209…認証連携ハンドリング部、210…認証連携ポリシ評価部、211…IDPアカウントプロビジョニング部、212…サービス利用状況管理部、213…トリガ、214…サービス利用状況取得部、215…削除対象アカウント決定部、300…サービスプロバイダ装置、301…サービスデータ通信部、302…SPユーザリポジトリ、303…サービスデータストア、304…SPサービス利用状況ストア、305…検証ポリシストア、306…SP認証連携部、307…サービス利用状況提供部、308…SPアカウントプロビジョニング部

Claims (6)

  1. ユーザが操作するユーザ端末に対してログイン処理を行うIDプロバイダ装置と、前記ログイン処理が完了した場合に前記ユーザ端末にサービスデータを送信するサービスプロバイダ装置とを備え、前記ユーザ端末はサービス利用要求を前記サービスプロバイダ装置に送信する認証連携システムであって、
    前記IDプロバイダ装置は、
    前記ユーザを識別するユーザIDを含み、前記ユーザを特定するためのユーザ属性の項目名と前記ユーザ属性の項目値とを関連付けたユーザ属性情報を記憶するユーザ属性情報記憶部と、
    前記ユーザIDと、前記サービスプロバイダ装置を識別するサービスプロバイダIDと、当該サービスプロバイダ装置の利用状況とを関連付けたサービス利用状況情報を記憶する第1のサービス利用状況記憶部と、
    前記サービスプロバイダID毎に、当該サービスプロバイダIDで識別されるサービスプロバイダ装置によるサービスデータの送信が許可される対象となるユーザを示す認証連携ポリシ情報を記憶する認証連携ポリシ記憶部と、
    前記サービスプロバイダIDと、前記ユーザ属性情報内のユーザ属性の項目名のうち、一部の項目名とを関連付けて記憶する一部項目名記憶部と、
    前記サービスプロバイダID毎に、当該サービスプロバイダIDで識別されるサービスプロバイダ装置におけるサービスデータの送信許可が削除される対象となるユーザを示す削除対象決定ポリシ情報を記憶する削除対象決定ポリシ記憶部と、
    所定の周期が到来した場合、もしくは前記サービスプロバイダ装置の利用状況が変化した場合に、前記サービスプロバイダ装置から送信されるサービス利用状況情報を取得し、取得した当該サービス利用状況情報に基づいて前記第1のサービス利用状況記憶部を更新する手段と、
    前記ユーザ属性情報と、前記サービス利用状況情報と、前記削除対象決定ポリシ情報とに基づいて、前記サービス利用状況情報に含まれる前記サービスプロバイダID毎の削除対象アカウントの決定を行なう手段と、
    前記サービス利用要求を受信した前記サービスプロバイダ装置から、当該サービスプロバイダ装置のサービスプロバイダIDと前記ユーザ端末のアドレス情報とを含む認証連携要求を受信すると、当該認証連携要求内のユーザ端末のアドレス情報を含むユーザ認証要求を送信する手段と、
    前記送信されたユーザ認証要求内のユーザ端末のアドレス情報に基づいて、当該ユーザ端末にログイン要求を送信し、当該ユーザ端末から受けたユーザID及びユーザ認証情報を前記ユーザ属性情報記憶部内のユーザID及びパスワードに基づいて認証するログイン処理を実行する手段と、
    前記ログイン処理が成功したとき、当該ログイン処理に用いたユーザIDと前記認証連携要求内のサービスプロバイダIDとを含むポリシ評価要求を送信する手段と、
    前記送信されたポリシ評価要求内のユーザIDに基づいて前記ユーザ属性記憶部からユーザ属性情報を読み出す手段と、
    前記送信されたポリシ評価要求内のサービスプロバイダIDに基づいて前記認証連携ポリシ記憶部から認証連携ポリシ情報を読み出す手段と、
    前記読み出した認証連携ポリシ情報と、前記読み出したユーザ属性情報とに基づいて、前記サービスデータの送信を許可するか否かを判定する手段と、
    この判定結果を含むポリシ評価応答を前記ポリシ評価要求の送信元に送信する手段と、 前記ポリシ評価応答内の判定結果が許可を示す場合、前記ポリシ評価要求内のユーザIDとサービスプロバイダIDとを含むアカウント連携要求を送信する手段と、
    前記送信されたアカウント連携要求内のサービスプロバイダIDに基づいて、前記一部項目名記憶部からユーザ属性の一部の項目名を読み出す手段と、
    当該読み出した一部の項目名と前記アカウント連携要求内のユーザIDとに基づいて前記ユーザ属性記憶部内で当該ユーザIDに一致するユーザIDを含むユーザ属性情報のうち、当該一部の項目名に一致する項目名及びこの項目名に関連付けられた項目値からなるユーザ属性部分情報を取得する手段と、
    前記送信されたアカウント連携要求内のサービスプロバイダIDに基づいて、前記削除対象アカウント決定部が決定した前記削除対象アカウントから削除対象アカウントを取得する手段と、
    前記取得したユーザ属性部分情報に操作指示としてアカウント登録指示を付加し、前記取得した削除対象アカウントに操作指示としてアカウント削除指示もしくはアカウント無効指示を付加し、アカウント連携要求メッセージを作成する手段と、
    前記アカウント連携要求メッセージを前記認証連携要求の送信元のサービスプロバイダ装置に送信する手段と、
    前記アカウント連携要求メッセージの送信先のサービスプロバイダ装置から当該サービスプロバイダ装置のサービスプロバイダIDと前記ユーザ属性部分情報内の当該ユーザ端末のアドレス情報とを含む更新完了が通知されると、当該更新完了を示すアカウント連携応答を送信する手段と、
    前記送信されたアカウント連携応答内の更新完了に含まれるサービスプロバイダID及び前記ユーザIDを含む認証連携実行要求を送信する手段と、
    前記認証連携実行要求を受信すると、当該認証連携実行要求内のユーザIDを含む認証連携応答を前記認証連携要求の送信元のサービスプロバイダ装置に送信する手段と、
    を備え、
    前記サービスプロバイダ装置は、
    前記ユーザ属性情報記憶部内のユーザ属性情報内のユーザ属性の項目名及び項目値のうちの一部の項目名と項目値とを関連付けたユーザ属性部分情報と、当該サービスプロバイダ装置内でユーザを識別するSP側ユーザIDとを関連付けて記憶するユーザ属性部分情報記憶部と、
    前記サービスデータを記憶するサービスデータ記憶部と、
    前記ユーザIDと、当該サービスプロバイダ装置の利用状況とを関連付けて記憶する第2のサービス利用状況記憶部と
    前記サービス利用状況記憶部から当該サービスプロバイダ装置の利用状況を取得し、取得した前記利用状況を前記IDプロバイダ装置に送信する手段と、
    前記ユーザ端末から前記サービス要求を受信すると、当該サービス要求が認証トークンを含むか否かを判定し、前記認証トークンを含む場合には当該認証トークンと前記サービスデータ記憶部内のサービスデータとを当該ユーザ端末に送信し、否の場合には前記認証連携要求を前記IDプロバイダ装置に送信する手段と、
    前記アカウント連携要求メッセージを受信すると、当該前記アカウント連携要求メッセージに含まれる前記操作指示が前記アカウント登録の場合に新規の前記SP側ユーザIDを発行し、当該発行したSP側ユーザIDと、当該アカウント連携要求メッセージ内のユーザ属性部分情報とを関連付けて前記ユーザ属性部分情報記憶部に登録する手段と、当該前記アカウント連携要求メッセージに含まれる前記操作指示が前記アカウント削除の場合に、当該アカウント連携要求メッセージ内の削除対象アカウントに基づいて前記ユーザ属性部分情報記憶部を検索し、当該削除対象アカウントと一致するユーザIDを含む前記ユーザ属性部分情報を削除する手段と、
    前記登録もしくは削除の後、登録したユーザ属性部分情報内のユーザIDもしくは削除したユーザ属性部分情報内のユーザIDと、当該サービスプロバイダ装置のサービスプロバイダIDとを含む更新完了を前記アカウント連携要求メッセージの送信元のIDプロバイダ装置に通知する手段と、
    前記IDプロバイダ装置から前記認証連携応答を受信すると、当該認証連携応答の検証を行い、検証結果が許可のとき、前記認証トークンを発行し、前記認証連携応答に含まれるユーザIDと、当該認証トークンとを含むサービス実行要求を送信する手段と、
    前記送信されたサービス実行要求に基づいて、当該サービス実行要求内の認証トークンと前記サービスデータ記憶部内のサービスデータとを前記ユーザ端末に送信する手段と
    を備える認証連携システム。
  2. 前記サービス利用状況情報に基づいて、前記サービスデータの送信を許可するか否かを判定する手段を備える請求項1に記載の認証連携システム。
  3. 前記削除対象アカウントと前記ユーザ属性部分情報に含まれるユーザIDとが一致する場合、当該ユーザ属性部分情報を無効とする手段を備える請求項1及び請求項2のいずれか1項に記載の認証連携システム。
  4. 前記第2のサービス利用状況記憶部に記憶される前記サービスプロバイダ装置の利用状況が変化した場合に、当該利用状況を前記IDプロバイダ装置に送信する手段を備える請求項1乃至請求項3のいずれか1項に記載の認証連携システム。
  5. ユーザが操作するユーザ端末にサービスデータを送信するサービスプロバイダ装置と接続され認証連携システムを構成する、前記サービスプロバイダ装置にサービス利用要求をするとともに前記ユーザ端末に対してログイン処理を行うIDプロバイダ装置であって、
    前記ユーザを識別するユーザIDを含み、前記ユーザを特定するためのユーザ属性の項目名と前記ユーザ属性の項目値とを関連付けたユーザ属性情報を記憶するユーザ属性情報記憶部と、
    前記ユーザIDと、前記サービスプロバイダ装置を識別するサービスプロバイダIDと、当該サービスプロバイダ装置の利用状況とを関連付けたサービス利用状況情報を記憶する第1のサービス利用状況記憶部と、
    前記サービスプロバイダID毎に、当該サービスプロバイダIDで識別されるサービスプロバイダ装置によるサービスデータの送信が許可される対象となるユーザを示す認証連携ポリシ情報を記憶する認証連携ポリシ記憶部と、
    前記サービスプロバイダIDと、前記ユーザ属性情報内のユーザ属性の項目名のうち、一部の項目名とを関連付けて記憶する一部項目名記憶部と、
    前記サービスプロバイダID毎に、当該サービスプロバイダIDで識別されるサービスプロバイダ装置におけるサービスデータの送信許可が削除される対象となるユーザを示す削除対象決定ポリシ情報を記憶する削除対象決定ポリシ記憶部と、
    前記サービスプロバイダ装置に利用状況取得要求を送信し、当該利用状況取得要求に基づいて前記サービスプロバイダ装置から送信されるサービス利用状況情報を取得し、取得した前記サービス利用状況情報に基づいて前記サービス利用状況記憶部を更新する手段と、
    前記ユーザ属性情報と、前記サービス利用状況情報と、前記削除対象決定ポリシ情報とに基づいて、前記サービス利用状況情報に含まれる前記サービスプロバイダID毎の削除対象アカウントの決定を行なう手段と、
    前記サービス利用要求を受信した前記サービスプロバイダ装置から、当該サービスプロバイダ装置のサービスプロバイダIDと前記ユーザ端末のアドレス情報とを含む認証連携要求を受信すると、当該認証連携要求内のユーザ端末のアドレス情報を含むユーザ認証要求を送信する手段と、
    前記送信されたユーザ認証要求内のユーザ端末のアドレス情報に基づいて、当該ユーザ端末にログイン要求を送信し、当該ユーザ端末から受けたユーザID及びユーザ認証情報を前記ユーザ属性情報記憶部内のユーザID及びパスワードに基づいて認証するログイン処理を実行する手段と、
    前記ログイン処理が成功したとき、当該ログイン処理に用いたユーザIDと前記認証連携要求内のサービスプロバイダIDとを含むポリシ評価要求を送信する手段と、
    前記送信されたポリシ評価要求内のユーザIDに基づいて前記ユーザ属性記憶部からユーザ属性情報を読み出す手段と、
    前記送信されたポリシ評価要求内のサービスプロバイダIDに基づいて前記認証連携ポリシ記憶部から認証連携ポリシ情報を読み出す手段と、
    前記読み出した認証連携ポリシ情報と、前記読み出したユーザ属性情報とに基づいて、前記サービスデータの送信を許可するか否かを判定する手段と、
    この判定結果を含むポリシ評価応答を前記ポリシ評価要求の送信元に送信する手段と、 前記ポリシ評価応答内の判定結果が許可を示す場合、前記ポリシ評価要求内のユーザIDとサービスプロバイダIDとを含むアカウント連携要求を送信する手段と、
    前記送信されたアカウント連携要求内のサービスプロバイダIDに基づいて、前記一部項目名記憶部からユーザ属性の一部の項目名を読み出す手段と、
    当該読み出した一部の項目名と前記アカウント連携要求内のユーザIDとに基づいて前記ユーザ属性記憶部内で当該ユーザIDに一致するユーザIDを含むユーザ属性情報のうち、当該一部の項目名に一致する項目名及びこの項目名に関連付けられた項目値からなるユーザ属性部分情報を取得する手段と、
    前記送信されたアカウント連携要求内のサービスプロバイダIDに基づいて、前記削除対象アカウント決定部が決定した前記削除対象アカウントから削除対象アカウントを取得する手段と、
    前記取得したユーザ属性部分情報に操作指示としてアカウント登録指示を付加し、前記取得した削除対象アカウントに操作指示としてアカウント削除指示もしくはアカウント無効指示を付加し、アカウント連携要求メッセージを作成する手段と、
    前記アカウント連携要求メッセージを前記認証連携要求の送信元のサービスプロバイダ装置に送信する手段と、
    前記アカウント連携要求メッセージの送信先のサービスプロバイダ装置から当該サービスプロバイダ装置のサービスプロバイダIDと前記ユーザ属性部分情報内の当該ユーザ端末のアドレス情報とを含む更新完了が通知されると、当該更新完了を示すアカウント連携応答を送信する手段と、
    前記送信されたアカウント連携応答内の更新完了に含まれるサービスプロバイダID及び前記ユーザIDを含む認証連携実行要求を送信する手段と、
    前記認証連携実行要求を受信すると、当該認証連携実行要求内のユーザIDを含む認証連携応答を前記認証連携要求の送信元のサービスプロバイダ装置に送信する手段と、
    を備えるIDプロバイダ装置。
  6. ユーザが操作するユーザ端末にサービスデータを送信するサービスプロバイダ装置と接続され、認証連携システムを構成する、前記サービスプロバイダ装置にサービス利用要求をするとともに前記ユーザ端末に対してログイン処理を行うIDプロバイダ装置のプログラムであって、
    前記IDプロバイダ装置を構成するコンピュータに、
    前記ユーザを識別するユーザIDを含み、前記ユーザを特定するためのユーザ属性の項目名と前記ユーザ属性の項目値とを関連付けたユーザ属性情報を記憶する機能と、
    前記サービスプロバイダID毎に、当該サービスプロバイダIDで識別されるサービスプロバイダ装置によるサービスデータの送信が許可される対象となるユーザを示す認証連携ポリシ情報を記憶する機能と、
    前記サービスプロバイダIDと、前記ユーザ属性情報内のユーザ属性の項目名のうち、一部の項目名とを関連付けて記憶する機能と、
    前記サービスプロバイダID毎に、当該サービスプロバイダIDで識別されるサービスプロバイダ装置におけるサービスデータの送信許可が削除される対象となるユーザを示す削除対象決定ポリシ情報を記憶する機能と、
    前記サービスプロバイダ装置に利用状況取得要求を送信し、当該利用状況取得要求に基づいて前記サービスプロバイダ装置から送信されるサービス利用状況を取得し、取得した前記サービス利用状況情報に基づいて、前記ユーザIDと、前記サービスプロバイダ装置を識別するサービスプロバイダIDと、サービスプロバイダ装置の利用状況とを関連付けたサービス利用状況情報を記憶する機能と、
    前記ユーザ属性情報と、前記サービス利用状況情報と、前記削除対象決定ポリシ情報とに基づいて、前記サービス利用状況情報に含まれる前記サービスプロバイダID毎の削除対象アカウントの決定を行なう機能と、
    前記サービス利用要求を受信した前記サービスプロバイダ装置から、当該サービスプロバイダ装置のサービスプロバイダIDと前記ユーザ端末のアドレス情報とを含む認証連携要求を受信すると、当該認証連携要求内のユーザ端末のアドレス情報を含むユーザ認証要求を送信する機能と、
    前記送信されたユーザ認証要求内のユーザ端末のアドレス情報に基づいて、当該ユーザ端末にログイン要求を送信し、当該ユーザ端末から受けたユーザID及びユーザ認証情報を前記ユーザ属性情報のユーザID及びパスワードに基づいて認証するログイン処理を実行する機能と、
    前記ログイン処理が成功したとき、当該ログイン処理に用いたユーザIDと前記認証連携要求内のサービスプロバイダIDとを含むポリシ評価要求を送信する機能と、
    前記送信されたポリシ評価要求内のユーザIDに基づいて前記ユーザ属性情報を読み出す機能と、
    前記送信されたポリシ評価要求内のサービスプロバイダIDに基づいて前記認証連携ポリシ情報を読み出す機能と、
    前記読み出した認証連携ポリシ情報と、前記読み出したユーザ属性情報とに基づいて、前記サービスデータの送信を許可するか否かを判定する機能と、
    この判定結果を含むポリシ評価応答を前記ポリシ評価要求の送信元に送信する機能と、 前記ポリシ評価応答内の判定結果が許可を示す場合、前記ポリシ評価要求内のユーザIDとサービスプロバイダIDとを含むアカウント連携要求を送信する機能と、
    前記送信されたアカウント連携要求内のサービスプロバイダIDに基づいて、前記ユーザ属性の一部の項目名を読み出す機能と、
    当該読み出した一部の項目名と前記アカウント連携要求内のユーザIDとに基づいて、当該ユーザIDに一致するユーザIDを含む前記ユーザ属性情報のうち、当該一部の項目名に一致する項目名及びこの項目名に関連付けられた項目値からなるユーザ属性部分情報を取得する機能と、
    前記送信されたアカウント連携要求内のサービスプロバイダIDに基づいて、前記決定された削除対象アカウントから削除対象アカウントを取得する機能と、
    前記取得したユーザ属性部分情報に操作指示としてアカウント登録指示を付加し、前記取得した削除対象アカウントに操作指示としてアカウント削除指示もしくはアカウント無効指示を付加し、アカウント連携要求メッセージを作成する機能と、
    前記アカウント連携要求メッセージを前記認証連携要求の送信元のサービスプロバイダ装置に送信する機能と、
    前記アカウント連携要求メッセージの送信先のサービスプロバイダ装置から当該サービスプロバイダ装置のサービスプロバイダIDと前記ユーザ属性部分情報内の当該ユーザ端末のアドレス情報とを含む更新完了が通知されると、当該更新完了を示すアカウント連携応答を送信する機能と、
    前記送信されたアカウント連携応答内の更新完了に含まれるサービスプロバイダID及び前記ユーザIDを含む認証連携実行要求を送信する機能と、
    前記認証連携実行要求を受信すると、当該認証連携実行要求内のユーザIDを含む認証連携応答を前記認証連携要求の送信元のサービスプロバイダ装置に送信する機能と、
    を実行させるプログラム。
JP2012033391A 2012-02-17 2012-02-17 認証連携システム、idプロバイダ装置およびプログラム Active JP5383838B2 (ja)

Priority Applications (5)

Application Number Priority Date Filing Date Title
JP2012033391A JP5383838B2 (ja) 2012-02-17 2012-02-17 認証連携システム、idプロバイダ装置およびプログラム
PCT/JP2012/005934 WO2013121476A1 (ja) 2012-02-17 2012-09-18 認証連携システム、idプロバイダ装置およびプログラム
CN201280002794.4A CN103370714B (zh) 2012-02-17 2012-09-18 认证协作***、id提供方装置以及其控制方法
SG2013016787A SG193224A1 (en) 2012-02-17 2012-09-18 Authentication collaboration system, id provider device, and program
US13/785,849 US8955041B2 (en) 2012-02-17 2013-03-05 Authentication collaboration system, ID provider device, and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2012033391A JP5383838B2 (ja) 2012-02-17 2012-02-17 認証連携システム、idプロバイダ装置およびプログラム

Publications (2)

Publication Number Publication Date
JP2013171349A JP2013171349A (ja) 2013-09-02
JP5383838B2 true JP5383838B2 (ja) 2014-01-08

Family

ID=48983646

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012033391A Active JP5383838B2 (ja) 2012-02-17 2012-02-17 認証連携システム、idプロバイダ装置およびプログラム

Country Status (4)

Country Link
JP (1) JP5383838B2 (ja)
CN (1) CN103370714B (ja)
SG (1) SG193224A1 (ja)
WO (1) WO2013121476A1 (ja)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6071847B2 (ja) * 2013-11-06 2017-02-01 株式会社東芝 認証システム、方法及びプログラム
JP6256116B2 (ja) * 2014-03-10 2018-01-10 富士通株式会社 通信端末、セキュアログイン方法、及びプログラム
JP6235972B2 (ja) * 2014-08-21 2017-11-22 日本電信電話株式会社 Idプロバイダリコメンド装置、idリコメンドシステム、および、idプロバイダリコメンド方法
JP2017116986A (ja) * 2015-12-21 2017-06-29 富士ゼロックス株式会社 記憶制御装置、記憶制御システムおよびプログラム
JP6342441B2 (ja) * 2016-03-09 2018-06-13 株式会社東芝 認証処理装置および認証システム
CN108063681B (zh) * 2016-11-08 2020-10-27 北京国双科技有限公司 一种实现单点登录***中账户同步的方法及装置
US10637868B2 (en) 2016-11-16 2020-04-28 The Boeing Company Common authorization management service
US10397199B2 (en) * 2016-12-09 2019-08-27 Microsoft Technology Licensing, Llc Integrated consent system
JP6897155B2 (ja) * 2017-02-27 2021-06-30 富士フイルムビジネスイノベーション株式会社 情報処理装置及び情報処理プログラム

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002123491A (ja) * 2000-10-13 2002-04-26 Nippon Telegr & Teleph Corp <Ntt> 認証代行方法、認証代行装置、及び認証代行システム
US7636941B2 (en) * 2004-03-10 2009-12-22 Microsoft Corporation Cross-domain authentication
US7631346B2 (en) * 2005-04-01 2009-12-08 International Business Machines Corporation Method and system for a runtime user account creation operation within a single-sign-on process in a federated computing environment
WO2007027154A1 (en) * 2005-08-31 2007-03-08 Encentuate Pte Ltd Fortified authentication on multiple computers using collaborative agents
CN101360107A (zh) * 2008-09-19 2009-02-04 腾讯科技(深圳)有限公司 一种提高单次登录***安全的方法、***及装置
CN101902329A (zh) * 2009-05-31 2010-12-01 西门子(中国)有限公司 用于单点登录的方法和装置
JP4892093B1 (ja) * 2010-11-09 2012-03-07 株式会社東芝 認証連携システム及びidプロバイダ装置

Also Published As

Publication number Publication date
WO2013121476A1 (ja) 2013-08-22
CN103370714A (zh) 2013-10-23
CN103370714B (zh) 2016-03-16
JP2013171349A (ja) 2013-09-02
SG193224A1 (en) 2013-10-30

Similar Documents

Publication Publication Date Title
JP4892093B1 (ja) 認証連携システム及びidプロバイダ装置
JP5383838B2 (ja) 認証連携システム、idプロバイダ装置およびプログラム
US8955041B2 (en) Authentication collaboration system, ID provider device, and program
JP5422753B1 (ja) ポリシ管理システム、idプロバイダシステム及びポリシ評価装置
US7330971B1 (en) Delegated administration of namespace management
JP5197843B1 (ja) 認証連携システムおよびidプロバイダ装置
US8635679B2 (en) Networked identity framework
JP4579546B2 (ja) 単一サインオンサービスにおけるユーザ識別子の取り扱い方法及び装置
JP6140735B2 (ja) アクセス制御装置、アクセス制御方法、およびプログラム
JP5342020B2 (ja) グループ定義管理システム
JP2013196349A (ja) 社員情報管理システム、情報処理装置、社員情報管理システム生成方法、社員情報管理システム生成プログラム及び情報取得方法
JP2019074994A (ja) 情報処理装置、情報処理システム及びプログラム
JP7099198B2 (ja) 管理装置、管理システム及びプログラム
US9600655B2 (en) Policy update system and policy update apparatus
Pöhn et al. Proven and modern approaches to identity management
JP6848275B2 (ja) プログラム、認証システム及び認証連携システム
JP2020042439A (ja) 情報処理装置及び情報処理プログラム
JP4550865B2 (ja) 情報処理システム、情報処理装置、およびプログラム
KR20100073884A (ko) Id 연계 기반의 고객정보 중개 및 동기화 방법
JP2005301899A (ja) プロジェクト管理サーバ、プロジェクト管理方法及びプログラム

Legal Events

Date Code Title Description
TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20130906

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20131001

R150 Certificate of patent or registration of utility model

Ref document number: 5383838

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350