JP6066586B2 - 情報処理システム、その制御方法、およびそのプログラム。 - Google Patents

情報処理システム、その制御方法、およびそのプログラム。 Download PDF

Info

Publication number
JP6066586B2
JP6066586B2 JP2012116625A JP2012116625A JP6066586B2 JP 6066586 B2 JP6066586 B2 JP 6066586B2 JP 2012116625 A JP2012116625 A JP 2012116625A JP 2012116625 A JP2012116625 A JP 2012116625A JP 6066586 B2 JP6066586 B2 JP 6066586B2
Authority
JP
Japan
Prior art keywords
information
processing system
information processing
user
provider
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.)
Expired - Fee Related
Application number
JP2012116625A
Other languages
English (en)
Other versions
JP2013242776A (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.)
Canon Inc
Original Assignee
Canon Inc
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 Canon Inc filed Critical Canon Inc
Priority to JP2012116625A priority Critical patent/JP6066586B2/ja
Priority to US13/898,166 priority patent/US9027107B2/en
Publication of JP2013242776A publication Critical patent/JP2013242776A/ja
Application granted granted Critical
Publication of JP6066586B2 publication Critical patent/JP6066586B2/ja
Expired - Fee Related 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

Description

本発明は、異なるドメイン間においてシングルサインオンを実現する情報処理システム、その制御方法、およびそのプログラムに関する。
従来、異なるドメイン下に存在する複数のサーバー間で認証を連携させる技術として、Security Assertion Markup Language(以下SAML)によるシングルサインオン (以下SSO) の仕組みが知られている。
SAMLのSSOにおいては、ユーザーに対し認証情報の入力を要求し、入力された認証情報を基に認証を行うサーバーを含む情報処理システム(Identity Provider、以下 IDプロバイダ)と、IDプロバイダの認証結果を信頼し、認証情報を基にした認証を行うことなくサービスを提供するサーバーを含む情報処理システム(Service Provider、以下 サービスプロバイダ)からなる。ユーザーがサービスプロバイダのサービスを受ける場合、IDプロバイダにアクセスし認証を受ける必要がある。例えばユーザーは、IDプロバイダにて管理されているユーザーID、およびパスワードと言ったユーザー認証情報を基にIDプロバイダで認証される。
そしてIDプロバイダは、認証したことの証明であるアサーションをサービスプロバイダ向けに発行する。サービスプロバイダは、このアサーションが信頼しているIDプロバイダで発行されたものであるか否かを検証することでユーザーを認証する。検証の結果に応じて、ユーザーはサービスプロバイダで管理されている認証情報を入力することなくサービスプロバイダで認証を受けることが可能となり、サービスプロバイダのサービスを受けることができる。
上述のように、SAMLのSSOは、IDプロバイダとサービスプロバイダの信頼関係によって成り立っている。そのため、SSOを実現する前に、事前にIDプロバイダとサービスプロバイダ間で信頼関係を結んでいる必要がある。この信頼関係は、SAMLにおける複数の機能の内どの機能によってSSOを行うのかを記述したメタデータと、アサーションがIDプロバイダから発行された事を証明するための電子証明書の交換によって成立する。メタデータの具体的な内容、およびこの信頼関係の結び方に関する技術は標準技術であるSAML V2.0において定義されている。メタデータ、および電子証明書のようにアサーションの検証を行うために必要な情報を事前情報と称する。サービスプロバイダは、アサーションが要件を満たすか否かを検証する際、事前情報を利用して検証を行う。また、事前情報は、一般的にIDプロバイダにより発行されるデータである。
SAMLは、ユーザーがIDプロバイダによって認証されたことの検証の他に、そのIDプロバイダがサービスプロバイダから見て信頼できるIDプロバイダであるか否かも検証する。これにより、セキュアなSSOが実現される。信頼できるIDプロバイダであるか否かの具体的な判断方法は、サービスプロバイダがIDプロバイダで発行されたアサーションの署名を事前に設定した電子証明書を用いて検証する事で実現する。
ユーザーの認証回数を省くメリットがあるSSOであるが、課題も存在する。SAMLの設定、例えばIDプロバイダにおけるユーザーとサービスプロバイダにおけるユーザーの関係を誤って紐付けてしまった場合、IDプロバイダで認証を受けたユーザーは本来のユーザーとは別のユーザーとしてサービスプロバイダで認証されてしまう。結果ユーザーは、サービスプロバイダにおける別のユーザーとして認証されてサービスプロバイダの機能提供を受けてしまう事になる。認証されたユーザーは、サービスプロバイダが管理している本来のユーザーではない状態でサービスを受けることになり、サービス提供者にとっても、そのユーザーにとっても不利益となる。つまりSAMLの仕組みを安全に利用するためには、信頼関係を誤ることなく安全に結んでおく必要がある。
従来、このIDプロバイダ、サービスプロバイダ間での信頼関係の設定方法として特許文献1の方法が提案されている。特許文献1は、動的に配備されるデバイスと、サービス提供サーバーとの信頼関係をセキュアに構築するSSOに関する技術である。信頼関係を構築する際に、サービス提供サーバーは、メタデータの署名を認証局で検証させることで、メタデータを動的に登録しながらもセキュアなSSOを実現する。
特開2009−118110
先行技術によって、SSOの信頼関係の動的な構築が可能となる。しかしながら、先行技術は、IDプロバイダであるサービス提供サーバーのみに対する信頼関係の構築についての技術であるため、サービスプロバイダに対する信頼関係の構築については考慮されていない。特に、事前情報の管理方法が夫々異なる複数のIDプロバイダとサービスプロバイダがSSO連携することが今後想定されるため、適正なサービスプロバイダの構築が望まれる。
本願発明の目的は、事前情報の管理方法が夫々異なる複数のIDプロバイダとサービスプロバイダがSSO連携することを想定し、サービスプロバイダの適正な構築を行うことにある。
本願発明の目的を達成するサービスプロバイダ、即ち、情報処理システムは、ユーザーから入力されたユーザー認証情報を用いたユーザー認証処理を行う第1の情報処理システムと通信可能な第2の情報処理システムであって、前記ユーザー認証処理が成功したことに応じて前記第1の情報処理システムにより発行され送信される認可情報を、前記第1の情報処理システムにより発行されたことを証明するための電子証明書を少なくとも含む事前情報を用いて署名検証する検証手段と、前記検証の結果、送信された前記認可情報が前記第1の情報処理システムにより発行された認可情報であることが少なくとも確認された場合に、前記ユーザー認証処理を行うことなくサービスを提供する提供手段と、ユーザー認証処理を行う第1の情報処理システムを登録する指示を前記ユーザーから受け付けた際に、該第1の情報処理システム前記事前情報をグループ毎に管理する情報処理システムであるか、または前記事前情報を複数のグループで共有させて管理する情報処理システムであるかを判断する判断手段と、前記判断手段により該第1の情報処理システムが前記事前情報をグループ毎に管理する情報処理システムであると判断された場合は、前記事前情報を受け付け可能な第1の方法で前記ユーザーのテナントIDと該第1の情報処理システムのエンティティIDと受け付けた前記事前情報とを関連付けて保存する登録処理を行い、前記判断手段により該第1の情報処理システムが前記事前情報を複数のグループで共有させて管理する情報処理システムであると判断された場合は、前記事前情報を受け付け不可能な第2の方法で前記ユーザーのテナントIDと該第1の情報処理システムのエンティティIDと予め保有する前記事前情報とを関連付けて保存する登録処理を行うことを特徴とする。
本願発明により、事前情報の管理方法が夫々異なる複数のIDプロバイダとのSSO連携を想定したサービスプロバイダが提供される。
システム構成図。 各装置のハードウェア構成図。 Webアプリケーションサーバーのソフトウェア構成図。 ログイン制御サーバーのソフトウェア構成図。 データベースサーバーのソフトウェア構成図。 データベースサーバーのテーブル構造。 シングルサインオンのシーケンス図。 IDプロバイダ登録画面。 IDプロバイダ登録処理のフローチャート。 IDプロバイダ選択画面。 重複登録判断のフローチャート。
始めに、本願発明におけるサービスプロバイダについて説明する。
本願発明におけるサービスプロバイダは、マルチテナントに対応したサービスプロバイダであり、テナント毎でデータを管理する。よって、サービスプロバイダは事前情報もテナント毎に管理する。テナントとは特定のグループを指す用語であり、例えば、従来の専用サーバーを用いてサービスを受けていた企業や組織と言ったグループの単位を意味する。マルチテナント構成の情報処理システムは、例えば、1つのHDDに複数テナントの情報を管理するため、論理的にデータを分断するパーティション機能を有している。結果、複数のテナントのデータが同じHDD内に共存する形となる。
次に、本願発明におけるIDプロバイダとサービスプロバイダの関係を説明する。
サービスプロバイダから見た場合、IDプロバイダはEntity IDと呼ばれるIDで識別される。このEntity IDは事前に交換した上述のメタデータに記載されており、メタデータに記載されたEntity IDを参照することでIDプロバイダを特定することができる。本願発明における夫々のIDプロバイダは、IDプロバイダ内にある認証機能を提供するサーバーが次の様に構成が異なる。1つ目は、認証機能を提供するサーバーが単一のEntity IDしか持たないサーバーであり、2つ目は、複数のEntity IDを持てるサーバーである。Entity IDが単一か複数かはIDプロバイダによって異なる。後者の場合、IDプロバイダとサーバーが1対1で対応せず多数対1の関係になるため、IDプロバイダはサーバーを特定する用語ではあるが、1台のサーバーを指す用語ではないことに注意して頂きたい。では、なぜこのようにIDプロバイダ毎にEntity IDの持ち方に違いが発生するのかについて説明する。
例えばSAMLはHTTPで実現されるため、エンドポイントとなるIDプロバイダはURLで定義される。また、アサーションを署名するためにEntity IDごとに異なる電子証明書が必要となるが、電子証明書はホスト名に紐づけて発行される。結果、IDプロバイダが複数のEntity IDを持つためにはEntity IDごとに異なるホスト名を持ち、またそれらのホスト名のIPアドレスが解決できる必要がある。IDプロバイダがユーザーの求めに応じ動的にEntity IDを追加するのであれば、IDプロバイダがDNSサーバーを備え、Entity IDの追加に対応して新しいホスト名とIPアドレスをDNSサーバーに登録するなどの作業が必要になる。よってIDプロバイダが複数のEntity IDを持つには比較的規模の大きなIDプロバイダでないと対応が難しい。しかし、例えば、Entity IDをテナント毎に変えることが可能となるので、よりセキュアなSSOを実現できる。
一方、ASP(Application Service Provider)など第三者にサービスを提供するケースでは、第三者からのアクセスを特定のURLに限定することで利便性や安全性を向上させることがある。このような場合は、URLが単一になり、Entity IDも単一になる。
次に、本願発明の具体的な課題の1つについて詳細に説明する。従来、サービスプロバイダであるサーバーが、複数の組織で利用されるマルチテナント構成である事は考慮されていない。結果、以下のような課題がある。サービスプロバイダをマルチテナント構成とした場合、テナント毎にIDプロバイダとの信頼関係を構築する必要がある。しかしながら、IDプロバイダとしての認証機能を提供するサーバーが単一のEntity IDしか持たない場合は、複数のテナントで一つのEntity IDを共有する構成となる。そのため、IDプロバイダとの信頼関係を動的に設定変更すると、他のテナントで設定していた信頼関係が無効になってしまうという課題が発生する。
また、その他の課題もある。IDプロバイダとしての認証機能を提供するサーバーが複数のEntity IDを持てるものであった場合は、セキュリティ要件が求められているため、テナント毎にIDプロバイダとの信頼関係を動的に構築する必要がある。ここで、既に特定のテナントでIDプロバイダと信頼関係を構築している場合は、新規に他のテナントと当該IDプロバイダとの信頼関係を構築してしまうと、関係しない複数のテナント間で間接的に信頼関係が構築されてしまう。結果、意図しないSSOが行われるリスクが発生する。
以上からお分かり頂ける通り、テナント毎にデータを管理するマルチテナント構成のサービスプロバイダが、事前情報の管理方法が異なる複数のIDプロバイダとSSO連携するためには、考慮しなくてはならない課題が幾つかあるということである。
次に、本願発明で用いられる用語の定義について説明する。
ユーザー認証とは、ユーザーから入力されたユーザー認証情報を用いた認証を指す。このユーザー認証の処理を行う情報処理システムは、未だ認証を受けていないユーザーからのアクセスに応じて認証画面を提供し、その認証画面を介して入力されたユーザー認証情報を受信し、受信したユーザー認証情報を基に正規なユーザーであるか否かを検証する。本願発明における、IDプロバイダに相当する情報処理システム、およびサービスプロバイダに相当する情報処理システムは、何れもこのユーザー認証処理を行う機能を有する。しかしながら、サービスプロバイダは、IDプロバイダの認証処理の結果を信頼するため、このユーザー認証処理を行うことなくサービスを提供する。これこそが、SSO、特にSAMLのユーザーメリットである。
なお、情報処理システムとは、ユーザー認証処理を行う少なくとも1台のログイン制御サーバーと、ログイン制御サーバーによるユーザー認証処理が成功したことに応じてサービスを提供するサーバーとを含むシステムを指す。しかしながら、それらのサーバーを1台に集約した形態も想定されるため、情報処理システムと称する場合、必ずしも複数台のサーバーから構成されるとは限らない。また、情報処理システムは、ログイン制御サーバーのみから構成されていても良い。
認可情報とは、IDプロバイダがユーザー認証処理を行い、ユーザー認証処理が成功したことに応じて発行するデータであり、SAMLにおけるアサーションがこれに該当する。本願発明における認可情報はアサーションと同義であるが、認可情報の形態は必ずしもSAMLで定義されたアサーションのフォーマットに限るものではない。よって、認可情報と称する場合は、サービスプロバイダがIDプロバイダの認証結果を信頼するために用いるデータのことを指し、アサーションよりも広い概念で定義されたデータであることに留意されたい。
上述の通り、認可情報が要件を満たすか否かを検証するために利用するメタデータ、電子証明書を事前情報と称する。なお、本願発明を実施する上での事前情報は、メタデータ、電子証明書に限られるものではないため、認可情報の検証に用いる他の情報を含んでいても良い。また、本願発明の説明において事前情報と称した場合、メタデータ、または電子証明書の何れか1つを指す場合もある。即ち、事前情報とは、認可情報が要件を満たすか否かを検証する上で事前に登録が必要になる情報と言える。
本願発明におけるメタデータには、少なくともIDプロバイダを識別するためのEntityIDが含まれている。サービスプロバイダは、認可情報の検証の際、メタデータに記載されたEntityIDと認可情報のEntityIDの比較により信頼できるIDプロバイダから発行された認可情報であるか否かを検証する。その他、メタデータには、IDプロバイダにおけるユーザーと、サービスプロバイダにおけるユーザーとのマッピングを、IDプロバイダで行うか、サービスプロバイダで行うかを定義した記述を用意しても良い。
本発明における電子証明書、または証明書には、IDプロバイダに対応する公開鍵と、ハッシュが含まれている。認可情報に含まれる署名、または認可情報とともに別のデータとして送信される署名は、その公開鍵に対応する対称鍵により暗号化されたハッシュが含まれている。サービスプロバイダは、認可情報の検証の際、電子証明書と署名とを用いて正規なIDプロバイダから発行された認可情報であるか否かを検証する。即ち、この検証は、一般的な電子証明の技術を利用したものである。
サービスプロバイダは、認可情報に対し、これらの検証の内少なくとも1つ以上の検証を行う。検証の結果、認可情報が正規なIDプロバイダから発行されたことが検証された状態を、認可情報は要件を満たすと称する。以上、認可情報が要件を満たすか否かを検証するために利用するデータが事前情報であることの説明を行った。
以下、本発明を実施するための最良の形態について図面を用いて説明する。
図1は、本発明の実施形態のシステム構成を示すブロック図である。
図中10は、Wide Area Network(WAN10)であり、本発明ではWorld Wide Web(WWW)システムが構築されている。図中11は各構成要素を接続するLocal Area Network(LAN11)である。
図中12はクライアントであり、WAN10を介して後述するWebアプリケーションサーバー13、IDプロバイダ16に対してWebアクセスリクエストを発行する少なくとも一台以上のクライアントのコンピュータである。より具体的には、WWWシステムを利用するためのWebブラウザを備えたクライアントのコンピュータであり、ユーザーが操作する装置である。なお、クライアント12は、不図示のファイアウォール装置により、WAN10に対するリクエスト以外の通信が遮断されている。各装置は、これらのネットワークリソースを用いて互いに通信可能である。
図中13はWAN10およびLAN11を介して、クライアント12からのWebアクセスリクエスト要求に応じて処理を実行し、クライアント12に応答するWebアプリケーションサーバー13である。なお、クライアント12のWebブラウザを介して後述のIDプロバイダ16であるサーバーと通信を行う。IDプロバイダ16は1台であっても、複数台から構成されていても良い。よって、IDプロバイダ16を情報処理システムと称する。
図中14はLAN11を介して、Webアプリケーションサーバー13からの認証および、認証設定リクエストを受け付け、後述のデータベースサーバー15と通信する事により、ユーザー認証を行うログイン制御サーバー14である。
図中15はLAN11を介してログイン制御サーバー14からのデータアクセス要求をうけつけるデータベースサーバー15である。データベースサーバー15は、一般的なDBMS(Database Management System)が構成されている。Webアプリケーションサーバー13、ログイン制御サーバー14、データベースサーバー15から構成される情報処理システムが第2の情報処理システムに相当する。
図中16A、16BはWAN10を介してクライアント12からログインリクエストを受け付けユーザー認証処理を行う、一つ以上のIDプロバイダ16である。また、後述するSSOのフローにおいて、2つのIDプロバイダは、クライアント12のWebブラウザとWebアプリケーションサーバー13を介してログイン制御サーバー14からのSSOリクエストを受け付ける。なお、本実施の形態におけるIDプロバイダ16はSAMLのIDプロバイダ機能が構成されている。16A、または16Bの何れか1つの情報処理システムが第1の情報処理システムに相当する。なお、本実施例においてはIDプロバイダが2つあることが前提で説明を行うが、それ以上の数のIDプロバイダと連携する場合であっても本願発明を実施することが可能である。
図2は、図1中のクライアント12、Webアプリケーションサーバー13、ログイン制御サーバー14、データベースサーバー15、およびIDプロバイダ16のハードウェア構成を示すブロック図である。図中、21は内部バスで接続される各デバイス(後述のROM、RAM他)を直接或いは間接的に制御し、本発明を実現するためのプログラムを実行するCPUである。22はBIOSが格納してあるROMである。23はCPU21のワーク領域として利用されたり、本発明を実現するためのソフトウェアモジュールをロードするための一時記憶として利用されたりするRAM(直接記憶装置)である。24は基本ソフトウェアであるOSやソフトウェアモジュールが記憶されているHDD(ハードディスクドライブ)、もしくはSSD(ソリッドステートドライブ)などの間接記憶装置である。25は入力装置であり不図示のキーボードやポインティングデバイスなどである。26は出力装置でありディスプレイが接続される。27はWAN10ないしはLAN11に接続するためのI/F(Interface)であり、一つないしは複数備えている。
これらハードウェアでは、起動後CPU21によりBIOSが実行されOSがHDD24からRAM23に実行可能にロードされる。CPU21は、OSの動作に従って後述する各種ソフトウェアモジュールをHDD24からRAM23にロードし、実行する。各種ソフトウェアモジュールは上記各デバイスの協調によりCPU21によって実行され動作する。また、I/F27はLAN11に接続されており、OSの動作に従ってCPU21により制御され、各サーバーに格納されたソフトウェアモジュール間のリクエストの送受信を実現している。また、I/F27はLAN11を経由してWAN10に接続されており、OSの動作に従ってCPU21により制御され、WWWシステムにおける通信を実現している。
また、図中1のWebアプリケーションサーバー13、ログイン制御サーバー14、データベースサーバー15、およびIDプロバイダ16は、一台、ないしは複数台の図2で示されたハードウェア構成のサーバーによって構成される。複数台のサーバーで構成する場合は、不図示のロードバランサー装置や、不図示のソフトウェアモジュールによって負荷分散構成、もしくは冗長化構成を採用する事ができる。
図3は、Webアプリケーションサーバー13上で動作するソフトウェア構成図である。なお、これらを実現するための各ソフトウェアモジュールは図2で示したHDD24に記憶されており、前述したようにCPU21によってRAM23にロードされ実行され、図3のソフトウェア構成が実現する。
Webサーバーアプリケーション31は、クライアント12からのWebアクセスリクエストを受け付けるWebインタフェースを備えたWebサーバーアプリケーションである。ログインアプリケーション32は、Webサーバーアプリケーション31上にフィルタリングアプリケーションとして構成され、認証設定アプリケーション33やWebアプリケーション34に対するWebアクセスリクエストをフィルタリングする。そして、ログイン制御サーバー14に構成されるログイン制御API41と通信することによりユーザーの認証の検証を行う。認証設定アプリケーション33やWebアプリケーション34が受け付けたWebアクセスリクエストが未認証であった場合に、予め設定されている認証設定に従って認証検証を行うログイン先、即ち、IDプロバイダを決定する。この認証設定には、本願発明の特徴の1つである、ユーザーからのIDプロバイダの登録の指示に従い設定されたIDプロバイダの設定も含まれる。
認証設定アプリケーション33は、Webサーバーアプリケーション31上にアプリケーションとして構成され、Webサーバーアプリケーション31が受け付けたWebアクセスリクエストに対して認証設定画面を生成する。
Webアプリケーション34は、Webサーバーアプリケーション31上にアプリケーションとして構成され、Webサーバーアプリケーション31が受け付けたWebアクセスリクエストに対してWebアクセス応答を返却する。
以後、上記ソフトウェアモジュールの協調により実行される一連のWebアプリケーションとしての処理をWebアプリケーションサーバー13で実行される処理とする。なお、Webアプリケーションサーバー13で実行されるWebアプリケーション処理の詳細については後述する。
図4は、ログイン制御サーバー14上で動作するソフトウェア構成図である。なお、これらの構成を実現する各ソフトウェアモジュールは図2で示したHDD24に記憶されており、前述したようにCPU21によってRAM23にロードされ実行されることで、図4のソフトウェア構成は実現する。
図中41はWebアプリケーションサーバー13に構成されるログインアプリケーション32、認証設定アプリケーション33からのAPI呼出の受付、およびAPI実行結果の応答を行うログイン制御API41である。なお、APIとは、Application Program Interfaceの略である。
ログイン制御部42は、ログイン制御API41からログイン制御リクエストを受け付けるアプリケーションモジュールである。ログイン制御部42は、データベースサーバー15のデータ取得や更新を行う。また、ログイン制御部42は、メタデータ・証明書記憶部43のデータ取得や更新を行う。ログイン制御部42は、このような一連の制御を行う。
以後、上記ソフトウェアモジュールの協調により実行される一連のログイン制御処理をログイン制御サーバー14で実行される処理とする。なお、ログイン制御サーバー14で実行されるログイン制御処理の詳細は後述する。
図5はデータベースサーバー15にて管理されているデータテーブルのデータ構造、および各データテーブルのデータサンプルを示す図である。
図中50はユーザーテーブルである。ユーザーテーブル50は、Webアプリケーションサーバー13を利用するユーザー情報を格納するテーブルである。このテーブルには、ユーザーから入力されたユーザー認証情報を検証するためのユーザー情報が含まれる。ユーザーテーブル50はユーザーを一意に識別するためのユーザーID501、ユーザーの秘匿情報であるパスワード502、ユーザーが所属するテナントを識別するためのテナントID503からなる。また、当該テーブルのユーザーID501はユーザーマップテーブル54のユーザーID542と関連付けられる。また、パスワード502はセキュリティ要件に応じて、所定の暗号化アルゴリズムを用いて格納するか、もしくはハッシュアルゴリズムを用いて非可逆な情報として格納しても良い。
図中51はテナントテーブルである。テナントテーブル51は、Webアプリケーションサーバー13を利用するユーザーが所属するテナントの情報を格納するテーブルである。テナントテーブル51はテナントを一意に識別するためのテナントID511を主キーとして持つ。そして、テナントが選択しているIDプロバイダの種別を示す選択IDプロバイダ種別512、テナントが選択しているIDプロバイダのEntity IDである選択IDプロバイダEntity ID513からなる。当該テーブルのテナントID511は、ユーザーテーブル50のテナントID511、およびIDプロバイダ管理テーブル53のテナントID531と関連づけられる。なお、外部のIDプロバイダでなく、ログインアプリケーション32で認証検証を行う場合は、選択IDプロバイダ種別512に、「ログインアプリケーション」が格納される。
図中52はIDプロバイダマスターテーブルである。IDプロバイダマスターテーブル52は、Webアプリケーションサーバー13を利用するユーザーが連携可能なIDプロバイダの情報を格納するテーブルである。IDプロバイダマスターテーブル52はIDプロバイダの種別を識別するためのIDプロバイダ種別521から構成され、このIDプロバイダ種別毎に、以下のデータから構成される。メタデータ/証明書のアップロード要否522、Entity IDの共有可否523、Entity IDが共有可能である場合に共有されるEntity ID524。当該テーブルのIDプロバイダ種別521は、テナントテーブル51の選択IDプロバイダ種別512、およびIDプロバイダ管理テーブル53のIDプロバイダ種別533と関連付けられる。なお、IDプロバイダ種別521が「ログインアプリケーション」であるIDプロバイダは、外部のIDプロバイダではなく、ログインアプリケーション32で認証検証を行う事を示す。IDプロバイダマスターテーブルは、サービスプロバイダの運用者がIDプロバイダの事前情報の管理方法等に併せて登録を行うことにより、データが追加されるテーブルである。
なお、Entity IDの共有可否523が、IDプロバイダにおける事前情報の管理方法に関わる。共有「可」であれば、そのIDプロバイダは、事前情報を複数のテナントで共有させて管理する情報処理システムであり、共有「否」であれば、そのIDプロバイダは、事前情報をテナント毎に管理する情報処理システムということになる。前者の場合、全てのテナントに対し共通の事前情報となるため、言わば情報処理システムに対する事前情報である。本願発明のマルチテナント構成のサービスプロバイダは、このようなIDプロバイダとSSO連携する場合、例外としてテナント間で事前情報を共有する。よって、望ましくは、サービスプロバイダの運用者が予め事前情報を登録しおいた方が良い。後述するIDプロバイダの登録時、サービスプロバイダは既に保持している事前情報でアサーションが検証されるようにIDプロバイダを登録する構成となり、ユーザーの手間を省くことができる他、誤登録も防ぐことができる。後者の場合、テナント毎に事前情報が異なるため、サービスプロバイダは各テナントの事前情報を保持する必要がある。結果、本願発明のサービスプロバイダは、マルチテナント構成でありながら、複数のグループ間、即ちテナント間で事前情報を共有できるように保持する。
図中53はIDプロバイダ管理テーブルである。IDプロバイダ管理テーブル53は、Webアプリケーションサーバー13を利用するユーザーのテナント毎に登録されているIDプロバイダの情報を格納するテーブルである。IDプロバイダ管理テーブル53はテナントID531、IDプロバイダのEntity ID532、そのIDプロバイダの種別533、および、そのIDプロバイダの登録状態534から構成される。当該テーブルのEntity ID532はユーザーマップテーブル54のEntity ID541と関連付けられる。IDプロバイダ管理テーブル53には、後述するIDプロバイダの登録が行われることによりデータが追加されていき、どのテナントがどのIDプロバイダを登録しているのかを判別する際に利用される。
図中54はユーザーマップテーブルである。ユーザーマップテーブル54はIDプロバイダ16とSSOする際に、IDプロバイダ16におけるユーザー識別子と、Webアプリケーションサーバー13を利用するユーザーの識別子を対応付ける情報を格納するテーブルである。ユーザーマップテーブル54は、IDプロバイダを識別するためのEntity ID541を持つ。さらに、そのEntity IDにおける、Webアプリケーションサーバー13を利用するユーザーを識別するためのユーザーID542、IDプロバイダ16におけるユーザー識別子であるマッピングID543から構成される。各テーブルの情報の利用方法については後述する。
図6は、IDプロバイダ16にて生成されるSSOを構成するための情報であるメタデータサンプルである。本実施の形態ではSAMLによるSSOを構成するための情報のサンプルを記載している。メタデータ60には、IDプロバイダを一意に識別するためのEntity IDや、メタデータが正当であることを検証するための署名が含まれている。署名は、メタデータと対となって設定される証明書によって検証可能な署名であり、署名方法としては、例えば、X.509規格によって定義される方式が考えられる。また、メタデータ60には、SAMLによるSSOを行うためのプロトコル仕様を示すバインディング方法や、IDプロバイダのユーザー識別子と、サービスプロバイダのユーザー識別子の対応づけを行うためのフォーマット方法が記載される。メタデータ60に記載している各種情報はサンプル情報であり、SAMLによって規定されるメタデータの記述内容を限定するものではない。
なお、このメタデータが記述されたファイルや、署名に用いた証明書のファイルをIDプロバイダ16から取得し、それらをサービスプロバイダに設定する事でSAMLの信頼関係が構築される。IDプロバイダ16からメタデータや証明書を取得する方法としては、例えば、IDプロバイダ16がこれらファイルのダウンロードを行う画面(不図示)を作成し、クライアント12からのアクセスによって提供する方法が考えられる。
以下、本発明の各サーバーにおける処理フローについてシーケンスおよびフローチャートを用いて説明する。
図7はクライアント12のWebブラウザからWebアプリケーションサーバー13のWebアプリケーション34に対してWebアクセスリクエストを行った場合のSSOシーケンスである。なお、以後、クライアント12のWebブラウザでの制御をクライアント12での制御として説明する。また、本SSOシーケンスはSAMLで定義されているSSOプロトコルシーケンスの一例であり、SAMLで定義されているSSOプロトコルシーケンスの方式を制限するものではない。なお、SSOプロトコルシーケンスは、後述するIDプロバイダの登録および選択が既に行われているものとして説明する。
クライアント12は、シーケンスS7.1にて、Webアプリケーションサーバー13に対してWebアクセスリクエストを実行する。このWebアクセスリクエストのアクセス先は、Webアプリケーション34を指しており、このリクエストには、後述する認証が既に終了している事を示すCookieは含まれていないものとする。
シーケンスS7.2にて、ログインアプリケーション32はリクエストをフィルタし、ログイン制御サーバー14のログイン制御API41に対して認証確認をリクエストする。
ログイン制御サーバー14は、ログイン制御API41で受け付けた認証確認リクエストをログイン制御部42にて処理する。ログイン制御サーバー14は、シーケンスS7.3 にて、認証確認リクエストに、後述する認証している事を示す情報が含まれていないため、クライアント12をログインアプリケーション32にリダイレクトさせる。
Webアプリケーションサーバー13は、シーケンスS7.4 にて、ログインアプリケーション32にてクライアント12からのアクセスを受け付け、不図示のテナントID入力画面を応答する。クライアント12は、シーケンスS7.5 にて、テナントID入力画面に入力されたテナントIDをログインアプリケーション32へ通知する。
Webアプリケーションサーバー13は、シーケンスS7.6にて、ログインアプリケーション32で受け付けたテナントIDを用いて、ログイン制御API41に対してログイン先情報の取得を行う。ログイン制御サーバー14は、ログイン制御API41で受け付けたログイン先情報の取得リクエストをログイン制御部42にて処理を行う。シーケンスS7.7にて、ログイン制御サーバー14は、データベースサーバー15が管理しているテナントテーブル51へ、受け付けたテナントIDを用いて選択IDプロバイダ情報の取得を行う。
データベースサーバー15は、シーケンスS7.8 にて、受け付けたテナントIDから選択IDプロバイダ種別512、選択IDプロバイダのEntity ID513を取り出し応答する。このとき、選択IDプロバイダ512が「ログインアプリケーション」であった場合、ログイン制御サーバー14は、ログインアプリケーション32にて認証検証を行うよう応答する。そして、認証検証要求を受けたログインアプリケーション32は、クライアント12に対して不図示のユーザー認証画面を応答する。そして、ログインアプリケーション32は、クライアント12よりユーザーIDとパスワード入力を受け付け、それら情報を用いてログイン制御サーバー14に認証検証リクエストを行う。認証検証リクエストを受けたログイン制御サーバー14はデータベースサーバー15を介して、ユーザーテーブル50のユーザーID501、パスワード502と、取得したユーザー認証情報であるユーザーID、パスワードが一致するかを検証する。一致した場合は、シーケンスS7.16の処理を実行するよう構成する事もできる。
説明をメインフローであるS7.9に戻す。ログイン制御サーバー14は受信したEntity IDをログイン制御部42にて処理する。シーケンスS7.9にて、ログイン制御サーバー14はEntity IDを用いてメタデータ・証明書記憶部43からSSOを行うためのIDプロバイダ16のエンドポイントを取得する。そして、シーケンスS7.10 にて、ログイン制御サーバー14はIDプロバイダ16のエンドポイントに対してクライアント12を介してSAMLのアサーションリクエストを行う。このSAMLのアサーションリクエストは、Webアプリケーションサーバー13を介して行われる。ここで、アサーションリクエストは事前に設定された証明書によって署名する事ができるが、本実施の形態では署名なしのリクエストであるとして説明する。
IDプロバイダ16はアサーションリクエストを受け付け、シーケンスS7.11にてクライアント12にユーザー認証を求める。ユーザー認証の方式としてはIDプロバイダ16で管理しているユーザー識別子と秘匿情報を用いた方法が考えられる。より具体的には、クライアント12のWebブラウザにユーザー識別子、秘匿情報の入力を受け付ける画面を提示するフォーム認証か、もしくはベーシック認証などの方式が考えられる。
IDプロバイダ16は、ユーザー認証が成功するとアサーションを生成し、シーケンスS7.12にてアサーションレスポンスを応答する。この際に生成されるアサーションには、IDプロバイダ16のEntity ID、証明書による署名、およびマッピングIDが含まれる。
ログイン制御サーバー14は、受信したアサーションをログイン制御部42にて処理する。ログイン制御サーバー14は、シーケンスS7.13にて、メタデータ・証明書記憶部43から、Entity IDを用いて証明書を取得する。次に、ログイン制御サーバー14は、取得した証明書を用いて、IDプロバイダ16のアサーションレスポンスに含まれるアサーションの署名を検証する。この際、ログイン制御サーバー14は、メタデータを用いてアサーションレスポンスに含まれるEntityIDの正当性を検証する形態であっても良い。しかし、一般的にアサーションの検証と言った場合、署名による検証のみを指す。
そして、アサーションの署名が正しい場合には、ログイン制御サーバー14は、シーケンスS7.14にて、データベースサーバー15のユーザーマップテーブル54に対してEntity ID、マッピングIDを用いてユーザーID取得を行う。データベースサーバー15は、シーケンスS7.15 にて、Entity ID、およびマッピングIDにより特定されたユーザーIDを応答する。この際、マッピングIDの参照方法をメタデータに基づき決定しても良い。メタデータには、マッピングIDからユーザーIDを特定するのがIDプロバイダであるか、サービスプロバイダであるかについて記載されている。本実施例では、サービスプロバイダであるものとする。
ログイン制御サーバー14は受信したユーザーIDをログイン制御部42にて処理する。そして、ログイン制御サーバー14はシーケンスS7.16にて認証情報を生成する。ここで生成する認証情報とは、例えば、認証セッションをユニークに識別するためのセッションIDを含む、認証されている事を示す情報である。この認証情報はログイン制御サーバー14のRAM23にてセッションIDとユーザーIDとを紐づけて記憶される。そして、シーケンスS7.17にてログイン制御サーバー14は、シーケンスS7.1で受け付けたWebアクセスリクエスト先にWebアプリケーションサーバー13を介してクライアント12をリダイレクトさせる。その際、リダイレクトリクエストに生成した認証情報のセッションIDをHTTPプロトコルにおけるCookieに設定する。
Webアプリケーションサーバー13は、シーケンスS7.18にて、ログインアプリケーション32がリクエストをフィルタし、ログイン制御サーバー14のログイン制御API41に対して認証確認をリクエストする。その際、クライアント12のWebブラウザから送信されたCookieに設定されている認証情報のセッションIDをログイン制御API41に渡す。
ログイン制御サーバー14では、ログイン制御API41で受け付けた認証確認リクエストをログイン制御部42にて処理を行う。より具体的には、受け付けた認証情報のセッションIDがログイン制御サーバー14のRAM23に認証情報として格納されているかを検証し、認証済みであるかを判断する。シーケンスS7.19 にて、ログイン制御サーバー14はログインアプリケーション32に対して、検証結果と、認証済みであった場合は認証情報を通知する。ログインアプリケーション32は、WebアクセスリクエストをWebアプリケーション34に通知する。この際、ログインアプリケーション32は、ログイン制御サーバー14を介し、認証情報に格納されているユーザーIDを用いて、データベースサーバー15のユーザーテーブル50内のユーザーID501、テナントID503の情報を取得し通知する。
Webアプリケーションサーバー13は、WebアクセスリクエストをWebアプリケーション34にて処理する。Webアプリケーションサーバー13は、シーケンスS7.21にてクライアント12にWebアクセス応答する。結果、クライアント12は、サービスプロバイダの情報処理システムに対しユーザー認証情報を入力することなく、IDプロバイダに対するユーザー認証情報の入力のみで、サービスプロバイダが提供するサービスを受けることが出来る。以上のシーケンスにより、SAMLによるSSOが実行される。
次に、本発明の特徴であるIDプロバイダの登録方法について図面を用いて説明する。より具体的には、各図面を用いて以下の説明を行う。図7のシーケンスS7.9、S7.13にて利用したメタデータ・証明書記憶部43のメタデータ、証明書の登録方法。および、図7のシーケンスS7.7、S7.8にて利用したテナントテーブル51の選択IDプロバイダのEntity ID情報の登録方法。なお、ユーザーテーブル50、テナントテーブル51のテナントID511、および、ユーザーマップテーブル54の情報は事前に用意されているものとする。
図8は、Webアプリケーションサーバー13における認証設定アプリケーション33が生成するIDプロバイダ登録画面である。認証設定アプリケーション33はクライアント12のWebアクセスリクエストに応じて本画面を応答する。このIDプロバイダの登録によって登録されたIDプロバイダが、図10を用いて後述するIDプロバイダの選択の対象となる。登録の際、ユーザーからのアクセスが未認証の場合は、ログインアプリケーション32によるフィルタ処理にて図7で説明したユーザー認証処理が行われる。そして、認証設定アプリケーション33は、ログインアプリケーション32から認証したユーザー認証情報を受け取る。ユーザー認証情報とは、ユーザーテーブル50のユーザーID501、テナントID503である。ユーザー認証情報を受け取った認証設定アプリケーション33は、IDプロバイダ登録画面を応答し、クライアント12では、項目の選択状態によって80Aもしくは80Bの画面が提示される。
図中801は登録するIDプロバイダを選択するためのIDプロバイダリストである。認証設定アプリケーション33はログイン制御サーバー14を介してデータベースサーバー15のIDプロバイダマスターテーブル52から情報を取得してIDプロバイダリスト801を生成する。その際、IDプロバイダ種別521が「ログインアプリケーション」となっているものは除外する。
図中802は登録するメタデータのファイルを指定するためのファイル選択コントロールである。そして、図中803は登録する証明書のファイルを指定するためのファイル選択コントロールである。これらファイル選択コントロールは、IDプロバイダリスト801にてIDプロバイダの選択状態が変化する毎に以下のように制御される。IDプロバイダリスト801で選択されたIDプロバイダのIDプロバイダマスターテーブル52におけるメタデータ/証明書のアップロード要否522が「要」であった場合は、80Aのようにコントロールは有効状態で表示される。ユーザーは、サービスプロバイダに保持させる事前情報を指定することが可能である。IDプロバイダリスト801で選択されたIDプロバイダのIDプロバイダマスターテーブル52におけるメタデータ/証明書のアップロード要否522が「否」であった場合は、80Bのようにコントロールは無効状態で表示される。ユーザーは、サービスプロバイダに保持させる事前情報を指定することが不可能である。このように事前情報をアップロードさせないように画面を構成することで、先に述べたIDプロバイダとの信頼関係を動的に設定変更すると発生する課題を解決することが可能となる。
図中804はIDプロバイダの登録作業を行わずに終了するためのキャンセルボタンである。図中805はIDプロバイダの登録を実行するための登録ボタンである。登録ボタン805が押下された場合、認証設定アプリケーション33は以下の処理を実行する。まず、IDプロバイダリストで選択されているIDプロバイダ種別を取得する。これは、IDプロバイダリスト生成時にデータベースサーバー15のIDプロバイダマスターテーブル52から取得した情報を用いる。次に、各ファイル選択コントロールが有効な場合は、メタデータ、証明書の各ファイルを取得する。そして、メタデータ、証明書の各ファイルについて以下の処理を行う。
まず、認証設定アプリケーション33は、メタデータに記述されている署名を証明書を用いて検証する。検証の結果が不正であった場合、認証設定アプリケーション33はクライアント12に不図示のエラー画面を応答し、処理を終了する。検証の結果が正当であった場合は、メタデータからEntity IDを抽出する。そして、認証設定アプリケーション33は、ユーザー情報、IDプロバイダ種別、メタデータ、証明書、および抽出したEntity IDらの情報を用いて、ログイン制御サーバー14に対してIDプロバイダ登録依頼を実行する。ログイン制御サーバー14では、ログイン制御API41を介して受け付けたIDプロバイダ登録依頼を、ログイン制御部42にて処理する。本処理フローについては後述する。
なお、上述したメタデータの署名検証については、認証設定アプリケーション33にて行う方式で説明したが、後述するログイン制御サーバー14におけるメタデータ・証明書の登録時に実施しても良い。また、認証設定アプリケーション33がログイン制御サーバー14にIDプロバイダ登録依頼する際に、メタデータ・証明書の各ファイルの実態をデータとして渡しても良い。もしくは、不図示のファイル格納領域にファイルを格納し、当該ファイルを特定するためのIDを渡すよう構成としても良い。この当該ファイルを特定するためのIDについては、例えば、ファイル名にIDを付与する方法が考えられる。
図9は、ログイン制御サーバー14が、認証設定アプリケーション33からのIDプロバイダの登録依頼を受け付けた場合のIDプロバイダ登録処理フローである。登録依頼は、ユーザーからのIDプロバイダを登録する指示により発行される依頼である。IDプロバイダ登録処理フロー90と、当該フロー中の共通処理フローであるマスター登録判断フロー91、重複登録判断フロー92とで構成される。
ログイン制御部42における、IDプロバイダ登録処理フロー90について説明する。ステップ9001にて、ログイン制御部42は認証設定アプリケーション33からIDプロバイダの登録依頼を受け付ける。IDプロバイダの登録依頼には、ユーザー情報、IDプロバイダ種別と、必要に応じてメタデータ、証明書、およびメタデータのEntity IDらの情報を受け付ける。
ステップ9002にて、ログイン制御部42は受け付けたIDプロバイダ種別を用いて、データベースサーバー15のIDプロバイダマスターテーブル52からIDプロバイダの情報を取得する。
ステップ9003にて、ログイン制御部42は取得したIDプロバイダの情報のうち、Entity IDの共有可否523を調べ、「可」であった場合はステップ9004へ、「否」であった場合はステップ9008へ処理を分岐する。換言すれば、この判断ステップは、ユーザーが登録を指定したIDプロバイダとなる情報処理システムが、事前情報をグループ毎に管理する情報処理システムであるか、または事前情報を複数のグループで共有させて管理する情報処理システムであるかの判断である。
ステップ9004にて、ログイン制御部42は取得したIDプロバイダの情報のうち、メタデータ/証明書アップロードの要否522を調べ、「要」であった場合はステップ9005へ、「否」であった場合はステップ9006へ処理を分岐する。
ステップ9005にて、ログイン制御部42は受け付けたIDプロバイダ登録依頼を登録エラーとして応答し、処理を終了する。IDプロバイダが事前情報を複数のグループで共有させて管理しているにも関わらず、事前情報の受け付けが必要な情報処理システムは誤ったSSOを実現する危険性が高いIDプロバイダであるため、実質そのようなIDプロバイダが運用させる可能性は極めて低い。よって、IDプロバイダマスターテーブル52の設定ミスであるとし、例外処理のエラーとして本願発明のサービスプロバイダに設けている。即ち、IDプロバイダが事前情報を複数のグループで共有させて管理している場合は、事前情報は既に保持されていることが前提である。
ステップ9006にて、ログイン制御部42は、ステップ9001で受信したIDプロバイダ種別を用いて後述するマスター登録判断処理を実行する。マスター登録判断処理の結果が正常応答で合った場合、ステップ9007へ処理を継続する。
ステップ9007にて、ログイン制御部42はIDプロバイダ登録を実施する。より具体的には、ログイン制御部42はデータベースサーバー15のIDプロバイダ管理テーブル53に対し、ユーザー情報に含まれるテナントID、IDプロバイダマスターテーブル52の共有Entity ID524、IDプロバイダ種別、および、IDプロバイダ状態を登録する。この際、IDプロバイダ状態は「登録済」を格納する。IDプロバイダ状態が「登録済」となると、ユーザーは後述する図10のIDプロバイダ登録画面を介して、IDプロバイダが登録することが可能になる。
ステップ9008にて、ログイン制御部42は取得したIDプロバイダの情報のうち、メタデータ/証明書アップロードの要否522を調べ、「要」であった場合はステップ9009へ、「否」であった場合はステップ9014へ処理を分岐する。
ステップ9009にて、ログイン制御部42は、ステップ9001で受信したEntity IDを用いて後述する重複登録判断処理を実行する。重複登録判断処理の結果が正常応答で合った場合、ステップ9007へ処理を継続する。
ステップ9010にて、ログイン制御部42はIDプロバイダ登録予約を実施する。より具体的には、データベースサーバー15のIDプロバイダ管理テーブル53に対して、ユーザー情報に含まれるテナントID、Entity ID、IDプロバイダ種別、および、IDプロバイダ状態を登録する。この際、IDプロバイダ状態は「登録予約」を格納する。メタデータ・証明書ファイルを直接受信する構成の場合は、不図示のメモリ領域に保存し、IDプロバイダ状態534に対して、メタデータ・証明書を特定するための情報を付与して格納する。
ステップ9011にて、ログイン制御部42はIDプロバイダの登録予約結果が失敗だった場合はステップ9012に、成功した場合はステップ9013に処理を分岐する。登録予約が失敗する理由としては、例えば、当該Entity IDのIDプロバイダ登録予約が複数のユーザーから全く同時に実行された場合に、ステップ9009の重複登録判断にて互いに正常応答となる可能性がある。これは、事前情報の検証に時間を要するためであり、未だ登録ユーザーの他のグループに対応する事前情報として保持されていないからである。その場合は、データベースサーバー15のIDプロバイダ管理テーブル53の各項目の組み合わせや、不図示の別項目に対してユニーク制約を設定する対応が考えられる。この対応により、データベーストランザクションにおけるコミットメントが後から実行される側にて失敗を応答するよう構成する事ができる。
ステップ9012にて、ログイン制御部42は受け付けたIDプロバイダ登録依頼を登録エラーとして応答し、処理を終了する。
ステップ9013にて、ログイン制御部42は登録予約したIDプロバイダの登録処理を行う。ここで、ログイン制御部42における「登録予約」状態のIDプロバイダの登録処理について説明する。
ログイン制御部42はメタデータに記述されているSAMLの各種プロトコル設定が、ログインアプリケーション32、および、ログイン制御部42にて解釈および実施可能かの判断をする必要がある。また、メタデータの記述そのものがSAMLの要件を満たしているのか、さらには証明書がセキュアであるのか、等の確認も必要である。これらを、メタデータ・証明書の検証と呼ぶ。このメタデータ・証明書の検証は、ある程度の時間を要する処理になる可能性が高い。よって、本実施例では、ログイン制御部42は、IDプロバイダ登録処理フロー90とは別のプロセスとして、「登録予約」状態のIDプロバイダを対象とした定期的なIDプロバイダ登録処理を実施する構成とする。ただし、本構成は、メタデータ・証明書の登録処理に時間を要する場合の構成であって、例えば、メタデータの記述内容のサポート範囲や内容の検証方法によっては時間短縮可能であり、ステップ9013の処理として実施する構成も可能である。以下、別プロセスか、もしくはステップ9013の処理として実施する場合の登録処理について説明する。
ステップ9013、もしくは別プロセスにて、ログイン制御部42は「登録予約」状態のIDプロバイダ登録を実施する。より具体的には、上述したメタデータ・証明書ファイルの検証を実施後、正当であれば、以下の処理を実行する。ログイン制御部42は、Entity IDを用いて、メタデータ・証明書記憶部43に当該メタデータ・証明書を格納する。次に、ログイン制御部42は、データベースサーバー15のIDプロバイダ管理テーブル53に対して、IDプロバイダ状態を「登録済」に変更し、処理を終了する。なお、メタデータ・証明書ファイルの検証の実施後、不正であれば、登録エラーとして処理を終了する。
ステップ9014にて、ログイン制御部42はステップ9001で受信したIDプロバイダ種別を用いて後述するマスター登録判断処理を実行する。マスター登録判断処理の結果が正常応答で合った場合、ステップ9015へ処理を継続する。IDプロバイダが事前情報をグループ毎に管理する情報処理システムであり、かつ事前情報が既に保持されている場合、S9014以降の処理が実行される。これは商談対応なので、テナントの管理者から予め事前情報を取得している場合に対応している。サービスプロバイダのシステム管理者は、テナントの管理者が登録を実行する前に事前情報を格納しておくのである。結果、テナントの管理者に対するIDプロバイダの登録の負担を軽減可能である。
ステップ9015にて、ログイン制御部42はIDプロバイダマスターテーブル52の共有Entity ID524を取得する。
ステップ9016にて、ログイン制御部42は前ステップで取得したEntity IDを用いて後述する重複登録判断処理を実行する。重複登録判断処理の結果が正常応答で合った場合、ステップ9017へ処理を継続する。
ステップ9017にて、ログイン制御部42はIDプロバイダ登録を実施する。より具体的には、データベースサーバー15のIDプロバイダ管理テーブル53に対して以下の情報を登録する。ユーザー情報に含まれるテナントID、IDプロバイダマスターテーブル52の共有Entity ID524、IDプロバイダ種別、および、IDプロバイダ状態である。この際、IDプロバイダ状態は「登録済」を格納する。
次に、ログイン制御部42におけるマスター登録判断フロー91について説明する。ステップ9101にて、ログイン制御部42は判断対象であるIDプロバイダ種別を受け付ける。
ステップ9102にて、ログイン制御部42はIDプロバイダ種別を用いてIDプロバイダマスターテーブル52の共有Entity ID524にEntity IDが登録されているかを調べる。Entity IDが登録されていない場合はステップ9103、登録されている場合はステップ9104に処理を分岐する。ステップ9103にて、ログイン制御部42はエラー応答し処理を終了する。ステップ9104にて、ログイン制御部42は正常応答する。
次に、ログイン制御部42における重複登録判断フロー92について説明する。ステップ9201にて、ログイン制御部42は判断対象であるEntity IDを受け付ける。
ステップ9202にて、ログイン制御部42は、Entity IDを用いてIDプロバイダ管理テーブル53にて同一Entity IDのIDプロバイダが存在しているか否かを調べる。この際、IDプロバイダ状態534が「登録済」「登録予約」の双方を対象とする。結果、同一Entity IDのIDプロバイダが存在している場合は利用中であると判断しステップ9203へ、存在していない場合は利用していないと判断しステップ9204へ処理を分岐する。ステップ9203にて、ログイン制御部42はエラー応答し処理を終了する。ステップ9204にて、ログイン制御部42は正常応答する。
以上説明したフローによって、マルチテナント構成のサービスプロバイダにおいても、テナント毎にIDプロバイダとの信頼関係を構築する事ができる。つまりは、IDプロバイダとの信頼関係の構築において、IDプロバイダが単一のEntity IDしか持たない場合は、サービスプロバイダにて複数のテナントで一つのIDプロバイダを共有する事ができる。さらに、IDプロバイダが複数のEntity IDを持てるものであった場合は、サービスプロバイダにて同一のEntity IDのIDプロバイダが複数のテナントで共有されること無く、動的に構築する事が可能となる。また、ユーザーのIDプロバイダの登録負担の軽減、IDプロバイダの誤設定を防ぐことも可能となる。
図10はWebアプリケーションサーバー13における認証設定アプリケーション33が生成するIDプロバイダ選択画面である。認証設定アプリケーション33はクライアント12のWebアクセスリクエストに応じて本画面を応答する。このIDプロバイダの一覧が表示された選択画面にて選択可能なIDプロバイダは、図8を用いて説明したIDプロバイダの登録が行われたものである。なお、ここで説明するIDプロバイダの選択にて選択されたIDプロバイダが、図7で説明したSSOプロトコルフローにて、認証検証を行うIDプロバイダとなる。換言すれば、ユーザーは自身でIDプロバイダを選択することができ、任意のIDプロバイダでユーザー認証処理を受けることができる。無論、選択できるIDプロバイダは登録処理が済んだIDプロバイダのみである。
クライアント12のアクセスが未認証の場合、ログインアプリケーション32は、フィルタ処理にて図7で説明したユーザー認証処理を行う。そして、認証設定アプリケーション33は、ログインアプリケーション32からユーザー認証情報を受け取る。ユーザー認証情報は、ユーザーテーブル50のユーザーID501、テナントID503である。ユーザー認証情報を受け取った認証設定アプリケーション33は、IDプロバイダ選択画面を応答し、クライアント12ではIDプロバイダ選択画面100が提示される。
図中1001は、登録済みのIDプロバイダの一覧の中から、SAMLにおけるユーザー認証処理を行うIDプロバイダを選択するためのIDプロバイダリストである。IDプロバイダリスト1001は表示項目として、選択状態を示す情報と、IDプロバイダ名、および対応するEntity IDを表示する。認証設定アプリケーション33はログイン制御サーバー14を介してデータベースサーバー15のIDプロバイダ管理テーブル53から情報を取得してIDプロバイダリスト1001を生成する。その際、取得したユーザー情報のテナントIDを用いて取得するIDプロバイダの情報を絞り込む。さらに、全てのテナントにおいてIDプロバイダとしてログインアプリケーション32を選択可能に表示する。次に、認証設定アプリケーション33は、データベースサーバー15のテナントテーブル51からテナントIDを用いて選択IDプロバイダ種別512を取得し、IDプロバイダリスト1001の対応するIDプロバイダを選択状態として表示する。図中1002はIDプロバイダの選択を行わずに終了するためのキャンセルボタンである。図中1003はIDプロバイダの選択を実行するための選択ボタンである。
選択ボタン1003が押下された場合、認証設定アプリケーション33は以下の処理を実行する。まず、認証設定アプリケーション33は、IDプロバイダリストで選択されているIDプロバイダのEntity IDを取得する。これは、IDプロバイダリスト生成時にデータベースサーバー15のIDプロバイダ管理テーブル53から取得した情報を用いる。そして、認証設定アプリケーション33は、ユーザー情報、Entity ID、IDプロバイダ種別らの情報を用いて、ログイン制御サーバー14に対してIDプロバイダ選択依頼を実行する。ログイン制御サーバー14では、ログイン制御API41を介して受け付けたIDプロバイダ選択依頼を、ログイン制御部42にて処理する。
認証設定アプリケーション33は、IDプロバイダ選択依頼の結果がエラーだった場合は不図示のエラー画面を応答する。IDプロバイダ選択依頼の結果が成功であった場合は、IDプロバイダリスト1001の選択状態を更新したIDプロバイダ選択画面100を応答する。
ログイン制御部42は、IDプロバイダ選択依頼を受け付けると、テナントIDとEntity IDを用いてデータベースサーバー15のIDプロバイダ管理テーブル53にそのEntity IDが登録されているかを確認する。確認の結果、登録されていない場合はエラー応答する。確認の結果、登録されている場合は、データベースサーバー15のテナントテーブル51においてテナントIDが一致する情報の選択IDプロバイダ種別512、選択IDプロバイダEntity ID513の情報を更新し成功応答する。以降、特定のテナントにおけるIDプロバイダは、特定のテナントに属するユーザーが選択したIDプロバイダとなり、クライアントから未認証のアクセスがあった場合、クライアントはそのIDプロバイダにアクセスさせられる。
上記処理によって、図9のフローで登録したIDプロバイダを図7で説明したSSOシーケンスで利用されるよう設定する事ができる。なお、IDプロバイダの登録、および選択は各テナントの代表である管理者により行われることを想定している。よって、管理者によりIDプロバイダの登録、および選択が行われたテナントに属するユーザーがS7.5にてテナントIDを入力することで、ユーザー認証処理を受けるべきIDプロバイダが自動で決定する。そのテナントに属するユーザーのユーザー認証処理が成功したことに応じて発行される認可情報に対しても、そのテナントに属する管理者が設定した事前情報を用いて検証が行われる。
図9のIDプロバイダ登録フロー90にて説明したとおり、メタデータ・証明書の検証はある程度の時間を要する処理になる可能性が高い。そのため、図8のIDプロバイダ登録画面80において、誤ったメタデータ・証明書ファイルで登録してしまった場合、ステップ9010にて「登録予約」されてしまう。結果、急ぎで正当なメタデータ・証明書を再登録しようとしても、重複登録判断フロー92にてEntity IDが利用されていると判断され再登録できない。つまりは、正当なメタデータ・証明書ファイルを設定するためには、前述のメタデータ・証明書検証の終了を待ち、処理がエラーするのを待たなければならない。
上記課題を解決するための実施例2について図面を用いて説明する。なお、実施例2では、図9の重複登録判断フロー92以外には差異が無いため説明を省略する。図11は実施例2に係るログイン制御サーバー14のログイン制御部42において重複登録判断リクエストを受けた場合の処理フローである。実施例1では、ユーザーからアップロードされた事前情報が、既に他のグループに対応する事前情報として登録されているか否かを、Entity IDを基に判定する形態であった。しかし、実施例2では、図11に示すようにその他の判断処理が追加された。
次に、ログイン制御部42における重複登録判断フロー110について説明する。ステップ1101にて、ログイン制御部42は判断対象であるEntity IDおよび、ユーザー情報に含まれるテナントIDを受け付ける。
ステップ1102にて、ログイン制御部42はEntity IDを用いて、IDプロバイダ管理テーブル53にて同一Entity IDのIDプロバイダが存在しているかを調べる。この際、IDプロバイダ状態534が「登録済」「登録予約」の双方を対象とする。結果、同一Entity IDのIDプロバイダが存在している場合は利用中であると判断しステップ1104へ、存在していない場合は利用していないと判断しステップ1103へ処理を分岐する。
ステップ1103にて、ログイン制御部42は正常応答する。
ステップ1104にて、ログイン制御部42はステップ1102にて調べて存在した同一Entity IDのテナントID531が、取得したテナントIDと同一であるかを調べる。同一である場合は、IDプロバイダ状態534が「登録予約」であるかを調べ、該当しない場合はステップ1105へ、該当する場合はステップ1106へ処理を分岐する。
ステップ1105にて、ログイン制御部42はエラー応答し処理を終了する。ステップ1106にて、ログイン制御部42は正常応答し処理を終了する。
実施例2の構成によれば、誤ったメタデータ・証明書ファイルで登録してしまった場合、ステップ9010にて「登録予約」されてしまったとしても、同一テナント内であれば再登録が可能となる。つまりは、正当なメタデータ・証明書ファイルの再設定を、メタデータ・証明書検証の終了を待たずに行う事ができるのでユーザビリティーを向上させることが可能になる。
以上、本発明の実施形態について詳細を説明したが、本発明は係る特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変更が可能である。
10 WAN
11 LAN
12 クライアント
13 Webアプリケーションサーバー
14 ログイン制御サーバー
15 データベースサーバー
16 IDプロバイダ

Claims (9)

  1. ユーザーから入力されたユーザー認証情報を用いたユーザー認証処理を行う第1の情報処理システムと通信可能な第2の情報処理システムであって、
    前記ユーザー認証処理が成功したことに応じて前記第1の情報処理システムにより発行され送信される認可情報を、前記第1の情報処理システムにより発行されたことを証明するための電子証明書を少なくとも含む事前情報を用いて署名検証する検証手段と、
    前記検証の結果、送信された前記認可情報が前記第1の情報処理システムにより発行された認可情報であることが少なくとも確認された場合に、前記ユーザー認証処理を行うことなくサービスを提供する提供手段と、
    ユーザー認証処理を行う第1の情報処理システムを登録する指示を前記ユーザーから受け付けた際に、該第1の情報処理システムが前記事前情報をグループ毎に管理する情報処理システムであるか、または前記事前情報を複数のグループで共有させて管理する情報処理システムであるかを判断する判断手段と、
    前記判断手段により該第1の情報処理システムが前記事前情報をグループ毎に管理する情報処理システムであると判断された場合は、前記事前情報を受け付け可能な第1の方法で前記ユーザーのテナントIDと該第1の情報処理システムのエンティティIDと受け付けた前記事前情報とを関連付けて保存する登録処理を行い、前記判断手段により該第1の情報処理システムが前記事前情報を複数のグループで共有させて管理する情報処理システムであると判断された場合は、前記事前情報を受け付け不可能な第2の方法で前記ユーザーのテナントIDと該第1の情報処理システムのエンティティIDと予め保有する前記事前情報とを関連付けて保存する登録処理を行う登録手段と、
    を有する第2の情報処理システム。
  2. 前記登録手段は、該第1の情報処理システムが前記事前情報をグループ毎に管理する情報処理システムであり、かつ前記ユーザーが属するグループに対応した前記事前情報は前記グループに対応する事前情報として予め用意されている場合は、前記ユーザーから前記ユーザーが属するグループに対応した前記事前情報を受け付けることなく、予め用意されている前記事前情報を用いて前記登録処理を行うことを特徴とする請求項1に記載の第2の情報処理システム。
  3. 前記登録手段は、前記ユーザーが属するグループに対応した前記事前情報を受け付けた際に、受け付けた前記事前情報が他のグループに対応する事前情報として既に保持されている場合、または未だ前記他のグループに対応する事前情報として保持されてはいないが前記他のグループに対応する事前情報として保持するために事前情報を検証する処理を行っている状態である場合は、前記ユーザーからの指示に伴う登録処理を行わないことを特徴とする請求項1または2に記載の第2の情報処理システム。
  4. 受け付けた前記事前情報を用いて行われる前記検証は、前記ユーザーと同じグループに属するユーザーの前記ユーザー認証処理が成功したことに応じて前記第1の情報処理システムにより発行される認可情報に対しても行われることを特徴とする請求項1乃至3の何れか1項に記載の第2の情報処理システム。
  5. 前記第2の情報処理システムは、データをグループ毎に管理するマルチテナント構成の情報処理システムであって、前記既に保持している前記事前情報は、例外としてグループ間で共有するデータとして管理することを特徴とする請求項1乃至4の何れか1項に記載の第2の情報処理システム。
  6. ユーザー認証処理を行う第1の情報処理システムを登録するための画面であって、前記事前情報を受け付ける必要がない第1の情報処理システムをユーザーが選択した場合は、保持させる前記事前情報を指定することが不可能であり、前記事前情報を受け付ける必要がある第1の情報処理システムをユーザーが選択した場合は、保持させる前記事前情報を指定することが可能である画面を、ユーザーが操作するクライアントに送信することを特徴とする請求項1乃至5の何れか1項に記載の第2の情報処理システム。
  7. 前記ユーザーの指示に従い前記登録手段により登録された第1の情報処理システムの一覧をユーザーが操作するクライアントに送信し、
    前記一覧の中から選択された第1の情報処理システムをユーザー認証処理を行う第1の情報処理システムとして設定し、前記ユーザーからの未認証のアクセスがあった場合は、設定された当該第1の情報処理システムでユーザー認証処理を行わせるため、前記クライアントを当該第1の情報処理システムへアクセスさせることを特徴とする請求項1乃至6の何れか1項に記載の第2の情報処理システム。
  8. ユーザーから入力されたユーザー認証情報を用いたユーザー認証処理を行う第1の情報処理システムと通信可能な第2の情報処理システムにおける制御方法であって、
    前記ユーザー認証処理が成功したことに応じて前記第1の情報処理システムにより発行され送信される認可情報を、前記第1の情報処理システムにより発行されたことを証明するための電子証明書を少なくとも含む事前情報を用いて署名検証する検証ステップと、
    前記検証の結果、送信された前記認可情報が前記第1の情報処理システムにより発行された認可情報であることが少なくとも確認された場合に、前記ユーザー認証処理を行うことなくサービスを提供する提供ステップと、
    ユーザー認証処理を行う第1の情報処理システムを登録する指示を前記ユーザーから受け付けた際に、該第1の情報処理システムが前記事前情報をグループ毎に管理する情報処理システムであるか、または前記事前情報を複数のグループで共有させて管理する情報処理システムであるかを判断する判断ステップと、
    前記判断ステップにおいて該第1の情報処理システムが前記事前情報をグループ毎に管理する情報処理システムであると判断された場合は、前記事前情報を受け付け可能な第1の方法で前記ユーザーのテナントIDと該第1の情報処理システムのエンティティIDと受け付けた前記事前情報とを関連付けて保存する登録処理を行い、前記判断ステップにおいて該第1の情報処理システムが前記事前情報を複数のグループで共有させて管理する情報処理システムであると判断された場合は、前記事前情報を受け付け不可能な第2の方法で前記ユーザーのテナントIDと該第1の情報処理システムのエンティティIDと予め保有する前記事前情報とを関連付けて保存する登録処理を行う登録ステップと、を含む制御方法。
  9. ユーザーから入力されたユーザー認証情報を用いたユーザー認証処理を行う第1の情報処理システムと通信可能な第2の情報処理システムにおいて
    前記ユーザー認証処理が成功したことに応じて前記第1の情報処理システムにより発行され送信される認可情報を、前記第1の情報処理システムにより発行されたことを証明するための電子証明書を少なくとも含む事前情報を用いて署名検証する検証ステップと、
    前記検証の結果、送信された前記認可情報が前記第1の情報処理システムにより発行された認可情報であることが少なくとも確認された場合に、前記ユーザー認証処理を行うことなくサービスを提供する提供ステップと、
    ユーザー認証処理を行う第1の情報処理システムを登録する指示を前記ユーザーから受け付けた際に、該第1の情報処理システムが前記事前情報をグループ毎に管理する情報処理システムであるか、または前記事前情報を複数のグループで共有させて管理する情報処理システムであるかを判断する判断ステップと、
    前記判断ステップにおいて該第1の情報処理システムが前記事前情報をグループ毎に管理する情報処理システムであると判断された場合は、前記事前情報を受け付け可能な第1の方法で前記ユーザーのテナントIDと該第1の情報処理システムのエンティティIDと受け付けた前記事前情報とを関連付けて保存する登録処理を行い、前記判断ステップにおいて該第1の情報処理システムが前記事前情報を複数のグループで共有させて管理する情報処理システムであると判断された場合は、前記事前情報を受け付け不可能な第2の方法で前記ユーザーのテナントIDと該第1の情報処理システムのエンティティIDと予め保有する前記事前情報とを関連付けて保存する登録処理を行う登録ステップと、を実行させるためのプログラム。
JP2012116625A 2012-05-22 2012-05-22 情報処理システム、その制御方法、およびそのプログラム。 Expired - Fee Related JP6066586B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2012116625A JP6066586B2 (ja) 2012-05-22 2012-05-22 情報処理システム、その制御方法、およびそのプログラム。
US13/898,166 US9027107B2 (en) 2012-05-22 2013-05-20 Information processing system, control method thereof, and storage medium thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2012116625A JP6066586B2 (ja) 2012-05-22 2012-05-22 情報処理システム、その制御方法、およびそのプログラム。

Publications (2)

Publication Number Publication Date
JP2013242776A JP2013242776A (ja) 2013-12-05
JP6066586B2 true JP6066586B2 (ja) 2017-01-25

Family

ID=49622616

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012116625A Expired - Fee Related JP6066586B2 (ja) 2012-05-22 2012-05-22 情報処理システム、その制御方法、およびそのプログラム。

Country Status (2)

Country Link
US (1) US9027107B2 (ja)
JP (1) JP6066586B2 (ja)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6041537B2 (ja) * 2012-06-01 2016-12-07 キヤノン株式会社 システムおよび制御方法およびプログラム
JP6256116B2 (ja) * 2014-03-10 2018-01-10 富士通株式会社 通信端末、セキュアログイン方法、及びプログラム
US11223613B2 (en) * 2014-05-02 2022-01-11 Cloudblue Llc Methods and systems for roles and membership management in a multi-tenant cloud environment
US9948468B2 (en) * 2014-12-23 2018-04-17 Mcafee, Llc Digital heritage notary
CN108769976B (zh) * 2018-06-01 2021-07-20 深圳市知赢科技有限公司 网络附着控制方法、装置和移动终端

Family Cites Families (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3312335B2 (ja) * 1999-07-30 2002-08-05 株式会社コムスクエア 利用者認証方法、利用者認証システムおよび記録媒体
US6959336B2 (en) * 2001-04-07 2005-10-25 Secure Data In Motion, Inc. Method and system of federated authentication service for interacting between agent and client and communicating with other components of the system to choose an appropriate mechanism for the subject from among the plurality of authentication mechanisms wherein the subject is selected from humans, client applications and applets
AU2003245887A1 (en) * 2002-05-24 2003-12-12 Telefonaktiebolaget Lm Ericsson (Publ) Method for authenticating a user to a service of a service provider
US7606560B2 (en) * 2002-08-08 2009-10-20 Fujitsu Limited Authentication services using mobile device
US7444522B1 (en) * 2002-09-18 2008-10-28 Open Invention Network, Llc Dynamic negotiation of security arrangements between web services
US7788711B1 (en) * 2003-10-09 2010-08-31 Oracle America, Inc. Method and system for transferring identity assertion information between trusted partner sites in a network using artifacts
GB0411861D0 (en) * 2004-05-27 2004-06-30 Koninkl Philips Electronics Nv Authentication of applications
KR100644616B1 (ko) * 2004-06-10 2006-11-10 세종대학교산학협력단 마크업 랭귀지 기반의 단일인증 방법 및 이를 위한 시스템
US9021253B2 (en) * 2004-07-02 2015-04-28 International Business Machines Corporation Quarantine method and system
US7463637B2 (en) * 2005-04-14 2008-12-09 Alcatel Lucent Public and private network service management systems and methods
US8365254B2 (en) * 2005-06-23 2013-01-29 Microsoft Corporation Unified authorization for heterogeneous applications
US20060294042A1 (en) * 2005-06-23 2006-12-28 Microsoft Corporation Disparate data store services catalogued for unified access
NO324315B1 (no) * 2005-10-03 2007-09-24 Encap As Metode og system for sikker brukerautentisering ved personlig dataterminal
US8166404B2 (en) * 2005-10-04 2012-04-24 Disney Enterprises, Inc. System and/or method for authentication and/or authorization
WO2007076459A2 (en) * 2005-12-21 2007-07-05 Digimarc Corporation Rules driven pan id metadata routing system and network
US7953758B2 (en) * 2006-11-10 2011-05-31 Ricoh Company, Ltd. Workflow management method and workflow management apparatus
JP2008176407A (ja) * 2007-01-16 2008-07-31 Toshiba Corp 生体認証システム、装置及びプログラム
CN101267445B (zh) * 2007-03-12 2013-04-17 华为技术有限公司 一种web业务实现系统、装置及方法
JP2009118110A (ja) 2007-11-06 2009-05-28 Nippon Telegr & Teleph Corp <Ntt> 認証システムのメタデータプロビジョニング方法、システム、そのプログラムおよび記録媒体
KR100953092B1 (ko) * 2007-11-06 2010-04-19 한국전자통신연구원 Sso서비스 방법 및 시스템
JP4847483B2 (ja) * 2008-03-10 2011-12-28 日本電信電話株式会社 個人属性情報提供システムおよび個人属性情報提供方法
JP4937171B2 (ja) * 2008-03-26 2012-05-23 みずほ情報総研株式会社 データ開示システム、アクセス制御設定方法、及びアクセス制御設定プログラム
JP4725666B2 (ja) * 2009-08-17 2011-07-13 コニカミノルタビジネステクノロジーズ株式会社 情報機器およびその運用支援方法
US8621654B2 (en) * 2009-09-15 2013-12-31 Symantec Corporation Using metadata in security tokens to prevent coordinated gaming in a reputation system
JP5531659B2 (ja) * 2010-02-12 2014-06-25 日本電気株式会社 属性情報交換システム、属性情報交換方法、属性情報交換プログラム
US8572710B2 (en) * 2010-03-18 2013-10-29 Microsoft Corporation Pluggable token provider model to implement authentication across multiple web services
CN102906776A (zh) * 2010-03-31 2013-01-30 帕特尔有限公司 一种用于用户和服务提供商之间双向认证的方法
JP4892093B1 (ja) * 2010-11-09 2012-03-07 株式会社東芝 認証連携システム及びidプロバイダ装置
US20120278872A1 (en) * 2011-04-27 2012-11-01 Woelfel John Harold System and method of federated authentication with reverse proxy
US20130254840A1 (en) * 2012-03-26 2013-09-26 International Business Machines Corporation Providing multiple authentications to authenticate users with respect to a system and file systems offerred through the system

Also Published As

Publication number Publication date
US20130318590A1 (en) 2013-11-28
US9027107B2 (en) 2015-05-05
JP2013242776A (ja) 2013-12-05

Similar Documents

Publication Publication Date Title
JP6857065B2 (ja) 認証認可サーバー、リソースサーバー、認証認可システム、認証方法及びプログラム
CN110138718B (zh) 信息处理系统及其控制方法
US8627409B2 (en) Framework for automated dissemination of security metadata for distributed trust establishment
US9432353B2 (en) Serialized authentication and authorization services
JP6066647B2 (ja) デバイス装置、その制御方法、およびそのプログラム
JP6141041B2 (ja) 情報処理装置及びプログラム、制御方法
JP6061633B2 (ja) デバイス装置、制御方法、およびそのプログラム。
CN111316267B (zh) 使用委托身份的认证
EP3188454A1 (en) Shared registration system
JP6376869B2 (ja) データ同期システム、その制御方法、認可サーバー、およびそのプログラム
WO2016092630A1 (ja) 情報処理装置、情報処理装置の制御方法、情報処理システム、およびコンピュータプログラム
JPWO2011089712A1 (ja) 認証方法、認証システムおよび認証プログラム
JP2010531516A (ja) 安全でないネットワークを介する装置のプロビジョニング及びドメイン加入エミュレーション
US8806195B2 (en) User interface generation in view of constraints of a certificate profile
JP6066586B2 (ja) 情報処理システム、その制御方法、およびそのプログラム。
JP2020177537A (ja) 認証認可サーバー、クライアント、サービス提供システム、アクセス管理方法とプログラム
JP2016063417A (ja) Vpnアクセス制御システム、その作動方法及びプログラム、並びにvpnルータ及びサーバ
JP2006031064A (ja) セッション管理システム及び管理方法
JP7099198B2 (ja) 管理装置、管理システム及びプログラム
JP2016115260A (ja) 権限移譲システム、権限移譲システムに用いられる認可サーバー、リソースサーバー、クライアント、媒介装置、権限移譲方法およびプログラム
JP5177505B2 (ja) シングルサインオンによるグループ内サービス認可方法と、その方法を用いたグループ内サービス提供システムと、それを構成する各サーバ
JP2016085638A (ja) サーバー装置、端末装置、システム、情報処理方法及びプログラム
JP2008287359A (ja) 認証装置及びプログラム
JP2013250894A (ja) マッピングサーバーとシングルサインオンシステム、マッピング機能提供方法
JP4882255B2 (ja) 属性証明書管理装置および方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20150522

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20160324

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20160419

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160519

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20161011

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20161104

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: 20161122

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20161220

R151 Written notification of patent or utility model registration

Ref document number: 6066586

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151

LAPS Cancellation because of no payment of annual fees