JP2012103846A - 認証連携システム及びidプロバイダ装置 - Google Patents

認証連携システム及びidプロバイダ装置 Download PDF

Info

Publication number
JP2012103846A
JP2012103846A JP2010250903A JP2010250903A JP2012103846A JP 2012103846 A JP2012103846 A JP 2012103846A JP 2010250903 A JP2010250903 A JP 2010250903A JP 2010250903 A JP2010250903 A JP 2010250903A JP 2012103846 A JP2012103846 A JP 2012103846A
Authority
JP
Japan
Prior art keywords
user
authentication
service
service provider
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.)
Granted
Application number
JP2010250903A
Other languages
English (en)
Other versions
JP4892093B1 (ja
Inventor
Minoru Nishizawa
実 西澤
Seiichiro Tanaka
誠一郎 田中
Tatsuro Ikeda
竜朗 池田
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 JP2010250903A priority Critical patent/JP4892093B1/ja
Priority to EP11839719.9A priority patent/EP2639727B1/en
Priority to CN201180044620.XA priority patent/CN103109298B/zh
Priority to SG2013034046A priority patent/SG190128A1/en
Priority to PCT/JP2011/075611 priority patent/WO2012063783A1/ja
Application granted granted Critical
Publication of JP4892093B1 publication Critical patent/JP4892093B1/ja
Publication of JP2012103846A publication Critical patent/JP2012103846A/ja
Priority to US13/890,539 priority patent/US9059982B2/en
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
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/604Tools and structures for managing or administering access control systems
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computing Systems (AREA)
  • Automation & Control Theory (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Storage Device Security (AREA)
  • Information Transfer Between Computers (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

【課題】 SSOの過程でアカウント登録及び連携を実行する際に、人手を介さずにサービス利用可否を決定する。
【解決手段】 前記IDプロバイダ装置のポリシ記憶手段は、前記サービスプロバイダID毎に、サービスデータの送信が許可されるユーザの所属及び役職を示す複数のポリシ情報を記憶する。前記IDプロバイダ装置は、前記ログイン処理が成功したとき、当該ログイン処理に用いたユーザIDと前記認証連携要求内のサービスプロバイダIDとを含むポリシ評価要求を送出する。前記IDプロバイダ装置は、ポリシ評価要求に基づいて前記ポリシ記憶手段からポリシ情報を読み出す。前記IDプロバイダ装置の送信許可判定手段は、ポリシ情報に示される所属及び役職に対しユーザ属性情報内の所属及び役職が適合するか否かに応じて、前記サービスデータの送信を許可するか否かを判定する。
【選択図】図1

Description

本発明の実施形態は、認証連携システム及びIDプロバイダ装置に関する。
社会、経済、生活のオンラインサービスへの依存度が増す情勢を背景に、個人や組織に関する情報を管理するアイデンティティ管理の重要性が高まっている。アイデンティティ管理とは、様々なサービスやシステムにおいて、個人や組織に関する情報の安全性と利便性を図り、登録から変更、削除までのアイデンティティのライフサイクル全体を管理する技術である。
ここで、アイデンティティとは、ある状況で個人やグループ、組織・企業を特定する情報の総体であり、識別子やクレデンシャル、属性が含まれる。識別子とは、アイデンティティを識別するための情報であり、アカウントや社員番号などに相当する。クレデンシャルとは、ある情報内容の正当性を示すための情報であり、パスワードなどがある。属性とは、アイデンティティを特徴付ける情報であり、氏名や住所、生年月日などを指す。
このようなアイデンティティ管理を利用した技術の代表例として、シングルサインオン(Single Sign-On、以降SSOと略す)がある。SSOは、一度の認証手続きで複数のアプリケーションやサービスを利用できる技術である。SSOは、一つの企業のイントラネットのようなシングルドメインにおいて、複数のアプリケーションが備える認証を統合させる場合が多かった。この場合、SSOは、一般的にHTTP Cookieに認証結果を含め、アプリケーション間で認証結果を共有させる方式によって実現される。また、このようなSSO方式をSI(System Integration)ベンダやミドルウェアベンダが個別にアクセス管理製品として製造していた。
近年、シングルドメインを超えた異なるドメイン間(以下、クロスドメインともいう)でのSSOが求められてきた。理由としては、企業統合や合併、海外展開などの活発化、および台頭してきたクラウドコンピューティングのSaaS(Software as a Service)等によるアウトソーシングが挙げられる。例えば、SaaS等は、使いたいときに素早く使える点がメリットの一つである。
しかしながら、クロスドメインの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と略し、サービスプロバイダという)、ユーザの3者であり、IDプロバイダが発行する認証結果をサービスプロバイダが信頼することでSSOを実現している。
SAMLに基づくSSOを開始する場合、一般的に次の2点について事前に準備する必要がある。1点目は、サービスプロバイダとIDプロバイダとの間でビジネスや技術面での情報交換や合意形成を通じて、信頼関係を構築しておくことである。2点目では、一人のユーザがサービスプロバイダごとに個別のアカウントを持ち、これらの個別のSPアカウントとIDプロバイダのアカウントを事前に連携させておくことである。これら信頼関係の構築及び事前のアカウント連携といった事前準備を終えた状態でないとSSOを開始することはできない。
このような事前準備の後、SSOは以下のような手順(1)〜(6)に沿って実現される。ここでは、Webブラウザを介したSSOの手順を説明する。
(1)ユーザがサービスプロバイダに対してサービス提供を要求する。
(2)サービスプロバイダは、まだユーザの認証をしていないため、ユーザ側のWebブラウザを介して、認証リクエストをIDプロバイダに送る。
(3)IDプロバイダは何らかの手段でユーザを認証し、認証アサーションを作成する。なお、SAMLは、認証手段を規定せず、認証アサーションをサービスプロバイダに伝える仕組みを規定している。認証アサーションとは、サービスプロバイダが認証結果を信用できるかを判断するため、認証手段の種類やクレデンシャルがどのように作成されたかなどの情報が含まれる。
(4)IDプロバイダは、作成した認証アサーションを含む認証結果を、ユーザ側のWebブラウザを介してサービスプロバイダに返信する。
(5)サービスプロバイダは、IDプロバイダの認証結果に基づき、サービス提供の可否を決定する。
(6)ユーザは、サービスプロバイダからサービス提供を受ける。
このように、SAMLに基づくSSOでは、ユーザが一度の認証手続きをIDプロバイダに行うだけで更なる認証手続きを実行せずに、複数のサービスが使用可能となる。現在では、個別のSSO方式を実装していたミドルウェアベンダは、クロスドメインの相互運用性を確保するために、SAMLのIDプロバイダ・サービスプロバイダ機能を実装したアクセス管理製品の販売や、SAMLのサービスプロバイダ機能を実装した商用のWebサービスへの導入を実行している。
但し、SAMLに基づくSSOは、アイデンティティのライフサイクル全体のうち、アイデンティティの「利用」という一部分でしかない。前述したように、SSOを開始する場合、アカウント連携を行う必要があり、アカウント連携を行うには、サービスプロバイダとIDプロバイダ間にアイデンティティの登録、変更、削除、再発行、一時停止などの管理を包括的に連携する技術が求められる。
アイデンティティの登録、変更、削除、再発行、一時停止などを自動化する技術としてアカウントプロビジョニングがあり、その標準技術としてSPML(Service Provisioning Markup Language)がある。
ところで、前述したアカウント連携の事前準備を終えていない状態から、アカウント連携をSSOの一部として動的に実行するデータ処理システムが知られている。通常、サービスプロバイダ側にユーザのアカウントが登録されてない状態、すなわち、アカウント連携が行われてない状態でSSOを開始しようとした場合、エラーが発生することになっていた。
しかしながら、このデータ処理システムによれば、前述した状態でもアカウント連携をSSOの一部として動的に実行できる。具体的には、サービスプロバイダがユーザからのサービス要求を受けた後、サービスプロバイダがユーザのアカウントを登録するための十分な情報を保持していないことを確認する。確認後、サービスプロバイダはIDプロバイダにユーザ属性を要求し、IDプロバイダはサービスプロバイダに所望のユーザ属性を提供する。これにより、データ処理システムは、SSOの過程でアカウント登録及び連携を実行する。
特表2008−538247号公報
"Assertions and Protocols for the OASIS Security Assertion Markup Language(SAML) V2.0",OASIS Standard,15 March 2005, http://docs.oasis-open.org/security/saml/v2.0/saml-core-2.0-os.pdf "OASIS Service Provisioning Markup Language (SPML) Version 2", OASIS Standard,1 April 2006, http://www.oasis-open.org/committees/provision/docs/pstc-spml2-os.pdf
以上説明したデータ処理システムは、個々のユーザのアカウント登録に必要なユーザ属性の要求及び提供という軽量な処理で実現でき、多数のユーザに対する大量の事前処理を必要としないことから、通常、問題ない。
しかしながら、本発明者の検討によれば、以下に述べるように、改良の余地がある。
通常、企業において、サービスプロバイダが提供するサービスを利用する場合、IS(Information System)部門がサービスプロバイダに対して、アカウント登録及び連携を行う。
IS部門は、企業に所属する多数のユーザに応じた大量の事前処理を一括して行うか、又はユーザによる任意のタイミングで一連の承認フローを通した手続きを経た後に当該ユーザに対するアカウント登録及び連携を行う。
ここで、前者の事前処理を行う場合は、SSOの過程でアカウント登録及び連携を実行する必要がないので、前述したデータ処理システムとは無関係である。
一方、後者の承認フローを通す場合は、ユーザだけでなく、ユーザが所属する組織階層ごとの上長や調達部門、IS部門など多くの人手を介すことになり、大量の手間暇を要する。更に、IS部門が事前処理を一括して行わないことから、人手による作業が発生し、負担が大きい上、効率や利便性も悪い。例えば、SaaS等における素早く使えるメリットを生かすことができない。
従って、SSOの過程でアカウント登録及び連携を実行するシステムでは、人手を介さずにサービス利用可否を決定するシームレスな仕組みを備えていることが望ましい。
本発明が解決しようとする課題は、SSOの過程でアカウント登録及び連携を実行する際に、人手を介さずにサービス利用可否を決定し得る認証連携システム及びIDプロバイダ装置を提供することである。
実施形態の認証連携システムは、ユーザが操作するユーザ端末にログイン処理を実行可能で第1メモリを有するIDプロバイダ装置と、前記ログイン処理が成功した場合に前記ユーザ端末にサービスデータを送信可能で第2メモリを有する複数のサービスプロバイダ装置とを備えている。
前記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プロバイダ装置は、前記送出されたアカウント連携要求内のサービスプロバイダIDに基づいて、前記一部項目名記憶手段からユーザ属性の一部の項目名を読み出す。
前記IDプロバイダ装置は、当該読み出した一部の項目名と前記アカウント連携要求内のユーザIDとに基づいて、前記ユーザ属性記憶手段内で当該ユーザIDに一致するユーザIDを含むユーザ属性情報のうち、当該一部の項目名に一致する項目名及びこの項目名に関連付けられた項目値からなるユーザ属性部分情報を取得する。
前記IDプロバイダ装置は、前記取得したユーザ属性部分情報にアカウント登録指示を付加してアカウント連携要求メッセージを作成する。
前記IDプロバイダ装置は、前記アカウント連携要求メッセージを前記認証連携要求の送信元のサービスプロバイダ装置に送信する。
前記IDプロバイダ装置は、前記アカウント連携要求メッセージの送信先のサービスプロバイダ装置から当該サービスプロバイダ装置のサービスプロバイダIDと前記ユーザ属性部分情報内のユーザIDとを含む登録完了が通知されると、当該登録完了を示すアカウント連携応答を送出する。
前記IDプロバイダ装置は、前記送出されたアカウント連携応答内の登録完了に含まれるサービスプロバイダID及びユーザIDに基づいて、前記サービス利用状況記憶手段内のサービス利用状況をサービス未利用からサービス利用中に更新する。
前記IDプロバイダ装置は、前記送出されたアカウント連携応答内の登録完了に含まれるサービスプロバイダID及びユーザIDを含む認証連携実行要求を送出する。
前記IDプロバイダ装置は、前記認証連携実行要求を受けると、当該認証連携実行要求内のサービスプロバイダIDで識別されるサービスプロバイダ装置と自装置との間で共有する認証連携IDを発行し、この認証連携IDと当該認証連携実行要求内のユーザIDとを関連付けて前記第1メモリに書き込む。
前記IDプロバイダ装置は、前記発行した認証連携IDと、前記ログイン処理の認証方式名とを含むアサーション本文に対して前記署名生成鍵に基づくデジタル署名を生成し、当該アサーション本文と当該デジタル署名とを含む認証アサーションを作成する。
前記IDプロバイダ装置は、前記作成した認証アサーションを含む認証連携応答を前記認証連携要求の送信元のサービスプロバイダ装置に送信する。
前記各サービスプロバイダ装置のユーザ属性部分情報記憶手段は、前記ユーザ属性情報記憶手段内のユーザ属性情報内のユーザ属性の項目名及び項目値のうちの一部の項目名と項目値とを関連付けたユーザ属性部分情報と、自装置内でユーザを識別するSP側ユーザIDとを関連付けて記憶する。
前記各サービスプロバイダ装置の検証ポリシ記憶手段は、前記ログイン処理が成功した場合にサービスデータの送信を許可するログイン処理の認証方式名と、前記署名生成鍵に対応する署名検証鍵とを含む認証アサーション検証ポリシを記憶する。
前記各サービスプロバイダ装置のサービスデータ記憶手段は、前記サービスデータを記憶する。
前記各サービスプロバイダ装置は、前記ユーザ端末からサービス要求を受けると、当該サービス要求が認証トークンを含むか否かを判定し、前記認証トークンを含む場合には当該認証トークンと前記サービスデータ記憶手段内のサービスデータとを当該ユーザ端末に送信し、否の場合には自装置のサービスプロバイダIDと当該ユーザ端末のアドレス情報とを含む認証連携要求を前記IDプロバイダ装置に送信する。
前記各サービスプロバイダ装置は、前記アカウント連携要求メッセージを受信すると、新規の前記SP側ユーザIDを発行し、当該発行したSP側ユーザIDと、当該アカウント連携要求メッセージ内のユーザ属性部分情報とを関連付けて前記ユーザ属性部分情報記憶手段に登録する。
前記各サービスプロバイダ装置は、この登録の後、登録したユーザ属性部分情報内のユーザIDと自装置のサービスプロバイダIDとを含む登録完了を前記アカウント連携要求メッセージの送信元のIDプロバイダ装置に通知する。
前記各サービスプロバイダ装置は、前記IDプロバイダ装置から認証連携応答を受けると、当該認証連携応答内の認証アサーションから認証連携IDを抽出し、当該抽出した認証連携IDと、前記登録されたユーザ属性部分情報内のユーザIDとを関連付けて前記第2メモリに書き込む。
前記各サービスプロバイダ装置は、前記認証アサーション検証ポリシ内の認証方式名と署名検証鍵とに基づいて、前記認証アサーション内の認証方式名とデジタル署名とをそれぞれ検証する。
前記各サービスプロバイダ装置は、前記検証した結果がいずれも正当のとき、認証トークンを発行し、この認証トークンを前記認証連携IDに関連付けて前記第2メモリに書き込む。
前記各サービスプロバイダ装置は、前記書き込まれた認証トークンと、当該認証トークンに前記第2メモリ内で前記認証連携IDを介して関連付けられたユーザIDとを含むサービス実行要求を送出する。
前記各サービスプロバイダ装置は、前記送出されたサービス実行要求に基づいて、当該サービス実行要求内の認証トークンと前記サービスデータ記憶手段内のサービスデータとを前記ユーザ端末に送信する。
第1の実施形態に係る認証連携システム及びその周辺構成を示す模式図である。 同実施形態におけるIdPユーザリポジトリを説明するための模式図である。 同実施形態におけるサービス利用状況データストアを説明するための模式図である。 同実施形態における認証連携ポリシストアを説明するための模式図である。 同実施形態におけるSPユーザ設定ルールストアを説明するための模式図である。 同実施形態における一時記憶部を説明するための模式図である。 同実施形態における認証アサーションを説明するための模式図である。 同実施形態における信頼IdPストアを説明するための模式図である。 同実施形態におけるSPユーザリポジトリを説明するための模式図である。 同実施形態におけるサービスデータストアを説明するための模式図である。 同実施形態における利用状況ストアを説明するための模式図である。 同実施形態における一時記憶部を説明するための模式図である。 同実施形態における検証ポリシストアを説明するための模式図である。 同実施形態における全体動作の概要を示す模式図である。 同実施形態におけるユーザ認証の処理フローを示すシーケンス図である。 同実施形態におけるユーザ認証の処理に必要な構成要素の一例を示すブロック図である。 同実施形態における認証連携ポリシ評価の処理フローを示すシーケンス図である。 同実施形態における認証連携ポリシ評価の処理に必要な構成要素の一例を示すブロック図である。 同実施形態におけるアカウント連携の処理フローを示すシーケンス図である。 同実施形態におけるアカウント連携の処理に必要な構成要素の一例を示すブロック図である。 同実施形態における認証連携の処理フローを示すシーケンス図である。 同実施形態における認証連携の処理に必要な構成要素の一例を示すブロック図である。 第2の実施形態における利用状況ストアを説明するための模式図である。 同実施形態におけるサービス利用状況ストアを説明するための模式図である。 第3の実施形態における利用状況ストアを説明するための模式図である。 同実施形態におけるサービス利用状況ストアを説明するための模式図である。
以下、各実施形態について図面を用いて説明する。なお、各実施形態では、既にIDプロバイダとサービスプロバイダ間で信頼関係が確立された状態、ユーザはIDプロバイダ側の組織に所属する状態、認証連携ポリシは事前に定義済みであることを前提条件としている。また、各装置は、ハードウェア構成、又はハードウェア資源とソフトウェアとの組合せ構成のいずれでも実施可能となっている。組合せ構成のソフトウェアとしては、予めネットワーク又は記憶媒体から対応する装置のコンピュータにインストールされ、対応する装置の機能を実現させるためのプログラムが用いられる。
<第1の実施形態>
図1は第1の実施形態に係る認証連携システム及びその周辺構成を示す模式図であり、図2乃至図13は同実施形態におけるリポジトリ、ストア又は記憶部等を説明するための模式図である。この認証連携システムは、ユーザが操作するユーザ端末100に対してログイン処理を実行可能なIDプロバイダ装置200と、ログイン処理が成功した場合にユーザ端末100にサービスデータを送信可能なサービスプロバイダ装置300とを備えている。なお、サービスプロバイダ装置300は、複数台あるが、ここでは1台のみを図示している。
ここで、ユーザ端末100は、通常のコンピュータ機能を有してIDプロバイダ装置200及び各サービスプロバイダ装置300と通信可能な装置であり、例えば、ユーザの操作に応じて、サービス要求をサービスプロバイダ装置300に送信する機能と、IDプロバイダ装置200との間でログイン処理を実行する機能と、サービスプロバイダ装置300からサービスデータを受信する機能と、予めメモリに記憶したサービス利用アプリケーションプログラムをCPUが実行することにより、当該受信したサービスデータを再生する機能とをもっている。
IDプロバイダ装置200は、ユーザのアイデンティティを管理するものであり、IdPユーザリポジトリ201、サービス利用状況ストア202、認証連携ポリシストア203、SPユーザ設定ルールストア204、一時記憶部205、鍵記憶部206、IdP認証連携部207、認証連携ハンドリング部208、認証連携ポリシ評価部209及びIdPアカウントプロビジョニング部210を備えている。
ここで、IdPユーザリポジトリ201は、IDプロバイダ装置200が配置される組織のユーザに関するアイデンティティ情報(以下、「ユーザ属性情報」という)を記憶する。具体的には、IdPユーザリポジトリ(ユーザ属性情報記憶手段)201は、図2に示すように、ユーザを特定するためのユーザ属性の項目名とユーザ属性の項目値とを関連付けたユーザ属性情報201aであって、ユーザを識別するユーザIDと、ユーザの氏名と、ユーザの所属と、ユーザの役職と、ユーザ端末のアドレス情報と、ユーザのログイン処理時に参照する参照情報とを項目名に含む複数のユーザ属性情報201aを記憶する。
なお、ユーザ属性情報201aは個人の情報を特徴付ける情報の集合体であり、ユーザ属性情報201aの例としては、ユーザの氏名、ユーザの所属、ユーザの役職、ユーザ端末のアドレス情報、ユーザのログイン処理時に参照する参照情報などが挙げられる。しかし、これらには限られず、例えば電話番号や勤務状態といった任意の項目名と項目地とを更に含んでもよい。また、ユーザのログイン処理時に参照する参照情報は、本実施形態ではパスワードを用いるが、これには限られず、例えばユーザの指紋等の生体認証情報であってもよい。
サービス利用状況ストア202は、認証連携ポリシ評価部209から参照され、サービスの利用状況を記憶する。具体的には、サービス利用状況ストア(サービス利用状況記憶手段)202は、図3に示すように、ユーザ利用管理テーブル202aと、利用数管理テーブル202bとを記憶している。ユーザ利用管理テーブル202aは、ユーザIDと、各サービスプロバイダ装置300を識別するサービスプロバイダID(SP(1)〜SP(N))と、サービスデータの送信が許可された場合を示すサービス利用中、又はサービスデータの送信が許可されていない場合を示すサービス未利用のいずれかを示すサービス利用状況とを関連付けて書き込まれる。なお、サービス利用状況は、サービス利用中及びサービス未利用に限らず、例えばユーザ端末100から受けた一時停止要求に基づくサービス一時停止中、及び/又はユーザ端末100から受けた利用終了要求に基づくサービス利用終了を含んでもよい。また、サービス利用終了は、現在の利用数が上限値を超えた場合に、IDプロバイダ装置200が遊休ユーザの利用を無効化した場合を含んでもよい。さらに、利用数管理テーブル202bは、図3に示すように、ユーザ管理テーブル202a内のサービス利用状況が示すサービス利用中の個数を示す利用数と、利用数の上限値とを関連付けて書き込まれる。
認証連携ポリシストア203は、認証連携ポリシ評価部209から参照され、認証連携ポリシを記憶する。具体的には、認証連携ポリシストア(ポリシ記憶手段)203は、図4に示すように、サービスプロバイダID毎に、当該サービスプロバイダIDで識別されるサービスプロバイダ装置300によるサービスデータの送信が許可されるユーザの所属及び役職を示す複数の認証連携ポリシ(ポリシ情報)203a(203aA,203aB,203aC,…)を記憶する。
なお、認証連携ポリシ203aは、ユーザの所属及び役職といった静的なポリシ(例えば、図4中のA〜Cの[1]〜[3])に加え、更に、サービスの利用数、従量制課金の合計といった動的なポリシ(例えば、図4中のCの[4])を含んでもよい。
ここでポリシとは、一般的に誰(サブジェクト)が、どのシステム資源(リソース)に対して、どのような操作(アクション)を行うことができるか否か(つまり、許可または拒否)が定義されたアクセス可否条件の集合体を指す。またオプションで、環境条件や責務条件についても定義されるものである。
例えば、上述したポリシの各要素について、「サブジェクト」は氏名や役職、所属など、「リソース」はサービスプロバイダIDやURLなど、「アクション」は利用開始や利用再開など、「環境条件」は何らかの要求を行なうユーザのIPアドレスやアクセス可能な期間や時刻などが該当する。また、「責務条件」はポリシ(アクセス可否条件)評価の結果を受けて、認証連携ハンドリング部208が認証連携の実行に際して課す作業になる。例えば、“「新規利用者を登録する」要求は許可するが、その代わりに「遊休者のIDを削除する」ことは確実に実行せよ”というような指示になるのである(例えば、図4中のBの[4]の[責務条件])。
SPユーザ設定ルールストア(一部項目名記憶手段)204は、図5に示すように、ユーザ設定ルール204aを記憶する。ユーザ設定ルール204aは、サービスプロバイダIDと、IdPユーザリポジトリ201に記憶されたユーザ属性情報201a内のユーザ属性の項目名のうち、一部の項目名とを関連付けて書き込まれている。
一時記憶部(第1メモリ)205は、RAM等のような一時的なメモリであり、図6に示すように、例えば、認証連携IDとユーザIDとを関連付けて記憶する。
鍵記憶部206は、自装置200の署名生成鍵を記憶する。署名生成鍵としては、例えば、公開鍵暗号方式における公開鍵と秘密鍵との鍵ペアのうちの秘密鍵が使用可能となっている。
IdP認証連携部207は、シングルサインオンのIDプロバイダ機能を有する。IdP認証連携部207は、具体的には例えば、以下の機能(f207-1)〜(f207-4)をもっている。
(f207-1) 認証連携ハンドリング部208から送出されたユーザ認証要求内のユーザ端末100のアドレス情報に基づいて、当該ユーザ端末100にログイン要求を送信し、当該ユーザ端末100から受けたユーザID及びユーザ認証情報をIdPユーザリポジトリ201内のユーザID及び参照情報に基づいて認証するログイン処理を実行する機能。
(f207-2) 認証連携ハンドリング部208から認証連携実行要求を受けると、当該認証連携実行要求内のサービスプロバイダIDで識別されるサービスプロバイダ装置300と自装置200との間で共有する認証連携IDを発行し、この認証連携IDと当該認証連携実行要求内のユーザIDとを関連付けて一時記憶部205に書き込む機能。
(f207-4) 発行した認証連携IDと、ログイン処理の認証方式名とを含むアサーション本文に対して鍵記憶部206内の署名生成鍵に基づくデジタル署名を生成し、図7に示すように、当該アサーション本文と当該デジタル署名とを含む認証アサーション207aを作成する機能。
(f207-4) 作成した認証アサーション207aを含む認証連携応答を認証連携要求の送信元のサービスプロバイダ装置300に送信する機能。
認証連携ハンドリング部208は、サービスプロバイダ装置300からの認証連携要求を受信した後、ポリシ評価処理とアカウント連携処理とIDプロバイダ認証連携処理で構成される一連の処理をハンドリングする。認証連携ハンドリング部208は、具体的には例えば、以下の機能(f208-1)〜(f208-5)をもっている。
(f208-1) いずれかのサービスプロバイダ装置300から送信されて当該サービスプロバイダ装置300のサービスプロバイダIDとユーザ端末100のアドレス情報とを含む認証連携要求を受けると、当該認証連携要求内のユーザ端末100のアドレス情報を含むユーザ認証要求をIdP認証連携部207に送出する機能。
(f208-2) IdP認証連携部207によるログイン処理が成功したとき、当該ログイン処理に用いたユーザIDと認証連携要求内のサービスプロバイダIDとを含むポリシ評価要求を認証連携ポリシ評価部209に送出する機能。
(f208-3) 認証連携ポリシ評価部209から受けたポリシ評価応答内の判定結果が許可を示す場合、ポリシ評価要求内のユーザIDとサービスプロバイダIDとを含むアカウント連携要求をIdPアカウントプロビジョニング部210に送出する機能。
(f208-4) 送出されたアカウント連携応答内の登録完了に含まれるサービスプロバイダID及びユーザIDに基づいて、サービス利用状況ストア202内のサービス利用状況をサービス未利用からサービス利用中に更新する機能。
(f208-5) IdPアカウントプロビジョニング部210から送出されたアカウント連携応答内の登録完了に含まれるサービスプロバイダID及びユーザIDを含む認証連携実行要求をIdP認証連携部207に送出する機能。
認証連携ポリシ評価部209は、認証連携ハンドリング部208からのポリシ評価要求を受けて、事前に定義された認証連携ポリシ203aとサービス利用状況に基づいてポリシ評価を行う。認証連携ポリシ評価部209は、具体的には例えば、以下の機能(f209-1)〜(f209-4)をもっている。
(f209-1) 認証連携ハンドリング部208から送出されたポリシ評価要求内のユーザIDに基づいてIdPユーザリポジトリ201からユーザ属性情報201aを読み出す機能。
(f209-2) 認証連携ハンドリング部208から送出されたポリシ評価要求内のサービスプロバイダIDに基づいて認証連携ポリシストア203から認証連携ポリシ(ポリシ情報)203aを読み出す機能。
(f209-3) 読み出した認証連携ポリシ203aに示される所属及び役職に対し、当該読み出したユーザ属性情報201a内の所属及び役職が適合するか否かに応じて、サービスデータの送信を許可するか否かを判定する送信許可判定機能。
(f209-4) この判定結果を含むポリシ評価応答をポリシ評価要求の送信元の認証連携ハンドリング部208に送出する機能。
IdPアカウントプロビジョニング部210は、認証連携ハンドリング部208からのアカウント連携要求を受けて、サービスプロバイダ装置300に対してアカウントプロビジョニングを実行する。IdPアカウントプロビジョニング部210は、具体的には例えば、以下の機能(f210-1)〜(f210-5)をもっている。
(f210-1) 送出されたアカウント連携要求内のサービスプロバイダIDに基づいて、SPユーザ設定ルールストア204からユーザ属性の一部の項目名を読み出す機能。
(f210-2) 当該読み出した一部の項目名とアカウント連携要求内のユーザIDとに基づいて、IdPユーザリポジトリ201内で当該ユーザIDに一致するユーザIDを含むユーザ属性情報201aのうち、当該一部の項目名に一致する項目名及びこの項目名に関連付けられた項目値からなるユーザ属性部分情報を取得する機能。
(f210-3) 取得したユーザ属性部分情報にアカウント登録指示を付加してアカウント連携要求メッセージを作成する機能。
(f210-4) アカウント連携要求メッセージを認証連携要求の送信元のサービスプロバイダ装置300に送信する機能。
(f210-5) アカウント連携要求メッセージの送信先のサービスプロバイダ装置300から当該サービスプロバイダ装置のサービスプロバイダIDとユーザ属性部分情報内のユーザIDとを含む登録完了が通知されると、当該登録完了を示すアカウント連携応答を認証連携ハンドリング部208に送出する機能。
一方、サービスプロバイダ装置300は、ユーザが利用するサービスを提供するものであり、信頼IdPストア301、SPユーザリポジトリ302、サービスデータストア303、利用状況ストア304、一時記憶部305、検証ポリシストア306、SP認証連携部307、利用状況提供部308、SPアカウントプロビジョニング部309及びサービスデータ通信部310を備えている。
信頼IdPストア301は、図8に示すように、IDプロバイダ装置200を識別するIDプロバイダIDのリストからなるIdPリスト(IDプロバイダリスト)301aを記憶する。
SPユーザリポジトリ302は、サービスデータ通信部310が送信するサービスデータを利用するユーザのアイデンティティ情報を記憶する。具体的には、SPユーザリポジトリ(ユーザ属性部分情報記憶手段)302は、図9に示すように、IdPユーザリポジトリ201内のユーザ属性情報201a内のユーザ属性の項目名及び項目値のうちの一部の項目名と項目値とを関連付けたユーザ属性部分情報302aと、自装置300内でユーザを識別するSP側ユーザIDとを関連付けて記憶している。
サービスデータストア303は、図10に示すように、サービスデータ303aを記憶している。サービスデータ303aは、サービスプロバイダ装置300によるサービス提供(サービスデータ送信)の対象として、ユーザ端末100に送信される任意のデータである。
利用状況ストア304は、図11に示すように、ユーザ利用管理テーブル304aと、利用数管理テーブル304bとを記憶している。ユーザ利用管理テーブル304aは、ユーザIDと、サービスデータ303aの送信が許可された場合を示すサービス利用中、又はサービスデータ303aの送信が許可されていない場合を示すサービス未利用のいずれかを示すサービス利用状況とを関連付けて書き込まれる。利用数管理テーブル304bは、ユーザ管理テーブル内のサービス利用状況が示すサービス利用中の個数を示す利用数と、利用数の上限値とを関連付けて書き込まれる。
一時記憶部305は、RAM等のような一時的なメモリであり、図12に示すように、例えば、認証アサーション207aから抽出した認証連携IDと、登録されたユーザ属性部分情報302a内のユーザIDと、発行された認証トークンとを関連付けて記憶する。
検証ポリシストア306は、図13に示すように、ログイン処理が成功した場合にサービスデータ303aの送信を許可するログイン処理の認証方式名と、IDプロバイダ装置200の署名生成鍵に対応する署名検証鍵とを含む認証アサーション検証ポリシを記憶する。署名検証鍵としては、例えば、公開鍵暗号方式における公開鍵と秘密鍵との鍵ペアのうちの公開鍵が使用可能となっている。
SP認証連携部307は、シングルサインオンのサービスプロバイダ機能を有する。SP認証連携部307は、具体的には例えば、以下の機能(f307-1)〜(f307-5)をもっている。
(f307-1) ユーザ端末100からサービス要求を受けると、当該サービス要求が認証トークンを含むか否かを判定し、認証トークンを含む場合には当該認証トークンとサービスデータストア303内のサービスデータ303aとを当該ユーザ端末100に送信し、否の場合には自装置300のサービスプロバイダIDと当該ユーザ端末100のアドレス情報とを含む認証連携要求をIDプロバイダ装置200に送信する機能。
(f307-2) IDプロバイダ装置200から認証連携応答を受けると、当該認証連携応答内の認証アサーション207aから認証連携IDを抽出し、当該抽出した認証連携IDと、登録されたユーザ属性部分情報302a内のユーザIDとを関連付けて一時記憶部305に書き込む機能。
(f307-3) 検証ポリシストア306内の認証アサーション検証ポリシ内の認証方式名と署名検証鍵とに基づいて、当該認証アサーション207a内の認証方式名とデジタル署名とをそれぞれ検証する検証機能。
(f307-4) 検証した結果がいずれも正当のとき、認証トークンを発行し、この認証トークンを認証連携IDに関連付けて一時記憶部305に書き込む機能。
(f307-5) 書き込まれた認証トークンと、当該認証トークンに一時記憶部305内で認証連携IDを介して関連付けられたユーザIDとを含むサービス実行要求をサービスデータ通信部310に送出する機能。
利用状況提供部308は、IDプロバイダ装置200の認証連携ポリシ評価部209から利用状況送信要求を受けると、この利用状況送信要求に含まれるユーザIDに基づいて利用状況ストア304を検索し、当該検索により得られたサービス利用状況を送信する機能をもっている。
SPアカウントプロビジョニング部309は、IDプロバイダ装置200のIdPアカウントプロビジョニング部210から受けたアカウントプロビジョニング要求(アカウント連携要求メッセージ)に基づき、SPユーザリポジトリ302に対してアカウントプロビジョニングを行う。SPアカウントプロビジョニング部309は、具体的には例えば、以下の機能(f309-1)〜(f309-2)をもっている。
(f309-1) IDプロバイダ装置200のIdPアカウントプロビジョニング部210からアカウント連携要求メッセージを受信すると、新規のSP側ユーザIDを発行し、当該発行したSP側ユーザIDと、当該アカウント連携要求メッセージ内のユーザ属性部分情報302aとを関連付けてSPユーザリポジトリ302に登録する機能。
(f309-2) この登録の後、登録したユーザ属性部分情報302a内のユーザIDと自装置300のサービスプロバイダIDとを含む登録完了をアカウント連携要求メッセージの送信元のIDプロバイダ装置200に通知する機能。
サービスデータ通信部310は、SP認証連携部307から送出されたサービス実行要求に基づいて、当該サービス実行要求内の認証トークンとサービスデータストア303内のサービスデータ303aとをユーザ端末100に送信する機能をもっている。
次に、以上のように構成された認証連携システムの動作について図14乃至図22を参照して説明する。以下の説明は、IDプロバイダ装置200とサービスプロバイダ装置300間でSSOが可能なシステム環境にあり、且つIDプロバイダ側の組織に所属するユーザが当該サービスプロバイダ装置300にアカウントが登録されてない状態から開始される。また、この状態において、ユーザがサービス要求をした時に、IDプロバイダ装置200が認証連携ポリシ203aを満たすか否かを判定し、満たす場合にサービスプロバイダ装置300側へのユーザのアカウント登録を行うことにより、IDプロバイダ装置200とサービスプロバイダ装置300間のSSOが実行され、サービスプロバイダ装置300からサービスデータ303aが送信される典型的な処理を例に挙げて述べる。
以降、図14に示す如き、ステップST10のユーザ認証(ST11〜ST18)、ステップST20の認証連携ポリシ評価(ST21〜ST27)、ステップST30のアカウント連携(ST31〜ST37)及びステップST40の認証連携(ST41〜ST49)に分けて説明する。
ステップST10のユーザ認証の処理においては、IDプロバイダ側の組織に所属するユーザが、ユーザのアカウントがサービスプロバイダ装置300に未登録の状態で、ユーザ端末100からサービス要求をサービスプロバイダ装置300に送信し、IDプロバイダ装置200がサービスプロバイダ装置300に代わってユーザの認証を行う。以下、図15のシーケンス図及び図16の模式図を用いて述べる。
ステップST11では、ユーザは、サービスプロバイダ装置300側のサービスを利用するために、ユーザ端末100を操作する。ユーザ端末100は、ユーザの操作により、サービス要求をサービスプロバイダ装置300に送信する。サービスプロバイダ装置300は、アクセス管理を担うSP認証連携部307がサービス要求をキャッチする。
ステップST12では、SP認証連携部307は、ユーザからのサービス要求を受けると、そのサービス要求が認証トークンを含むか否かを判定する。例えば、ユーザからのサービス要求がHTTPリクエストの形態の場合、そのHTTPリクエストに含まれるCookieの中に、サービスプロバイダ装置300が発行した認証トークンが存在することを確認する。
認証トークンの存在が確認できたら、サービスプロバイダ装置300は、サービス要求により要求されたサービスをユーザに対して提供する。すなわち、SP認証連携部307は、サービス要求が認証トークンを含む旨を判定すると、サービスデータ通信部310により、当該認証トークンとサービスデータ記憶部303内のサービスデータ303aとをユーザ端末100に送信する。具体的には、SP認証連携部307は、サービス要求内の認証トークンと、当該認証トークンに前記第2メモリ内で前記認証連携IDを介して関連付けられたユーザIDとを含むサービス実行要求をサービスデータ通信部310に送出する。
一方、判定の結果、サービス要求が認証トークンを含まない場合には、ステップST13を実行する。なお、後述するようにステップST13,ST14が省略される場合にはステップST15を実行する。
ステップST13では、SP認証連携部307は、ユーザが所属するIDプロバイダを当該ユーザに選択させるため、事前に信頼関係を確立したIDプロバイダを示すIDプロバイダIDを列挙したIdPリスト301aを信頼IdPストア301から読み出してユーザ端末100に送信する。なお、IdPリスト301aはIDプロバイダリストと呼んでもよい。
ステップST14では、ユーザ端末100は、サービスプロバイダ装置300から受信したIdPリスト301aを表示し、ユーザに対して、自身が所属するIDプロバイダの選択を促す。しかる後、ユーザ端末100は、ユーザの操作により、選択されたIDプロバイダIDをサービスプロバイダ装置300に送信する。なお、サービス要求がIDプロバイダの指定を含む場合や、サービスプロバイダ装置300が一つのIDプロバイダのIDプロバイダ装置200としか連携しない場合などのように、IDプロバイダの選択が不要な場合には、ステップST13〜ST14が省略される。
ステップST15では、サービスプロバイダ装置300は、ユーザ端末100から受信したIDプロバイダIDに基づいて、当該IDプロバイダIDに識別されるIDプロバイダ装置200に認証連携要求を依頼する。このとき、認証連携要求は、サービスプロバイダ装置300から直接IDプロバイダ装置200に向けて送信してもよいし、ユーザ端末100を一旦経由して、リダイレクトする形で送信されてもよい。認証連携要求は、自装置300のサービスプロバイダIDとユーザ端末100のアドレス情報とを含んでいる。
ステップST16では、IDプロバイダ装置200の認証連携ハンドリング部208が、IDプロバイダ装置200宛のメッセージをインターセプトする。認証連携ハンドリング部208は、メッセージを解析し、そのメッセージが認証連携要求であることを確認した場合、認証連携の処理を開始し、認証連携要求内のユーザ端末100のアドレス情報を含むユーザ認証要求をIdP認証連携部207に送出する。なお、認証連携要求以外のメッセージであることを確認した場合は、認証連携ハンドリング部208が仲介する形で、サービスプロバイダ装置300が所望する宛先へ再送信する。
ステップST17では、IdP認証連携部207は、ユーザ認証要求を受けると、このユーザ認証要求に基づいて、ユーザの識別と認証のためのログイン処理を実行する。このログイン処理においては、IdP認証連携部207は、送出されたユーザ認証要求内のユーザ端末100のアドレス情報に基づいて、当該ユーザ端末100にログイン要求を送信し、当該ユーザ端末100から受けたユーザID及びユーザ認証情報をIdPユーザリポジトリ201内のユーザID及び参照情報に基づいて認証する。
ステップST18では、IdP認証連携部207は、ステップST17のログイン処理が成功したとき、ログイン処理に用いたユーザIDと認証成功の旨とを含むユーザ認証完了のメッセージを認証連携ハンドリング部208に通知する。
以上により、ステップST10のユーザ認証(ST11〜ST18)が終了する。
ステップST20の認証連携ポリシ評価においては、ユーザ認証終了後、サービス利用状況やユーザ属性情報201a、認証連携ポリシ203aを入力値として、認証連携ポリシ評価を行い、ユーザのサービス要求に対して許可を下す。以下、図17のシーケンス図及び図18の模式図を用いて述べる。
ステップST21では、認証連携ハンドリング部208は、ステップST18にて受信したユーザ認証完了のメッセージを解析し、ログイン処理が成功したことを確認する。ログイン処理が成功したとき、認証連携ハンドリング部208は、ユーザのサービス要求に対するポリシ評価要求を認証連携ポリシ評価部209に送出する。ポリシ評価要求は、ステップST17の過程で取得したユーザID、すなわちユーザのIdPアカウントと、認証連携要求内のサービスプロバイダIDとを含んでいる。
以降、ステップST22〜ST25を通じて、認証連携ポリシ評価部208は、認証連携ポリシ203aの評価に必要な情報を収集する。
ステップST22では、認証連携ポリシ評価部209は、ポリシ評価要求内のユーザIDとサービスプロバイダIDに基づいてサービス利用状況ストア202からユーザのサービス利用状況を読み出す。但し、ステップST22は、後述するように静的なポリシ評価を実行する場合には省略される。このことは、ステップST23も同様である。
ここで、サービス利用状況ストア202は、図3に示すような2つの情報群を管理している。例えば、図3の上段に示すように、ユーザ単位でIDプロバイダ装置200が連携する単一もしくは複数のサービスプロバイダ装置300に関する利用状況の情報が記憶されている。例えば、図10のユーザIDがuser_0020のレコードについては、SP(1)はサービス未利用の状態、SP(2)はサービス利用中、SP(3)はサービス一時停止中、SP(N)はサービス利用終了の状態を表している。また、図3の下段に示すように、サービスプロバイダ装置300単位で、それぞれのサービスプロバイダ装置300を利用するユーザ数、およびそのサービスプロバイダ装置300を利用できるユーザ数の上限値が記憶されている。
以降、本実施形態では、図3を使って、ユーザIDはuser_0001、ユーザが要求するサービスプロバイダ装置300はSP(1)と仮定する。
ステップST23では、認証連携ポリシ評価部209は、ポリシ評価要求内のユーザIDに基づいて、利用状況提供部308から、サービスプロバイダ装置300が管理するユーザの利用状況を取得する。
ただし、ステップST23は、ユーザが希望するサービスプロバイダ装置300以外に、本実施形態のような他の全サービスプロバイダ装置300の利用状況がサービス未利用のケースでは実行されない。図3によると、ユーザIDがuser_0001のレコードがこれに該当する。
ステップST23が実行されるケースは、図3のユーザIDが、user_0020とuser_1000である。このようなケースが起こる状況は、認証連携ポリシ203aの評価指標として、IDプロバイダ側でなく、他のサービスプロバイダ装置300側で管理する情報も含めたいときである。他のサービスプロバイダ装置300側で管理する情報の一例としては、ユーザがサービス利用時に課される費用、つまり従量制課金がある。このように、時間に応じてに変化する情報をも認証連携ポリシ203aの評価指標として含めることで、ユーザのサービス利用に関してダイナミックなアクセス制御(=動的なポリシ評価)が可能となる。なお、ダイナミックなアクセス制御を実行する場合には、前述した従量制課金に限らず、例えば、サービスの現在の利用数とその上限値とを管理してもよい。
ステップST24では、認証連携ポリシ評価部209は、ポリシ評価要求内のユーザIDに基づいてIdPユーザリポジトリ201からユーザ属性情報201aを読み出す。本実施形態では、図2に示すようなユーザの属性情報となる。
ステップST25では、認証連携ポリシ評価部209は、ポリシ評価要求内のサービスプロバイダIDに基づいて認証連携ポリシストア203から認証連携ポリシ203aを読み出す。本実施形態では、図4の各認証連携ポリシ203aのうち、図中Aに関連付けられた第1の認証連携ポリシ(SP(1)利用時のポリシ)203aAが検索結果として読み出される。
ステップST26では、認証連携ポリシ評価部209は、静的なポリシ評価を実行する場合、ステップST25で読み出した認証連携ポリシ203aAに示される所属及び役職に対し、ステップST24で読み出したユーザ属性情報201a内の所属及び役職が適合するか否かに応じて、サービスデータ303aの送信を許可するか否かを判定する。
但し、ステップST22のサービス利用状況をも用いる動的なポリシ評価を実行する場合には、ステップST22,ST24,ST25を通じて取得したサービス利用状況、ユーザ属性情報201a及び認証連携ポリシ203aAに基づいて、ポリシ評価を実行する。
例えば、認証連携ポリシ203aAに示すSP(1)の利用に関するポリシ評価を例に説明する。認証連携ポリシ203aAには、事前に[1]〜[4]のサービス利用条件が定義されており(静的なポリシ評価の場合には[4]は未定義)、収集したサービス利用状況、ユーザ属性情報201aが、これらのサービス利用条件を全て満たすことを以下のように確認する。その結果として、ユーザのサービス要求に対して、許可を下す。
認証連携ポリシ203aAの[1]:認証連携ポリシ203aは、ユーザの所属する部がXであることを示す。これに対し、図2に示すように、ユーザ属性における当該ユーザの所属部が「X部門」である。従って、認証連携ポリシ203aにおける[1]の条件を満たす。
認証連携ポリシ203aAの[2]:認証連携ポリシ203aは、ユーザの所属する課がYであることを示す。これに対し、図2に示すように、ユーザ属性における当該ユーザの所属課が「Y課」である。従って、認証連携ポリシ203aにおける[2]の条件を満たす。
認証連携ポリシ203aAの[3]:認証連携ポリシ203aは、ユーザの役職がZ以上の役職であることを示す。これに対し、図2に示すように、ユーザ属性における当該ユーザの役職が「Z職」である。従って、認証連携ポリシ203aにおける[3]の条件を満たす。
認証連携ポリシ203aAの[4]:認証連携ポリシ203aは、利用中のアカウント数が上限値を超えないことを示す。これに対し、図3に示すように、当該サービスの利用数が10であり、上限値100を超えていない。従って、認証連携ポリシ203aにおける[4]の条件を満たす。
以上のように、事前に定義した認証連携ポリシ203aに基づき、収集したサービス利用状況とユーザ属性情報201aを使って、ユーザのサービス要求に対する認証連携ポリシ評価を行う。なお、上記の条件において、一つでも条件を満たさないことが確認できたら、認証連携ポリシ評価の結果は拒否となる。
ステップST27では、認証連携ポリシ評価部209は、ステップST26の判定結果からなるポリシ評価結果をポリシ評価応答として、認証連携ハンドリング部208に送出する。
以上により、ステップST20の認証連携ポリシ評価(ST21〜ST27)が終了する。
ステップST30のアカウント連携では、認証連携ポリシ評価により得られたポリシ評価応答(サービスデータ送信の許可を示す場合)に基づき、サービスプロバイダ装置300のSPユーザリポジトリ302に対して、ユーザのアカウントを作成することで、SSOの事前準備として必要なIDプロバイダ装置200とサービスプロバイダ装置300間でのアカウント連携を実現する。以下、図19のシーケンス図及び図20の模式図を用いて述べる。
ステップST31では、認証連携ハンドリング部208は、ステップST27で送出されたポリシ評価応答に含まれるポリシ評価結果を確認し、サービス要求を許可する場合は、ポリシ評価要求内のユーザIDとサービスプロバイダIDとを含むアカウント連携要求をIdPアカウントプロビジョニング部210に依頼する。なお、ポリシ評価結果がサービス利用の拒否を示す場合、サービス利用拒否の旨をユーザ端末100に通知する。ここでは、ポリシ評価結果が許可の場合を例に挙げ、以降のステップST32〜37を説明する。
ステップST32では、IdPアカウントプロビジョニング部210は、送出されたアカウント連携内のサービスプロバイダID(例、SP(1))に基づいて、SPユーザ設定ルールストア204からユーザ設定ルール204aを読み出す。ユーザ設定ルール204aは、例えば、サービスプロバイダ装置300に対してアカウント登録を行う際、サービスプロバイダ装置300ごとに求められる必要なユーザ属性の項目名(ユーザ属性の一部の項目名)などがある。ここでは、IdPアカウントプロビジョニング部210は、ユーザ設定ルール204aとして、ユーザ属性の一部の項目名を読み出したものとする。
ステップST33では、IdPアカウントプロビジョニング部210は、ステップST32で読み出した一部の項目名とアカウント連携要求内のユーザIDとに基づいて、IdPユーザリポジトリ201内で当該ユーザIDに一致するユーザIDを含むユーザ属性情報201aのうち、当該一部の項目名に一致する項目名及びこの項目名に関連付けられた項目値からなる必要なユーザ属性情報(ユーザ属性部分情報)を取得する。
ステップST34では、IdPアカウントプロビジョニング部210は、取得したユーザ属性部分情報にアカウント登録指示を付加してアカウント連携要求メッセージを作成する。例えば、IdPアカウントプロビジョニング部210は、SPアカウントプロビジョニング部309が公開する操作インタフェースに基づき、SPユーザリポジトリ302の操作の種類と、その操作が対象とするステップST33で取得したユーザ属性部分情報を対応付けて、SPアカウント連携要求メッセージを作成する。なお、本実施形態では、サービスプロバイダ装置300側にユーザのアカウントが登録されてないため、操作の種類としてアカウント登録を指定する。
ステップST35では、IdPアカウントプロビジョニング部210は、作成したSPアカウント連携要求メッセージを、認証連携要求の送信元のサービスプロバイダ装置300に送信する。SPアカウント連携要求メッセージは、サービスプロバイダ装置300内のSPアカウントプロビジョニング部309に受信される。
ステップST36では、SPアカウントプロビジョニング部309は、受信したSPアカウント連携要求メッセージに基づき、SP側ユーザID(サービスプロバイダ装置300側のユーザID)を新規発行し、当該SP側ユーザIDと、アカウント連携要求メッセージ内のユーザ属性部分情報302aとを関連付けてSPユーザリポジトリ302に登録する。登録後、SPアカウントプロビジョニング部309は、登録したユーザ属性部分情報302a内のユーザIDと自装置のサービスプロバイダIDとを含む登録完了をアカウント連携要求メッセージの送信元のIDプロバイダ装置200に通知する。具体的には、登録完了は、IDプロバイダ装置200内のIdPアカウントプロビジョニング部210に通知される。
ステップST37では、IdPアカウントプロビジョニング部210は、登録完了が通知されると、当該登録完了を示すアカウント連携応答を認証連携ハンドリング部208に送出する。
以上により、ステップST30のアカウント連携(ST31〜ST37)が終了する。
ステップST40の認証連携では、アカウント連携終了後、IDプロバイダ装置200とサービスプロバイダ装置300との間で認証連携、すなわちSSOを行う。以下、図21のシーケンス図及び図22の模式図を用いて述べる。
ステップST41では、認証連携ハンドリング部208は、ステップST37にて通知されたアカウント連携応答に含まれる結果を解析する。その結果に問題がなければ、認証連携ハンドリング部208は、送出されたアカウント連携応答内の登録完了に含まれるサービスプロバイダID及びユーザIDに基づいて、サービス利用状況ストア202内のサービス利用状況をサービス未利用からサービス利用中に更新する。これにより、サービス利用状況ストア202において、当該ユーザが要求したサービスプロバイダ装置300の利用状況がサービス未利用の状態からサービス利用中の状態に変更される。
ステップST42では、認証連携ハンドリング部208は、アカウント連携応答内の登録完了に含まれるサービスプロバイダID及びユーザIDを含む認証連携実行要求をIdP認証連携部207に送出する。
ステップST43では、IdP認証連携部207は、認証連携実行要求を受けると、当該認証連携実行要求内のサービスプロバイダIDで識別されるサービスプロバイダ装置300と自装置200との間で共有する認証連携IDを発行し、この認証連携IDと当該認証連携実行要求内のユーザIDとを関連付けて一時記憶部205に書き込む。
ステップST44では、IdP認証連携部207は、発行した認証連携IDと、ステップST17で行ったログイン処理の認証方式名とを含むアサーション本文を作成する。また、IdP認証連携部207は、アサーション本文に対して鍵記憶部206内の署名生成鍵に基づくデジタル署名を生成する。さらに、IdP認証連携部207は、当該アサーション本文と当該デジタル署名とを含む認証アサーション207aを作成する。
ステップST45では、IdP認証連携部207は、作成した認証アサーション207aを含む認証連携応答を、認証連携要求の送信元のサービスプロバイダ装置300に送信する。この認証連携応答は、当該サービスプロバイダ装置300のSP認証連携部307に受信される。
ステップST46では、SP認証連携部307は、認証連携応答を受けると、当該認証連携応答内の認証アサーション207aから認証連携IDを抽出し、当該抽出した認証連携IDと、ステップST36でSPユーザリポジトリ302に登録されたユーザ属性部分情報302a内のユーザIDとを関連付けて一時記憶部305に書き込む。
ステップST47では、SP認証連携部307は、認証アサーション検証ポリシ内の認証方式名と署名検証鍵とに基づいて、認証アサーション207a内の認証方式名とデジタル署名とをそれぞれ検証する。これにより、SP認証連携部307は、IDプロバイダ装置200が発行した認証アサーション207aから、IDプロバイダ装置200の認証結果を信頼できるかを判断し、ユーザへのサービスデータ送信(サービス提供)の可否を決定する。本実施形態では、検証した結果がいずれも正当であるとし、サービスデータ送信を許可として決定する。
ステップST48では、SP認証連携部307は、ステップST47で許可と決定されたとき、認証トークンを発行し、この認証トークンを認証連携IDに関連付けて一時記憶部305に書き込む。
ステップST49では、SP認証連携部307は、書き込まれた認証トークンと、当該認証トークンに一時記憶部305内で認証連携IDを介して関連付けられたユーザIDとを含むサービス実行要求をサービスデータ通信部310に送出する。サービスデータ通信部310は、送出されたサービス実行要求に基づいて、当該サービス実行要求内の認証トークンとサービスデータストア303内のサービスデータ303aとをユーザ端末100に送信する。
上述したように本実施形態によれば、ユーザからのサービスプロバイダ装置300へのサービス要求に対し、IDプロバイダ装置200内に配備された認証連携ハンドリング部208がサービスプロバイダ装置300からの認証連携要求をインターセプトし、事前に定義された認証連携ポリシ203aに基づき、サービスデータ303aの送信可否を判定する。そして、判定結果が許可の場合、IDプロバイダ装置200内で管理される当該ユーザ属性情報201aを使って、サービスプロバイダ装置300内で管理されるSPユーザリポジトリ302に対して、当該ユーザのアカウントを作成する。その後、IDプロバイダ装置200とサービスプロバイダ装置300の各々が、従来の認証連携処理を行い、当該ユーザに対してサービスプロバイダ装置300から所望のサービスが提供される。
従って、サービスプロバイダ装置300側に当該ユーザのアカウントが登録されてない状態でも、当該ユーザのサービス要求、すなわちSSOの実施タイミングで、IDプロバイダ装置200側に事前に定義した認証連携ポリシ203aに基づき、サービスデータ303aの送信可否を自動判定することで、人手を介すことなく、且つ時間を要することなく、当該ユーザに対してシームレスなサービス利用を提供することができる。
また、インターネットなどの分散環境下で提供されるサービス利用において、事前に定義したサービス利用のポリシとサービスの利用状況に基づいて、サービスの利用申請からシングルサインオンまでの一連の処理を自動化し、ユーザのスムーズなサービス利用の開始を実現することができる。
<第2の実施形態>
次に、第2の実施形態について前述した図面を参照しながら説明する。
第2の実施形態は、第1の実施形態のステップST23を実行する場合の具体例である。ここでは、サービス要求を送信したユーザ端末100のユーザが、既に他の様々なサービスプロバイダを利用している状況下にあって、別のサービスプロバイダを新規利用する場合を例に挙げて述べる。
この場合、第1の実施形態のステップST23において、ユーザが利用中の各サービスプロバイダの利用料金を認証連携ポリシ評価の指標として利用し、認証連携ポリシ203aに対して、利用料金の上限値を事前に定義することで(例、図4のCの[4])、別のサービスプロバイダの新規利用を拒否可能としている。
これに伴い、サービスプロバイダ装置300の利用状況ストア304は、図23に示すように、ユーザ利用管理テーブル304aにおいて、ユーザIDと、サービス利用中の状態に対して累積した利用料金とを関連付けて記憶する。
また、利用状況提供部308は、IDプロバイダ装置200からユーザIDを含む利用料金送信要求を受けると、この利用料金送信要求内のユーザIDに基づいて利用状況ストア304を検索し、当該検索により得られた利用料金及び当該ユーザIDを含む利用料金応答を当該IDプロバイダ装置200に送信する機能をもっている。
一方、IDプロバイダ装置200においては、認証連携ポリシストア203内の各認証連携ポリシ203aのうちのいずれかの認証連携ポリシ203aは、サービスプロバイダIDに関連付けて、当該サービスプロバイダIDで識別されるサービスプロバイダ装置300によるサービスデータ303aの送信が許可されるユーザの所属及び役職と、当該ユーザの利用料金の上限値(例、図4のCの[4])とを示している。
また、認証連携ポリシ評価部209は、認証連携ハンドリング部208から送出されたポリシ評価要求内のユーザIDとサービスプロバイダIDとに基づいて、当該サービスプロバイダIDで識別されるサービスプロバイダ装置300に対し、当該ユーザIDを含む利用料金送信要求を送信し、当該サービスプロバイダ装置300から当該ユーザID及び利用料金を含む利用料金応答を受信する機能を更に備えている。なお、受信した利用料金は、図24に示すように、ユーザIDとサービスプロバイダIDとに関連付けてサービス状況ストア202内のユーザ利用管理テーブル202aに書き込んでもよいが、必ずしも書き込まなくてもよい。
また、認証連携ポリシ評価部209の前述した送信許可判定機能は、認証連携ポリシストア203から読み出した認証連携ポリシ203aにユーザの所属及び役職と利用料金の上限値とが含まれる場合、読み出したポリシ情報に示される所属及び役職に対してIdPユーザリポジトリ201から読み出したユーザ属性情報201a内の所属及び役職が適合するか否かと、当該読み出したポリシ情報に示される利用料金の上限値に対してサービスプロバイダ装置300から受信した利用料金応答内の利用料金が適合するか否かとに応じて、サービスデータ303aの送信を許可するか否かを判定する機能となっている。
ここで、本明細書においては、上述したような読み出したポリシ情報に示される所属及び役職には限られず、読み出したポリシ情報に対して、読み出したユーザ属性情報、ユーザが利用したいサービスの種類、ユーザが行いたいサービスへの操作、サービスを実行するに際してのユーザの環境条件に適合するか否かと、当該読み出したポリシ情報に示される利用料金の上限値に対して、受信した利用料金応答内の利用料金が適合するか否かとに応じて、サービスデータ303aの送信を許可するか否かを判定しても良い。
次に、以上のように構成された認証連携システムの動作について前述した図17を主に参照して説明する。
今、ステップST10のユーザ認証(ST11〜ST18)は、前述した通りに実行される。
続いて、ステップST20の認証連携ポリシ評価においては、ステップST21(ポリシ評価要求)及びステップST22(サービス利用状況の検索)が前述した通りに実行される。
ステップST23では、認証連携ポリシ評価部209は、認証連携ハンドリング部208から送出されたポリシ評価要求内のユーザIDとサービスプロバイダIDとに基づいて、当該サービスプロバイダIDで識別されるサービスプロバイダ装置300に対し、当該ユーザIDを含む利用料金送信要求を送信する。
サービスプロバイダ装置300の利用状況提供部308は、この利用料金送信要求内のユーザIDに基づいて利用状況ストア304を検索し、当該検索により得られた利用料金及び当該ユーザIDを含む利用料金応答を当該IDプロバイダ装置200に送信する。
IDプロバイダ装置200の認証連携ポリシ評価部209は、この利用料金応答を受信する。
次に、ステップST24(ユーザ属性情報201aの検索)及びステップST25(認証連携ポリシ203aの検索)が前述同様に実行される。但し、認証連携ポリシ203aは、利用料金の上限値を含んでいるものとする。
ステップST26では、認証連携ポリシ評価部209は、認証連携ポリシストア203から読み出した認証連携ポリシ203aにユーザの所属及び役職と利用料金の上限値とが含まれる場合、読み出したポリシ情報に示される所属及び役職に対してIdPユーザリポジトリ201から読み出したユーザ属性情報201a内の所属及び役職が適合するか否かと、当該読み出したポリシ情報に示される利用料金の上限値に対してサービスプロバイダ装置300から受信した利用料金応答内の利用料金が適合するか否かとに応じて、サービスデータ303aの送信を許可するか否かを判定する。
以降のステップST27(ポリシ評価応答)、ステップST30のアカウント連携(ST31〜ST37)及びステップST40の認証連携(ST41〜ST49)の処理は、前述した通りに実行される。
上述したように本実施形態によれば、第1の実施形態の効果に加え、ユーザの利用料金にも応じて、サービスデータ送信の可否を判定することができる。
従って、認証連携ポリシ203aを導入し、IDプロバイダ装置200やサービスプロバイダ装置300側で管理する動的に変化するサービス利用状況も、ユーザ単位でなく、IDプロバイダ単位で取り扱うことで、厳密な認証連携およびサービス利用の制御が可能となる。
補足すると、第1の実施形態においてスムーズなサービス利用が可能になることで利便性が向上する反面、企業などの営利組織にとって無駄なサービス利用は好ましくない。従って、ユーザや組織レベルでのサービス利用状況に応じて、ダイナミック且つ柔軟に利用管理をコントロールする仕組みを備えていることが望ましい。本実施形態及び第3の実施形態はこのような仕組みを備えた認証連携システムを実現することができる。
<第3の実施形態>
次に、第3の実施形態について前述した図面を参照しながら説明する。
第3の実施形態は、第1の実施形態のステップST23を実行する場合の他の具体例である。ここでは、サービスプロバイダ装置300では、サービスを利用するユーザの数が上限値にある状況において、新たにサービス要求を受けた場合を例に挙げて述べる。
すなわち、サービスプロバイダの利用数を認証連携ポリシ評価の指標として利用し、認証連携ポリシ203aに対して、利用数が上限値を超過した場合の追加条件を事前に定義しておく(図4のBの[4])。事前に定義する追加条件には、IDプロバイダ装置200内で管理する遊休状態のユーザが存在すれば、サービスプロバイダ装置300内で管理する遊休状態ユーザのアカウントを削除もしくは無効化し、新規ユーザのアカウント登録の責務条件を定義する(図4のBの[4]の[責務条件])。このように、利用数が上限を超えた場合に、遊休ユーザのアカウントを無効化して空いた枠を申請ユーザのアカウントに割り当てる旨の責務条件を備えた認証連携ポリシ203aにより、利用数が上限を超えた場合でも、IDプロバイダ内の利用状況に合わせて、必要に応じた素早いサービス利用が開始可能となっている。
換言すると、認証連携ポリシストア203内の各認証連携ポリシ203aのうちのいずれかの認証連携ポリシ203aは、サービスプロバイダIDに関連付けて、当該サービスプロバイダIDで識別されるサービスプロバイダ装置300によるサービスデータ303aの送信が許可されるユーザの所属及び役職と、当該ユーザの人数が上限値を超えた場合には当該ユーザの中で最終利用日から現在までの期間が所定期間以上であるユーザが存在することと、当該存在するユーザのユーザ属性部分情報302aを無効化すること(例、図4のBの[4])とを示している。なお、ここでいう「ユーザの人数」は、サービス利用状況ストア202内の「現在の利用数」に等しい値を意味している。
これに伴い、サービスプロバイダ装置300の利用状況ストア304は、図25に示すように、ユーザ利用管理テーブル304aにおいて、前述した記憶内容に加え、ユーザIDと、サービスデータ303aを送信した最終の日付を示す最終利用日とを含む最終利用日情報とを記憶する。
また、利用状況提供部308は、IDプロバイダ装置200から最終利用日送信要求を受けると、利用状況ストア304内の最終利用日情報を当該IDプロバイダ装置200に送信する機能をもっている。
一方、IDプロバイダ装置200の認証連携ポリシ評価部209は、前述した機能に加え、認証連携ハンドリング部208から送出されたポリシ評価要求内のサービスプロバイダIDに基づいてサービス利用状況ストア202から利用数及び上限値を読み出す機能と、当該送出されたポリシ評価要求内のサービスプロバイダIDに基づいて、当該サービスプロバイダIDで識別されるサービスプロバイダ装置300に対し、最終利用日送信要求を送信し、当該サービスプロバイダ装置300から最終利用日情報を受信する機能とをもっている。なお、受信した最終利用日情報は、図26に示すように、ユーザIDとサービスプロバイダIDとに関連付けてサービス状況ストア202内のユーザ利用管理テーブル202aに書き込んでもよいが、必ずしも書き込まなくてもよい。
また、認証連携ポリシ評価部209の前述した送信許可判定機能は、認証連携ポリシストア203から読み出した認証連携ポリシ203aにユーザの所属及び役職と利用数の上限値を超えた場合に所定期間以上であるユーザが存在することと当該存在するユーザのユーザ属性部分情報302aを無効化することとが含まれる場合、当該読み出した認証連携ポリシ203aに示される所属及び役職に対してIdPユーザリポジトリ201から読み出したユーザ属性情報201a内の所属及び役職が適合するか否かと、サービス利用状況ストア202から読み出した利用数が当該サービス利用状況ストア202から読み出した上限値を超えた場合に最終利用日送信要求をサービスプロバイダ装置200に送信して当該サービスプロバイダ装置200から受けた最終利用日情報内の最終利用日が読み出した認証連携ポリシ203a内の所定期間以上に適合するか否かとに応じてサービスデータ303aの送信を許可するか否かを判定する機能とをもっている。
次に、以上のように構成された認証連携システムの動作について前述した図17を主に参照して説明する。
今、ステップST10のユーザ認証(ST11〜ST18)は、前述した通りに実行される。
続いて、ステップST20の認証連携ポリシ評価においては、ステップST21(ポリシ評価要求)及びステップST22(サービス利用状況の検索)が前述同様に実行される。このステップST22では、ポリシ評価要求内のサービスプロバイダIDに基づいてサービス利用状況ストア202から利用数及び上限値が読み出される。
ステップST23では、認証連携ポリシ評価部209は、認証連携ハンドリング部208から送出されたポリシ評価要求内のユーザIDとサービスプロバイダIDとに基づいて、当該サービスプロバイダIDで識別されるサービスプロバイダ装置300に対し、最終利用日送信要求を送信する。
サービスプロバイダ装置300の利用状況提供部308は、この最終利用日送信要求を受けると、利用状況ストア304内の最終利用日情報をIDプロバイダ装置200に送信する。
IDプロバイダ装置200の認証連携ポリシ評価部209は、この最終利用日情報を受信する。
次に、ステップST24(ユーザ属性情報201aの検索)及びステップST25(認証連携ポリシ203aの検索)が前述同様に実行される。但し、認証連携ポリシ203aは、サービスプロバイダIDに関連付けて、当該サービスプロバイダIDで識別されるサービスプロバイダ装置300によるサービスデータ303aの送信が許可されるユーザの所属及び役職と、当該ユーザの人数が上限値を超えた場合には当該ユーザの中で最終利用日から現在までの期間が所定期間以上であるユーザが存在することと、当該存在するユーザのユーザ属性部分情報302aを無効化すること(例、図4のBの[4])とを示しているものとする。
ステップST26では、認証連携ポリシ評価部209が、図4の203aBで示す認証連携ポリシに基づいて、連携の可否を決定する。認証連携ポリシストア203から読み出した認証連携ポリシ203aにユーザの所属及び役職と利用数の上限値を超えた場合に所定期間以上であるユーザが存在することと当該存在するユーザのユーザ属性部分情報302aを無効化することとが含まれる場合、当該読み出した認証連携ポリシ203aに示される所属及び役職に対してIdPユーザリポジトリ201から読み出したユーザ属性情報201a内の所属及び役職が適合するか否かと、サービス利用状況ストア202から読み出した利用数が当該サービス利用状況ストア202から読み出した上限値を超えた場合に最終利用日送信要求をサービスプロバイダ装置200に送信して当該サービスプロバイダ装置200から受けた最終利用日情報内の最終利用日が読み出した認証連携ポリシ203a内の所定期間以上に適合するか否かとに応じてサービスデータ303aの送信を許可するか否かを判定する。
ステップST27(ポリシ評価応答)では、認証連携ポリシ評価部209が下した許可に加えて、図4の認証連携ポリシ203aにおけるB[4]からの「半年以上に渡ってサービス未使用のユーザのSPアカウントを無効化する」との責務条件付きの評価結果を、認証連携ポリシ評価部209が認証連携ハンドリング部208に返す。このとき、無効化対象ユーザのユーザIDも当該評価結果には付与される。
以降のステップST30のアカウント連携(ST31〜ST37)及びステップST40の認証連携(ST41〜ST49)の処理は、前述した通りに実行される。なお、本実施形態では、認証連携ポリシの評価結果として条件が含まれるため、ステップST33(ユーザ属性情報の検索)とステップST34(SPアカウント連携要求メッセージ送信)において、次のような処理が加わる。
まず、ステップST33においては、IdPアカウントプロビジョニング部210が、当該ユーザの属性情報に加えて、無効化対象ユーザのアカウントを無効化するために必要な属性情報も検索する。また、ステップST34においては、IdPアカウントプロビジョニング部210が、当該ユーザのユーザ属性部分情報とアカウント登録指示に加えて、更に無効化対象ユーザのアカウントを無効化するアカウント更新指示も付加して、アカウント連携要求メッセージを作成する。
上述したように本実施形態によれば、第1の実施形態の効果に加え、利用数が上限を超えた場合に、遊休ユーザのアカウントを無効化して空いた枠を申請ユーザのアカウントに割り当てる旨の責務条件を認証連携ポリシ203aに加えた構成により、利用数が上限を超えた場合でも、IDプロバイダ内の利用状況に合わせて、素早くサービス利用を開始することができる。
以上説明した少なくとも一つの実施形態によれば、サービスプロバイダID毎に、サービスデータ303aの送信が許可されるユーザの所属及び役職を示す複数の認証連携ポリシ203aを記憶する認証連携ポリシストア203と、読み出した認証連携ポリシ203aに示される所属及び役職に対し、読み出したユーザ属性情報201a内の所属及び役職が適合するか否かに応じて、サービスデータ303aの送信を許可するか否かを判定する認証連携ポリシ評価部209とを備えた構成により、SSOの過程でアカウント登録及び連携を実行する際に、人手を介さずにサービス利用可否を決定することができる。
補足すると、従来のデータ処理システムにおいては、サービスプロバイダがアカウントを登録するための十分な情報を保持していないことを確認し、不足したユーザ属性をIDプロバイダに要求する手間がかかり、このような確認や要求に人手を介していた。
一方、少なくとも一つの実施形態では、前述した予め認証連携ポリシ203aを記憶した構成により、従来のような確認や要求に人手を介することがない。
なお、上記の各実施形態に記載した手法は、コンピュータに実行させることのできるプログラムとして、磁気ディスク(フロッピー(登録商標)ディスク、ハードディスクなど)、光ディスク(CD−ROM、DVDなど)、光磁気ディスク(MO)、半導体メモリなどの記憶媒体に格納して頒布することもできる。
また、この記憶媒体としては、プログラムを記憶でき、かつコンピュータが読み取り可能な記憶媒体であれば、その記憶形式は何れの形態であっても良い。
また、記憶媒体からコンピュータにインストールされたプログラムの指示に基づきコンピュータ上で稼働しているOS(オペレーティングシステム)や、データベース管理ソフト、ネットワークソフト等のMW(ミドルウェア)等が上記実施形態を実現するための各処理の一部を実行しても良い。
さらに、各実施形態における記憶媒体は、コンピュータと独立した媒体に限らず、LANやインターネット等により伝送されたプログラムをダウンロードして記憶または一時記憶した記憶媒体も含まれる。
また、記憶媒体は1つに限らず、複数の媒体から上記の各実施形態における処理が実行される場合も本発明における記憶媒体に含まれ、媒体構成は何れの構成であっても良い。
なお、各実施形態におけるコンピュータは、記憶媒体に記憶されたプログラムに基づき、上記の各実施形態における各処理を実行するものであって、パソコン等の1つからなる装置、複数の装置がネットワーク接続されたシステム等の何れの構成であっても良い。
また、各実施形態におけるコンピュータとは、パソコンに限らず、情報処理機器に含まれる演算処理装置、マイコン等も含み、プログラムによって本発明の機能を実現することが可能な機器、装置を総称している。
なお、本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
100…ユーザ端末、200…IDプロバイダ装置、201…IdPユーザリポジトリ、201a…ユーザ属性情報、202…サービス利用状況ストア、202a,304a…ユーザ利用管理テーブル、202b,304b…利用数管理テーブル、203…認証連携ポリシストア、203a…認証連携ポリシ、204…SPユーザ設定ルールストア、204a…ユーザ設定ルール、205,305…一時記憶部、206…鍵記憶部、207…IdP認証連携部、207a…認証アサーション、208…認証連携ハンドリング部、209…認証連携ポリシ評価部、210…IdPアカウントプロビジョニング部、300…サービスプロバイダ装置、301…信頼IdPストア、301a…IdPリスト、302…SPユーザリポジトリ、302a…ユーザ属性部分情報、303…サービスデータストア、303a…サービスデータ、304…利用状況ストア、306…検証ポリシストア、307…SP認証連携部、308…利用状況提供部、309…SPアカウントプロビジョニング部、310…サービスデータ通信部。

Claims (4)

  1. ユーザが操作するユーザ端末にログイン処理を実行可能で第1メモリを有するIDプロバイダ装置と、前記ログイン処理が成功した場合に前記ユーザ端末にサービスデータを送信可能で第2メモリを有する複数のサービスプロバイダ装置とを備えた認証連携システムであって、
    前記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と当該認証連携実行要求内のユーザIDとを関連付けて前記第1メモリに書き込む手段と、
    前記発行した認証連携IDと、前記ログイン処理の認証方式名とを含むアサーション本文に対して前記署名生成鍵に基づくデジタル署名を生成し、当該アサーション本文と当該デジタル署名とを含む認証アサーションを作成する手段と、
    前記作成した認証アサーションを含む認証連携応答を前記認証連携要求の送信元のサービスプロバイダ装置に送信する手段と
    を備え、
    前記各サービスプロバイダ装置は、
    前記ユーザ属性情報記憶手段内のユーザ属性情報内のユーザ属性の項目名及び項目値のうちの一部の項目名と項目値とを関連付けたユーザ属性部分情報と、自装置内でユーザを識別するSP側ユーザIDとを関連付けて記憶するユーザ属性部分情報記憶手段と、
    前記ログイン処理が成功した場合にサービスデータの送信を許可するログイン処理の認証方式名と、前記署名生成鍵に対応する署名検証鍵とを含む認証アサーション検証ポリシを記憶する検証ポリシ記憶手段と、
    前記サービスデータを記憶するサービスデータ記憶手段と、
    前記ユーザ端末からサービス要求を受けると、当該サービス要求が認証トークンを含むか否かを判定し、前記認証トークンを含む場合には当該認証トークンと前記サービスデータ記憶手段内のサービスデータとを当該ユーザ端末に送信し、否の場合には自装置のサービスプロバイダIDと当該ユーザ端末のアドレス情報とを含む認証連携要求を前記IDプロバイダ装置に送信する手段と、
    前記アカウント連携要求メッセージを受信すると、新規の前記SP側ユーザIDを発行し、当該発行したSP側ユーザIDと、当該アカウント連携要求メッセージ内のユーザ属性部分情報とを関連付けて前記ユーザ属性部分情報記憶手段に登録する手段と、
    この登録の後、登録したユーザ属性部分情報内のユーザIDと自装置のサービスプロバイダIDとを含む登録完了を前記アカウント連携要求メッセージの送信元のIDプロバイダ装置に通知する手段と、
    前記IDプロバイダ装置から認証連携応答を受けると、当該認証連携応答内の認証アサーションから認証連携IDを抽出し、当該抽出した認証連携IDと、前記登録されたユーザ属性部分情報内のユーザIDとを関連付けて前記第2メモリに書き込む手段と、
    前記認証アサーション検証ポリシ内の認証方式名と署名検証鍵とに基づいて、前記認証アサーション内の認証方式名とデジタル署名とをそれぞれ検証する検証手段と、
    前記検証した結果がいずれも正当のとき、認証トークンを発行し、この認証トークンを前記認証連携IDに関連付けて前記第2メモリに書き込む手段と、
    前記書き込まれた認証トークンと、当該認証トークンに前記第2メモリ内で前記認証連携IDを介して関連付けられたユーザIDとを含むサービス実行要求を送出する手段と、
    前記送出されたサービス実行要求に基づいて、当該サービス実行要求内の認証トークンと前記サービスデータ記憶手段内のサービスデータとを前記ユーザ端末に送信する手段と
    を備えたことを特徴とする認証連携システム。
  2. 請求項1に記載の認証連携システムにおいて、
    前記各サービスプロバイダ装置は、
    前記ユーザIDと、前記サービス利用中の状態に対して累積した利用料金とを関連付けて記憶する利用料金記憶手段と、
    前記IDプロバイダ装置からユーザIDを含む利用料金送信要求を受けると、この利用料金送信要求内のユーザIDに基づいて前記利用料金記憶手段を検索し、当該検索により得られた利用料金及び当該ユーザIDを含む利用料金応答を当該IDプロバイダ装置に送信する手段と
    を更に備え、
    前記IDプロバイダ装置は、
    前記各ポリシ情報のうちのいずれかのポリシ情報は、前記サービスプロバイダIDに関連付けて、当該サービスプロバイダIDで識別されるサービスプロバイダ装置によるサービスデータの送信が許可される対象となるユーザの環境条件と、当該ユーザの利用料金の上限値とを示しており、
    前記送出されたポリシ評価要求内のユーザIDとサービスプロバイダIDとに基づいて、当該サービスプロバイダIDで識別されるサービスプロバイダ装置に対し、当該ユーザIDを含む利用料金送信要求を送信し、当該サービスプロバイダ装置から当該ユーザID及び利用料金を含む利用料金応答を受信する手段と
    を更に備え、
    前記送信許可判定手段は、前記読み出したポリシ情報に対して前記読み出したユーザ属性情報、ユーザが利用したいサービスの種類、ユーザが行いたいサービスへの操作、サービスを実行するに際してのユーザの環境条件に適合するか否かと、当該読み出したポリシ情報に示される利用料金の上限値に対して前記受信した利用料金応答内の利用料金が適合するか否かとに応じて、前記サービスデータの送信を許可するか否かを判定することを特徴とする認証連携システム。
  3. 請求項1に記載の認証連携システムにおいて、
    前記各ポリシ情報のうちのいずれかのポリシ情報は、前記サービスプロバイダIDに関連付けて、当該サービスプロバイダIDで識別されるサービスプロバイダ装置によるサービスデータの送信が許可される対象となるユーザの環境条件と、当該ユーザの人数が上限値を超えた場合には当該ユーザの中で最終利用日から現在までの期間が所定期間以上であるユーザが存在することと、当該存在するユーザのユーザ属性部分情報を無効化することとを示しており、
    前記各サービスプロバイダ装置は、
    前記ユーザIDと、前記サービスデータを送信した最終の日付を示す最終利用日とを含む最終利用日情報を記憶する最終利用日記憶手段と、
    前記IDプロバイダ装置から最終利用日送信要求を受けると、前記最終利用日記憶手段内の最終利用日情報を当該IDプロバイダ装置に送信する手段と、
    を更に備え、
    前記IDプロバイダ装置は、
    前記サービスプロバイダIDと、当該サービスプロバイダIDに関連付けられた前記サービス利用状況が示す前記サービス利用中の個数を示していて前記ユーザの人数に等しい利用数と、前記利用数の上限値とを関連付けて記憶するサービス利用数記憶手段と、
    前記送出されたポリシ評価要求内のサービスプロバイダIDに基づいて前記サービス利用数記憶手段から利用数及び上限値を読み出す手段と、
    前記送出されたポリシ評価要求内のサービスプロバイダIDに基づいて、当該サービスプロバイダIDで識別されるサービスプロバイダ装置に対し、前記最終利用日送信要求を送信し、当該サービスプロバイダ装置から前記最終利用日情報を受信する手段と
    を更に備え、
    前記送信許可判定手段は、
    前記読み出したポリシ情報にユーザの利用数の上限値を超えた場合に前記所定期間以上であるユーザが存在することと当該存在するユーザのユーザ属性部分情報を無効化することとが含まれる場合、前記読み出したポリシ情報に対して前記読み出したユーザ属性情報、ユーザが利用したいサービスの種類、ユーザが行いたいサービスへの操作、サービスを実行するに際してのユーザの環境条件に適合するか否かと、前記サービス利用数記憶手段から読み出した利用数が当該サービス利用数記憶手段から読み出した上限値を超えた場合に前記最終利用日送信要求をサービスプロバイダ装置に送信して当該サービスプロバイダ装置から受けた最終利用日情報内の最終利用日が前記読み出したポリシ情報内の所定期間以上に適合するか否かとに応じて、前記サービスデータの送信を許可するか否かを判定する手段と、
    この判定の結果が許可を示す場合、当該判定に用いた所定期間以上のユーザのユーザIDを含む無効化要求を前記サービスプロバイダ装置に送信する手段と
    を備えたことを特徴とする認証連携システム。
  4. ユーザが操作するユーザ端末にログイン処理を実行可能で第1メモリを有するIDプロバイダ装置における前記ログイン処理が成功した場合に前記ユーザ端末にサービスデータを送信可能で第2メモリを有する複数のサービスプロバイダ装置に通信可能な前記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と当該認証連携実行要求内のユーザIDとを関連付けて前記第1メモリに書き込む手段と、
    前記発行した認証連携IDと、前記ログイン処理の認証方式名とを含むアサーション本文に対して前記署名生成鍵に基づくデジタル署名を生成し、当該アサーション本文と当該デジタル署名とを含む認証アサーションを作成する手段と、
    前記作成した認証アサーションを含む認証連携応答を前記認証連携要求の送信元のサービスプロバイダ装置に送信する手段と
    を備え、
    前記各サービスプロバイダ装置は、
    前記ユーザ端末からサービス要求を受けると、当該サービス要求が認証トークンを含むか否かを判定し、前記認証トークンを含む場合には当該認証トークンと前記サービスデータ記憶手段内のサービスデータとを当該ユーザ端末に送信し、否の場合には自装置のサービスプロバイダIDと当該ユーザ端末のアドレス情報とを含む認証連携要求を前記IDプロバイダ装置に送信し、
    前記アカウント連携要求メッセージを受信すると、新規の前記SP側ユーザIDを発行し、当該発行したSP側ユーザIDと、当該アカウント連携要求メッセージ内のユーザ属性部分情報とを関連付けて登録し、
    この登録の後、登録したユーザ属性部分情報内のユーザIDと自装置のサービスプロバイダIDとを含む登録完了を前記アカウント連携要求メッセージの送信元のIDプロバイダ装置に通知し、
    前記IDプロバイダ装置から認証連携応答を受けると、当該認証連携応答内の認証アサーションから認証連携IDを抽出し、当該抽出した認証連携IDと、前記登録されたユーザ属性部分情報内のユーザIDとを関連付けて前記第2メモリに書き込むと、予め記憶した認証アサーション検証ポリシ内の認証方式名と署名検証鍵とに基づいて、前記認証アサーション内の認証方式名とデジタル署名とをそれぞれ検証し、
    前記検証した結果がいずれも正当のとき、認証トークンを発行し、この認証トークンを前記認証連携IDに関連付けて前記第2メモリに書き込むと、前記書き込まれた認証トークンと、当該認証トークンに前記第2メモリ内で前記認証連携IDを介して関連付けられたユーザIDとを含むサービス実行要求を送出し、前記送出されたサービス実行要求に基づいて、当該サービス実行要求内の認証トークンと予め記憶したサービスデータとを前記ユーザ端末に送信することを特徴とするIDプロバイダ装置。
JP2010250903A 2010-11-09 2010-11-09 認証連携システム及びidプロバイダ装置 Active JP4892093B1 (ja)

Priority Applications (6)

Application Number Priority Date Filing Date Title
JP2010250903A JP4892093B1 (ja) 2010-11-09 2010-11-09 認証連携システム及びidプロバイダ装置
EP11839719.9A EP2639727B1 (en) 2010-11-09 2011-11-07 Authentication collaboration system and id provider device
CN201180044620.XA CN103109298B (zh) 2010-11-09 2011-11-07 认证协作系统以及id提供商装置
SG2013034046A SG190128A1 (en) 2010-11-09 2011-11-07 Authentication federation system and id provider device
PCT/JP2011/075611 WO2012063783A1 (ja) 2010-11-09 2011-11-07 認証連携システム及びidプロバイダ装置
US13/890,539 US9059982B2 (en) 2010-11-09 2013-05-09 Authentication federation system and ID provider device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2010250903A JP4892093B1 (ja) 2010-11-09 2010-11-09 認証連携システム及びidプロバイダ装置

Publications (2)

Publication Number Publication Date
JP4892093B1 JP4892093B1 (ja) 2012-03-07
JP2012103846A true JP2012103846A (ja) 2012-05-31

Family

ID=45907904

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010250903A Active JP4892093B1 (ja) 2010-11-09 2010-11-09 認証連携システム及びidプロバイダ装置

Country Status (6)

Country Link
US (1) US9059982B2 (ja)
EP (1) EP2639727B1 (ja)
JP (1) JP4892093B1 (ja)
CN (1) CN103109298B (ja)
SG (1) SG190128A1 (ja)
WO (1) WO2012063783A1 (ja)

Cited By (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8793759B2 (en) 2011-12-27 2014-07-29 Kabushiki Kaisha Toshiba Authentication collaboration system and ID provider device
JP2014186681A (ja) * 2013-03-25 2014-10-02 Nomura Research Institute Ltd サービス利用支援システム
US8955041B2 (en) 2012-02-17 2015-02-10 Kabushiki Kaisha Toshiba Authentication collaboration system, ID provider device, and program
CN104685511A (zh) * 2012-09-26 2015-06-03 株式会社东芝 策略管理系统、id提供者系统以及策略评价装置
JP2015531511A (ja) * 2012-09-07 2015-11-02 オラクル・インターナショナル・コーポレイション マルチドメインアイデンティティ管理システム
JP2016511479A (ja) * 2013-03-15 2016-04-14 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation 企業のソーシャル・ビジネス・コンピューティングのためのマルチテナント機能のサポート方法、およびシステム。
JP2019532368A (ja) * 2016-08-31 2019-11-07 オラクル・インターナショナル・コーポレイション マルチテナントアイデンティティクラウドサービスのためのデータ管理
JP2019532418A (ja) * 2016-09-16 2019-11-07 オラクル・インターナショナル・コーポレイション マルチテナントアイデンティティおよびデータセキュリティ管理クラウドサービスのためのテナントおよびサービス管理
US11258786B2 (en) 2016-09-14 2022-02-22 Oracle International Corporation Generating derived credentials for a multi-tenant identity cloud service
US11308132B2 (en) 2017-09-27 2022-04-19 Oracle International Corporation Reference attributes for related stored objects in a multi-tenant cloud service
US11423111B2 (en) 2019-02-25 2022-08-23 Oracle International Corporation Client API for rest based endpoints for a multi-tenant identify cloud service
US11463488B2 (en) 2018-01-29 2022-10-04 Oracle International Corporation Dynamic client registration for an identity cloud service
US11687378B2 (en) 2019-09-13 2023-06-27 Oracle International Corporation Multi-tenant identity cloud service with on-premise authentication integration and bridge high availability
US11792226B2 (en) 2019-02-25 2023-10-17 Oracle International Corporation Automatic api document generation from scim metadata
US11870770B2 (en) 2019-09-13 2024-01-09 Oracle International Corporation Multi-tenant identity cloud service with on-premise authentication integration

Families Citing this family (59)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5383838B2 (ja) * 2012-02-17 2014-01-08 株式会社東芝 認証連携システム、idプロバイダ装置およびプログラム
US10176335B2 (en) * 2012-03-20 2019-01-08 Microsoft Technology Licensing, Llc Identity services for organizations transparently hosted in the cloud
JP6066586B2 (ja) * 2012-05-22 2017-01-25 キヤノン株式会社 情報処理システム、その制御方法、およびそのプログラム。
US9779260B1 (en) 2012-06-11 2017-10-03 Dell Software Inc. Aggregation and classification of secure data
WO2014049741A1 (ja) 2012-09-26 2014-04-03 株式会社 東芝 ポリシ更新システム及びポリシ更新装置
US9251321B2 (en) * 2012-10-22 2016-02-02 Telefonaktiebolaget L M Ericsson (Publ) Methods and nodes for handling usage policy
GB2508173A (en) * 2012-11-22 2014-05-28 Barclays Bank Plc Identity verification systems and methods
JP6064636B2 (ja) * 2013-02-06 2017-01-25 株式会社リコー 情報処理システム、情報処理装置、認証方法及びプログラム
US10193878B2 (en) * 2013-10-31 2019-01-29 Hewlett Packard Enterprise Development Lp Using application level authentication for network login
US9420007B1 (en) * 2013-12-04 2016-08-16 Amazon Technologies, Inc. Access control using impersonization
US20160021143A1 (en) * 2014-07-21 2016-01-21 David Browning Device federation
US10454913B2 (en) * 2014-07-24 2019-10-22 Hewlett Packard Enterprise Development Lp Device authentication agent
US9461983B2 (en) * 2014-08-12 2016-10-04 Danal Inc. Multi-dimensional framework for defining criteria that indicate when authentication should be revoked
US9998446B2 (en) * 2014-08-29 2018-06-12 Box, Inc. Accessing a cloud-based service platform using enterprise application authentication
US9148408B1 (en) * 2014-10-06 2015-09-29 Cryptzone North America, Inc. Systems and methods for protecting network devices
US9906497B2 (en) 2014-10-06 2018-02-27 Cryptzone North America, Inc. Multi-tunneling virtual network adapter
WO2016088964A1 (ko) * 2014-12-02 2016-06-09 엘지전자(주) 무선 통신 시스템에서 블루투스 통신을 이용하여 객체 전송 서비스를 수행하기 위한 방법 및 장치
US10218700B2 (en) * 2015-02-23 2019-02-26 Ca, Inc. Authorizations for computing devices to access a protected resource
US10326748B1 (en) 2015-02-25 2019-06-18 Quest Software Inc. Systems and methods for event-based authentication
US10630686B2 (en) 2015-03-12 2020-04-21 Fornetix Llc Systems and methods for organizing devices in a policy hierarchy
US10560440B2 (en) 2015-03-12 2020-02-11 Fornetix Llc Server-client PKI for applied key management system and process
US10965459B2 (en) 2015-03-13 2021-03-30 Fornetix Llc Server-client key escrow for applied key management system and process
US10417613B1 (en) 2015-03-17 2019-09-17 Quest Software Inc. Systems and methods of patternizing logged user-initiated events for scheduling functions
US9990506B1 (en) 2015-03-30 2018-06-05 Quest Software Inc. Systems and methods of securing network-accessible peripheral devices
US9842218B1 (en) * 2015-04-10 2017-12-12 Dell Software Inc. Systems and methods of secure self-service access to content
US9842220B1 (en) 2015-04-10 2017-12-12 Dell Software Inc. Systems and methods of secure self-service access to content
JP6250595B2 (ja) * 2015-07-01 2017-12-20 e−Janネットワークス株式会社 通信システム及びプログラム
US10536352B1 (en) 2015-08-05 2020-01-14 Quest Software Inc. Systems and methods for tuning cross-platform data collection
US10157358B1 (en) 2015-10-05 2018-12-18 Quest Software Inc. Systems and methods for multi-stream performance patternization and interval-based prediction
US10218588B1 (en) 2015-10-05 2019-02-26 Quest Software Inc. Systems and methods for multi-stream performance patternization and optimization of virtual meetings
US9866519B2 (en) 2015-10-16 2018-01-09 Cryptzone North America, Inc. Name resolving in segmented networks
US9736120B2 (en) 2015-10-16 2017-08-15 Cryptzone North America, Inc. Client network access provision by a network traffic manager
US10749854B2 (en) 2015-11-12 2020-08-18 Microsoft Technology Licensing, Llc Single sign-on identity management between local and remote systems
CN105391734B (zh) * 2015-12-10 2019-01-11 布比(北京)网络技术有限公司 一种安全登录系统及方法、登录服务器和认证服务器
US10778683B2 (en) 2016-01-29 2020-09-15 Docusign, Inc. Cloud-based coordination of customer premise service appliances
US11102188B2 (en) * 2016-02-01 2021-08-24 Red Hat, Inc. Multi-tenant enterprise application management
US9628444B1 (en) 2016-02-08 2017-04-18 Cryptzone North America, Inc. Protecting network devices by a firewall
US10412048B2 (en) 2016-02-08 2019-09-10 Cryptzone North America, Inc. Protecting network devices by a firewall
US10931653B2 (en) 2016-02-26 2021-02-23 Fornetix Llc System and method for hierarchy manipulation in an encryption key management system
US11063980B2 (en) 2016-02-26 2021-07-13 Fornetix Llc System and method for associating encryption key management policy with device activity
US10860086B2 (en) * 2016-02-26 2020-12-08 Fornetix Llc Policy-enabled encryption keys having complex logical operations
US10917239B2 (en) 2016-02-26 2021-02-09 Fornetix Llc Policy-enabled encryption keys having ephemeral policies
US10142391B1 (en) 2016-03-25 2018-11-27 Quest Software Inc. Systems and methods of diagnosing down-layer performance problems via multi-stream performance patternization
US9560015B1 (en) 2016-04-12 2017-01-31 Cryptzone North America, Inc. Systems and methods for protecting network devices by a firewall
CA3026227A1 (en) 2016-08-30 2018-03-08 Visa International Service Association Biometric identification and verification among iot devices and applications
US10397199B2 (en) * 2016-12-09 2019-08-27 Microsoft Technology Licensing, Llc Integrated consent system
WO2019040044A1 (en) * 2017-08-21 2019-02-28 Google Llc PRESERVING SESSION IDENTIFIERS IN MULTIPLE WEB PAGES FOR CONTENT SELECTION
GB201716170D0 (en) * 2017-10-04 2017-11-15 Palantir Technologies Inc Controlling user creation of data resources on a data processing platform
US10079832B1 (en) * 2017-10-18 2018-09-18 Palantir Technologies Inc. Controlling user creation of data resources on a data processing platform
US10812495B2 (en) * 2017-10-06 2020-10-20 Uvic Industry Partnerships Inc. Secure personalized trust-based messages classification system and method
US10642967B2 (en) * 2017-11-28 2020-05-05 American Express Travel Related Services Company, Inc. Single sign-on solution using blockchain
CN109274681B (zh) * 2018-10-25 2021-11-16 深圳壹账通智能科技有限公司 一种信息同步方法、装置、存储介质和服务器
US10324763B1 (en) 2018-12-11 2019-06-18 Palantir Technologies Inc. Systems and methods for terminating instances and autoscaling instance groups of computing platforms
US10868887B2 (en) 2019-02-08 2020-12-15 Palantir Technologies Inc. Systems and methods for isolating applications associated with multiple tenants within a computing platform
JP6721932B1 (ja) * 2019-02-26 2020-07-15 株式会社ビットキー 利用制御システムおよび利用制御方法
JP6742008B1 (ja) * 2019-06-25 2020-08-19 株式会社ビットキー 利用制御システム、利用許可証発行装置、利用制御方法、およびコンピュータで読み取り可能なプログラム
US10771242B2 (en) * 2019-07-09 2020-09-08 Alibaba Group Holding Limited Blockchain-based data processing
US10761889B1 (en) 2019-09-18 2020-09-01 Palantir Technologies Inc. Systems and methods for autoscaling instance groups of computing platforms
US20230015789A1 (en) * 2021-07-08 2023-01-19 Vmware, Inc. Aggregation of user authorizations from different providers in a hybrid cloud environment

Family Cites Families (12)

* 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> 認証代行方法、認証代行装置、及び認証代行システム
US7610390B2 (en) * 2001-12-04 2009-10-27 Sun Microsystems, Inc. Distributed network identity
US8452881B2 (en) * 2004-09-28 2013-05-28 Toufic Boubez System and method for bridging identities in a service oriented architecture
JP2006227814A (ja) * 2005-02-16 2006-08-31 Toshiba Corp 匿名サービス提供システム、装置及びプログラム
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
US8151317B2 (en) * 2006-07-07 2012-04-03 International Business Machines Corporation Method and system for policy-based initiation of federation management
JP5179298B2 (ja) * 2007-09-27 2013-04-10 株式会社日立製作所 アクセス認可システム、アクセス制御サーバ、およびビジネスプロセス実行システム
JP5177505B2 (ja) * 2008-02-26 2013-04-03 日本電信電話株式会社 シングルサインオンによるグループ内サービス認可方法と、その方法を用いたグループ内サービス提供システムと、それを構成する各サーバ
JP5253921B2 (ja) * 2008-08-19 2013-07-31 Kddi株式会社 属性認証システム、同システムにおける属性認証方法およびプログラム
US9836702B2 (en) * 2008-10-16 2017-12-05 International Business Machines Corporation Digital rights management (DRM)-enabled policy management for an identity provider in a federated environment
JP5153591B2 (ja) * 2008-11-26 2013-02-27 株式会社日立製作所 認証仲介サーバ、プログラム、認証システム及び選択方法
JP5102799B2 (ja) 2009-04-13 2012-12-19 株式会社日立製作所 認証連携システム、認証連携方法、移動端末、中継端末装置、およびサービス装置

Cited By (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8793759B2 (en) 2011-12-27 2014-07-29 Kabushiki Kaisha Toshiba Authentication collaboration system and ID provider device
US8955041B2 (en) 2012-02-17 2015-02-10 Kabushiki Kaisha Toshiba Authentication collaboration system, ID provider device, and program
US10581867B2 (en) 2012-09-07 2020-03-03 Oracle International Corporation Multi-tenancy identity management system
JP2015531511A (ja) * 2012-09-07 2015-11-02 オラクル・インターナショナル・コーポレイション マルチドメインアイデンティティ管理システム
CN104685511A (zh) * 2012-09-26 2015-06-03 株式会社东芝 策略管理系统、id提供者系统以及策略评价装置
US9571525B2 (en) 2012-09-26 2017-02-14 Kabushiki Kaisha Toshiba Policy management system, id provider system, and policy evaluation device
JP2016511479A (ja) * 2013-03-15 2016-04-14 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation 企業のソーシャル・ビジネス・コンピューティングのためのマルチテナント機能のサポート方法、およびシステム。
JP2014186681A (ja) * 2013-03-25 2014-10-02 Nomura Research Institute Ltd サービス利用支援システム
JP2022078136A (ja) * 2016-08-31 2022-05-24 オラクル・インターナショナル・コーポレイション マルチテナントアイデンティティクラウドサービスのためのデータ管理
JP2019532368A (ja) * 2016-08-31 2019-11-07 オラクル・インターナショナル・コーポレイション マルチテナントアイデンティティクラウドサービスのためのデータ管理
JP7304449B2 (ja) 2016-08-31 2023-07-06 オラクル・インターナショナル・コーポレイション マルチテナントアイデンティティクラウドサービスのためのデータ管理
JP7030709B2 (ja) 2016-08-31 2022-03-07 オラクル・インターナショナル・コーポレイション マルチテナントアイデンティティクラウドサービスのためのデータ管理
US11258797B2 (en) 2016-08-31 2022-02-22 Oracle International Corporation Data management for a multi-tenant identity cloud service
US11258786B2 (en) 2016-09-14 2022-02-22 Oracle International Corporation Generating derived credentials for a multi-tenant identity cloud service
JP2019532418A (ja) * 2016-09-16 2019-11-07 オラクル・インターナショナル・コーポレイション マルチテナントアイデンティティおよびデータセキュリティ管理クラウドサービスのためのテナントおよびサービス管理
JP7018437B2 (ja) 2016-09-16 2022-02-10 オラクル・インターナショナル・コーポレイション マルチテナントアイデンティティおよびデータセキュリティ管理クラウドサービスのためのテナントおよびサービス管理
US11308132B2 (en) 2017-09-27 2022-04-19 Oracle International Corporation Reference attributes for related stored objects in a multi-tenant cloud service
US11463488B2 (en) 2018-01-29 2022-10-04 Oracle International Corporation Dynamic client registration for an identity cloud service
US11423111B2 (en) 2019-02-25 2022-08-23 Oracle International Corporation Client API for rest based endpoints for a multi-tenant identify cloud service
US11792226B2 (en) 2019-02-25 2023-10-17 Oracle International Corporation Automatic api document generation from scim metadata
US11687378B2 (en) 2019-09-13 2023-06-27 Oracle International Corporation Multi-tenant identity cloud service with on-premise authentication integration and bridge high availability
US11870770B2 (en) 2019-09-13 2024-01-09 Oracle International Corporation Multi-tenant identity cloud service with on-premise authentication integration

Also Published As

Publication number Publication date
CN103109298A (zh) 2013-05-15
JP4892093B1 (ja) 2012-03-07
EP2639727A4 (en) 2017-03-01
US20130247142A1 (en) 2013-09-19
SG190128A1 (en) 2013-06-28
EP2639727A1 (en) 2013-09-18
WO2012063783A1 (ja) 2012-05-18
US9059982B2 (en) 2015-06-16
CN103109298B (zh) 2015-12-09
EP2639727B1 (en) 2018-02-28

Similar Documents

Publication Publication Date Title
JP4892093B1 (ja) 認証連携システム及びidプロバイダ装置
US8955041B2 (en) Authentication collaboration system, ID provider device, and program
JP5383838B2 (ja) 認証連携システム、idプロバイダ装置およびプログラム
JP5422753B1 (ja) ポリシ管理システム、idプロバイダシステム及びポリシ評価装置
US8635679B2 (en) Networked identity framework
EP1764978B1 (en) Attested identities
JP3576008B2 (ja) アクセス制御設定システム及び記憶媒体
US8990896B2 (en) Extensible mechanism for securing objects using claims
WO2013099065A1 (ja) 認証連携システムおよびidプロバイダ装置
US20090276840A1 (en) Unified access control system and method for composed services in a distributed environment
JP6140735B2 (ja) アクセス制御装置、アクセス制御方法、およびプログラム
CN116415217A (zh) 基于零信任架构的即时授权系统
US9600655B2 (en) Policy update system and policy update apparatus
JP2012027691A (ja) 情報管理システムおよび情報管理方法
KR20050070520A (ko) 워크플로우 기반의 그리드 사용자 권한 위임과 인증시스템 및 그 방법
US20230088787A1 (en) User information management system, user information management method, user agent and program
CN117082084A (zh) 一种基于数据接口池的数据开放共享系统与方法
KR20100073884A (ko) Id 연계 기반의 고객정보 중개 및 동기화 방법
Kakizaki et al. E-butler: A User-Centric High Reliability Personal Portal Site
JP2011059981A (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: 20111122

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20111216

R150 Certificate of patent or registration of utility model

Ref document number: 4892093

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20141222

Year of fee payment: 3

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