JP2016009299A - Single sign-on system, terminal device, control method and computer program - Google Patents
Single sign-on system, terminal device, control method and computer program Download PDFInfo
- Publication number
- JP2016009299A JP2016009299A JP2014129086A JP2014129086A JP2016009299A JP 2016009299 A JP2016009299 A JP 2016009299A JP 2014129086 A JP2014129086 A JP 2014129086A JP 2014129086 A JP2014129086 A JP 2014129086A JP 2016009299 A JP2016009299 A JP 2016009299A
- Authority
- JP
- Japan
- Prior art keywords
- authentication
- authorization
- module
- token
- server
- 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.)
- Pending
Links
Images
Abstract
Description
本発明は、端末およびサーバから構成されるシングルサインオンシステムに関する。より詳細には、端末への信頼に基づいて端末の認証方式を問わずに端末がサーバへシングルサインオンする方法およびコンピュータプログラムに関する。 The present invention relates to a single sign-on system including a terminal and a server. More specifically, the present invention relates to a method and a computer program in which a terminal performs single sign-on to a server regardless of a terminal authentication method based on trust in the terminal.
近年、企業内に設置された端末、例えば、PC、タブレットや画像形成装置が、インターネット上に展開された所謂クラウドサービスと連携し、ユーザに各種機能を提供するシステムが提供されている。各端末は、クラウドサービスと連携する事によって、端末自身が持つ機能だけではなく、クラウドサービスの機能をもユーザに提供する事が可能である。一般的に、企業内に設置された端末やインターネット上に展開されたクラウドサービスを利用するためには、不正利用の防止やユーザを識別するために、ユーザ認証が必要である。従って、ユーザには端末とクラウドサービスの両方への認証情報の入力が必要とされ、利便性にかけるという課題がある。 In recent years, a system has been provided in which terminals installed in a company, for example, a PC, a tablet, and an image forming apparatus cooperate with a so-called cloud service deployed on the Internet to provide various functions to a user. Each terminal can provide not only the function of the terminal itself but also the function of the cloud service to the user by cooperating with the cloud service. In general, in order to use a terminal installed in a company or a cloud service developed on the Internet, user authentication is necessary to prevent unauthorized use and to identify a user. Therefore, the user is required to input authentication information to both the terminal and the cloud service, and there is a problem in that it is convenient.
この課題を解決する手段として、複数の認証システムが連携することで、1度の認証の結果をもって、複数の認証を受ける事ができるシングルサインオン技術の利用が広がっている。例えば、Security Assertion Markup Language(以下SAML)プロトコルの技術が知られている。また、OpenID Foundation(http://openid.net/foundation/)が規定しているOpenID Connectといった技術が知られている。 As a means for solving this problem, the use of a single sign-on technology capable of receiving a plurality of authentications with a result of one authentication is spreading by cooperation of a plurality of authentication systems. For example, a Security Assession Markup Language (hereinafter, SAML) protocol technique is known. In addition, a technique called OpenID Connect defined by OpenID Foundation (http://openid.net/foundation/) is known.
また、端末とクラウドサービスにおいてシングルサインオンを実現するために特許文献1は以下のシングスサインオンシステムを開示している。特許文献1が開示するシングスサインオンシステムでは、利用者端末のOSにてユーザ認証するための認証サーバ装置と、クラウドサービス側に備えた認証連携基盤装置とが認証情報を共有することでシングルサインオンを実現している。 In order to realize single sign-on in a terminal and a cloud service, Patent Document 1 discloses the following single sign-on system. In the single sign-on system disclosed in Patent Document 1, an authentication server device for user authentication by an OS of a user terminal and an authentication cooperation infrastructure device provided on the cloud service side share a single sign. ON is realized.
上記従来技術では、端末でのユーザ認証を行うサーバ装置、つまり認証サーバが提供され、この認証サーバがクラウド−サービスとシングルサインオンをするための仕組みを提供する事で課題を解決している。つまり、端末は認証サーバが備える認証手段を用いてユーザ認証する必要がある。 In the above-described conventional technology, a server device that performs user authentication at a terminal, that is, an authentication server is provided, and this authentication server solves the problem by providing a mechanism for performing single sign-on with a cloud service. That is, the terminal needs to perform user authentication using an authentication unit provided in the authentication server.
一方、近年、セキュリティの確保およびユーザの利便性向上のために、ユーザを認証する手段として様々な手段が利用されている。例えば、指紋等の生体情報を利用する認証手段や、非接触型のICカードを利用する手段、さらには、複数の認証手段を組み合わせる多要素認証手段、等がある。これら認証手段を備えた端末を利用する場合、従来技術、つまり、端末での認証を認証サーバで行う場合は、認証サーバがこれら複数の認証手段に対応する必要がある。特に、新しい認証手段を備えた端末を利用する場合は、そのたびに、認証サーバが新しい認証手段に対応しなければならないという課題がある。 On the other hand, in recent years, various means have been used as means for authenticating users in order to ensure security and improve user convenience. For example, there are an authentication unit that uses biometric information such as fingerprints, a unit that uses a non-contact type IC card, and a multi-factor authentication unit that combines a plurality of authentication units. When using a terminal equipped with these authentication means, in the conventional technique, that is, when authentication at the terminal is performed by an authentication server, the authentication server needs to correspond to the plurality of authentication means. In particular, when using a terminal equipped with new authentication means, there is a problem that the authentication server must correspond to the new authentication means each time.
従来技術により、端末の認証を行う認証サーバと、クラウドサービス間で連携する事によってシングルサインオンを実現する事は可能である。しかしながら、従来技術においては、端末と連携する認証サーバが必要であり、かつ、端末の認証手段として、認証サーバが対応可能な認証手段しか選択できないという課題がある。 With conventional technology, it is possible to realize single sign-on by linking between an authentication server for authenticating a terminal and a cloud service. However, the prior art requires an authentication server that cooperates with the terminal, and there is a problem that only an authentication means that can be supported by the authentication server can be selected as the authentication means of the terminal.
本発明は、認証サーバを別途設置することなく、端末への一度のログイン操作で端末利用者が各種機能を提供するサーバとシングルサインオンを実現することを可能とする仕組みを提供することを目的とする。 An object of the present invention is to provide a mechanism that enables a terminal user to realize a single sign-on with a server that provides various functions by a single login operation to a terminal without separately installing an authentication server. And
本発明の一実施形態の情報処理装置は、ユーザ認証を実行する認可サーバとウェブサービスを提供するサービス提供サーバとを備えるシステムを介して前記ウェブサービスを利用する。前記情報処理装置は、自装置に対するログイン操作を受け付けて前記認可サーバに認証情報を含む認証連携要求を送信する第1の送信手段と、前記認証連携要求に対し、前記認可サーバから第1の認証要求を受け付けたことに起因して、第2の認証要求を前記サービス提供サーバに送信する第2の送信手段と、前記サービス提供サーバによる、第1のIDトークンを含む前記第2の認証要求への応答に起因して、該第1のIDトークンを含む第3の認証要求を前記サービス提供サーバに送信する第3の送信手段と、前記第3の認証要求に応答した前記サービス提供サーバから、認可コードを含む前記認可サーバへのリダイレクト指示を受信する第1の受信手段と、前記リダイレクトに含まれる前記認可コードを用いて認証トークンを生成した前記認可サーバから、前記認証トークンを含む前記認証連携要求に対する応答を受信する第2の受信手段と、を備える。 An information processing apparatus according to an embodiment of the present invention uses the web service via a system including an authorization server that performs user authentication and a service providing server that provides a web service. The information processing apparatus receives a log-in operation on the self-apparatus and transmits an authentication cooperation request including authentication information to the authorization server; and the first authentication from the authorization server in response to the authentication cooperation request. Due to the acceptance of the request, the second transmitting means for transmitting a second authentication request to the service providing server, and the second authentication request including the first ID token by the service providing server. From the third transmission means for transmitting a third authentication request including the first ID token to the service providing server, and the service providing server responding to the third authentication request, An authentication token is generated using first receiving means for receiving a redirect instruction to the authorization server including an authorization code, and the authorization code included in the redirect From serial authorization server, and a second receiving means for receiving a response to the authentication collaboration request including the authentication token.
本発明によれば、認証サーバを別途設置することなく、端末への一度のログイン操作で端末利用者が各種機能を提供するサーバとシングルサインオンを実現することが可能となる。本発明においては、端末利用者が、端末からクラウドサービスを利用する際に、端末にて認証されている事をもってクラウドサービスに対してシングルサインオンが実現される。従って、認証サーバ装置を別途設ける必要がなく、また端末の認証手段に関して制限を設ける必要もないため、シングスサインオンシステムにおけるユーザの利便性が向上する。 According to the present invention, it is possible to realize single sign-on with a server in which a terminal user provides various functions by a single login operation to a terminal without separately installing an authentication server. In the present invention, when the terminal user uses the cloud service from the terminal, single sign-on is realized for the cloud service by being authenticated by the terminal. Therefore, it is not necessary to separately provide an authentication server device, and it is not necessary to limit the authentication means of the terminal, so that convenience for the user in the single sign-on system is improved.
以下、本発明を実施するための形態について図面を用いて説明する。本実施形態において、端末利用者が、端末からクラウドサービスを利用する際に、端末にて認証されている事をもってシングルサインオンを実現する。シングルサインオンを実現するためには、以下の処理が事前に必要となる。 Hereinafter, embodiments for carrying out the present invention will be described with reference to the drawings. In this embodiment, when the terminal user uses the cloud service from the terminal, single sign-on is realized by being authenticated by the terminal. In order to realize single sign-on, the following processing is required in advance.
まず、第一の設定として、端末の管理者が、クラウドサービスにてシングルサインオンをするための設定を実施する。これは、OpenID Connectでいうところの、OP(OpenID Provider)、およびRP(Relying Party)の設定である。本実施形態では、シングルサインオン技術として、OpenID Connectを利用して説明するが、プロトコルを限定するわけではない。例えば、シングルサインオン技術であれば、SAMLやOpenIDを用いる事も可能である。 First, as a first setting, the administrator of the terminal performs settings for single sign-on with the cloud service. This is the setting of OP (OpenID Provider) and RP (Relying Party) in terms of OpenID Connect. In the present embodiment, the OpenID Connect is used as a single sign-on technique, but the protocol is not limited. For example, with a single sign-on technology, SAML or OpenID can be used.
第二の設定として、端末をクラウドサービスに登録し、当該端末であることを証明するための情報を取得しておく必要がある。この情報は、OAuth 2.0の場合、端末を識別するための識別情報であるクライアントIDおよびクライアントシークレットである。本実施形態では、この端末登録の方法として、SSL/TLSのX.509証明書を用いたクライアント認証を用いて、端末自身が能動的に登録処理を実施し、クライアントID、クライアントシークレットを取得するフローで説明する。しかしながら、手段を限定するわけではない。例えば、端末がID、パスワード、何かしらのトークンを用いてクライアント認証をうけ、動的に登録処理するよう構成する事もできる。さらに、管理者が、別手段で取得したクライアントID、クライアントシークレットを端末に登録する構成でも登録を実現する事ができる。 As a second setting, it is necessary to register a terminal with the cloud service and acquire information for proving that the terminal is the terminal. In the case of OAuth 2.0, this information is a client ID and a client secret that are identification information for identifying a terminal. In the present embodiment, as the terminal registration method, the SSL / TLS X. A description will be given of a flow in which the terminal itself actively performs registration processing using client authentication using a 509 certificate and acquires a client ID and a client secret. However, the means are not limited. For example, the terminal may be configured to perform client registration using an ID, a password, or some token and dynamically perform registration processing. Furthermore, registration can be realized even in a configuration in which the administrator registers the client ID and client secret acquired by another means in the terminal.
そして、第三の設定として、端末の管理者が、端末がクラウドサービスとシングルサインオンする事を許可するための設定をする。ここで先ほど取得したクライアントID、クライアントシークレットを用いた、OAuth 2.0をプロトコルとして許可するための処理を説明するが、プロトコルを限定するわけではない。例えば、取得したクライアントID、クライアントシークレットを用いたBasic認証によって、端末自身が許可を得るよう構成する事も可能である。本実施の形態では、これら第一、第二、第三の設定を順次説明し、その後に、端末利用者によるシングルサインオン処理について説明する。 Then, as a third setting, the administrator of the terminal performs a setting for permitting the terminal to perform single sign-on with the cloud service. Here, a process for permitting OAuth 2.0 as a protocol using the client ID and client secret acquired earlier will be described, but the protocol is not limited. For example, the terminal itself can be configured to obtain permission through basic authentication using the acquired client ID and client secret. In the present embodiment, the first, second, and third settings will be sequentially described, and then the single sign-on process by the terminal user will be described.
図1は、本発明の一実施形態のシングルサインオンシステムの全体構成例を示す。シングルサインオンシステムは、認可サーバ200、シングルサインオンサーバ300、端末400、データベースサーバ500を備える。認可サーバ200、シングルサインオンサーバ300及びデータベースサーバ500は、LAN(Local Area Network)101により接続されている。認可サーバ200、シングルサインオンサーバ300及びデータベースサーバ500は単一のサーバから構成されてよく、その場合、複数のウェブサービスを提供するシステムとして機能する。また、端末400は、LAN101によりWAN(Wide Area Network)100に接続され、WAN100を介して各サーバと接続される。本発明ではWorld Wide Web(WWW)システムが構築されている。
FIG. 1 shows an overall configuration example of a single sign-on system according to an embodiment of the present invention. The single sign-on system includes an
認可サーバ200は、OAuth 2.0を実現するためのサーバである。シングルサインオンサーバ300は認可サーバ200とシングルサイオンを実現するためのサーバであり、ウェブサービスを提供するサービス提供サーバとして機能する場合もある。端末400は一つまたは複数の端末であり、PCや、スマートフォンやタブレットと呼ばれる携帯端末や、画像形成装置であり、端末利用者を認証するための認証モジュールを備える。この認証モジュールは不図示の認証サーバと通信することで端末利用者を認証するよう構成する事もできる。さらに、端末400は、Webブラウザと、アプリケーションモジュールとを備える。ユーザは、Webブラウザやアプリケーションモジュールを用いて認可サーバ200およびシングルサインオンサーバ300と通信する。
The
データベースサーバ500は、後述の認可モジュール600やシングルサインオンモジュール700が利用するデータを格納する。なお、データベースサーバ500は、認可サーバ200用と、シングルサインオンサーバ300用で別サーバとして構成されてもよい。また、認可サーバ200、シングルサインオンサーバ300は同一のサーバ上に構成されていてもよい。また、データベースサーバ500についても、認可サーバ200、シングルサインオンサーバ300と同一のサーバ上に構成されてもよい。
The
本実施形態に係るシングルサインオンシステムは、図2に示すような構成のサーバおよび端末から成るシステム上に実現される。図2は、認可サーバ200、シングルサインオンサーバ300、端末400のハードウェア構成例を示す。図2に示されるハードウェアブロック図は一般的な情報処理装置のハードウェアブロック図に相当するものとし、本実施形態の各サーバおよび端末には一般的な情報処理装置のハードウェア構成を適用できる。
The single sign-on system according to the present embodiment is realized on a system including a server and a terminal configured as shown in FIG. FIG. 2 shows a hardware configuration example of the
図2に示すハードウェア構成は、CPU201乃至外部メモリ211を備える。CPU201は、システムバス204に接続された各処理部を統合的に制御する。CPU201は、ROM203のプログラム用ROMに記憶、またはハードディスク(HD)等の外部メモリ211からRAM202にロードされたOSやアプリケーション等のプログラムを実行する。RAM202は、CPU201の主メモリ、ワークエリア等として機能する。ROM203は、フォントROM、プログラムROM、データROM等から構成される。CPU、ROMおよびRAMはそれぞれ、Central Processing Unit、Read Only Memory、Random Access Memoryの略称である。OSは、コンピュータ上で稼動するオペレーティングシステムの略語であり、以下オペレーティングシステムのことをOSと呼ぶ。後述する各シーケンスの処理は、上述のプログラムをCPU201が実行することにより実現される。
The hardware configuration illustrated in FIG. 2 includes a
キーボードコントローラ(KBC)205は、キーボード209や不図示のポインティングデバイスからのキー入力を制御する。CRTコントローラ(CRTC)206は、CRTディスプレイ210の表示を制御する。ディスクコントローラ(DKC)207は、各種データを記憶するハードディスク(HD)等の外部メモリ211に格納されたデータへのアクセスを制御する。ネットワークコントローラ(NC)208は、WAN100、LAN101、もしくは公衆回線102を介して接続された他の機器との通信制御処理を実行する。
A keyboard controller (KBC) 205 controls key input from a
尚、後述の全ての説明においては、特に断りのない限りサーバにおける実行のハード上の主体はCPU201であり、ソフトウェア上の主体は外部メモリ211にインストールされたアプリケーションプログラムである。
In all the descriptions below, unless otherwise specified, the hardware main body of execution in the server is the
図3は、本実施形態に係る、認可サーバ200、シングルサインオンサーバ300、端末400それぞれのモジュール構成を示す図である。認可サーバ200は、認可モジュール600およびHTTPサーバモジュール610をアプリケーションプログラムとして備える。HTTPサーバモジュール610は、WAN100を介して接続する端末400とのHTTP通信を行うためのモジュールである。また、HTTPサーバモジュール610はSSL/TLSによる通信が可能に構成されており、不図示の証明書ストアを持つ。また、本実施形態では、後述するクライアント登録要求を受け付けるエンドポイントにて、要求元に対してX.509形式の証明書による認証を要求するよう構成している。
FIG. 3 is a diagram illustrating module configurations of the
認可モジュール600は、HTTPサーバモジュール610上で、またはHTTPサーバモジュール610と連携して動作するWebアプリケーションである。認可モジュール600はHTTPサーバモジュール610を介して端末400からの要求を受け付け、処理し、応答する。以後、本実施形態では、端末400からHTTPサーバモジュール610を介して認可モジュール600とHTTP通信する処理について、単に端末400から認可モジュール600への要求および応答として記載する。
The
また、本実施形態では、HTTPサーバモジュール610は、後述するクライアント登録要求を受け付けた場合は、要求元にX.509証明書を用いたクライアント認証を要求するよう構成されている。そして、HTTPサーバモジュール610は、クライアント認証が成功した場合、受信したクライアント認証情報を認可モジュール600に通知するよう構成されている。
In the present embodiment, when the
また、認可モジュール600はOAuth 2.0に対応しており、端末400からのOAuth 2.0に関するリクエストを処理し、応答する機能を備える。その際、認可モジュール600は端末に対してユーザを認証するための画面を応答し、ユーザを認証する機能を備える。さらに認可モジュール600は、OpenID ConnectのRPの機能を備えており、後述するシングルサインオンサーバ300にて認証された情報をもって、シングルサインオンを受ける機能を備える。
The
シングルサインオンサーバ300は、シングルサインオンモジュール700およびHTTPサーバモジュール710をアプリケーションプログラムとして備える。HTTPサーバモジュール710はHTTPサーバモジュール610と同様の機能を持つ。シングルサインオンモジュール700は、HTTPサーバモジュール710上で、またはHTTPサーバモジュール710と連携して動作するWebアプリケーションである。シングルサインオンモジュール700は、HTTPサーバモジュール710を介して端末400からの要求を受け付け、処理し、応答する。以後、本実施形態では、端末400からHTTPサーバモジュール710を介してシングルサインオンモジュール700とHTTP通信する処理について、単に端末400からシングルサインオンモジュール700への要求および応答として記載する。また、シングルサインオンモジュール700はOpenID ConnectのOPの機能を備えており、端末400を介した認可サーバ200からのOpenID Connectに関するリクエストを処理し、応答する機能を備える。
The single sign-on
端末400は、認証モジュール810、Webブラウザ820、およびアプリケーションモジュール800をアプリケーションプログラムとして備える。認証モジュール810は、端末400にて端末利用者を認証するための機能を備える。認証モジュール810が不図示の認証サーバと通信することで端末利用者を認証するよう構成する事もできる。本実施形態では、認証モジュール810は端末内で管理している端末ユーザ情報を用いて認証する。アプリケーションモジュール800は、端末400で動作するアプリケーションプログラムである。アプリケーションモジュール800は、後述する処理を行う事で、端末への認証を元に、認可モジュール600へのシングルサインオンを実現する。
The terminal 400 includes an
Webブラウザ820は、端末400がWWWを利用するためのユーザエージェントである。また、アプリケーションモジュール800は、自身を証明するためのX.509形式の証明書およびその秘密鍵を保持している。そして、後述のHTTPサーバモジュール610との通信確立時に利用する事で、HTTPサーバモジュール610はアプリケーションモジュール800からの要求である事を証明する事ができる。
The
図4を用いて、第一の設定である、端末の管理者が認可モジュール600にシングルサインオンをするための設定を説明する。管理者は、端末400が備えるWebブラウザ820を用いて認可モジュール600のシングルサインオン設定画面にアクセスする。認可モジュール600はユーザが認証済みかどうかを検証し、未認証である場合はログイン画面を応答する。ユーザが認証済みかどうかを検証する方法としては、一般的には、認可モジュール600は、Webブラウザ820からリクエストされるHTTPヘッダーのCookie情報に認証トークンが含まれているかを確認する。そして、認可モジュール600は、認証トークンが含まれている場合は認証トークンが有効か、を検証する事によって行われる。
With reference to FIG. 4, the first setting, which is a setting for single sign-on to the
図4(A)は、ログイン画面の例である。ログイン画面2000は、ユーザIDを入力するためのユーザID入力領域2001、パスワードを入力するためのパスワード入力領域2002、および入力したユーザID、パスワードを用いてユーザ認証を実行するためのログインボタン2003を備える。端末の管理者は、応答されたログイン画面2000にて、認可モジュール600へユーザ認証するためのユーザID、パスワードを入力し、ログインボタン2003を押下する。Webブラウザ820は、ログインボタン2003の押下を検知すると、ログイン要求として、ユーザID入力領域2001、パスワード入力領域2002に入力されている情報を認可モジュール600に送信する。認可モジュールのユーザテーブルに、認可モジュール600が保存しているユーザ情報の例を表1に示す。
なお、本実施形態では、ユーザを認証するための情報として、ユーザIDとパスワードの組による手段を用いるが、この手段に限定するわけではない。例えば、SSL/TLSのクライアント証明書を利用する方法や、複数の認証情報を入力する事による多要素認証といった手段を用いる事も可能である。 In the present embodiment, as information for authenticating a user, means based on a combination of a user ID and a password is used. However, the present invention is not limited to this means. For example, it is possible to use a method such as a method using an SSL / TLS client certificate or multi-factor authentication by inputting a plurality of authentication information.
Webブラウザ820は、Cookieに設定された認証トークンを用いて、認可モジュール600のシングルサインオン設定画面へアクセスする。認可モジュール600は認証トークンを用いて、ユーザが認証済みかどうかを検証し、認証済みである場合は、認証トークンに紐づけられた情報からユーザを特定する。そして、認可モジュール600は、特定したユーザの権限情報が「管理者」である場合に、シングルサインオン設定画面を応答する。
The
例えば、認証トークンに紐づけられた情報が「UUID:10000000」であった場合は、認可モジュールのユーザテーブルのUUID列を検索し、一致する「行1」のユーザである事を特定する。行1のユーザの権限情報列を参照すると「管理者」である事がわかる。認可モジュール600は、特定したユーザの権限情報が「管理者」ではなかった場合は、不図示の権限エラー画面をWebブラウザ820に応答する。
For example, if the information associated with the authentication token is “UUID: 10000000”, the UUID column in the user table of the authorization module is searched to identify that it is a matching “row 1” user. If the authority information column of the user in row 1 is referred to, it is understood that the user is an “administrator”. If the authority information of the identified user is not “administrator”, the
図4(B)は、シングルサインオン設定画面の例である。このシングルサインオン設定画面に対するユーザ操作により、テナント毎に複数の端末装置が紐付けて認可サーバに登録されることとなる。シングルサインオン設定画面2100は、シングルサインオン設定を有効化するための有効ボタン2101、無効化するための無効ボタン2102を備える。また、シングルサインオン設定が有効な場合は、ユーザマッピングを設定するための機能である、マッピング情報のダウンロードボタン2103、アップロードボタン2105、およびアップロードするマッピング情報を参照するための参照ボタン2104を備える。それぞれのボタン押下時の処理について説明する。
FIG. 4B is an example of a single sign-on setting screen. By a user operation on the single sign-on setting screen, a plurality of terminal devices are associated with each tenant and registered in the authorization server. The single sign-on
シングルサインオン設定画面2100にて、端末の管理者が有効ボタン2101を押下すると、認可モジュール600へシングルサインオン有効化要求を通知する。認可モジュール600は、シングルサインオン有効化要求を受け付けると、シングルサインオンモジュール700へ、OPの有効化要求を行う。その際、認可モジュール600は、認証トークンから特定されたユーザのテナントIDを通知する。例えば、特定されたユーザが、認可モジュールのユーザテーブルの「admin@xx.com」であった場合は、テナントIDとして「100AA」が通知される。
When the terminal administrator presses the
シングルサインオンモジュール700は、OPの有効化要求を受けると、OPを識別し、かつOPの認証要求URIを示すためのOPIDを生成し、X.509形式の証明書の鍵ペアを生成し、OPテーブルに情報を格納する。シングルサインオンモジュールのOPテーブルに、シングルサインオンモジュール700が保存するOP情報の例を表2に示す。なお、X.509形式の証明書については、ファイルの参照先として格納する例を示しているが、バイナリデータとして直接データを格納しても良い。なお、データ未格納なカラムについては後述する。
次に、シングルサインオン設定画面2100にて、端末の管理者がダウンロードボタン2103を押下すると、Webブラウザ820は認可モジュール600へユーザマッピングデータのダウンロード要求を通知する。認可モジュール600は、ユーザマッピングデータのダウンロード要求を受け付けると、ユーザマッピングテーブルのユーザID、UUID、端末UUIDのユーザマッピング表を生成し、応答する。このユーザマッピング表は、例えば、CSV形式やXML形式のテキストファイルであり、ユーザが確認し編集可能な形式であれば良い。端末の管理者は、ダウンロードしたユーザマッピング表の内、未入力である端末UUIDにパラメーターを入力する。これは、端末400において、ユーザを一意に認識するためのIDである。ユーザマッピング表の例を表5に示す。
ユーザマッピング要求を受け付けた認可モジュール600は、通知内容を認可モジュールのユーザマッピングテーブルに格納する。ユーザマッピング表の情報を反映した認可モジュールのユーザマッピングテーブルを表6に示す。
図5を用いて、第二の設定である、端末400を認可モジュール600に登録する処理(以後、クライアント登録処理と呼ぶ)に関するシーケンスを説明する。本シーケンスはユーザが端末400において、認可モジュール600に未登録であるアプリケーションモジュール800を利用する際のフローを示している。ユーザが端末400のアプリケーションモジュール800利用時に、認可モジュール600に未登録である、つまり後述するクライアントID、クライアントシークレットが未取得である場合に開始されるシーケンスである。
With reference to FIG. 5, a sequence relating to a second setting process for registering the terminal 400 in the authorization module 600 (hereinafter referred to as client registration process) will be described. This sequence shows a flow when the user uses the
アプリケーションモジュール800は、自身が未登録であった場合、S11にて、認可モジュール600に対して、クライアント登録要求を行う。なお、アプリケーションモジュール800がクライアント登録要求を行うきっかけとして、本実施形態では、端末400にて、ユーザが当該アプリケーションモジュール800をインストールし、初めて起動したタイミングとして説明する。なお、他のタイミングとして、ユーザがアプリケーションモジュール800の機能を選択し、リソースサーバであるシングルサインオンサーバ300へのリソース要求が発生するタイミングが考えられる。また、アプリケーションモジュール800が明示的に開始する操作を備え、ユーザが端末400にて当該操作をしたタイミングが考えられる。
If the
なお、クライアント登録要求は、クライアント名や、リダイレクトURI等の、OAuthのAuthorization Code Grantを利用するための情報を含む。また、その他の情報として、クライアントを説明するための文字列や、説明が記載されるサイトのURI、等の付属情報を含むよう構成する事もできる。 The client registration request includes information for using the OAuth's Authorization Code Grant, such as a client name and a redirect URI. Further, as other information, it can be configured to include attached information such as a character string for explaining the client and a URI of a site where the explanation is described.
クライアント登録要求は、認可サーバ200のHTTPサーバモジュール610にて、クライアント認証が必要になるよう構成されているため、HTTPサーバモジュール610による、クライアント認証の処理が実施される。アプリケーションモジュール800からのクライアント登録要求を受け付けたHTTPサーバモジュール610は、SSL/TLS通信のネゴシエーションを開始する。HTTPサーバモジュール610は、アプリケーションモジュール800に対してクライアント認証を要求する。S12にて、HTTPサーバモジュール610は、不図示の証明書ストアにて設定されている証明書を用いて取得したクライアント認証情報を検証し、アプリケーションモジュール800をデバイス登録の要求元として認証する。
The client registration request is configured such that client authentication is required by the
なお、本実施の形態では、クライアントの認証方法として、SSL/TLSのクライアント証明書による認証方式を用いるが、例えば、Basic認証やDigest認証といった、IDおよびパスワードを用いる方式等が用いられてよい。また、これら主体を認証する手段を経て、認証された主体に対してクライアントを登録するための認可トークンを発行する手段を設け、当該認可トークンを検証する事によってクライアント登録を受け付けるよう構成する事も可能である。 In this embodiment, an authentication method using an SSL / TLS client certificate is used as a client authentication method. For example, a method using an ID and a password, such as Basic authentication or Digest authentication, may be used. It is also possible to provide a means for issuing an authorization token for registering the client to the authenticated principal through the means for authenticating the principal, and to accept the client registration by verifying the authorization token. Is possible.
S13にて、HTTPサーバモジュール610は、アプリケーションモジュール800を認証した後に、認可モジュール600に対して、アプリケーションモジュール800から受信したクライアント登録要求を通知する。その際、認証したアプリケーションモジュール800を識別するためのクライアント認証情報も通知する。
In S13, after authenticating the
S14にて、認可モジュール600は、HTTPサーバモジュール610から通知されたクライアント認証情報を取得する。認可モジュール600にて管理されているクライアント認証情報テーブルの例を表7に示す。
S15にて、認可モジュール600は、クライアントID、およびクライアントを認証するための秘匿情報であるシークレットを発行し、クライアント登録要求にて取得した情報と合わせてデータを格納する。認可モジュール600が格納する、認可モジュールのクライアントテーブルの例を表8に示す。
図6および図7を用いて、第三の設定である、端末の管理者が端末400からシングルサインオンモジュール700を利用して、認可モジュール600とシングルサインオンする事を許可する処理のシーケンスを説明する。
6 and 7, a sequence of processing for allowing the terminal administrator to perform single sign-on with the
S21にて、端末の管理者は、端末400にてログイン操作を行う。このログイン操作は、端末400が備える認証モジュール810が提供する認証手段によって行われる。本実施形態の特徴として、この認証手段はシングルサインオンシステムと関係する事なく選択する事ができる。認証手段としては、例えば、ユーザID、パスワードの組み合わせを検証する手段、指紋等の生体情報を利用する認証手段、非接触型のICカードを利用する手段、さらには、複数の認証手段を組み合わせる多要素認証手段等が考えられる。また、認証モジュール810が、不図示の認証サーバと通信することで端末利用者を認証するよう構成する事もできる。本実施形態では、ユーザID、パスワードの組み合わせを検証する手段を認証手段として説明する。本実施の形態における認証モジュールのユーザテーブルの例を表10に示す。
S22にて、認証モジュール810はユーザを認証する。例えば、ユーザIDが「admin@yy.device.com」で、パスワードが「admin」であった場合、ユーザID「admin@yy.device.com」のユーザとして認証する。S23にて、認証モジュール810は認証したユーザの認証情報を生成し保存する。この認証情報は、端末の管理者が不図示のログアウト操作を実施するか、設定された時刻が経過するまで有効な状態で保存される。認証情報には、認証したユーザのユーザID、UUID、および権限情報が格納されている。なお、認証情報としては、各情報を直接格納するのではなく、ユーザID、UUID、および権限情報とが参照可能に紐づけられたトークンでもよい。
In S22,
端末の管理者は、認証モジュール810での認証を受けたのちに、S24、S25にて、Webブラウザ820を用いてアプリケーションモジュール800にアクセスする。なお、アプリケーションモジュール800へのアクセスを開始するきっかけとしては、アプリケーションモジュール800へアクセスするためのブックマークが保存され、そのブックマークを選択した場合が考えられる。また、アプリケーションモジュール800が明示的に開始するための操作、および画面を備え、端末の管理者が、端末400にて当該操作をしたタイミングが考えられる。
After receiving authentication by the
S26にてアプリケーションモジュール800は、Webブラウザ820に対して操作画面を応答する。図8(A)はアプリケーションモジュール800が応答する操作画面の例である。操作画面2200は、端末の管理者が認証連携を開始するための、認証連携ボタン2201と、後述するユーザが認可連携を開始するための認可連携ボタン2202から構成される。なお、本画面を応答する際に、アプリケーションモジュール800は、認証モジュール810から認証情報を取得し、権限情報が「管理者」の場合にのみ認証連携ボタン2201を表示するよう構成する事ができる。
In step S26, the
S27にて、端末の管理者はWebブラウザ820に表示された操作画面にて、認証連携ボタン2201を押下する。S28にて、Webブラウザ820は、アプリケーションモジュール800に対して認証連携要求を行う。S29にてアプリケーションモジュール800は、端末400を利用する複数のユーザがそれぞれ複数のテナントに所属する場合は、図8(B)に示す認証連携設定画面を応答するよう構成する事もできる。また、単数のテナントでの利用の場合は、図8(B)の認証連携設定画面をスキップし、S212に処理を移行する事もできる。その場合、後述の認証連携要求にて、デフォルトのOP名を利用しても良いし、操作画面2200にて通知するOP名を指定するための入力領域を備え、入力されたOP名を利用するよう構成してもよい。
In S27, the administrator of the terminal presses
図8(B)は、認証連携ボタン2201の押下を受けて、アプリケーションモジュール800が応答する認証連携設定画面の例である。認証連携設定画面2300は、登録するOPのOP名を入力するためのOP名入力領域2301、OPの新規登録を開始する新規登録ボタン2302、および既存の登録済みのOPの情報を表示する登録済みOPリスト2303を備える。なお、認証連携設定画面2300は、既にOP名「組織B」、テナントID「102AA」のOPが登録済みである例を示している。
FIG. 8B is an example of an authentication collaboration setting screen to which the
S210にて、端末の管理者は、Webブラウザ820に表示された認証連携設定画面にてOP名を入力し、新規登録ボタン2302を押下する。ここで、OP名としては「組織A」が入力されているものとして説明する。なお、図8(B)では、既にテナントID「102AA」のOPについて登録済みの画面例を提示したが、以降の処理については、まだ未登録の状態で、初めて認証連携を実施した場合を例として説明する。
In S210, the terminal administrator inputs the OP name on the authentication cooperation setting screen displayed on
S211にて、認証連携要求を受けたアプリケーションモジュール800は、認証連携処理フローを開始する。認証連携処理フローは以下のフローから構想される。一つ目は、アプリケーションモジュール800が、認可モジュール600に対してOAuth 2.0による、認可トークンを取得するフローである。二つ目は、アプリケーションモジュール800が、取得した認可トークンを用いて、シングルサインオンモジュール700に対して認証連携を要求するフローである。つまり、端末400は、認可モジュール600から取得した認可トークンを用いてシングルサインオンモジュール700との認証連携を確立する。ここで、OAuth 2.0による認可トークンを取得するフローとして、本実施形態ではOAuth 2.0に定義されているAuthorization Code Grantを用いて説明するが、フローはこれに限定されない。例えば、別の実施形態として、Implicit Grantを用いる事も可能である。
In S211, the
S212、S213にて、アプリケーションモジュール800は、Webブラウザ820を介して認可モジュール600へ認可要求を行う。この認可要求には、少なくとも、クライアント登録の結果取得したクライアントIDおよび登録したリダイレクトURI、そしてシングルサインオンモジュール700の認証連携を実施するためのリソース範囲を示すスコープを含む。認可要求を受けた認可モジュール600はユーザが認証済みかどうかを検証し、未認証である場合はS214にて、ログイン画面を応答する。S215、S216、S217にて行われる、認可モジュール600におけるユーザ認証処理については前述のとおりである。ユーザ認証処理の結果、認証トークンが生成される。
In S212 and S213, the
S218にて、認可モジュール600は、受信した認可要求のうち、クライアントIDとリダイレクトURIの組が正しいか検証する。より具体的には、認可要求に含まれるクライアントID、リダイレクトURIの組が、認可モジュールのクライアントテーブルに登録されているクライアントIDとリダイレクトURIの組が一致するか検証する。不一致の場合、認可モジュール600は不図示のエラー画面を、Webブラウザ820に応答する。一致した場合、認可モジュール600は認証トークンからユーザを特定する。特定したユーザの権限情報が「管理者」でない場合、認可モジュール600はWebブラウザ820を介してアプリケーションモジュール800に権限エラーを応答する。ユーザの権限情報が「管理者」である場合、認可モジュール600はS219にてWebブラウザ820に対して認可確認画面を応答する。
In S218,
図8(C)は、Webブラウザ820に応答される認可確認画面の例である。認可確認画面2400は、後述する代理認証を実行させることを認可させるか否かを設定するための画面である。認可確認画面2400は、認可要求に含まれるクライアントIDを元に認可モジュールのクライアントテーブルから取得したクライアント名を表示する領域であるアクセス元表示領域2401を備える。また、認可要求に含まれるスコープの説明を表示する領域であるスコープ表示領域2402を備える。さらに、認可確認画面2400は、ユーザが上記情報の内容について認可操作を実行する許可ボタン2403、および拒否を実行する拒否ボタン2404を備える。ここで、ユーザが拒否ボタン2404を押下した場合は、認可モジュール600はWebブラウザ820を介してアプリケーションモジュール800に権限エラーを応答する。
FIG. 8C is an example of an authorization confirmation screen that is responded to the
S220にて、端末の管理者が認可確認画面2400にて、許可ボタン2403を押下、つまり認可操作を行った場合、Webブラウザ820を介し、S221にて認可モジュール600にアクセス許可が認可された事が通知される。S222にて、認可モジュール600は認可コードを発行する。具体的には、認可モジュール600はトークンIDを発行し、認可要求に含まれるスコープ、クライアントID、認証し、許可を得たユーザのUUIDを、トークンテーブルに登録する。その際、トークン種別は認可コードとし、有効期限に当該認可コードが有効である日時を登録する。認可モジュールのトークンテーブルの例を表11に示す。
図7のS223、S224にて、認可モジュール600は、発行した認可コードのトークンIDを付与してWebブラウザ820を介し、アプリケーションモジュール800に認可を応答する。具体的には、認可要求時に取得したリダイレクトURIに対してアプリケーションモジュール800にリダイレクトするようWebブラウザ820に指示する。
In S223 and S224 of FIG. 7, the
S225にて、アプリケーションモジュール800は、認可モジュール600に対して認可トークンを要求する。この認可トークン要求には、少なくとも、取得した認可コード、保存しているクライアントID、シークレット、および認可要求時に送信したリダイレクトURIが含まれる。
In S225, the
S226にて、認可モジュール600は取得したクライアントID、シークレットの組を用いてクライアントを認証する。具体的には、認可モジュールのクライアントテーブルに保存されたクライアントID、シークレットの組と一致するかを検証する。認可モジュール600は、クライアント認証に失敗した場合はアプリケーションモジュール800に認証エラーを応答する。認可モジュール600は、クライアント認証に成功した場合、認証したクライアントIDによって特定されるクライアントの権限情報を確認する。
In S226,
クライアントの権限情報が「SSO可」でない場合、認可モジュール600は、アプリケーションモジュール800に権限エラーを応答する。「SSO可」であった場合、認可モジュール600は、取得した認可コードを検証する。認可コードの検証としては、取得した認可コードのトークンIDが認可モジュールのトークンテーブルに登録されているか、登録されている場合は、有効期限の範囲内かを検証する。
When the authority information of the client is not “SSO allowed”, the
さらに、認可モジュール600は、認可トークン要求にて取得したリダイレクトURIが、トークンIDに紐づくクライアントIDのリダイレクトURIと一致するかを検証する。認可コード検証の結果が無効であった場合、認可モジュール600はアプリケーションモジュール800にトークン不正エラーを応答する。そして、認可コード検証の結果が有効であった場合、S227にて認可モジュール600は認可トークンを発行する。具体的には、認可モジュール600はトークンIDを発行し、認可コードに紐づくスコープ、ユーザのUUID、認証したクライアントIDを認可モジュールのトークンテーブルに登録する。その際、トークン種別は認可トークンとし、有効期限に当該認可トークンが有効である日時を登録する。また、検証した認可コードを削除するか、有効期限を過去の日時に更新する事で無効化する。認可モジュールのトークンテーブルの例を表12に示す。
そして、S228にて、認可モジュール600は、発行した認可トークンのトークンIDをアプリケーションモジュール800に応答する。その際、認可トークンの有効期限を応答するよう構成する事もできる。本実施形態では、認可トークンを更新するためのリフレッシュトークンを発行しない例を説明したが、認可モジュールのトークンテーブルにて、リフレッシュトークンのトークンID、および有効期限を管理するよう構成する事もできる。その際、認可モジュール600は認可トークン発行時に同時にリフレッシュトークンも発行し、認可トークンの応答時に発行したリフレッシュトークンのトークンIDも含めて応答するよう構成する事もできる。
In S228, the
S229にて、認可トークンを取得したアプリケーションモジュール800は、取得した認可トークンを用いてシングルサインオンモジュール700に認証連携要求を行う。認証連携要求には、少なくとも、認可トークンのトークンIDとアプリケーションモジュールの端末認証要求URIを含む。端末認証要求URIについては後述するが、例えば、「https://local/auth」が通知された場合として説明する。S230にてシングルサインオンモジュール700は認証連携要求に含まれる認可トークンのトークンIDの検証を認可モジュール600に要求する。
In S229, the
S231にて、認可モジュール600は、検証要求された認可トークンのトークンIDを検証し、検証結果としてトークンに紐づく情報を取得する。具体的には、認可モジュールのトークンテーブルに登録されているか、かつ有効期限内かを検証し、結果が「利用不可」であれば、シングルサインオンモジュール700に検証エラー応答を返す。検証の結果が「利用可」であれば、認可モジュール600は特定された認可トークンに紐づく情報を認可トークン情報として取得する。この認可トークン情報としては、少なくとも、認可モジュールのトークンテーブルのクライアントID、UUID、およびUUIDから特定される認可モジュールのユーザテーブルのユーザID、テナントIDを含む。
In S231, the
なお、認可トークンの検証要求時にスコープを指定する事も出来る。その場合、認可モジュール600は、該認可トークンのトークンIDで特定される認可トークンのスコープに、指定のスコープが含まれているか否かを検証する。
Note that the scope can also be specified when requesting authorization token verification. In that case, the
S232にて、認可トークンの検証結果が「利用可」であった場合、認可モジュール600は、認可トークン情報を認可トークン検証応答としてシングルサインオンモジュール700に応答する。S233にて、シングルサインオンモジュール700は、認証連携設定を行う。具体的には、認可トークン情報から得られたテナントID「100AA」を参照可能な形式で新たなテナントIDを発行し、OPテーブルに追加する。
If the verification result of the authorization token is “available” in S232, the
本実施形態では、通知されたテナントIDが「100AA」だった場合に、「100AAR1」というテナントIDを発行するものとして説明する。しかし、テナントIDは発行せずに別途OPテーブルにカラムを追加し、その値にて参照可能なように構成する事もできる。そして、シングルサインオンモジュール700は、取得した端末認証要求URI「https://local/auth」をOPIDとしてOPテーブルに追加する。さらに、X.509の秘密鍵と公開鍵の鍵ペアを生成し、シングルサインオンモジュールのOPテーブルに追加する。シングルサインオンモジュールのOPテーブルに当該データを追加した例を表13に提示する。
次に、シングルサインオンモジュール700は、RPを登録するためのURIであるRP登録URI「https://aa.com/reg」を取得する。このRP登録URIは、予めシングルサインオンモジュール700にて設定されているURIとして説明する。そして、当該URIに対してRP登録をするためのイニシャル認可トークンを生成し、シングルサインオンモジュールの認可テーブルに登録する。その際、新規に生成したテナントID「100AAR1」と紐づけて保存する事で、当該イニシャル認可トークンを利用してRPを登録した場合、テナントID「100AAR1」に紐づいて登録する事ができる。以下にシングルサインオンモジュールのトークンテーブルの例を提示する。
S235にて、認可サーバモジュール600は、取得した情報を元に、RPテーブルにデータを登録する。その際、通知を受けたテナントID「100AAR1」から紐づくテナントID「100AA」に登録されているユーザマッピングテーブルのMAPID「1」を引き継いで登録する。さらに、認証要求の応答を受け付けるリダイレクトURI「https://100AA.xx/r1/res」、およびイニシャルログインURI「https://100AA.xx/r1/login」を生成し、格納する。イニシャルログインURIは、RP起点でシングルサインオン処理を開始するためのURIである。認可モジュールのRPテーブルの例を表15に示す。
ステップS236にて、RP登録要求を受けたシングルサインオンモジュール700は、イニシャル認可トークン「i_000001」を検証し、検証結果としてトークンに紐づくテナントIDを取得する。そして、イニシャル認可トークンに紐づくテナントID「100AAR1」を取得する。次に、クライアントID、シークレットを発行し、要求に含まれる「リダイレクトURI」、「イニシャルログインURI」と合わせて、OPテーブルのテナントID「100AAR1」で特定される行にデータを追加する。以下に、シングルサインオンモジュールのRPテーブルの例を示す。
S238にて、認可モジュール600は、取得したクライアントID、シークレットをRPテーブルのテナントID「100AR1」に追加する。以下に、認可モジュール600のRPテーブルの例を示す。
S240にて、シングルサインオンモジュール700は、アプリケーションモジュール800に対して、認証連携応答を通知する。認証連携応答には、少なくとも、シングルサインオンモジュールのRPテーブルの「行2」の情報であるテナントID、クライアントID、シークレット、OPID、リダイレクトURI、およびイニシャルログインURIの情報を含む。さらに、テナントID「100AAR1」に紐づくOP、より具体的にはRPテーブルの「行1」のOPID「https://100AA.aa/auth」を合わせて通知する。S241にて、アプリケーションモジュール800は、取得した情報をアプリケーションモジュールのOPテーブルに格納する。その際、Webブラウザ820から通知されたOP名「組織A」を格納する。以下、アプリケーションモジュールのOPテーブルの例を示す。
なお、本実施形態では、S230にて認証連携設定を実施したシングルサインオンモジュール700は、S234にて認可モジュールにOP登録要求を行うシーケンスで説明したが、以下のシーケンスでも実現できる。シーケンスとしては、シングルサインオンモジュール700はS234のOP登録要求を通知する前に、S236のRP登録のためのクライアントID、シークレットの発行を行う。そして、それらをS234のOP登録要求にてイニシャル認可トークンに代わって含めるよう構成する事もできる。そのシーケンスの場合、認可モジュール600はS235のRP登録要求をスキップする。そして、S239のOP登録応答時に認可モジュール600にて認証要求の認可応答を受け付けるリダイレクトURI、RP起点でシングルサインオン処理を開始する最初のログインURIであるイニシャルログインURIを含め応答する。そして、OP登録応答を受けたシングルサインオンモジュール700は、ここで、S236のRP登録処理を実施するよう構成する事もできる。
In the present embodiment, the single sign-on
以上が、第三の設定である、端末の管理者が、端末400がシングルサインオンモジュール700を利用して、認可モジュール600とシングルサインオンする事が許可される。以上の第一、第二、第三の設定を行う事で、その後に、端末利用者によるシングルサインオン処理を行う事が可能となる。
The above is the third setting, and the terminal administrator is permitted to use the single sign-on
図9、図10、図11を用いて、シングルサインオン処理の詳細について説明する。図9および図10は第一、第二、第三の設定がなされた端末400にて、端末利用者が不図示のクラウドサービスを利用するための認可トークンを取得するためのシーケンスである。より具体的には、端末400にログインした事で、認可モジュールに対してシングルサインオンし、OAuth 2.0の認可確認画面が提示されるまでのシーケンスである。 Details of the single sign-on process will be described with reference to FIGS. 9, 10, and 11. FIG. 9 and FIG. 10 show a sequence for the terminal user to obtain an authorization token for using a cloud service (not shown) at the terminal 400 having the first, second, and third settings. More specifically, this is a sequence from the login to the terminal 400 to single sign-on for the authorization module until the OAuth 2.0 authorization confirmation screen is presented.
S31にて、端末利用者は、端末400にてログイン操作を行う。このログイン操作は、端末400が備える認証モジュール810が提供する認証手段によって行われる。本実施の形態の特徴として、この認証手段はシングルサインオンシステムと関係する事なく選択する事ができる。認証手段としては、例えば、ユーザID、パスワードの組み合わせを検証する手段、指紋等の生体情報を利用する認証手段、非接触型のICカードを利用する手段、さらには、複数の認証手段を組み合わせる多要素認証手段、等が考えられる。また、認証モジュール810が、不図示の認証サーバと通信することで端末利用者を認証するよう構成する事もできる。本実施の形態では、ユーザID、パスワードの組み合わせを検証する手段を認証手段として説明する。ここで、本実施の形態における認証モジュールのユーザテーブルは上述の通りである。
In S <b> 31, the terminal user performs a login operation on
認証モジュールのユーザテーブルにおいて、ユーザID、パスワードの組にてユーザ認証が行われる。また、UUIDは端末400のユーザを一意に識別するための情報である。このUUIDが、前述の端末の管理者によるシングルサインオン設定画面2100にてアップロードしたユーザマッピング表の端末UUIDに記載した情報と対応している。
In the user table of the authentication module, user authentication is performed with a set of user ID and password. The UUID is information for uniquely identifying the user of the terminal 400. This UUID corresponds to the information described in the terminal UUID of the user mapping table uploaded on the single sign-on
S32にて、認証モジュール810はユーザを認証する。例えば、ユーザIDが「user@yy.device.com」で、パスワードが「user」であった場合、ユーザID「user@yy.device.com」のユーザとして認証する。
In S32,
S33にて、認証モジュール810は認証したユーザの認証情報を生成し保存する。この認証情報は、端末の管理者が不図示のログアウト操作を実施するか、設定された時刻が経過するまで有効な状態で保存される。認証情報には、認証したユーザのユーザID、UUID、および権限情報が格納されている。なお、認証情報としては、各情報を直接格納するのではなく、ユーザID、UUID、および権限情報とが参照可能に紐づけられたトークンでもよい。
In S33,
端末利用者は、認証モジュール810で認証を受けたのちに、S34、S35にて、Webブラウザ820を用いてアプリケーションモジュール800にアクセスする。なお、アプリケーションモジュール800へのアクセスを開始するきっかけとしては、アプリケーションモジュール800へアクセスするためのブックマークが保存され、そのブックマークを選択した場合が考えられる。また、アプリケーションモジュール800が明示的に開始するための操作、および画面を備え、端末の管理者が、端末400にて当該操作をしたタイミングが考えられる。
After the terminal user is authenticated by the
S36にて、アプリケーションモジュール800はWebブラウザ820に対して操作画面を応答する。操作画面の例は、図8(A)を用いて説明済みである。S37にて、端末利用者はWebブラウザ820に表示された操作画面にて、認可連携ボタン2202を押下する。S38にて、Webブラウザ820は、アプリケーションモジュール800に対して認可要求を行う。
In S 36,
S39にて、アプリケーションモジュール800は登録されているOP情報を取得する。より具体的には、アプリケーションモジュールのOPテーブルに登録されている全ての情報を取得する。ここで、アプリケーションモジュール800は、登録されているOP情報が複数の場合は、S310にて図11で示す組織選択画面を応答する。また、単数の場合は図11の組織選択画面の応答をスキップし、S313に処理を移行する事もできる。その場合、後述の認証連携認可要求にて、取得した単数のOP名を利用して処理を実行する。さらに、アプリケーションモジュール800は、OP情報が未登録の場合は、S337まで処理をスキップし、認可モジュール600に対して認可要求を行うよう構成する事もできる。
In S39, the
図11は、認可連携ボタン2202の押下を受けて、テナントが複数登録されている場合にアプリケーションモジュール800が応答する組織選択画面の例である。組織選択画面2500は、登録されているOPの情報を表示するためのOPリスト2501、各OPを利用して認可要求を開始する実行ボタン2502、および、実行する際に、どのOPを利用するかを選択する選択肢であるOP選択ボタン2503を備える。なお、組織選択画面2500では、OP名「組織A」、「組織B」のOPが登録済みである例が示されている。
FIG. 11 is an example of an organization selection screen to which the
S311にて、端末利用者はWebブラウザ820に表示された組織選択画面にて、自身が所属するOP選択ボタン2503にて選択状態にし、実行ボタン2502を押下する。なお、図11では、OP名「組織B」が登録されている画面例を提示したが、以降の処理については、「組織A」のみが登録されている状態で、認可連携を実施した場合を例として説明する。
In step S <b> 311, the terminal user selects an
S312にて認証連携要求を受けたアプリケーションモジュール800は、認証連携認可処理フローを開始する。認証連携認可処理フロー以下の3つのフローから構成される。一つ目は、アプリケーションモジュール800が、シングルサインオンモジュール700に対してIDトークン取得を行うフローである。二つ目は、アプリケーションモジュール800が、取得したIDトークンを用いて、シングルサインオンモジュール700を介して認可モジュール600に対してシングルサインオンを行うフローである。そして、三つ目は、アプリケーションモジュール800が、シングルサインオンをしたのちに、認可モジュール600に対してOAuth 2.0による認可トークン取得を行うフローからなる。
Upon receiving the authentication cooperation request in S312, the
S313、S314において、アプリケーションモジュール800はWebブラウザ820を介して認可モジュール600のイニシャルログインURIに対して認証連携要求を行う。イニシャルログインURIは、アプリケーションモジュールのOPテーブルに登録されている情報から、OP名「組織A」により特定されるイニシャルログインURI「https://100AA.xx/r1/login」を取得し、利用する。
In S <b> 313 and S <b> 314, the
また、この認証連携要求には、少なくとも、アプリケーションモジュールのOPテーブルのOPID1「https://local/auth」、クライアントテーブルに格納している認可URI「https://xx/authz」を含む。さらに、認可URIのリクエストパラメーターは以下のパラメーターを含む。すなわち、認可モジュール600に対して認可要求するためのパラメーターである、クライアントID「c001@xx.com」、クライアント登録時に設定したリダイレクトURI「https://local/res」を含む。また、不図示のクラウドサービスを利用するための認可トークン取得であれば、そのサービスのリソース範囲を示すスコープを含むよう構成する事もできる。
The authentication cooperation request includes at least OPID1 “https: // local / auth” of the OP table of the application module and an authorization URI “https: // xx / authz” stored in the client table. Further, the request parameter of the authorization URI includes the following parameters. That is, it includes a client ID “[email protected]” and a redirect URI “https: // local / res” set at the time of client registration, which are parameters for making an authorization request to the
S315にて、認証連携認可要求を受けた認可モジュール600は、アクセスを受けたイニシャルログインURIを用いて確認処理を行う。具体的には、認可モジュール600は、認可モジュールのRPテーブルに登録されているRP情報から特定されたOPID「https://local/auth」が通知されたOPIDと一致するか確認する。一致した場合に、認可モジュール600は要求に含まれる認可URI「https://xx/authz」、および付随するパラメーターを保存する。その際、認可モジュール600は、ランダムで重複しない値であるstateを生成し、紐づけて保存する。ここでは、stateとして「12345」を生成したとして説明する。表19は、認可モジュールのSTATEテーブルの例を示す。
次に、認可モジュール600は、OPID「https://local/auth」、つまりアプリケーションモジュール800のURLを宛先として、S316にてWebブラウザ820を介して認証要求を通知する。認証要求には、少なくとも、認可モジュールのRPテーブルに登録されているクライアントID「c001@aa.com」、およびリダイレクトURI「https://100AA.xx/r1/res」を含む。また、認証要求は、先ほど生成したSTATE「12345」、およびスコープとして「openid」を含む。
Next, the
S317にてアプリケーションモジュール800は、認証要求に含まれるパラメーターを検証する。より具体的には、通知されたクライアントID、リダイレクトURIがアプリケーションモジュールのOPテーブルに登録されている情報と一致するかを検証する。一致する場合は、OPテーブルからOPID2を取得する。本実施形態では、特定されるOPID2は「https://100AA.aa/auth」である。
In S317, the
S318にて、アプリケーションモジュール800は、認証モジュール810に対して認証情報の取得を要求する。S319にて、認証モジュールは保存されている認証情報をアプリケーションモジュール800に応答する。本実施形態では、認証情報としてユーザID「user@yy.device.com」、UUID「AAAAAAB」が応答されるものとして説明する。
In S318, the
S320にて、アプリケーションモジュール800は、認可モジュール600から認証要求を受け付けたことに起因して、クライアント認証要求をシングルサインオンモジュール700に送信する。具体的には、アプリケーションモジュール800は、特定したOPID2「https://100AA.aa/auth」、つまりシングルサインオンモジュール700に対してクライアント認証要求を通知する。クライアント認証要求には、少なくともアプリケーションモジュールのOPテーブルに格納されているクライアントID「c001@aa.com」、シークレット「xxxxxxxx」、およびスコープとして「openid」が含まれる。
In S 320,
S321にて、シングルサインオンモジュール700はクライアントを認証する。より具体的には、受信したクライアントID、シークレットの組が、シングルサイオンモジュールのOPテーブルに格納されている組と一致するかを検証する。一致した場合は、シングルサインオンモジュール700は、S322にてIDトークンを生成する保存する。
In S321, single sign-on
IDトークンは、発行者情報iss、Subject識別子sub、この場合は認証したクライアントを一意に識別するためのクライアントIDを含む。さらには、OpenID ConnectのIDトークンとして定義された、IDトークンの対象を示すaud、IDトークンの有効期限であるexp、IDトークンを発行した日時iatを含む事ができる。 The ID token includes issuer information iss, a subject identifier sub, and in this case, a client ID for uniquely identifying the authenticated client. Furthermore, it is possible to include an aud that is defined as an ID token of the OpenID Connect, indicating an ID token target, exp that is the expiration date of the ID token, and date and time iat when the ID token is issued.
また、IDトークンはOpenID Connectの定義に従いJWT(JSON Web Token)形式の文字列として生成され、さらに、JWS(JSON Web Signature)で定義された署名が付与される。署名には、シングルサインモジュールのOPオンテーブルにて、クライアントIDにて特定される鍵ペアを用いる。さらには、JWE(JSON Web Encryption)で定義された暗号化手段により暗号化が施される事もある。暗号化には、例えば、クライアントのシークレットを用いてもよい。また、署名と同じ鍵ペアを用いても良い。また、さらには、認可モジュール600からRP登録要求を受ける際に共通鍵を指定されるよう構成してもよい。その場合は、シングルサインオンモジュール700は、認証連携応答としてアプリケーションモジュール800に共通鍵を応答するよう構成する。以下に、シングルサインオンモジュールのIDトークンテーブルの例を示す。
図10のS323にて、シングルサインオンモジュール700は生成したIDトークンをアプリケーションモジュール800に応答する。その際、IDトークンはJWTで定義された文字列として応答される。
In S323 of FIG. 10, the single sign-on
S324、S325にて、Webブラウザ820は、シングルサインオンモジュール700による、クライアント認証要求への応答に起因して、代理認証要求をングルサインオンモジュール700に送信する。具体的には、アプリケーションモジュール800は、Webブラウザ820を介してOPID2「https://100AA.aa/auth」つまり、シングルサインオンモジュール700に対して代理認証要求を行う。代理認証要求は、ユーザに再度のログインを求めることなく端末が動的にシングルサインオンモジュールへのログインを代理する要求である。この代理認証要求には、少なくとも、アプリケーションモジュールのOPテーブルに格納されているクライアントID「c001@aa.com」、およびリダイレクトURI「https://100AA.xx/r1/res」が含まれる。また、代理認証要求は、生成したstate「12345」、およびスコープとして「openid」も含まれる。さらに、少なくとも、認証モジュール810から認証情報として取得したUUID「AAAAAAB」、先ほどシングルサインオンモジュール700から取得したIDトークンを含む。これら、UUID、IDトークンを格納する方法として、例えば、OpenID Connectで定義されている、login_hint にUUIDを、id_token_hintにIDトークンを格納してもよい。さらに、OpenID Connectで定義されているpromptパラメーターとしてnoneを指定してもよい。
In S 324 and S 325, the
S326にて、シングルサインオンモジュール700は代理認証要求を検証する。具体的には、シングルサインオンモジュールのOPテーブルのクライアントID、リダイレクトURIの組が、通知されたクライアントID、リダイレクトURIの組と一致するか検証する。次に、シングルサインオンモジュール700は、シングルサインオンモジュールのIDトークンテーブルに登録されているIDトークンと通知されたIDトークンが一致するかを検証する。
In S326, single sign-on
次に、シングルサインオンモジュール700はIDトークンに含まれるsub「c001@aa.com」がシングルサインオンモジュールのOPテーブルに登録されているクライアントIDからテナントID、OPIDを取得する。本実施形態では、テナントID「100AAR1」、OPID「https://local/auth」となる。
Next, the single sign-on
この時、テナントIDおよびOPIDが代理認証要求を受けたURLと違う場合、かつUUIDが通知されている場合は、代理認証要求であるとして処理を行う。OpenID Connectの場合、通常、認証要求を受けると、ユーザの認証後、認可確認画面を応答し、ユーザの許可を得て処理をすすめるが、代理認証要求の場合、認可確認画面は応答しないよう構成される。これにより、ユーザの操作を簡易化することが可能となる。 At this time, if the tenant ID and the OPID are different from the URL for which the proxy authentication request has been received, and if the UUID has been notified, the processing is performed as a proxy authentication request. In the case of OpenID Connect, normally, when an authentication request is received, an authorization confirmation screen is returned after user authentication, and processing is performed with the user's permission, but in the case of a proxy authentication request, the authorization confirmation screen is not responded. Is done. As a result, the user's operation can be simplified.
S327にて、シングルサインオンモジュール700は代理認証処理として認可コードを生成する。より具体的には、トークンIDを発行し、テナントID、クライアントID、通知されたUUIDを、トークンテーブルに登録する。その際、トークン種別は認可コードとし、有効期限に当該認可コードが有効である日時を登録する。以下にシングルサインオンモジュールのトークンテーブルの例を示す。
S328、S329にて、シングルサインオンモジュールはWebブラウザ820を介して、リダイレクトURI「https://100AA.xx/r1/res」、つまり認可モジュール600に対して生成した認可コードを応答する。その際、通知されたstate「12345」を付与して応答する。換言すれば、シングルサインオンモジュール700は、代理認証要求に含まれるリダイレクトURI「https://100AA.xx/r1/res」を用いて、Webブラウザに認可モジュール600に認可応答するようリダイレクト指示を送信する。
In S328 and S329, the single sign-on module responds with the redirect URI “https: //100AA.xx/r1/res”, that is, the generated authorization code to the
S330にて、認可モジュール600は、取得した認可コードを用いてシングルサインオンモジュール700に対してトークン取得要求を通知する。このトークン取得要求には、少なくとも認可モジュールのRPテーブルにてリダイレクトURIにて特定されたクライアントID、シークレット、リダイレクトURI、および取得した認可コードを含む。
In S330,
S331にて、シングルサインオンモジュール700は、トークン取得要求を検証する。具体的には、シングルサイオンモジュールのトークンテーブルにて認可コードが登録されているか、有効期限内かを検証する。そして、認可コードにて特定されるクライアントIDを取得する。次に、取得したクライアントIDを用いてシングルサイオンモジュールのOPテーブルに格納されているクライアントID、シークレット、リダイレクトURIの組が通知されたクライアントID、シークレット、リダイレクトURIの組と一致するかを検証する。
In S331, the single sign-on
S332にて、シングルサインオンモジュール700は、取得した認可コードを元にIDトークンを生成し保存する。IDトークンは、発行者情報iss、Subject識別子sub、この場合は認可コードに紐づくUUIDを含む。このとき、発行者情報issには、認可トークンから特定されたテナントIDに紐づくOPIDとなる。具体的には、シングルサインオンモジュールのOPテーブルから、テナントID「100AAR1」に紐づくOPID「https://local/auth」となる。さらに、OpenID ConnectのIDトークンとして定義された、IDトークンの対象を示すaud、この場合は認可コードに紐づくクライアントIDを含む。さらに、IDトークンは、IDトークンの有効期限であるexp、IDトークンを発行した日時iatを含む事ができる。
In S332, single sign-on
また、IDトークンはOpenID Connectの定義に従いJWT(JSON Web Token)形式の文字列として生成され、さらに、JWS(JSON Web Signature)で定義された署名が付与される。署名には、シングルサインモジュールのOPオンテーブルにて、クライアントIDにて特定される鍵ペアを用いる。さらには、JWE(JSON Web Encryption)で定義された暗号化手段により暗号化が施される事もある。暗号化には、例えば、クライアントのシークレットを用いてもよい。また、署名と同じ鍵ペアを用いても良い。また、さらには、認可モジュール600からRP登録要求を受ける際に共通鍵を指定されるよう構成してもよい。以下に、シングルサインオンモジュールのIDトークンテーブルの例を示す。
S333にて、シングルサインオンモジュール700は生成したIDトークンを認可モジュール600に応答する。その際、IDトークンはJWTで定義された文字列として応答される。なお、本実施形態では、生成されるトークンをIDトークンのみとして説明したが別途認可トークンも生成して応答してもよい。
In S333, single sign-on
S334にて、認可モジュール600は、IDトークンを検証する。より具体的には、IDトークンが暗号化されている場合は、予め取り決められて手段にて復号する。次に、IDトークンに含まれる発行元であるissが、認可モジュールのRPテーブルに登録されているOPIDと一致するかを検証する。
In S334,
次に、IDトークンに署名が付与されている場合は、認可モジュールのRPテーブルに格納されている情報を、IDトークンに含まれるissのOPIDとして特定し、その情報に含まれる公開鍵にて署名検証を行う。なお、署名検証については、IDトークン取得要求の通信が十分に安全である事が検証される場合は、省略してもよい。例えば、通信がSSL/TLSで暗号化されており、その際に取得されるシングルサイオンサーバ300のサーバ証明書が信頼できるものであった場合は、省略可能である。
Next, when the signature is given to the ID token, the information stored in the RP table of the authorization module is specified as the iss OPID included in the ID token, and the signature is signed with the public key included in the information. Perform verification. The signature verification may be omitted if it is verified that the communication of the ID token acquisition request is sufficiently secure. For example, if the communication is encrypted by SSL / TLS and the server certificate of the
次に、認可モジュール600は、IDトークンに含まれるIDトークンの有効期限であるexpが、現在の日時範囲内であるかを検証する。そして、IDトークンの対象であるaudに、認可モジュールのRPテーブルに登録されているクライアントIDが含まれているかを検証する。その他、OpenID Connectで定義されているオプションを用いて検証項目を増やす事も可能である。
Next, the
S335にて、認可モジュール600はIDトークンに含まれるユーザを一意に識別するIDであるUUIDを用いて認証トークンを生成する。具体的には、IDトークンに含まれるissを用いて、認可モジュールのRPテーブルからOPIDを特定する。次に、特定したOPIDのMAPIDを取得する。本実施形態では、OPID「https://local/auth」からMAPID「1」が取得される。
In S335,
次に、認可モジュールのユーザマッピングテーブルから、MAPID「1」およびIDトークンに含まれるUUIDの組から、ユーザID、UUIDを特定する。本実施形態では、UUID「AAAAAAB」かつ、MAPID「1」であるため、ユーザID「user@xx.com」、UUID「10000001」が取得される。そして、認証トークンは、取得したユーザIDまたはUUIDと紐づけられ、認可モジュール600にて保存される。
Next, the user ID and UUID are specified from the set of MAPID “1” and the UUID included in the ID token from the user mapping table of the authorization module. In the present embodiment, since the UUID “AAAAAAB” and the MAPID “1”, the user ID “[email protected]” and the UUID “10000001” are acquired. The authentication token is associated with the acquired user ID or UUID and stored in the
S336にて、認可モジュール600は認証連携応答として、Webブラウザ820に対して、生成した認証トークンをCookieに設定し、認可モジュール600のURIにリダイレクトするよう応答する。ここで、認可モジュール600のURIは、認可モジュールのSTATEテーブルにて、state「12345」で特定されるURIとなる。結果として、S337にてWebブラウザ820は、設定されたCookie情報を付与した状態で、認可モジュール600に対して認可要求する事となる。
In S336, the
S338にて、認可モジュール600は、Cookieとして受信した認証トークンを用いて、ユーザが認証済みかどうかを検証し、認証済みである場合は、認証トークンに紐づけられた情報をもってユーザを特定する。S339にて、認可モジュール600は、受信した認可要求のうち、クライアントIDとリダイレクトURIの組が正しいか検証する。具体的には、認可要求に含まれるクライアントID、リダイレクトURIの組が、認可モジュールのクライアントテーブルに登録されているクライアントIDとリダイレクトURIの組が一致するか検証する。不一致の場合、認可モジュール600は不図示のエラー画面を、Webブラウザ820に応答する。一致する場合、認可モジュール600は、S340にてWebブラウザ820に対して認可確認画面を応答する。認可確認画面の例としては、図8(C)の認可確認画面2400において、認可要求に含まれるスコープの説明を表示する領域であるスコープ表示領域2402が、認可要求に含まれるスコープに対応した内容に変更された画面が応答される。
In S338,
以下の認可フローについては、図6および図7で説明したシーケンスと同様であるため、説明を省略する。以上の処理により、認証サーバを別途設置することなく、端末への一度のログイン操作で端末利用者が各種機能を提供するサーバとシングルサインオンを実現することが可能となる。本発明においては、端末利用者が、端末からクラウドサービスを利用する際に、端末にて認証されている事をもってクラウドサービスに対してシングルサインオンが実現される。従って、認証サーバ装置を別途設ける必要がなく、また端末の認証手段に関して制限を設ける必要もないため、シングスサインオンシステムにおけるユーザの利便性が向上する。 The following authorization flow is the same as the sequence described in FIG. 6 and FIG. With the above processing, it is possible to realize single sign-on with a server in which a terminal user provides various functions with a single login operation to the terminal without separately installing an authentication server. In the present invention, when the terminal user uses the cloud service from the terminal, single sign-on is realized for the cloud service by being authenticated by the terminal. Therefore, it is not necessary to separately provide an authentication server device, and it is not necessary to limit the authentication means of the terminal, so that convenience for the user in the single sign-on system is improved.
(その他の実施形態)
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア(コンピュータプログラム)を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給する。そしてそのシステム或いは装置のコンピュータ(またはCPUやMPU等)がプログラムを読み出して実行する処理である。この場合、そのプログラム、及び該プログラムを記憶した記憶媒体は本発明を構成することになる。
(Other embodiments)
The present invention can also be realized by executing the following processing. That is, software (computer program) that realizes the functions of the above-described embodiments is supplied to a system or apparatus via a network or various storage media. Then, the computer (or CPU, MPU, etc.) of the system or apparatus reads out and executes the program. In this case, the program and the storage medium storing the program constitute the present invention.
200 認可サーバ
300 シングルサインオンサーバ
400 端末
200
Claims (9)
自装置に対するログイン操作を受け付けて前記認可サーバに認証情報を含む認証連携要求を送信する第1の送信手段と、
前記認証連携要求に対し、前記認可サーバから第1の認証要求を受け付けたことに起因して、第2の認証要求を前記サービス提供サーバに送信する第2の送信手段と、
前記サービス提供サーバによる、第1のIDトークンを含む前記第2の認証要求への応答に起因して、該第1のIDトークンを含む第3の認証要求を前記サービス提供サーバに送信する第3の送信手段と、
前記第3の認証要求に応答した前記サービス提供サーバから、認可コードを含む前記認可サーバへのリダイレクト指示を受信する第1の受信手段と、
前記リダイレクトに含まれる前記認可コードを用いて認証トークンを生成した前記認可サーバから、前記認証トークンを含む前記認証連携要求に対する応答を受信する第2の受信手段と、を備える
ことを特徴とする情報処理装置。 An information processing apparatus that uses the web service via a system including an authorization server that performs user authentication and a service providing server that provides a web service,
First transmission means for accepting a login operation to the own device and transmitting an authentication cooperation request including authentication information to the authorization server;
A second transmission means for transmitting a second authentication request to the service providing server due to accepting the first authentication request from the authorization server in response to the authentication cooperation request;
A third authentication request including the first ID token is transmitted to the service providing server in response to a response to the second authentication request including the first ID token by the service providing server. Means for sending
First receiving means for receiving a redirect instruction to the authorization server including an authorization code from the service providing server responding to the third authentication request;
Second receiving means for receiving a response to the authentication cooperation request including the authentication token from the authorization server that has generated an authentication token using the authorization code included in the redirect. Processing equipment.
ことを特徴とする請求項1に記載の情報処理装置。 The second authentication request is a request for the service providing server to authenticate the information processing apparatus, and at least information processing apparatus identification information issued by the service providing server in a single sign-on setting by the service providing server The information processing apparatus according to claim 1, further comprising: a secret.
ことを特徴とする請求項1または2に記載の情報処理装置。 The information processing apparatus according to claim 1, wherein the third authentication request is a proxy authentication request for logging in to the service providing server without an operation by a user.
ことを特徴とする請求項1乃至3のいずれか一項に記載の情報処理装置。 The information processing according to any one of claims 1 to 3, further comprising: a registration unit that accepts a user operation and associates a plurality of information processing apparatuses for each tenant and makes a registration request to the authorization server. apparatus.
前記認可確認画面に対するユーザ操作の結果、前記認可サーバと前記サービス提供サーバとの間では、前記代理認証を実現させる設定が実行される
ことを特徴とする請求項4に記載の情報処理装置。 From the authorization server that responded to the registration request, comprising a display means for receiving and displaying an authorization confirmation screen that authorizes the execution of the proxy authentication
The information processing apparatus according to claim 4, wherein a setting for realizing the proxy authentication is executed between the authorization server and the service providing server as a result of a user operation on the authorization confirmation screen.
ことを特徴とする請求項4または5に記載の情報処理装置。 6. The display unit according to claim 4, wherein when the plurality of tenants are registered, the display unit further displays an option for selecting any one of the plurality of tenants on the setting screen. The information processing apparatus described.
前記情報処理装置は、
前記サービス提供サーバに対するログイン操作を受け付けて前記認可サーバに認証情報を含む認証連携要求を送信する第1の送信手段と、
前記認証連携要求に対し、前記認可サーバから第1の認証要求を受け付けたことに起因して、第2の認証要求を前記サービス提供サーバに送信する第2の送信手段と、
前記サービス提供サーバによる、第1のIDトークンを含む前記第2の認証要求への応答に起因して、該第1のIDトークンを含む第3の認証要求を前記サービス提供サーバに送信する第3の送信手段と、
前記第3の認証要求に応答した前記サービス提供サーバから、認可コードを含む前記認可サーバへのリダイレクト指示を受信する第1の受信手段と、
前記リダイレクトに含まれる前記認可コードを用いて認証トークンを生成した前記認可サーバから、前記認証トークンを含む前記認証連携要求に対する応答を受信する第2の受信手段とを備え、
前記認可サーバは、
前記認可コードを受信して該認可コードを送信することにより第2のIDトークンを前記サービス提供サーバから受信し、該第2のIDトークンを用いて前記認証トークンを生成する生成手段を備え、
前記サービス提供装置は、
前記第1および第2のIDトークンを生成する生成手段を備える
ことを特徴とする情報処理装置。 A single sign-on system comprising an authorization server that performs user authentication, a service providing server that provides a web service, and an information processing apparatus that uses the web service,
The information processing apparatus includes:
First transmitting means for receiving a login operation to the service providing server and transmitting an authentication cooperation request including authentication information to the authorization server;
A second transmission means for transmitting a second authentication request to the service providing server due to accepting the first authentication request from the authorization server in response to the authentication cooperation request;
A third authentication request including the first ID token is transmitted to the service providing server in response to a response to the second authentication request including the first ID token by the service providing server. Means for sending
First receiving means for receiving a redirect instruction to the authorization server including an authorization code from the service providing server responding to the third authentication request;
Second receiving means for receiving a response to the authentication cooperation request including the authentication token from the authorization server that has generated an authentication token using the authorization code included in the redirect;
The authorization server is
Receiving the authorization code and transmitting the authorization code to receive a second ID token from the service providing server, and generating means for generating the authentication token using the second ID token,
The service providing apparatus includes:
An information processing apparatus comprising: generating means for generating the first and second ID tokens.
前記情報処理装置に対するログイン操作を受け付けて前記認可サーバに認証情報を含む認証連携要求を送信する送信工程と、
前記認証連携要求に対し、前記認可サーバから第1の認証要求を受け付けたことに起因して、第2の認証要求を前記サービス提供サーバに送信する送信工程と、
前記サービス提供サーバによる、第1のIDトークンを含む前記第2の認証要求への応答に起因して、該第1のIDトークンを含む第3の認証要求を前記サービス提供サーバに送信する送信工程と、
前記第3の認証要求に応答した前記サービス提供サーバから、認可コードを含む前記認可サーバへのリダイレクト指示を受信する受信工程と、
前記リダイレクトに含まれる前記認可コードを用いて認証トークンを生成した前記認可サーバから、前記認証トークンを含む前記認証連携要求に対する応答を受信する第2の受信工程と、を有する
ことを特徴とする制御方法。 A method for controlling an information processing apparatus that uses a web service via a system including an authorization server that performs user authentication and a service providing server that provides a web service,
A transmission step of accepting a login operation to the information processing apparatus and transmitting an authentication cooperation request including authentication information to the authorization server;
In response to receiving the first authentication request from the authorization server in response to the authentication cooperation request, a transmission step of transmitting a second authentication request to the service providing server;
A transmission step of transmitting a third authentication request including the first ID token to the service providing server due to a response to the second authentication request including the first ID token by the service providing server. When,
Receiving a redirect instruction to the authorization server including an authorization code from the service providing server in response to the third authentication request;
A second reception step of receiving a response to the authentication cooperation request including the authentication token from the authorization server that has generated an authentication token using the authorization code included in the redirect. Method.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2014129086A JP2016009299A (en) | 2014-06-24 | 2014-06-24 | Single sign-on system, terminal device, control method and computer program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2014129086A JP2016009299A (en) | 2014-06-24 | 2014-06-24 | Single sign-on system, terminal device, control method and computer program |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2016009299A true JP2016009299A (en) | 2016-01-18 |
Family
ID=55226825
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2014129086A Pending JP2016009299A (en) | 2014-06-24 | 2014-06-24 | Single sign-on system, terminal device, control method and computer program |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2016009299A (en) |
Cited By (61)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2018142332A (en) * | 2016-05-11 | 2018-09-13 | オラクル・インターナショナル・コーポレイション | Multi-tenant identity and data security management cloud service |
US10200358B2 (en) | 2016-05-11 | 2019-02-05 | Oracle International Corporation | Microservices based multi-tenant identity and data security management cloud service |
US10218705B2 (en) | 2016-05-11 | 2019-02-26 | Oracle International Corporation | Multi-tenant identity and data security management cloud service |
US10255061B2 (en) | 2016-08-05 | 2019-04-09 | Oracle International Corporation | Zero down time upgrade for a multi-tenant identity and data security management cloud service |
US10261836B2 (en) | 2017-03-21 | 2019-04-16 | Oracle International Corporation | Dynamic dispatching of workloads spanning heterogeneous services |
US10263947B2 (en) | 2016-08-05 | 2019-04-16 | Oracle International Corporation | LDAP to SCIM proxy service |
US10341354B2 (en) | 2016-09-16 | 2019-07-02 | Oracle International Corporation | Distributed high availability agent architecture |
US10341410B2 (en) | 2016-05-11 | 2019-07-02 | Oracle International Corporation | Security tokens for a multi-tenant identity and data security management cloud service |
CN109995699A (en) * | 2017-12-29 | 2019-07-09 | 上海智显光电科技有限公司 | Management of multimedia equipment system and management method |
US10348858B2 (en) | 2017-09-15 | 2019-07-09 | Oracle International Corporation | Dynamic message queues for a microservice based cloud service |
JP2019139520A (en) * | 2018-02-09 | 2019-08-22 | キヤノン株式会社 | Information processing system, control method thereof, and program |
US10425386B2 (en) | 2016-05-11 | 2019-09-24 | Oracle International Corporation | Policy enforcement point for a multi-tenant identity and data security management cloud service |
US10445395B2 (en) | 2016-09-16 | 2019-10-15 | Oracle International Corporation | Cookie based state propagation for a multi-tenant identity cloud service |
US10454915B2 (en) | 2017-05-18 | 2019-10-22 | Oracle International Corporation | User authentication using kerberos with identity cloud service |
US10454940B2 (en) | 2016-05-11 | 2019-10-22 | Oracle International Corporation | Identity cloud service authorization model |
US10484243B2 (en) | 2016-09-16 | 2019-11-19 | Oracle International Corporation | Application management for a multi-tenant identity cloud service |
US10484382B2 (en) | 2016-08-31 | 2019-11-19 | Oracle International Corporation | Data management for a multi-tenant identity cloud service |
US10505941B2 (en) | 2016-08-05 | 2019-12-10 | Oracle International Corporation | Virtual directory system for LDAP to SCIM proxy service |
US10511589B2 (en) | 2016-09-14 | 2019-12-17 | Oracle International Corporation | Single logout functionality for a multi-tenant identity and data security management cloud service |
US10530578B2 (en) | 2016-08-05 | 2020-01-07 | Oracle International Corporation | Key store service |
US10567364B2 (en) | 2016-09-16 | 2020-02-18 | Oracle International Corporation | Preserving LDAP hierarchy in a SCIM directory using special marker groups |
US10581820B2 (en) | 2016-05-11 | 2020-03-03 | Oracle International Corporation | Key generation and rollover |
US10585682B2 (en) | 2016-08-05 | 2020-03-10 | Oracle International Corporation | Tenant self-service troubleshooting for a multi-tenant identity and data security management cloud service |
US10594684B2 (en) | 2016-09-14 | 2020-03-17 | Oracle International Corporation | Generating derived credentials for a multi-tenant identity cloud service |
JP2020053100A (en) * | 2019-12-27 | 2020-04-02 | キヤノン株式会社 | Information processing system, control method thereof and program |
US10616224B2 (en) | 2016-09-16 | 2020-04-07 | Oracle International Corporation | Tenant and service management for a multi-tenant identity and data security management cloud service |
US10693861B2 (en) | 2016-05-11 | 2020-06-23 | Oracle International Corporation | Task segregation in a multi-tenant identity and data security management cloud service |
US10705823B2 (en) | 2017-09-29 | 2020-07-07 | Oracle International Corporation | Application templates and upgrade framework for a multi-tenant identity cloud service |
US10715564B2 (en) | 2018-01-29 | 2020-07-14 | Oracle International Corporation | Dynamic client registration for an identity cloud service |
US10735394B2 (en) | 2016-08-05 | 2020-08-04 | Oracle International Corporation | Caching framework for a multi-tenant identity and data security management cloud service |
JP2020119015A (en) * | 2019-01-18 | 2020-08-06 | キヤノン株式会社 | System, method, and program |
US10764273B2 (en) | 2018-06-28 | 2020-09-01 | Oracle International Corporation | Session synchronization across multiple devices in an identity cloud service |
CN111611550A (en) * | 2019-02-22 | 2020-09-01 | 横河电机株式会社 | Computer system, computer device and authorization management method |
JP2020149121A (en) * | 2019-03-11 | 2020-09-17 | Necソリューションイノベータ株式会社 | Personal authentication device, personal authentication method, program, and recording medium |
US10791087B2 (en) | 2016-09-16 | 2020-09-29 | Oracle International Corporation | SCIM to LDAP mapping using subtype attributes |
US10798165B2 (en) | 2018-04-02 | 2020-10-06 | Oracle International Corporation | Tenant data comparison for a multi-tenant identity cloud service |
US10831789B2 (en) | 2017-09-27 | 2020-11-10 | Oracle International Corporation | Reference attribute query processing for a multi-tenant cloud service |
US10834137B2 (en) | 2017-09-28 | 2020-11-10 | Oracle International Corporation | Rest-based declarative policy management |
US10846390B2 (en) | 2016-09-14 | 2020-11-24 | Oracle International Corporation | Single sign-on functionality for a multi-tenant identity and data security management cloud service |
US10878079B2 (en) | 2016-05-11 | 2020-12-29 | Oracle International Corporation | Identity cloud service authorization model with dynamic roles and scopes |
US10904074B2 (en) | 2016-09-17 | 2021-01-26 | Oracle International Corporation | Composite event handler for a multi-tenant identity cloud service |
US10931656B2 (en) | 2018-03-27 | 2021-02-23 | Oracle International Corporation | Cross-region trust for a multi-tenant identity cloud service |
US11012444B2 (en) | 2018-06-25 | 2021-05-18 | Oracle International Corporation | Declarative third party identity provider integration for a multi-tenant identity cloud service |
US11061929B2 (en) | 2019-02-08 | 2021-07-13 | Oracle International Corporation | Replication of resource type and schema metadata for a multi-tenant identity cloud service |
US11165634B2 (en) | 2018-04-02 | 2021-11-02 | Oracle International Corporation | Data replication conflict detection and resolution for a multi-tenant identity cloud service |
CN113742705A (en) * | 2021-08-30 | 2021-12-03 | 北京一砂信息技术有限公司 | Method and system for realizing IFAA (Interface authentication and Access Association) number based authentication service |
US11258775B2 (en) | 2018-04-04 | 2022-02-22 | Oracle International Corporation | Local write for a multi-tenant identity cloud service |
US11271969B2 (en) | 2017-09-28 | 2022-03-08 | Oracle International Corporation | Rest-based declarative policy management |
CN114338078A (en) * | 2021-11-19 | 2022-04-12 | 奇安信科技集团股份有限公司 | CS client login method and device |
US11321187B2 (en) | 2018-10-19 | 2022-05-03 | Oracle International Corporation | Assured lazy rollback for a multi-tenant identity cloud service |
US11321343B2 (en) | 2019-02-19 | 2022-05-03 | Oracle International Corporation | Tenant replication bootstrap for a multi-tenant identity cloud service |
US11356454B2 (en) | 2016-08-05 | 2022-06-07 | Oracle International Corporation | Service discovery for a multi-tenant identity and data security management 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 |
US11550671B2 (en) | 2020-09-18 | 2023-01-10 | Fujitsu Limited | Backup management device, backup management method, and information processing system |
US11611548B2 (en) | 2019-11-22 | 2023-03-21 | Oracle International Corporation | Bulk multifactor authentication enrollment |
US11651357B2 (en) | 2019-02-01 | 2023-05-16 | Oracle International Corporation | Multifactor authentication without a user footprint |
US11669321B2 (en) | 2019-02-20 | 2023-06-06 | Oracle International Corporation | Automated database upgrade for a multi-tenant 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 |
US11693835B2 (en) | 2018-10-17 | 2023-07-04 | Oracle International Corporation | Dynamic database schema allocation on tenant onboarding for a multi-tenant identity cloud service |
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 |
-
2014
- 2014-06-24 JP JP2014129086A patent/JP2016009299A/en active Pending
Cited By (78)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10425386B2 (en) | 2016-05-11 | 2019-09-24 | Oracle International Corporation | Policy enforcement point for a multi-tenant identity and data security management cloud service |
US10200358B2 (en) | 2016-05-11 | 2019-02-05 | Oracle International Corporation | Microservices based multi-tenant identity and data security management cloud service |
US10218705B2 (en) | 2016-05-11 | 2019-02-26 | Oracle International Corporation | Multi-tenant identity and data security management cloud service |
JP2018142332A (en) * | 2016-05-11 | 2018-09-13 | オラクル・インターナショナル・コーポレイション | Multi-tenant identity and data security management cloud service |
US10878079B2 (en) | 2016-05-11 | 2020-12-29 | Oracle International Corporation | Identity cloud service authorization model with dynamic roles and scopes |
US11088993B2 (en) | 2016-05-11 | 2021-08-10 | Oracle International Corporation | Policy enforcement point for a multi-tenant identity and data security management cloud service |
US10848543B2 (en) | 2016-05-11 | 2020-11-24 | Oracle International Corporation | Security tokens for a multi-tenant identity and data security management cloud service |
US10341410B2 (en) | 2016-05-11 | 2019-07-02 | Oracle International Corporation | Security tokens for a multi-tenant identity and data security management cloud service |
US10693861B2 (en) | 2016-05-11 | 2020-06-23 | Oracle International Corporation | Task segregation in a multi-tenant identity and data security management cloud service |
US10581820B2 (en) | 2016-05-11 | 2020-03-03 | Oracle International Corporation | Key generation and rollover |
US10454940B2 (en) | 2016-05-11 | 2019-10-22 | Oracle International Corporation | Identity cloud service authorization model |
US10721237B2 (en) | 2016-08-05 | 2020-07-21 | Oracle International Corporation | Hierarchical processing for a virtual directory system for LDAP to SCIM proxy service |
US10585682B2 (en) | 2016-08-05 | 2020-03-10 | Oracle International Corporation | Tenant self-service troubleshooting for a multi-tenant identity and data security management cloud service |
US10255061B2 (en) | 2016-08-05 | 2019-04-09 | Oracle International Corporation | Zero down time upgrade for a multi-tenant identity and data security management cloud service |
US11356454B2 (en) | 2016-08-05 | 2022-06-07 | Oracle International Corporation | Service discovery for a multi-tenant identity and data security management cloud service |
US11601411B2 (en) | 2016-08-05 | 2023-03-07 | Oracle International Corporation | Caching framework for a multi-tenant identity and data security management cloud service |
US10505941B2 (en) | 2016-08-05 | 2019-12-10 | Oracle International Corporation | Virtual directory system for LDAP to SCIM proxy service |
US10530578B2 (en) | 2016-08-05 | 2020-01-07 | Oracle International Corporation | Key store service |
US10263947B2 (en) | 2016-08-05 | 2019-04-16 | Oracle International Corporation | LDAP to SCIM proxy service |
US10579367B2 (en) | 2016-08-05 | 2020-03-03 | Oracle International Corporation | Zero down time upgrade for a multi-tenant identity and data security management cloud service |
US10735394B2 (en) | 2016-08-05 | 2020-08-04 | Oracle International Corporation | Caching framework for a multi-tenant identity and data security management cloud service |
US10484382B2 (en) | 2016-08-31 | 2019-11-19 | Oracle International Corporation | Data management for a multi-tenant identity cloud service |
US11258797B2 (en) | 2016-08-31 | 2022-02-22 | Oracle International Corporation | Data management for a multi-tenant identity cloud service |
US10846390B2 (en) | 2016-09-14 | 2020-11-24 | Oracle International Corporation | Single sign-on functionality for a multi-tenant identity and data security management cloud service |
US10594684B2 (en) | 2016-09-14 | 2020-03-17 | Oracle International Corporation | Generating derived credentials 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 |
US10511589B2 (en) | 2016-09-14 | 2019-12-17 | Oracle International Corporation | Single logout functionality for a multi-tenant identity and data security management cloud service |
US10616224B2 (en) | 2016-09-16 | 2020-04-07 | Oracle International Corporation | Tenant and service management for a multi-tenant identity and data security management cloud service |
US10445395B2 (en) | 2016-09-16 | 2019-10-15 | Oracle International Corporation | Cookie based state propagation for a multi-tenant identity cloud service |
US10341354B2 (en) | 2016-09-16 | 2019-07-02 | Oracle International Corporation | Distributed high availability agent architecture |
US10567364B2 (en) | 2016-09-16 | 2020-02-18 | Oracle International Corporation | Preserving LDAP hierarchy in a SCIM directory using special marker groups |
US11023555B2 (en) | 2016-09-16 | 2021-06-01 | Oracle International Corporation | Cookie based state propagation for a multi-tenant identity cloud service |
US10791087B2 (en) | 2016-09-16 | 2020-09-29 | Oracle International Corporation | SCIM to LDAP mapping using subtype attributes |
US10484243B2 (en) | 2016-09-16 | 2019-11-19 | Oracle International Corporation | Application management for a multi-tenant identity cloud service |
US10904074B2 (en) | 2016-09-17 | 2021-01-26 | Oracle International Corporation | Composite event handler for a multi-tenant identity cloud service |
US10261836B2 (en) | 2017-03-21 | 2019-04-16 | Oracle International Corporation | Dynamic dispatching of workloads spanning heterogeneous services |
US10454915B2 (en) | 2017-05-18 | 2019-10-22 | Oracle International Corporation | User authentication using kerberos with identity cloud service |
US10348858B2 (en) | 2017-09-15 | 2019-07-09 | Oracle International Corporation | Dynamic message queues for a microservice based 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 |
US10831789B2 (en) | 2017-09-27 | 2020-11-10 | Oracle International Corporation | Reference attribute query processing for a multi-tenant cloud service |
US10834137B2 (en) | 2017-09-28 | 2020-11-10 | Oracle International Corporation | Rest-based declarative policy management |
US11271969B2 (en) | 2017-09-28 | 2022-03-08 | Oracle International Corporation | Rest-based declarative policy management |
US10705823B2 (en) | 2017-09-29 | 2020-07-07 | Oracle International Corporation | Application templates and upgrade framework for a multi-tenant identity cloud service |
CN109995699A (en) * | 2017-12-29 | 2019-07-09 | 上海智显光电科技有限公司 | Management of multimedia equipment system and management method |
US10715564B2 (en) | 2018-01-29 | 2020-07-14 | Oracle International Corporation | Dynamic client registration for an identity cloud service |
US11463488B2 (en) | 2018-01-29 | 2022-10-04 | Oracle International Corporation | Dynamic client registration for an identity cloud service |
JP2019139520A (en) * | 2018-02-09 | 2019-08-22 | キヤノン株式会社 | Information processing system, control method thereof, and program |
US11528262B2 (en) | 2018-03-27 | 2022-12-13 | Oracle International Corporation | Cross-region trust for a multi-tenant identity cloud service |
US10931656B2 (en) | 2018-03-27 | 2021-02-23 | Oracle International Corporation | Cross-region trust for a multi-tenant identity cloud service |
US11165634B2 (en) | 2018-04-02 | 2021-11-02 | Oracle International Corporation | Data replication conflict detection and resolution for a multi-tenant identity cloud service |
US11652685B2 (en) | 2018-04-02 | 2023-05-16 | Oracle International Corporation | Data replication conflict detection and resolution for a multi-tenant identity cloud service |
US10798165B2 (en) | 2018-04-02 | 2020-10-06 | Oracle International Corporation | Tenant data comparison for a multi-tenant identity cloud service |
US11258775B2 (en) | 2018-04-04 | 2022-02-22 | Oracle International Corporation | Local write for a multi-tenant identity cloud service |
US11012444B2 (en) | 2018-06-25 | 2021-05-18 | Oracle International Corporation | Declarative third party identity provider integration for a multi-tenant identity cloud service |
US11411944B2 (en) | 2018-06-28 | 2022-08-09 | Oracle International Corporation | Session synchronization across multiple devices in an identity cloud service |
US10764273B2 (en) | 2018-06-28 | 2020-09-01 | Oracle International Corporation | Session synchronization across multiple devices in an identity cloud service |
US11693835B2 (en) | 2018-10-17 | 2023-07-04 | Oracle International Corporation | Dynamic database schema allocation on tenant onboarding for a multi-tenant identity cloud service |
US11321187B2 (en) | 2018-10-19 | 2022-05-03 | Oracle International Corporation | Assured lazy rollback for a multi-tenant identity cloud service |
JP7337504B2 (en) | 2019-01-18 | 2023-09-04 | キヤノン株式会社 | System, method and program |
JP2020119015A (en) * | 2019-01-18 | 2020-08-06 | キヤノン株式会社 | System, method, and program |
US11651357B2 (en) | 2019-02-01 | 2023-05-16 | Oracle International Corporation | Multifactor authentication without a user footprint |
US11061929B2 (en) | 2019-02-08 | 2021-07-13 | Oracle International Corporation | Replication of resource type and schema metadata for a multi-tenant identity cloud service |
US11321343B2 (en) | 2019-02-19 | 2022-05-03 | Oracle International Corporation | Tenant replication bootstrap for a multi-tenant identity cloud service |
US11669321B2 (en) | 2019-02-20 | 2023-06-06 | Oracle International Corporation | Automated database upgrade for a multi-tenant identity cloud service |
CN111611550B (en) * | 2019-02-22 | 2024-03-22 | 横河电机株式会社 | Computer system, computer device and authorization management method |
CN111611550A (en) * | 2019-02-22 | 2020-09-01 | 横河电机株式会社 | Computer system, computer device and authorization management method |
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 |
JP2020149121A (en) * | 2019-03-11 | 2020-09-17 | Necソリューションイノベータ株式会社 | Personal authentication device, personal authentication method, program, and recording medium |
US11870770B2 (en) | 2019-09-13 | 2024-01-09 | Oracle International Corporation | Multi-tenant identity cloud service with on-premise authentication integration |
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 |
US11611548B2 (en) | 2019-11-22 | 2023-03-21 | Oracle International Corporation | Bulk multifactor authentication enrollment |
JP2020053100A (en) * | 2019-12-27 | 2020-04-02 | キヤノン株式会社 | Information processing system, control method thereof and program |
JP7043480B2 (en) | 2019-12-27 | 2022-03-29 | キヤノン株式会社 | Information processing system and its control method and program |
US11550671B2 (en) | 2020-09-18 | 2023-01-10 | Fujitsu Limited | Backup management device, backup management method, and information processing system |
CN113742705A (en) * | 2021-08-30 | 2021-12-03 | 北京一砂信息技术有限公司 | Method and system for realizing IFAA (Interface authentication and Access Association) number based authentication service |
CN114338078A (en) * | 2021-11-19 | 2022-04-12 | 奇安信科技集团股份有限公司 | CS client login method and device |
CN114338078B (en) * | 2021-11-19 | 2024-03-22 | 奇安信科技集团股份有限公司 | CS client login method and device |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2016009299A (en) | Single sign-on system, terminal device, control method and computer program | |
US20240080311A1 (en) | Managing security credentials | |
JP6198477B2 (en) | Authority transfer system, authorization server system, control method, and program | |
JP6668183B2 (en) | Communication device, communication method, communication system and program | |
JP6904857B2 (en) | Delegation system, control method, and program | |
US9571494B2 (en) | Authorization server and client apparatus, server cooperative system, and token management method | |
JP6727799B2 (en) | Authority delegation system, information processing device, authorization server, control method and program | |
CN110138718B (en) | Information processing system and control method thereof | |
US8819795B2 (en) | Presenting managed security credentials to network sites | |
CA2896169C (en) | Method and apparatus for single sign-on collaboration among mobile devices | |
JP6061633B2 (en) | Device apparatus, control method, and program thereof. | |
JP6141041B2 (en) | Information processing apparatus, program, and control method | |
US10362019B2 (en) | Managing security credentials | |
JP2017107342A (en) | Authentication cooperation system, authentication cooperation method, authorization server, application server, and program | |
US20120311331A1 (en) | Logon verification apparatus, system and method for performing logon verification | |
JP7030476B2 (en) | Image processor, image processor control method, program, system, and system control method | |
US11924211B2 (en) | Computerized device and method for authenticating a user | |
WO2020070807A1 (en) | Identification system, identification method, application providing device, identification device, and identification program | |
US9838387B2 (en) | Security token with embedded data | |
JP2017220113A (en) | Authorization server, control method and program | |
JP6465426B1 (en) | Electronic signature system, certificate issuing system, key management system, and electronic certificate issuing method | |
JP2016009466A (en) | Web service system, authentication approval device, information processing device, information processing method, and program | |
JP2016115260A (en) | Authority transfer system, authorization server used for authority transfer system, resource server, client, mediation device, authority transfer method and program | |
WO2022103823A1 (en) | Efficient transfer of authentication credentials between client devices | |
JP2016139910A (en) | Authentication system, authentication key management device, authentication key management method and authentication key management program |