JP5727661B2 - Authentication method, authentication system, service providing server, and authentication server - Google Patents
Authentication method, authentication system, service providing server, and authentication server Download PDFInfo
- Publication number
- JP5727661B2 JP5727661B2 JP2014221220A JP2014221220A JP5727661B2 JP 5727661 B2 JP5727661 B2 JP 5727661B2 JP 2014221220 A JP2014221220 A JP 2014221220A JP 2014221220 A JP2014221220 A JP 2014221220A JP 5727661 B2 JP5727661 B2 JP 5727661B2
- Authority
- JP
- Japan
- Prior art keywords
- authentication
- client terminal
- server
- service providing
- providing 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.)
- Active
Links
Images
Landscapes
- Information Transfer Between Computers (AREA)
- Computer And Data Communications (AREA)
Description
本発明は、情報処理端末を用いたメッセージの送受信を行う技術に関する。 The present invention relates to a technique for transmitting and receiving messages using an information processing terminal.
近年、インターネット技術の発展に伴い、ユーザがゲームプログラム等のアプリケーションをクライアント端末にダウンロードして、クライアント端末にて処理する方法が広まってきている。たとえば、スマートフォン端末において、ゲームをサーバからダウンロードしてプレイすることも可能となっている。通常、ユーザは、端末を通してゲームを提供するサービス運営者に対して会員登録を行って、IDとパスワードを取得する。その後、ユーザがIDとパスワードを端末に入力すると、認証サーバにより所定の認証処理が行われることでログインが可能となり、ゲームを楽しむことができる。 In recent years, with the development of Internet technology, a method in which a user downloads an application such as a game program to a client terminal and performs processing on the client terminal has become widespread. For example, in a smartphone terminal, a game can be downloaded from a server and played. Usually, a user performs member registration with respect to a service operator who provides a game through a terminal, and acquires an ID and a password. After that, when the user inputs an ID and a password to the terminal, a predetermined authentication process is performed by the authentication server, thereby enabling login and enjoying the game.
このようなログイン処理は、異なるアプリケーションシステムを利用する毎に行われるため、その都度、IDとパスワードなどの個人情報の入力を促すこととなり、利用者にとって煩雑となっていた。そのため、一度のログイン処理で複数のシステムに対するアクセスを実現する「シングルサインオン(SSO:SingleSignOn)」の技術が開発されている。SSOでは、認証サーバが認証済みであることを保証する認証チケットを発行し、クライアント端末のブラウザがアプリケーションサーバとデータ通信を実施する際、その認証チケットをアプリケーションサーバに送信し、アプリケーションサーバが認証チケットを参照して、ログイン済みであることを確認している(たとえば、特許文献1、2参照)。 Since such a login process is performed each time a different application system is used, the user is prompted to input personal information such as an ID and a password each time, which is complicated for the user. Therefore, a “single sign-on (SSO)” technology that realizes access to a plurality of systems by a single login process has been developed. In SSO, an authentication ticket is issued to guarantee that the authentication server has been authenticated. When the browser of the client terminal performs data communication with the application server, the authentication ticket is transmitted to the application server, and the application server receives the authentication ticket. , It is confirmed that the user has logged in (see, for example, Patent Documents 1 and 2).
従来の認証では、認証サーバとアプリケーションサーバ(以下、サービス提供サーバともいう。)とが別々の事業者により運営されることを前提として、SSO処理のためのシーケンスが構成されていた。ここで、認証サーバとサービス提供サーバとが同一の事業者により運営されているような場合においては、従来のSSO処理は必ずしも効率的でセキュアな処理ではなかった。 In conventional authentication, a sequence for SSO processing is configured on the assumption that an authentication server and an application server (hereinafter also referred to as a service providing server) are operated by different operators. Here, when the authentication server and the service providing server are operated by the same business operator, the conventional SSO process is not necessarily an efficient and secure process.
本発明はかかる課題に鑑みてなされたものであり、その目的は、認証サーバとサービス提供サーバとを連携させることで、より効率的にセキュアなSSO処理を実行可能とするサーバ装置、方法、および、システムを提供することにある。 The present invention has been made in view of such a problem, and an object of the present invention is to provide a server device, a method, and a method capable of more efficiently executing a secure SSO process by linking an authentication server and a service providing server. To provide a system.
本発明の1つの態様は、1以上のアプリケーションを記憶するクライアント端末と、前記クライアント端末とネットワークを介して接続し、前記クライアント端末にサービスを提供するサービス提供サーバと、前記クライアント端末及び前記サービス提供サーバと接続し、認証処理を実行する認証サーバと、を含むシステムにおける認証方法において、前記認証サーバと、前記クライアント端末における少なくとも1つの対象アプリケーションとの間にセッションが確立されている場合、前記サービス提供サーバは、前記クライアント端末からの認証要求を受けて、認証を確認することを要求する認証要求情報を前記クライアント端末に送信し、前記クライアント端末は、前記サービス提供サーバからの認証要求情報を受けて、認証を確認することを要求する認証要求情報を前記認証サーバに送信し、前記認証サーバは、前記クライアント端末からの認証要求情報を受けて、前記クライアント端末が前記認証サーバにて認証されていることを示すチケット情報を前記クライアント端末に送信し、前記クライアント端末は、前記認証サーバからのチケット情報を受けて、当該チケット情報を前記サービス提供サーバに送信し、前記サービス提供サーバは、前記クライアント端末からのチケット情報を受けて、当該チケット情報と共にアクセスの許可を求めるアクセス要求を前記認証サーバに送信し、前記認証サーバは、前記サービス提供サーバからチケット情報及びアクセス要求を受けて、当該チケット情報が前記認証サーバにて発行されたものであれば、アクセスを許可するアクセストークンと前記対象アプリケーションを特定するIDトークンとを前記サービス提供サーバに送信し、前記サービス提供サーバは、前記認証サーバからアクセストークンとIDトークンとを受けて、前記IDトークンと予め記憶されているアプリケーションに関する秘密情報との照合が妥当であれば当該アクセストークンを前記クライアント端末に送信する、ことを特徴とする認証方法である。 One aspect of the present invention provides a client terminal that stores one or more applications, a service providing server that connects to the client terminal via a network and provides a service to the client terminal, the client terminal, and the service provision In an authentication method in a system including an authentication server that connects to a server and executes authentication processing, if a session is established between the authentication server and at least one target application in the client terminal, the service The providing server receives an authentication request from the client terminal and transmits authentication request information for requesting confirmation of authentication to the client terminal, and the client terminal receives the authentication request information from the service providing server. Confirm the authentication. Ticket information indicating that the client terminal is authenticated by the authentication server in response to authentication request information from the client terminal. To the client terminal, the client terminal receives the ticket information from the authentication server, transmits the ticket information to the service providing server, and the service providing server receives the ticket information from the client terminal. In response, the access request for access permission is sent to the authentication server together with the ticket information. The authentication server receives the ticket information and the access request from the service providing server, and the ticket information is received by the authentication server. If it has been issued, access to allow access The token and the ID token for specifying the target application are transmitted to the service providing server, and the service providing server receives the access token and the ID token from the authentication server, and stores the ID token and the application stored in advance. The authentication method is characterized in that the access token is transmitted to the client terminal if the collation with the secret information regarding is valid.
本発明の別の態様は、1以上のアプリケーションを記憶するクライアント端末と、前記クライアント端末とネットワークを介して接続し、前記クライアント端末にサービスを提供するサービス提供サーバと、前記クライアント端末及び前記サービス提供サーバと接続し、認証処理を実行する認証サーバと、を含む認証システムにおいて、前記認証サーバと、前記クライアント端末における少なくとも1つの対象アプリケーションとの間にセッションが確立されている場合、前記サービス提供サーバは、前記クライアント端末からの認証要求を受けて、認証を確認することを要求する認証要求情報を前記クライアント端末に送信し、前記クライアント端末は、前記サービス提供サーバからの認証要求情報を受けて、認証を確認することを要求する認証要求情報を前記認証サーバに送信し、前記認証サーバは、前記クライアント端末からの認証要求情報を受けて、前記クライアント端末が前記認証サーバにて認証されていることを示すチケット情報を前記クライアント端末に送信し、前記クライアント端末は、前記認証サーバからのチケット情報を受けて、当該チケット情報を前記サービス提供サーバに送信し、前記サービス提供サーバは、前記クライアント端末からのチケット情報を受けて、当該チケット情報と共にアクセスの許可を求めるアクセス要求を前記認証サーバに送信し、前記認証サーバは、前記サービス提供サーバからチケット情報及びアクセス要求を受けて、当該チケット情報が前記認証サーバにて発行されたものであれば、アクセスを許可するアクセストークンと前記対象アプリケーションを特定するIDトークンとを前記サービス提供サーバに送信し、前記サービス提供サーバは、前記認証サーバからアクセストークンとIDトークンとを受けて、前記IDトークンと予め記憶されているアプリケーションに関する秘密情報との照合が妥当であれば当該アクセストークンを前記クライアント端末に送信する、ことを特徴とする認証システムである。 Another aspect of the present invention provides a client terminal that stores one or more applications, a service providing server that connects to the client terminal via a network and provides a service to the client terminal, the client terminal, and the service provision In an authentication system including an authentication server that connects to a server and executes authentication processing, if a session is established between the authentication server and at least one target application in the client terminal, the service providing server Receives an authentication request from the client terminal and transmits authentication request information for requesting confirmation of authentication to the client terminal, and the client terminal receives the authentication request information from the service providing server, Require authentication confirmation Authentication request information is transmitted to the authentication server, and the authentication server receives authentication request information from the client terminal, and receives ticket information indicating that the client terminal is authenticated by the authentication server. The client terminal receives ticket information from the authentication server and transmits the ticket information to the service providing server, and the service providing server receives the ticket information from the client terminal and An access request for permission of access is sent to the authentication server together with ticket information, and the authentication server receives ticket information and an access request from the service providing server, and the ticket information is issued by the authentication server If so, access token and access An ID token that identifies a target application is transmitted to the service providing server, and the service providing server receives the access token and the ID token from the authentication server, and the secret information regarding the application stored in advance with the ID token If the verification is valid, the access token is transmitted to the client terminal.
本発明の別の態様は、1以上のアプリケーションを記憶するクライアント端末と、前記クライアント端末とネットワークを介して接続し、前記クライアント端末にサービスを提供するサービス提供サーバと、前記クライアント端末及び前記サービス提供サーバと接続し、認証処理を実行する認証サーバと、を含む認証システムにおけるサービス提供サーバであって、前記認証サーバと、前記クライアント端末における少なくとも1つの対象アプリケーションとの間にセッションが確立されている場合、前記クライアント端末からの認証要求を受けて、認証を確認することを要求する認証要求情報を前記クライアント端末に送信し、前記クライアント端末を介して前記認証要求情報を受けた前記認証サーバにおいてクライアント端末が認証されている場合に、それを示すチケット情報を前記クライアント端末を介して前記認証サーバから受信し、前記クライアント端末からのチケット情報を受けて、当該チケット情報と共にアクセスの許可を求めるアクセス要求を前記認証サーバに送信し、前記認証サーバにおいて当該チケット情報が発行されたものである場合に、アクセスを許可するアクセストークンと前記対象アプリケーションを特定するIDトークンと前記認証サーバから受信し、前記IDトークンと予め記憶されているアプリケーションに関する秘密情報との照合が妥当であれば当該アクセストークンを前記クライアント端末に送信する、ことを特徴とするサービス提供サーバである。 Another aspect of the present invention provides a client terminal that stores one or more applications, a service providing server that connects to the client terminal via a network and provides a service to the client terminal, the client terminal, and the service provision A service providing server in an authentication system including an authentication server that connects to a server and executes authentication processing, wherein a session is established between the authentication server and at least one target application in the client terminal The authentication request information from the client terminal is received, the authentication request information requesting to confirm the authentication is transmitted to the client terminal, and the client in the authentication server receives the authentication request information via the client terminal. The device is authenticated The ticket information indicating that is received from the authentication server via the client terminal, receives the ticket information from the client terminal, and sends an access request for permission of access together with the ticket information to the authentication server. And when the ticket information is issued in the authentication server, the access token that permits access, the ID token that identifies the target application, and the authentication server are received from the authentication server and stored in advance as the ID token. The service providing server transmits the access token to the client terminal if the collation with the secret information related to the application is valid.
本発明の別の態様は、1以上のアプリケーションを記憶するクライアント端末と、前記クライアント端末とネットワークを介して接続し、前記クライアント端末にサービスを提供するサービス提供サーバと、前記クライアント端末及び前記サービス提供サーバと接続し、認証処理を実行する認証サーバと、を含む認証システムにおける認証サーバであって、前記認証サーバと、前記クライアント端末における少なくとも1つの対象アプリケーションとの間にセッションが確立されている場合、前記クライアント端末からの認証要求を受けた前記サービス提供サーバから送信された認証要求情報を前記クライアント端末を介して受信し、前記クライアント端末が前記認証サーバにて認証されている場合に、そのことを示すチケット情報を前記クライアント端末に送信し、前記サービス提供サーバを介して前記クライアント端末から前記チケット情報と共にアクセスと共にアクセスの許可を求めるアクセス要求を受信し、当該チケット情報が前記認証サーバにて発行されたものであれば、アクセスを許可するアクセストークンと前記対象アプリケーションを特定するIDトークンとを前記サービス提供サーバに送信する、ことを特徴とする認証サーバである。 Another aspect of the present invention provides a client terminal that stores one or more applications, a service providing server that connects to the client terminal via a network and provides a service to the client terminal, the client terminal, and the service provision An authentication server in an authentication system including an authentication server that connects to a server and executes authentication processing, and a session is established between the authentication server and at least one target application in the client terminal When the authentication request information transmitted from the service providing server that has received the authentication request from the client terminal is received via the client terminal and the client terminal is authenticated by the authentication server; The ticket information indicating If it is transmitted to the client terminal, receives an access request for access permission together with the ticket information from the client terminal via the service providing server, and the ticket information is issued by the authentication server An authentication server, wherein an access token that permits access and an ID token that specifies the target application are transmitted to the service providing server.
本発明によると、サービス提供サーバと認証サーバとが互いに連携して認証処理を実施することによって、よりセキュアな認証処理を実現することができる。 According to the present invention, the service providing server and the authentication server cooperate with each other to perform the authentication process, thereby realizing a more secure authentication process.
本発明の実施例を説明する前に、まず、本発明の概要を述べる。本発明は、インストール型のアプリケーションに対する認証技術であって、クライアント端末の認証処理を認証サーバだけではなくて、サービス提供サーバがアシストする構成をとることによって、認証処理における安全性を高めたものである。 Before describing the embodiments of the present invention, an outline of the present invention will be described first. The present invention is an authentication technique for an installation-type application, and improves security in authentication processing by adopting a configuration in which not only an authentication server but also a service providing server assists authentication processing of a client terminal. is there.
本発明においては、サービス提供サーバに記憶されたセッション確立済の該クライアント端末のアプリケーションの認証情報と、当該認証サーバに記憶されたユーザに関するユーザ情報とに基づいて認証処理を実行する。これにより、一方のサーバにおける認証をもって、他方の認証を保証させることができ、効率的でセキュアな認証処理ができるものである。以下、例を用いて説明する。以下において、サービス提供サーバとは、サービスを提供するプラットフォームであってもよいし、認証サーバは、アプリケ―ションを提供するサーバであってもよい。また、これらのサーバは物理的に一体となっていてもよい。 In the present invention, the authentication processing is executed based on the authentication information of the client terminal application that has been established in the session stored in the service providing server and the user information related to the user stored in the authentication server. Thus, the authentication in one server can be used to guarantee the authentication in the other, and an efficient and secure authentication process can be performed. Hereinafter, an example will be described. In the following, the service providing server may be a platform that provides a service, and the authentication server may be a server that provides an application. Further, these servers may be physically integrated.
まず、実施例1について説明する。図1は、本発明の実施例1にかかる認証システム100を示す図である。認証システム100は、サービス提供サーバ10と、認証サーバ20と、サービス提供サーバ10と認証サーバ20と基地局40とを有線回線で接続するネットワーク30と、基地局40で代表される第1基地局40a〜第3基地局40cと、モバイル端末50で代表される第1モバイル端末50a〜第3モバイル端末50cと、PC端末70とを含む。
First, Example 1 will be described. FIG. 1 is a diagram illustrating an
なお、図示の都合上、基地局40、モバイル端末50は共に3台のみ図示したが、これにかぎらず、それ以上の基地局40、モバイル端末50が存在してもよい。PC端末70についても同様である。また、第1モバイル端末50a〜第3モバイル端末50cは、それぞれ異なる基地局40と接続されるとして図示しているが、これにかぎらず、1つの基地局40に複数のモバイル端末50が接続されていても、本発明が適用可能であることは言うまでもない。
For convenience of illustration, only three base stations 40 and
サービス提供サーバ10は、チャットサービスなどのネットサービスを提供し、また、認証サーバ20と協働して、クライアント端末のログイン処理を効率化するための装置である。サービス提供サーバ10は、ネットワーク30および/または基地局40を介して、認証サーバ20、あるいは、モバイル端末50やPC端末70との間で、認証処理のための通信処理を実行する。なお、以下においては、説明を簡易にするため、単に、「サービス提供サーバ10とモバイル端末40ないしPC端末70との間で通信処理を実行する」などと表現し、ネットワーク30および基地局40を介する点については記載を省略する。また、以下においては、モバイル端末50やPC端末70を総称して、クライアント端末と表現することもある。
The
クライアント端末は、ユーザの指示によりアプリケーションが起動されるたびに、ブラウザを介してサービス提供サーバ10に認証要求に関する信号を送信する。サービス提供サーバ10は、クライアント端末からの認証要求を受信したら、そのクライアント端末に関するセッション情報(Cookie)を発行し、認証要求に対して該セッション情報を付与して返信する。
The client terminal transmits a signal related to the authentication request to the
クライアント端末は、セッション情報が付与された認証要求を認証サーバ20に送信する。すると、認証サーバ20は、クライアント端末からの認証要求を受けて、サービス提供サーバ10と連携して、サービス提供サーバに記憶されたセッション確立済の該クライアント端末のアプリケーションの認証情報と、当該認証サーバに記憶されたユーザに関するユーザ情報とに基づいて認証処理を実行する。
The client terminal transmits an authentication request to which the session information is assigned to the
ここで、アプリケーションの認証情報とは、アプリケーションに固有のIDと、アプリケーション自体の秘密情報とを含む。このアプリケーションの認証情報はセッションが確立されたアプリケーションに対して発行され、サービス提供サーバ10により管理される。サービス提供サーバ10は、後述するように、ユーザによるアプリケーションの使用を管理し、正当な権限を有するユーザのログインを認証し、正当であれば、そのアプリケーションのセッションを確立する。
Here, the application authentication information includes an ID unique to the application and secret information of the application itself. This application authentication information is issued to an application for which a session has been established, and is managed by the
また、ユーザ情報とは、ユーザIDやユーザによって指定されたパスワードを含む。このユーザ情報は、認証サーバ20によって管理される。認証サーバ20は、後述するように、ユーザ端末を介してユーザ情報を取得し、予め記憶しているユーザ情報と照合することで、そのユーザのログインの正当性を判断し、認証する。
The user information includes a user ID and a password designated by the user. This user information is managed by the
上述のように、ユーザは、認証サーバ10にログインするときもあれば、サービス提供サーバ20にログインするときもある。本発明においては、一方でのログインが正当であると判断されるような場合、他方のサーバにおいてもその正当性を援用し、ログインを認めるというものである。そのため、認証サーバ10とサービス提供サーバ間において直接、あるいは、ユーザ端末のブラウザを介して、それぞれにおける認証結果を確認しあうこととしている。
As described above, the user may log in to the
すなわち、認証サーバ10とサービス提供サーバ20とが同一事業者による運営であるため、上記のような認証連携が可能となっている。なお、これにかぎらず、同一でない事業者により運営されているような場合であっても、相当程度の信頼関係を有するような場合であれば、本発明を適用できることは言うまでもない。
That is, since the
具体的に説明する。認証サーバ20は、クライアント端末からの認証要求に対して、そのクライアント端末において起動されているアプリケーションとのセッションがすでに確立されていると判断したら、そのクライアント端末に関連づけたワンタイムチケットを発行してクライアント端末に送信する。
This will be specifically described. If the
セッションが確立しているとは、ログインされている状態をいう。ログインされている状態とは、その時点より過去において、いずれかのアプリケーションのブラウザ、あるいは、アプリケーション外の認証アシスト用アプリケーション(以下、特定ブラウザともいう。)を介してユーザがIDとパスワード等の秘密情報を入力することで、サービス提供サーバに記憶されたセッション確立済の該クライアント端末のアプリケーションの認証情報と、当該認証サーバに記憶されたユーザに関するユーザ情報とに基づいて、適正な情報であることが確認されて認証処理が完結している状態をいう。 The session is established means that the user is logged in. The logged-in state means that the user has secret information such as ID and password via a browser of any application or an authentication assist application (hereinafter also referred to as a specific browser) outside the application. By entering the information, it is appropriate information based on the authentication information of the client terminal application stored in the service providing server and the user information related to the user stored in the authentication server. Is confirmed and the authentication process is completed.
クライアント端末は、認証サーバ20から取得したワンタイムチケットをサービス提供サーバ10にリダイレクト(転送)する。これを受けて、サービス提供サーバ10は、認証サーバ20に対して、クライアント端末から取得したワンタイムチケットを送信することで、クライアント端末とのセッションを確立するためのアクセストークンの発行を要求する。
The client terminal redirects (transfers) the one-time ticket acquired from the
ここで、アクセストークンとは、所定のアプリケーションに対するユーザの実行権限を示し、これをサーバに提示することで、所定のアプリケーションをクライアント端末で実行することができるようになる。また、ワンタイムチケットとは、どのクライアント端末によって要求され、どのサーバによって信任、認証されたかを示す情報が含まれる。また、アクセストークンは暗号化されてもよい。その場合、ブラウザ立ち上げ前において予め復号キーをクライアント端末に渡しておくことで、より強化なセキュリティを実現することができる。 Here, the access token indicates a user's execution authority for a predetermined application, and the predetermined application can be executed on the client terminal by presenting it to the server. The one-time ticket includes information indicating which client terminal requests and which server is trusted and authenticated. Further, the access token may be encrypted. In that case, stronger security can be realized by passing the decryption key to the client terminal in advance before starting up the browser.
認証サーバ20は、サービス提供サーバ10から受信したワンタイムチケットが自らが発行したものであることを確認した後に、ワンタイムチケットに関連するアクセストークンを発行してサービス提供サーバ10に返信する。サービス提供サーバ10は、認証サーバ20から受け取ったアクセストークンをクライアント端末に送信する。これにより、クライアント端末は、アクセストークンを取得できるので、アプリケーションを実行できる。
After confirming that the one-time ticket received from the
なお、認証サーバ20は、認証要求元のクライアント端末のIDトークンの認証確認が成功した場合、あるいは、そのクライアント端末において起動されているアプリケーションからのログイン処理を確認した場合おいて、セッションが確立していると判定してもよい。
The
また、認証要求元のクライアント端末において起動されているアプリケーションとサービス提供サーバ10との間にセッションが確立されている場合、当該サービス提供サーバ10は、そのクライアント端末に対して、IDトークンを含めたセッション情報を発行する。認証サーバ20は、そのクライアント端末を介して得たIDトークンを検証することによって、セッションが確立されているか否かを検証してもよい。
When a session is established between the application running on the authentication request source client terminal and the
一方、認証要求元のクライアント端末において起動されているアプリケーションと認証サーバ20との間にセッションが確立されていない場合、当該クライアント端末は、ユーザ情報を認証サーバ20に送る。ここで、認証サーバ20は、受信したユーザ情報を検証後、アクセストークンと共に、IDトークンも発行して、サービス提供サーバ10に送信する。サービス提供サーバ10は、取得したIDトークンを検証してセッションを確立し、クライアント端末に対して、アクセストークンを送信してもよい。
On the other hand, when a session is not established between the
図2は、図1の認証システム100におけるサービス提供サーバ10の構成例を示す図である。サービス提供サーバ10は、サーバ通信部12と、認証処理部14と、サーバメモリ16とを含む。
FIG. 2 is a diagram illustrating a configuration example of the
サーバ通信部12は、クライアント端末や認証サーバ20などからの信号を受信し、所定の復調処理を実施して、認証処理部14に復調された信号を送る。また、認証処理部14から送られた信号に対して所定の変調処理を実施して、ユーザ端末に送信する。なお、サーバ通信部12における変復調処理は、従来用いられている変復調技術が用いられてよく、このような態様であったとしても、本発明を適用することができることは当業者に理解されるところである。
The
認証処理部14は、サーバ通信部12を通じて、クライアント端末から認証処理に関する情報を受け取る。認証処理部14は、サーバメモリ16内において、クライアント端末ごとに、セッション情報やユーザID、あるいは、ユーザパスワードなどの秘密情報を管理する。秘密情報は、クライアント端末がサービス提供サーバ10との間で最初に登録処理をする際にクライアント端末より通知されてもよい。これにより、すでにセッションが確立されているクライアント端末から認証要求があった場合、再度のログイン処理を求めることなくIDトークンを発行し、スムーズなSSO処理を実行していく。
The
また、認証処理部14は、セッションが確立されていないクライアント端末から認証要求があった場合、認証サーバ20においてすでにセッションが確立されているかどうかを確認し、確立されているようであれば、認証サーバ20からIDトークンを取得することで、スムーズなSSO処理を実行していく。
In addition, when there is an authentication request from a client terminal for which a session has not been established, the
認証サーバ20においてもセッションが確立されていない場合、認証処理部14は、クライアント端末に対して、ユーザIDやパスワードなどの秘密情報を求め、予め登録されている秘密情報と照合することで、ログイン処理を行い、セッションを確立する。
If a session is not established in the
つぎに、クライアント端末側の構成について説明する。図3は、図1のモバイル端末50あるいはPC端末70における構成例を示す図である。ここでは、説明の都合上、モバイル端末50の構成として説明するが、PC端末70においても同様の構成となる。
Next, the configuration on the client terminal side will be described. FIG. 3 is a diagram illustrating a configuration example of the
モバイル端末50は、端末通信部52と、ブラウザ制御部54と、端末制御部56と、端末メモリ58と、ユーザインタフェース60とを備える。端末通信部52は、サービス提供サーバ10あるいは認証サーバ20との間で認証処理に関する情報の送受信処理を実行する。
The
ブラウザ制御部54は、バックグラウンドで動作する第1ブラウザと、ユーザからのユーザ情報の入力を受け付け可能な第2ブラウザと、アプリケーションの外部のブラウザ機能として動作する特定ブラウザを制御する。第1ブラウザは、隠しブラウザ(Hidden Embeded Browser)とも呼ばれる。第1ブラウザと第2ブラウザは、所定のアプリケーション内部にコンポーネントとして埋め込まれたブラウザ(Embeded Browser)であり、セッション情報が互いに共有できる。すなわち、第1ブラウザと第2ブラウザは、アプリケーションごとに存在するブラウザである。
The
一方、特定ブラウザは、認証をアシストすることができるブラウザである。この特定ブラウザは、アプリケーションの外部の機能として動作するため、アプリケーションに埋め込まれた第1ブラウザと第2ブラウザとの間ではセッション情報の共有ができない。特定ブラウザは、OS標準のブラウザであってもよく、アプリケーション連携で共有できるブラウザであり、任意のアプリケーションを立ち上げられるものであってもよい。この特定ブラウザを介して認証処理を実現することで、アプリケ―ション連携が容易になり、ユーザは、1回のログイン処理を実施するだけで、以後、他のアプリケーションを実施する場合においてログイン処理が不要となる。 On the other hand, the specific browser is a browser that can assist authentication. Since this specific browser operates as a function outside the application, session information cannot be shared between the first browser and the second browser embedded in the application. The specific browser may be an OS standard browser, a browser that can be shared through application cooperation, and may be an arbitrary application that can be launched. By realizing the authentication process through this specific browser, the application linkage becomes easy, and the user only needs to perform the login process once. It becomes unnecessary.
通常は、特定ブラウザとアプリケーション内の埋め込みブラウザとの間でCookieを共有できないので、このようなアプリケーション連携は困難であった。しかしながら、認証サーバ20とクライアント端末との間にサービス提供サーバ10を介在させて、特定外部ブラウザでの認証において、開始時と終了時でユーザが同じことを保証するような認証処理を実施することで、外部ブラウザを用いたアプリケーション連携におけるSSOが実現できた。
Usually, since Cookie cannot be shared between a specific browser and an embedded browser in the application, such application cooperation is difficult. However, with the
ブラウザ制御部54は、まず第1ブラウザにより、サービス提供サーバ10との間で認証処理を実施する。第1ブラウザは、ユーザに入力を求めない処理を実施する際に用いられる。これにより、ユーザに動作を意識させることなく、高速で処理が実現できる。そして、ユーザに入力を求めるような場面になったら、ブラウザ制御部54は、第2ブラウザに動作を切り替える。これにより、効率的な処理が可能となる。
The
たとえば、ブラウザ制御部54は、まず第1ブラウザにより、サービス提供サーバ10との間で認証処理を実施する。ついで、起動されているアプリケーションとサービス提供サーバ10との間にセッションが確立されていない場合であって、かつ、ユーザに対してユーザ情報を入力させる必要が生じたような場合には、ユーザ情報を受け付けるために第2ブラウザを起動して、第2ブラウザとサービス提供サーバ10との間での認証処理に切り替えることとなる。
For example, the
認証要求元のクライアント端末において起動されているアプリケーションと認証サーバ20との間でセッションが確立されていない場合であっても、そのクライアント端末の特定ブラウザと認証サーバ20との間でセッションが確立されている場合においては、第2ブラウザの代わりに、特定ブラウザを起動して、特定ブラウザとサービス提供サーバ10間での処理に切り替える
Even if a session is not established between the
端末制御部56は、ユーザインタフェース60を介してユーザからの指示を受け付けて、端末メモリ58にアクセスしながら、アプリケーションの実行や認証処理を管理する。アプリケーションの実行および認証処理は、アプリケーション毎に実施される。アプリケーションは、アプリケーションの動作を制御する基幹ソフトウェアライブラリであるSDK(SoftwareDevelopmentKit)と、アプリケーション内部に埋め込まれたブラウザとを含む。このうち、端末制御部56は、SDKの制御を実施する。SDKは、サーバの指示に応じてブラウザを立ち上げたるなどの処理を制御する。
The
また、ユーザインタフェース60は、ユーザへのメッセージやユーザ情報画面、を表示するための画面インタフェースと、キーボードやタッチパネルなどのユーザからの入力を受け付ける入力インタフェースと、カメラなどの画像撮像手段を含む。
The
ユーザインタフェース60は、ユーザからのアプリケーションの実行要求を受け付けて、端末制御部56に伝える。また、ユーザインタフェース60は、必要に応じて、ログイン画面を表示して、ユーザIDやパスワード等の秘密情報、あるいは、特定ブラウザを用いたログイン処理要求に関する入力を受け付け、端末制御部56に伝える。
The
端末メモリ58は、サービス提供サーバ10からダウンロードしたアプリケーションや、画像撮像手段や他のユーザから受信した画像情報を記憶し、また、氏名と連絡先とが対応付けて記憶された連絡先情報などを記憶する。
The
ここで、認証システム100の基本フローの概略について説明する。
Here, an outline of the basic flow of the
サービス提供サーバ10は、認証開始時にアプリケーション内埋め込み型ブラウザに対し、ユーザエージェントの同定の為のCookieを発行し、検証可能なように保存した上で、OS標準外部ブラウザ等の特定ブラウザを起動する。
The
特定ブラウザは、サービス提供サーバ10にアクセスした上で、リダイレクトにより認証サーバ20に遷移し、必要であればユーザ認証処理を行う。認証サーバ20によるユーザ認証が済んだ段階でサービス提供サーバ10の戻りURLに対しリダイレクトし、特定ブラウザがサービス提供サーバ10にリクエストする。
The specific browser accesses the
サービス提供サーバ10はユーザの端末のアプリケーションに関するクライアントID等のクライアント秘密情報を予め保持しており、認証サーバ20から受け取るワンタイムチケット(code)及びIDトークンをクライアント端末を介する事無く検証し、それらが妥当であれば、サービス提供サーバ10に対するユーザセッションを発行し、特定ブラウザとサービス提供サーバ10間でログインセッションを確立した上で、ワンタイムチケット(code)をクライアント端末に渡す。
The
このワンタイムチケットを受け取ったクライアント端末は改めて、アプリケーション内埋め込み型ブラウザを起動し、サービス提供サーバ10にワンタイムチケットを渡す。この際に、サービス提供サーバ10では認証開始時に発行していたCookieから事前にCookieと共に紐づけておいた情報を元に、妥当なユーザエージェントであるかどうかを検証し、妥当であればワンタイムチケットを用いて、認証サーバ20から保護リソースにアクセスする為のアクセストークン及び、ワンタイムチケットに紐づくIDトークンを受け取りこれらを検証し、妥当であれば、アプリケーション内埋め込み型ブラウザとサービス提供サーバ10間で認証セッションを確立する。
Upon receiving this one-time ticket, the client terminal again activates the in-application embedded browser and passes the one-time ticket to the
具体的に説明する。ここでは、図1の認証システム100における4つの認証処理の例について、図4〜図7に示す4つのシーケンス図を用いて説明する。
This will be specifically described. Here, an example of four authentication processes in the
図4は、図1の認証システム100における第1の認証処理例を示すシーケンス図である。第1の認証処理例は、サービス提供サーバ10および認証サーバ20の双方において、クライアント端末との間ですでにセッションが確立している場合である。本シーケンスは、ユーザがユーザインタフェース60を介してアプリケーションを実行したことを契機として開始されてもよい。
FIG. 4 is a sequence diagram illustrating a first authentication processing example in the
第1の認証処理例においては、端末制御部56は、ログイン処理を実行する対象のアプリケーション内のSDKを指すものとする。また、ブラウザ処理部54は、3つのブラウザのうち、隠しブラウザを処理するものとする。
In the first authentication processing example, the
まず、端末制御部56は、ブラウザ処理部54に対して、ブラウザを起動させるためのメッセージを通知して、ブラウザを立ち上げさせる(S10)。
First, the
ブラウザ処理部54は、サービス提供サーバ10に対して、ログインを要求するためのメッセージを通知して、SDKサービスへのログインを要求する(S12)。ここで、サービス提供サーバ10は、このクライアント端末との間ですでにセッションが確立しているかどうかを検証する(S14)。
The
ここで、第1の認証処理例では、クライアント端末との間ですでにセッションが確立しているので、サービス提供サーバ10は、検証OKとして、ブラウザ処理部54に対して、認証要求のためのメッセージをIDトークンと共に通知して、認証サーバ20への認証要求をクライアント端末に実施させる(S16)。
Here, in the first authentication processing example, since a session has already been established with the client terminal, the
ついで、ブラウザ処理部54は、認証サーバ20に対して、サービス提供サーバ10から受け取ったIDトークンと、認証要求を示すものとしてのメッセージを通知する(S18)。
Next, the
認証サーバ20は、通知されたIDトークンを検証して、このクライアント端末との間ですでにセッションが確立しているかどうかについて判定する(S20)。第1の認証処理例では、クライアント端末との間ですでにセッションが確立しているので、認証サーバ20は、先の認証要求に対する応答として、ログインが許可された旨のメッセージと、ワンタイムチケットであるcodeをブラウザ処理部54に通知する(S22)。このワンタイムチケットは、時限失効型のチケットであり、所定期間内に、クライアント端末がこのチケットをサービス提供サーバ10経由で認証サーバ20に戻すことによって、アクセス権限が示されたアクセストークンを得ることができるものである。
The
ブラウザ処理部54は、サービス提供サーバ10に対して、認証サーバ20から送られたログインが許可された旨のメッセージをワンタイムチケットであるcodeと共に通知する(S24)。ここで、サービス提供サーバ10は、認証サーバ20に対して、当該クライアント端末のためにアクセストークンを要求するためのメッセージをcodeと共に通知する(S26)。
The
認証サーバ20は、通知されたcodeを確認して、自らが当該クライアント端末のために発行したものであることを検証した上で、アクセストークンを発行し、サービス提供サーバ10に送る(S28)。サービス提供サーバ10は、アクセストークンをブラウザ処理部54に送る(S30)。さらに、ブラウザ処理部54は、端末制御部56にアクセストークンを送る(S32)。以上により、クライアント端末は、アクセストークンを得て、アプリケーションを実行することが可能となる。
The
図5は、図1の認証システム100における第2の認証処理例を示すシーケンス図である。第2の認証処理例は、認証サーバ20においてのみ、クライアント端末との間ですでにセッションが確立していて、サービス提供サーバ10においては確立していない場合である。
FIG. 5 is a sequence diagram illustrating a second authentication processing example in the
第2の認証処理例においては、端末制御部56は、ユーザがログインを実行する対象のアプリケーション内のSDK(SoftwareDevelopmentKit)を指すものとする。また、ブラウザ処理部54は、3つのブラウザのうち、隠しブラウザを処理するものとする。
In the second authentication processing example, the
本シーケンスは、ユーザがユーザインタフェース60を介してアプリケーションを実行したことを契機として開始されてもよい。なお、図4のS10、S12の処理については、第1の認証処理例と同一であるため、図示および説明を省略し、S14の処理から説明するものとする。
This sequence may be started when the user executes the application via the
S14において、サービス提供サーバ10は、このクライアント端末との間ですでにセッションが確立しているかどうかを検証する。ところが、第2の認証処理例において、クライアント端末は、サービス提供サーバ10との間でセッションが確立されていない。したがって、このクライアント端末のIDトークンを保持していない状態となる。ここで、サービス提供サーバ10は、ブラウザ処理部54に対して、認証確認のためのメッセージを通知して(S40)、認証サーバ20においてセッションが確立されているかを確認させる。
In S14, the
ついで、ブラウザ処理部54は、認証サーバ20に対して、認証要求としてのメッセージを通知する(S42)。ここで、認証サーバ20は、このクライアント端末との間ですでにセッションが確立しているかどうかについて判定する(S44)。ここでは、すでにセッションが確立されているので、認証サーバ20は、認証が確認された旨のメッセージと、ワンタイムチケットであるcodeとをブラウザ処理部54に通知する(S46)。
Next, the
ブラウザ処理部54は、サービス提供サーバ10に対して、認証が確認された旨のメッセージをワンタイムチケットであるcodeと共に通知する(S48)。ここで、サービス提供サーバ10は、認証サーバ20に対して、当該クライアント端末のためにアクセストークンを要求するためのメッセージをcodeと共に通知する(S50)。
The
認証サーバ20は、通知されたcodeを確認して、自らが当該クライアント端末のために発行したものであることを検証した上で、アクセストークンを発行し、IDトークンと共にサービス提供サーバ10に送る(S52)。第2の認証処理例において、サービス提供サーバ10は、クライアント端末のIDトークンを有していないからである。
The
サービス提供サーバ10は、受け取ったIDトークンと、あらかじめ記憶しているアプリケーションに関する秘密情報とを照合して、IDトークンの妥当性を検証する(S54)。検証の結果が妥当である場合、サービス提供サーバ10は、ブラウザ処理部54に対して、アクセストークンを送る(S56)。さらに、ブラウザ処理部54は、端末制御部56にアクセストークンを送る(S58)。以上により、サービス提供サーバ10との間でのセッションも確立し、クライアント端末は、アクセストークンを用いてアプリケーションを実行することが可能となる。
The
図6は、図1の認証システム100における第3の認証処理例を示すシーケンス図である。第3の認証処理例は、認証サーバ20およびサービス提供サーバ10の双方において、クライアント端末との間でセッションが確立していない場合である。本ケースは、最初にアプリケーションを立ち上げるような場合が想定される。
FIG. 6 is a sequence diagram illustrating a third authentication processing example in the
第3の認証処理例においては、端末制御部56は、ユーザがログインを実行する対象のアプリケーション内のSDKを指すものとする。また、ブラウザ処理部54は、3つのブラウザのうち、隠し埋め込みブラウザと埋め込みブラウザの2つを処理するものとする。図6においては、隠し埋め込みブラウザを第1ブラウザとして、埋め込みブラウザを第2ブラウザとして図示する。
In the third authentication processing example, it is assumed that the
本シーケンスは、ユーザがユーザインタフェース60を介してアプリケーションを実行したことを契機として開始されてもよい。なお、図5のS44に至るまでの処理については、第2の認証処理例と同一であるため図示および説明を省略し、ここではS44の処理から説明するものとする。
This sequence may be started when the user executes the application via the
S44において、認証サーバ20は、このクライアント端末との間ですでにセッションが確立しているかどうかについて判定する(S44)。ここでは、セッションが確立されていないので、認証サーバ20は、エラーレスポンスとともに、サービス提供サーバ10を介したログイン処理をさせるためのメッセージを第1ブラウザに通知する(S70)。
In S44, the
第1ブラウザは、端末制御部56に対して、ログイン処理を開始させるためのメッセージを通知し(S72)、以後、ブラウザの処理は、画面表示が可能な第2ブラウザに切り替わる。ここで、端末制御部56は、ログイン処理を要求するためのメッセージを第2ブラウザに通知する(S74)。
The first browser notifies the
ここで、第2ブラウザは、ユーザインタフェース60を表示させて(S76)、ユーザからの入力を促す。ユーザからのユーザIDやパスワード等の入力をユーザインタフェース60を介して受け付けると、端末制御部56は、ユーザから入力された情報をクレデンシャルな情報として第2ブラウザに通知する(S78)。第2ブラウザは、端末制御部56から通知された情報を認証サーバ20に対して、通知する(S80)。
Here, the second browser displays the user interface 60 (S76) and prompts input from the user. When receiving an input such as a user ID or a password from the user via the
認証サーバ20は、あらかじめ記憶しているユーザIDやユーザパスワードを確認して、通知された情報の妥当性を検証する(S82)。妥当であって場合、認証サーバ20は、第2ブラウザに対して、ワンタイムチケットであるcodeと共に、認証が確認された旨のメッセージを通知する(S84)。
The
第2ブラウザは、サービス提供サーバ10に対して、認証が確認された旨のメッセージをワンタイムチケットであるcodeと共に通知する(S86)。ここで、サービス提供サーバ10は、認証サーバ20に対して、当該クライアント端末のためにアクセストークンを要求するためのメッセージをcodeと共に通知する(S50)。
The second browser notifies the
ここで、認証サーバ20は、サービス提供サーバ10に対して、当該クライアント端末のためにアクセストークンを要求するためのメッセージをcodeと、IDトークンとを通知する(S52)。
Here, the
サービス提供サーバ10は、受け取ったIDトークンと、あらかじめ記憶しているアプリケーションについての秘密情報とを照合して、IDトークンの妥当性を検証する(S54)。検証の結果が妥当である場合、サービス提供サーバ10は、第2ブラウザに対して、アクセストークンを送る(S88)。さらに、第2ブラウザは、端末制御部56にアクセストークンを送る(S90)。以上により、サービス提供サーバ10と認証サーバ20の双方でのセッションが確立し、クライアント端末は、アクセストークンを用いてアプリケーションを実行することが可能となる。
The
図7は、図1の認証システム100における第4の認証処理例を示すシーケンス図である。第4の認証処理例は、アプリケーションにおいて、認証サーバ20およびサービス提供サーバ10の双方において、クライアント端末との間でセッションが確立していない場合である。また、アプリケーションの外部のブラウザとして機能する外部ブラウザにおいては、セッションが確立しているものとする。本ケースは、外部ブラウザを用いてログイン処理が完了した後に、アプリケーションを立ち上げるような場合が想定される。
FIG. 7 is a sequence diagram illustrating a fourth authentication processing example in the
第4の認証処理例においては、端末制御部56は、ユーザがログインを実行する対象のアプリケーション内のSDKを指すものとする。また、ブラウザ処理部54は、3つのブラウザのうち、隠し埋め込みブラウザと埋め込みブラウザ、および、外部ブラウザの3つを処理するものとする。図6においては、隠し埋め込みブラウザを第1ブラウザとして、埋め込みブラウザを第2ブラウザとして、外部ブラウザを特定ブラウザとして図示する。なお、特定ブラウザは、アプリケーションの外部において動作するブラウザである。
In the fourth authentication processing example, it is assumed that the
本シーケンスは、ユーザがユーザインタフェース60を介してアプリケーションを実行したことを契機として開始されてもよい。なお、図5のS76に至るまでの処理については、第3の認証処理例と同一であるため図示および説明を省略し、ここではS76の処理から説明するものとする。
This sequence may be started when the user executes the application via the
ここで、第2ブラウザは、ユーザインタフェース60を表示させて(S76)、ユーザからの入力を促す。ユーザから特定ブラウザを用いたログイン要求をユーザインタフェース60を介して受け付けると、端末制御部56は、その情報を特定ブラウザに通知する(S110)。特定ブラウザは、サービス提供サーバ10に対して、外部ブラウザを用いてのSSO処理を要求するためのメッセージを通知する(S112)。
Here, the second browser displays the user interface 60 (S76) and prompts input from the user. When a login request using a specific browser is received from the user via the
サービス提供サーバ10は、特定ブラウザに対して、認証要求に関するメッセージを通知する(S114)。ついで、特定ブラウザは、認証サーバ20に対して認証要求に関するメッセージを通知する(S116)。
The
ここで、認証サーバ20は、外部ブラウザとのセッション情報を検証して(S118)、ワンタイムチケットであるcodeとIDトークンとを付した認証が確認された旨のメッセージを通知する(S120)。
Here, the
特定ブラウザは、サービス提供サーバ10に対して、IDトークンと共に認証が確認された旨のメッセージを通知する(S122)。サービス提供サーバ10は、このIDトークンを検証して(S124)、認証が確認された旨のメッセージを特定ブラウザに通知する(S126)。
The specific browser notifies the
さらに、特定ブラウザは、端末制御部56に対して、認証サーバ20から取得したcodeと共に、アプリケーションでのセッション処理を完了させるためのメッセージを通知する(S128)。これを受けて、端末制御部56は、codeと共に第1ブラウザに通知する(S130)。ここでは、ユーザから入力を受け付ける必要がないため、処理の高速化やユーザの利便性を考慮して、第2ブラウザではなく、第1ブラウザに通知することとしている。
Further, the specific browser notifies the
第1ブラウザは、サービス提供サーバ10に対して、codeが付されたメッセージを通知する(S132)。ここで、サービス提供サーバ10は、認証サーバ20に対して、当該クライアント端末のためにアクセストークンを要求するためのメッセージをcodeと共に通知する(S50)。
The first browser notifies the
ここで、認証サーバ20は、サービス提供サーバ10に対して、当該クライアント端末のためにアクセストークンを要求するためのメッセージと、codeと、IDトークンとを通知する(S52)。
Here, the
サービス提供サーバ10は、受け取ったIDトークンと、あらかじめ記憶しているクライアント端末についての秘密情報とを照合して、IDトークンの妥当性を検証する(S54)。検証の結果が妥当である場合、サービス提供サーバ10は、第1ブラウザに対して、アクセストークンを送る(S56)。さらに、第1ブラウザは、端末制御部56にアクセストークンを送る(S58)。以上により、サービス提供サーバ10と認証サーバ20の双方とのセッションも確立し、クライアント端末は、アクセストークンを用いてアプリケーションを実行することが可能となる。
The
いずれかにセッションが確立しているような場合には、いずれかが有しているセッション情報を互いに補完しあうことによって、効率的に、セッションを確立させることができる。 In the case where a session is established in any one of them, the session information can be established efficiently by complementing the session information held in any one of them.
以上のような態様によると、クライアント端末からの認証要求を受けたサービス提供サーバ10と認証サーバ20とが共に連携して、それぞれのサーバにあらかじめ記憶された当該クライアント端末に関する認証情報に基づいて認証処理を実行することによって、サービス提供サーバ10と認証サーバ20とで認証処理を完結できるので、よりセキュアな認証処理が実現できる。
According to the above aspect, the
また、クライアント端末に関連づけて発行したワンタイムチケットを用いて認証処理を実施することによって、セキュアに認証処理を実施できる。また、ワンタイムチケットをクライアント端末に渡し、サービス提供サーバ10経由で認証サーバ20に戻すことによって、クライアント端末内にアプリケーションの秘密情報を保持させることがなく、サービス提供サーバ10と認証サーバ20とで認証処理を完結できるので、よりセキュアな認証処理が実現できる。
Further, the authentication process can be performed securely by executing the authentication process using a one-time ticket issued in association with the client terminal. Further, by passing the one-time ticket to the client terminal and returning it to the
また、認証要求元のクライアント端末のIDトークンの認証確認が成功した場合、あるいは、そのクライアント端末において起動されているアプリケーションからのログイン処理を確認した場合に、セッションが確立していると判定することによって、セキュアなSSO処理を効率的に実行することができる。 Also, when authentication confirmation of the ID token of the client terminal that is the authentication request source is successful, or when login processing from an application running on the client terminal is confirmed, it is determined that a session is established Thus, secure SSO processing can be executed efficiently.
また、認証要求元のクライアント端末において起動されているアプリケーションとサービス提供サーバ10との間にセッションが確立されている場合、当該サービス提供サーバ10は、そのクライアント端末に対して、IDトークンを含めたセッション情報を発行し、認証サーバ20は、そのクライアント端末を介して得たIDトークンを検証することによって、セッションが確立されているか否かを検証することによって、セキュアなSSO処理を効率的に実行することができる。
When a session is established between the application running on the authentication request source client terminal and the
また、認証要求元のクライアント端末において起動されているアプリケーションと前記認証サーバ20との間にセッションが確立されていない場合、当該クライアント端末は、ユーザ情報を認証サーバ20に送り、認証サーバ20は、受信したユーザ情報を検証後、アクセストークンと共に、IDトークンも発行して、サービス提供サーバ10に送信し、サービス提供サーバ10は、取得したIDトークンを検証して、セッションを確立することによって、セキュアなSSO処理を効率的に実行することができる。
Further, when a session is not established between the
また、まず第1ブラウザによりサービス提供サーバ10との間で認証処理を実施した後に、認証要求元のクライアント端末において起動されているアプリケーションとサービス提供サーバ10との間にセッションが確立されていない場合であって、かつ、ユーザに対してユーザ情報を入力させる場合には、ユーザ情報を受け付けるために第2ブラウザを起動して、第2ブラウザとサービス提供サーバ10との間での認証処理に切り替えることによって、ユーザに認証処理が実施されていることを意識させることなく、セキュアなSSO処理をよりスムーズに実行することができる。
In addition, when authentication processing is first performed with the
また、認証要求元のクライアント端末において起動されているアプリケーションと認証サーバ20との間でセッションが確立されていない場合であっても、そのクライアント端末の特定ブラウザと認証サーバ20との間でセッションが確立されている場合においては、第2ブラウザの代わりに、特定ブラウザを起動して、特定ブラウザとサービス提供サーバ10間での処理に切り替えることによって、セキュアなSSO処理を効率的に実行することができる。
In addition, even if a session is not established between the
また、サービス提供サーバ10が、クライアント端末の秘密情報を管理し、かつ、サービス提供サーバ10と、アプリケーションを記憶するクライアント端末との連携の際のブラウザ同定のためのセッション管理をサービス提供サーバ10上で行うことで、より強固なセキュリティが担保される。
Further, the
具体的には、認証トランザクション中にアプリケーション連携を挟む場合に連携前と後の埋め込みブラウザの同定の為の Cookie管理をプラットフォームが保証する事が可能になる。認証サーバ20との通信時に用いるクライアント端末の秘密情報をインストール型アプリケーションに保存する必要が無い。そのため、認証チケット置換攻撃などの不正行為が簡単には成立せず、強化なセキュリティを実現することができる。
Specifically, when application cooperation is sandwiched during an authentication transaction, the platform can guarantee cookie management for identifying embedded browsers before and after cooperation. There is no need to store the secret information of the client terminal used in communication with the
以上、本発明を実施例をもとに説明した。本発明は上述した実施例並びに各実施例の内容に限定されるものではなく、本発明の要旨の範囲内において種々に変形して実施をすることが可能である。上記実施例は例示であり、それらの各構成要素や各処理プロセスの組み合わせにいろいろな変形例が可能なこと、またそうした変形例も本発明の範囲にあることは当業者に理解されるところである。 In the above, this invention was demonstrated based on the Example. The present invention is not limited to the above-described embodiments and the contents of each embodiment, and various modifications can be made within the scope of the gist of the present invention. Those skilled in the art will understand that the above-described embodiments are exemplifications, and that various modifications can be made to combinations of the respective constituent elements and processing processes, and such modifications are also within the scope of the present invention. .
10 サービス提供サーバ、12 サーバ通信部、14 認証処理部、16 サーバメモリ、20 認証サーバ、30 ネットワーク、40 基地局、40a 第1基地局、40b 第2基地局、40c 第3基地局、50 モバイル端末、50a 第1モバイル端末、50b 第2モバイル端末、50c 第3モバイル端末、52 端末通信部、54 ブラウザ処理部、56 端末制御部、58 端末メモリ、60 ユーザインタフェース、70 PC端末、100 認証システム。
10 service providing server, 12 server communication unit, 14 authentication processing unit, 16 server memory, 20 authentication server, 30 network, 40 base station, 40a first base station, 40b second base station, 40c third base station, 50
Claims (4)
前記認証サーバと、前記クライアント端末における少なくとも1つの対象アプリケーションとの間にセッションが確立されている場合、
前記サービス提供サーバは、前記クライアント端末からの認証要求を受けて、認証を確認することを要求する認証要求情報を前記クライアント端末に送信し、
前記クライアント端末は、前記サービス提供サーバからの認証要求情報を受けて、認証を確認することを要求する認証要求情報を前記認証サーバに送信し、
前記認証サーバは、前記クライアント端末からの認証要求情報を受けて、前記クライアント端末が前記認証サーバにて認証されていることを示すワンタイムチケットであるチケット情報を前記クライアント端末に送信し、
前記クライアント端末は、前記認証サーバからのチケット情報を受けて、当該チケット情報を前記サービス提供サーバに送信し、
前記サービス提供サーバは、前記クライアント端末からのチケット情報を受けて、当該チケット情報と共にアクセスの許可を求めるアクセス要求を前記認証サーバに送信し、
前記認証サーバは、前記サービス提供サーバからチケット情報及びアクセス要求を受けて、当該チケット情報が前記認証サーバにて発行されたものであれば、アクセスを許可するアクセストークンと前記対象アプリケーションを特定するIDトークンとを前記サービス提供サーバに送信し、
前記サービス提供サーバは、前記認証サーバからアクセストークンとIDトークンとを受けて、前記IDトークンと予め記憶されているアプリケーションに関する秘密情報との照合が妥当であれば当該アクセストークンを前記クライアント端末に送信する、
ことを特徴とする認証方法。 A client terminal that stores one or more applications, a service providing server that connects to the client terminal via a network, provides a service to the client terminal, and connects to the client terminal and the service providing server; In an authentication method in a system including an authentication server to be executed,
When a session is established between the authentication server and at least one target application in the client terminal,
The service providing server receives an authentication request from the client terminal, and transmits authentication request information for requesting confirmation of authentication to the client terminal.
The client terminal receives authentication request information from the service providing server, and transmits authentication request information for requesting confirmation of authentication to the authentication server,
The authentication server receives authentication request information from the client terminal and transmits ticket information that is a one-time ticket indicating that the client terminal is authenticated by the authentication server to the client terminal;
The client terminal receives ticket information from the authentication server and transmits the ticket information to the service providing server,
The service providing server receives ticket information from the client terminal and sends an access request for permission of access together with the ticket information to the authentication server,
The authentication server receives ticket information and an access request from the service providing server, and if the ticket information is issued by the authentication server, an access token that permits access and an ID that identifies the target application Token to the service providing server,
The service providing server receives the access token and the ID token from the authentication server, and transmits the access token to the client terminal if the verification of the ID token and the secret information relating to the application stored in advance is appropriate. To
An authentication method characterized by that.
前記認証サーバと、前記クライアント端末における少なくとも1つの対象アプリケーションとの間にセッションが確立されている場合、
前記サービス提供サーバは、前記クライアント端末からの認証要求を受けて、認証を確認することを要求する認証要求情報を前記クライアント端末に送信し、
前記クライアント端末は、前記サービス提供サーバからの認証要求情報を受けて、認証を確認することを要求する認証要求情報を前記認証サーバに送信し、
前記認証サーバは、前記クライアント端末からの認証要求情報を受けて、前記クライアント端末が前記認証サーバにて認証されていることを示すワンタイムチケットであるチケット情報を前記クライアント端末に送信し、
前記クライアント端末は、前記認証サーバからのチケット情報を受けて、当該チケット情報を前記サービス提供サーバに送信し、
前記サービス提供サーバは、前記クライアント端末からのチケット情報を受けて、当該チケット情報と共にアクセスの許可を求めるアクセス要求を前記認証サーバに送信し、
前記認証サーバは、前記サービス提供サーバからチケット情報及びアクセス要求を受けて、当該チケット情報が前記認証サーバにて発行されたものであれば、アクセスを許可するアクセストークンと前記対象アプリケーションを特定するIDトークンとを前記サービス提供サーバに送信し、
前記サービス提供サーバは、前記認証サーバからアクセストークンとIDトークンとを受けて、前記IDトークンと予め記憶されているアプリケーションに関する秘密情報との照合が妥当であれば当該アクセストークンを前記クライアント端末に送信する、
ことを特徴とする認証システム。 A client terminal that stores one or more applications, a service providing server that connects to the client terminal via a network, provides a service to the client terminal, and connects to the client terminal and the service providing server; An authentication system including an authentication server to execute,
When a session is established between the authentication server and at least one target application in the client terminal,
The service providing server receives an authentication request from the client terminal, and transmits authentication request information for requesting confirmation of authentication to the client terminal.
The client terminal receives authentication request information from the service providing server, and transmits authentication request information for requesting confirmation of authentication to the authentication server,
The authentication server receives authentication request information from the client terminal and transmits ticket information that is a one-time ticket indicating that the client terminal is authenticated by the authentication server to the client terminal;
The client terminal receives ticket information from the authentication server and transmits the ticket information to the service providing server,
The service providing server receives ticket information from the client terminal and sends an access request for permission of access together with the ticket information to the authentication server,
The authentication server receives ticket information and an access request from the service providing server, and if the ticket information is issued by the authentication server, an access token that permits access and an ID that identifies the target application Token to the service providing server,
The service providing server receives the access token and the ID token from the authentication server, and transmits the access token to the client terminal if the verification of the ID token and the secret information relating to the application stored in advance is appropriate. To
An authentication system characterized by that.
前記認証サーバと、前記クライアント端末における少なくとも1つの対象アプリケーションとの間にセッションが確立されている場合、
前記クライアント端末からの認証要求を受けて、認証を確認することを要求する認証要求情報を前記クライアント端末に送信し、
前記クライアント端末を介して前記認証要求情報を受けた前記認証サーバにおいてクライアント端末が認証されている場合に、それを示すワンタイムチケットであるチケット情報を前記クライアント端末を介して前記認証サーバから受信し、
前記クライアント端末からのチケット情報を受けて、当該チケット情報と共にアクセスの許可を求めるアクセス要求を前記認証サーバに送信し、
前記認証サーバにおいて当該チケット情報が発行されたものである場合に、アクセスを許可するアクセストークンと前記対象アプリケーションを特定するIDトークンと前記認証サーバから受信し、
前記IDトークンと予め記憶されているアプリケーションに関する秘密情報との照合が妥当であれば当該アクセストークンを前記クライアント端末に送信する、
ことを特徴とするサービス提供サーバ。 A client terminal that stores one or more applications, a service providing server that connects to the client terminal via a network, provides a service to the client terminal, and connects to the client terminal and the service providing server; A service providing server in an authentication system including an authentication server to be executed,
When a session is established between the authentication server and at least one target application in the client terminal,
In response to an authentication request from the client terminal, sends authentication request information requesting confirmation of authentication to the client terminal,
When a client terminal is authenticated in the authentication server that has received the authentication request information via the client terminal, ticket information that is a one-time ticket indicating the authentication is received from the authentication server via the client terminal. ,
Receiving ticket information from the client terminal, and sending an access request for permission of access together with the ticket information to the authentication server;
When the ticket information is issued in the authentication server, an access token that permits access, an ID token that identifies the target application, and the authentication server are received,
If the verification of the ID token and secret information related to the application stored in advance is valid, the access token is transmitted to the client terminal.
A service providing server characterized by that.
前記認証サーバと、前記クライアント端末における少なくとも1つの対象アプリケーションとの間にセッションが確立されている場合、
前記クライアント端末からの認証要求を受けた前記サービス提供サーバから送信された認証要求情報を前記クライアント端末を介して受信し、
前記クライアント端末が前記認証サーバにて認証されている場合に、そのことを示すワンタイムチケットであるチケット情報を前記クライアント端末に送信し、
前記サービス提供サーバを介して前記クライアント端末から前記チケット情報と共にアクセスと共にアクセスの許可を求めるアクセス要求を受信し、
当該チケット情報が前記認証サーバにて発行されたものであれば、アクセスを許可するアクセストークンと前記対象アプリケーションを特定するIDトークンとを前記サービス提供サーバに送信する、
ことを特徴とする認証サーバ。
A client terminal that stores one or more applications, a service providing server that connects to the client terminal via a network, provides a service to the client terminal, and connects to the client terminal and the service providing server; An authentication server in an authentication system including:
When a session is established between the authentication server and at least one target application in the client terminal,
The authentication request information transmitted from the service providing server that has received the authentication request from the client terminal is received via the client terminal,
When the client terminal is authenticated by the authentication server , the ticket information that is a one-time ticket indicating that is transmitted to the client terminal,
Receiving an access request for access permission together with the ticket information from the client terminal via the service providing server;
If the ticket information is issued by the authentication server, an access token that permits access and an ID token that identifies the target application are transmitted to the service providing server.
An authentication server characterized by that.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2014221220A JP5727661B2 (en) | 2014-10-30 | 2014-10-30 | Authentication method, authentication system, service providing server, and authentication server |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2014221220A JP5727661B2 (en) | 2014-10-30 | 2014-10-30 | Authentication method, authentication system, service providing server, and authentication server |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2013070301A Division JP5662507B2 (en) | 2013-03-28 | 2013-03-28 | Authentication method, authentication system, and service providing server |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2015053069A JP2015053069A (en) | 2015-03-19 |
JP5727661B2 true JP5727661B2 (en) | 2015-06-03 |
Family
ID=52701995
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2014221220A Active JP5727661B2 (en) | 2014-10-30 | 2014-10-30 | Authentication method, authentication system, service providing server, and authentication server |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP5727661B2 (en) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6059307B1 (en) * | 2015-08-04 | 2017-01-11 | ヤフー株式会社 | Terminal device, information transmission method, and information transmission program |
KR101746745B1 (en) | 2016-01-05 | 2017-06-14 | (주)유비앤티스랩 | User agent, client and method for authorization to support single sing-on |
JP6560281B2 (en) * | 2017-03-10 | 2019-08-14 | 西日本電信電話株式会社 | Web service providing system, web service providing method, web server, authentication server, and computer program |
KR102181600B1 (en) * | 2018-03-30 | 2020-11-23 | 주식회사 코인플러그 | Method for sso service through blockchain, and terminal and server using the same |
EP4037277A4 (en) * | 2019-09-24 | 2022-11-30 | PRIBIT Technology, Inc. | System for authenticating and controlling network access of terminal, and method therefor |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5458888B2 (en) * | 2007-09-25 | 2014-04-02 | 日本電気株式会社 | Certificate generation / distribution system, certificate generation / distribution method, and program |
-
2014
- 2014-10-30 JP JP2014221220A patent/JP5727661B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
JP2015053069A (en) | 2015-03-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5662507B2 (en) | Authentication method, authentication system, and service providing server | |
KR102362456B1 (en) | Authority transfer system, control method therefor, and storage medium | |
US10455025B2 (en) | Multi-factor authentication | |
CN112136303B (en) | Secure delegation of refresh tokens for time-consuming operations | |
US20180295137A1 (en) | Techniques for dynamic authentication in connection within applications and sessions | |
EP3208732A1 (en) | Method and system for authentication | |
WO2017157177A1 (en) | Web site login method and apparatus | |
US9654462B2 (en) | Late binding authentication | |
US20170250974A1 (en) | System and method for service assisted mobile pairing of password-less computer login | |
JP2019501557A (en) | Passwordless authentication for access management | |
US9736130B1 (en) | Communications methods and apparatus related to web initiated sessions | |
WO2019239591A1 (en) | Authentication system, authentication method, application provision device, authentication device, and authentication program | |
US9967260B1 (en) | Enhanced authentication security | |
JP5727661B2 (en) | Authentication method, authentication system, service providing server, and authentication server | |
US20200153814A1 (en) | Method for authentication with identity providers | |
JP2007310512A (en) | Communication system, service providing server, and user authentication server | |
KR101690989B1 (en) | Method of electric signature using fido authentication module | |
JP7186346B2 (en) | Authentication system, authentication device and authentication method | |
CN106161475B (en) | Method and device for realizing user authentication | |
CN113922982A (en) | Login method, electronic device and computer-readable storage medium | |
JP2018028786A (en) | Information processing apparatus, information processing program, information processing method, and information processing system | |
US20240089249A1 (en) | Method and system for verification of identify of a user | |
KR101637155B1 (en) | A system providing trusted identity management service using trust service device and its methods of operation | |
EP2916509A1 (en) | Network authentication method for secure user identity verification | |
JP2021140821A (en) | Screen control device and screen control method |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A975 | Report on accelerated examination |
Free format text: JAPANESE INTERMEDIATE CODE: A971005 Effective date: 20141218 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20150106 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20150303 |
|
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: 20150324 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20150402 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5727661 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
S531 | Written request for registration of change of domicile |
Free format text: JAPANESE INTERMEDIATE CODE: R313531 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |