JP5727661B2 - Authentication method, authentication system, service providing server, and authentication server - Google Patents

Authentication method, authentication system, service providing server, and authentication server Download PDF

Info

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
Application number
JP2014221220A
Other languages
Japanese (ja)
Other versions
JP2015053069A (en
Inventor
山口 徹
徹 山口
康太郎 伊藤
康太郎 伊藤
壮太 水島
壮太 水島
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
DeNA Co Ltd
Original Assignee
DeNA Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by DeNA Co Ltd filed Critical DeNA Co Ltd
Priority to JP2014221220A priority Critical patent/JP5727661B2/en
Publication of JP2015053069A publication Critical patent/JP2015053069A/en
Application granted granted Critical
Publication of JP5727661B2 publication Critical patent/JP5727661B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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).

特開2006−236281号公報JP 2006-236281 A 特開2008−059038号公報JP 2008-059038 A

従来の認証では、認証サーバとアプリケーションサーバ(以下、サービス提供サーバともいう。)とが別々の事業者により運営されることを前提として、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.

実施例1にかかる認証システムの構成例を示す図である。1 is a diagram illustrating a configuration example of an authentication system according to Embodiment 1. FIG. 図1の認証システムにおけるサービス提供サーバの構成例を示す図である。It is a figure which shows the structural example of the service provision server in the authentication system of FIG. 図1の認証システムにおけるモバイル端末あるいはPC端末における構成例 を示す図である。FIG. 2 is a diagram illustrating a configuration example of a mobile terminal or a PC terminal in the authentication system of FIG. 図1の認証システムにおける第1の認証処理例を示すシーケンス図である。It is a sequence diagram which shows the 1st example of an authentication process in the authentication system of FIG. 図1の認証システムにおける第2の認証処理例を示すシーケンス図である。It is a sequence diagram which shows the 2nd example of an authentication process in the authentication system of FIG. 図1の認証システムにおける第3の認証処理例を示すシーケンス図である。It is a sequence diagram which shows the 3rd example of an authentication process in the authentication system of FIG. 図1の認証システムにおける第4の認証処理例を示すシーケンス図である。It is a sequence diagram which shows the 4th example of an authentication process in the authentication system of FIG.

本発明の実施例を説明する前に、まず、本発明の概要を述べる。本発明は、インストール型のアプリケーションに対する認証技術であって、クライアント端末の認証処理を認証サーバだけではなくて、サービス提供サーバがアシストする構成をとることによって、認証処理における安全性を高めたものである。   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 authentication system 100 according to the first embodiment of the present invention. The authentication system 100 includes a service providing server 10, an authentication server 20, a network 30 that connects the service providing server 10, the authentication server 20, and the base station 40 with a wired line, and a first base station represented by the base station 40. 40a to 3rd base station 40c, 1st mobile terminal 50a represented by mobile terminal 50-3rd mobile terminal 50c, and PC terminal 70 are included.

なお、図示の都合上、基地局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 mobile terminals 50 are shown, but the number of base stations 40 and mobile terminals 50 may be more than that. The same applies to the PC terminal 70. In addition, the first mobile terminal 50 a to the third mobile terminal 50 c are illustrated as being connected to different base stations 40, but not limited to this, a plurality of mobile terminals 50 are connected to one base station 40. Needless to say, the present invention is applicable.

サービス提供サーバ10は、チャットサービスなどのネットサービスを提供し、また、認証サーバ20と協働して、クライアント端末のログイン処理を効率化するための装置である。サービス提供サーバ10は、ネットワーク30および/または基地局40を介して、認証サーバ20、あるいは、モバイル端末50やPC端末70との間で、認証処理のための通信処理を実行する。なお、以下においては、説明を簡易にするため、単に、「サービス提供サーバ10とモバイル端末40ないしPC端末70との間で通信処理を実行する」などと表現し、ネットワーク30および基地局40を介する点については記載を省略する。また、以下においては、モバイル端末50やPC端末70を総称して、クライアント端末と表現することもある。   The service providing server 10 is a device for providing a net service such as a chat service and for cooperating with the authentication server 20 to improve the log-in process of the client terminal. The service providing server 10 executes communication processing for authentication processing between the authentication server 20 or the mobile terminal 50 and the PC terminal 70 via the network 30 and / or the base station 40. In the following, in order to simplify the description, the network 30 and the base station 40 are simply expressed as “execute communication processing between the service providing server 10 and the mobile terminal 40 or the PC terminal 70”. The description of the points to be interposed is omitted. Hereinafter, the mobile terminal 50 and the PC terminal 70 may be collectively referred to as a client terminal.

クライアント端末は、ユーザの指示によりアプリケーションが起動されるたびに、ブラウザを介してサービス提供サーバ10に認証要求に関する信号を送信する。サービス提供サーバ10は、クライアント端末からの認証要求を受信したら、そのクライアント端末に関するセッション情報(Cookie)を発行し、認証要求に対して該セッション情報を付与して返信する。   The client terminal transmits a signal related to the authentication request to the service providing server 10 via the browser every time the application is started in accordance with a user instruction. When the service providing server 10 receives the authentication request from the client terminal, the service providing server 10 issues session information (Cookie) related to the client terminal, adds the session information to the authentication request, and returns it.

クライアント端末は、セッション情報が付与された認証要求を認証サーバ20に送信する。すると、認証サーバ20は、クライアント端末からの認証要求を受けて、サービス提供サーバ10と連携して、サービス提供サーバに記憶されたセッション確立済の該クライアント端末のアプリケーションの認証情報と、当該認証サーバに記憶されたユーザに関するユーザ情報とに基づいて認証処理を実行する。   The client terminal transmits an authentication request to which the session information is assigned to the authentication server 20. Then, the authentication server 20 receives the authentication request from the client terminal, cooperates with the service providing server 10, and the authentication information of the application of the client terminal already established in the session stored in the service providing server, and the authentication server The authentication process is executed based on the user information related to the user stored in.

ここで、アプリケーションの認証情報とは、アプリケーションに固有の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 service providing server 10. As will be described later, the service providing server 10 manages the use of an application by a user, authenticates login of a user having a legitimate authority, and establishes a session of the application if it is legitimate.

また、ユーザ情報とは、ユーザIDやユーザによって指定されたパスワードを含む。このユーザ情報は、認証サーバ20によって管理される。認証サーバ20は、後述するように、ユーザ端末を介してユーザ情報を取得し、予め記憶しているユーザ情報と照合することで、そのユーザのログインの正当性を判断し、認証する。   The user information includes a user ID and a password designated by the user. This user information is managed by the authentication server 20. As will be described later, the authentication server 20 obtains user information via a user terminal, compares it with user information stored in advance, and judges and authenticates the login of the user.

上述のように、ユーザは、認証サーバ10にログインするときもあれば、サービス提供サーバ20にログインするときもある。本発明においては、一方でのログインが正当であると判断されるような場合、他方のサーバにおいてもその正当性を援用し、ログインを認めるというものである。そのため、認証サーバ10とサービス提供サーバ間において直接、あるいは、ユーザ端末のブラウザを介して、それぞれにおける認証結果を確認しあうこととしている。   As described above, the user may log in to the authentication server 10 or may log in to the service providing server 20. In the present invention, when it is determined that the login on one side is valid, the validity is also applied to the other server and the login is permitted. Therefore, the authentication result in each is confirmed directly between the authentication server 10 and the service providing server or via the browser of the user terminal.

すなわち、認証サーバ10とサービス提供サーバ20とが同一事業者による運営であるため、上記のような認証連携が可能となっている。なお、これにかぎらず、同一でない事業者により運営されているような場合であっても、相当程度の信頼関係を有するような場合であれば、本発明を適用できることは言うまでもない。   That is, since the authentication server 10 and the service providing server 20 are operated by the same company, the above-described authentication cooperation is possible. Needless to say, the present invention can be applied to a case where it is operated by a non-identical business operator and has a considerable degree of trust.

具体的に説明する。認証サーバ20は、クライアント端末からの認証要求に対して、そのクライアント端末において起動されているアプリケーションとのセッションがすでに確立されていると判断したら、そのクライアント端末に関連づけたワンタイムチケットを発行してクライアント端末に送信する。   This will be specifically described. If the authentication server 20 determines that a session with an application running on the client terminal has already been established in response to an authentication request from the client terminal, the authentication server 20 issues a one-time ticket associated with the client terminal. Send to client terminal.

セッションが確立しているとは、ログインされている状態をいう。ログインされている状態とは、その時点より過去において、いずれかのアプリケーションのブラウザ、あるいは、アプリケーション外の認証アシスト用アプリケーション(以下、特定ブラウザともいう。)を介してユーザが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 authentication server 20 to the service providing server 10. In response to this, the service providing server 10 requests the authentication server 20 to issue an access token for establishing a session with the client terminal by transmitting the one-time ticket acquired from the client terminal.

ここで、アクセストークンとは、所定のアプリケーションに対するユーザの実行権限を示し、これをサーバに提示することで、所定のアプリケーションをクライアント端末で実行することができるようになる。また、ワンタイムチケットとは、どのクライアント端末によって要求され、どのサーバによって信任、認証されたかを示す情報が含まれる。また、アクセストークンは暗号化されてもよい。その場合、ブラウザ立ち上げ前において予め復号キーをクライアント端末に渡しておくことで、より強化なセキュリティを実現することができる。   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 service providing server 10 is issued, the authentication server 20 issues an access token related to the one-time ticket and sends it back to the service providing server 10. The service providing server 10 transmits the access token received from the authentication server 20 to the client terminal. Thereby, since the client terminal can acquire the access token, the application can be executed.

なお、認証サーバ20は、認証要求元のクライアント端末のIDトークンの認証確認が成功した場合、あるいは、そのクライアント端末において起動されているアプリケーションからのログイン処理を確認した場合おいて、セッションが確立していると判定してもよい。   The authentication server 20 establishes a session when the authentication confirmation of the ID token of the client terminal that is the authentication request source is successful, or when the login process from the application running on the client terminal is confirmed. It may be determined that

また、認証要求元のクライアント端末において起動されているアプリケーションとサービス提供サーバ10との間にセッションが確立されている場合、当該サービス提供サーバ10は、そのクライアント端末に対して、IDトークンを含めたセッション情報を発行する。認証サーバ20は、そのクライアント端末を介して得たIDトークンを検証することによって、セッションが確立されているか否かを検証してもよい。   When a session is established between the application running on the authentication request source client terminal and the service providing server 10, the service providing server 10 includes an ID token for the client terminal. Issue session information. The authentication server 20 may verify whether or not a session is established by verifying an ID token obtained via the client terminal.

一方、認証要求元のクライアント端末において起動されているアプリケーションと認証サーバ20との間にセッションが確立されていない場合、当該クライアント端末は、ユーザ情報を認証サーバ20に送る。ここで、認証サーバ20は、受信したユーザ情報を検証後、アクセストークンと共に、IDトークンも発行して、サービス提供サーバ10に送信する。サービス提供サーバ10は、取得したIDトークンを検証してセッションを確立し、クライアント端末に対して、アクセストークンを送信してもよい。   On the other hand, when a session is not established between the authentication server 20 and the application activated in the authentication request source client terminal, the client terminal sends user information to the authentication server 20. Here, after verifying the received user information, the authentication server 20 issues an ID token together with the access token and transmits it to the service providing server 10. The service providing server 10 may verify the acquired ID token, establish a session, and transmit an access token to the client terminal.

図2は、図1の認証システム100におけるサービス提供サーバ10の構成例を示す図である。サービス提供サーバ10は、サーバ通信部12と、認証処理部14と、サーバメモリ16とを含む。   FIG. 2 is a diagram illustrating a configuration example of the service providing server 10 in the authentication system 100 of FIG. The service providing server 10 includes a server communication unit 12, an authentication processing unit 14, and a server memory 16.

サーバ通信部12は、クライアント端末や認証サーバ20などからの信号を受信し、所定の復調処理を実施して、認証処理部14に復調された信号を送る。また、認証処理部14から送られた信号に対して所定の変調処理を実施して、ユーザ端末に送信する。なお、サーバ通信部12における変復調処理は、従来用いられている変復調技術が用いられてよく、このような態様であったとしても、本発明を適用することができることは当業者に理解されるところである。   The server communication unit 12 receives a signal from the client terminal or the authentication server 20, performs a predetermined demodulation process, and sends the demodulated signal to the authentication processing unit 14. In addition, a predetermined modulation process is performed on the signal transmitted from the authentication processing unit 14 and transmitted to the user terminal. The modulation / demodulation processing in the server communication unit 12 may use a conventional modulation / demodulation technique, and it will be understood by those skilled in the art that the present invention can be applied even in such a mode. is there.

認証処理部14は、サーバ通信部12を通じて、クライアント端末から認証処理に関する情報を受け取る。認証処理部14は、サーバメモリ16内において、クライアント端末ごとに、セッション情報やユーザID、あるいは、ユーザパスワードなどの秘密情報を管理する。秘密情報は、クライアント端末がサービス提供サーバ10との間で最初に登録処理をする際にクライアント端末より通知されてもよい。これにより、すでにセッションが確立されているクライアント端末から認証要求があった場合、再度のログイン処理を求めることなくIDトークンを発行し、スムーズなSSO処理を実行していく。   The authentication processing unit 14 receives information related to the authentication processing from the client terminal through the server communication unit 12. The authentication processing unit 14 manages secret information such as session information, user ID, or user password in the server memory 16 for each client terminal. The secret information may be notified from the client terminal when the client terminal first performs a registration process with the service providing server 10. As a result, when there is an authentication request from a client terminal for which a session has already been established, an ID token is issued without requiring another login process, and a smooth SSO process is executed.

また、認証処理部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 authentication processing unit 14 checks whether or not a session has already been established in the authentication server 20. By acquiring the ID token from the server 20, smooth SSO processing is executed.

認証サーバ20においてもセッションが確立されていない場合、認証処理部14は、クライアント端末に対して、ユーザIDやパスワードなどの秘密情報を求め、予め登録されている秘密情報と照合することで、ログイン処理を行い、セッションを確立する。   If a session is not established in the authentication server 20, the authentication processing unit 14 also asks the client terminal for secret information such as a user ID and a password, and compares it with the secret information registered in advance. Process and establish a session.

つぎに、クライアント端末側の構成について説明する。図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 mobile terminal 50 or the PC terminal 70 of FIG. Here, for convenience of explanation, the configuration of the mobile terminal 50 will be described, but the PC terminal 70 has the same configuration.

モバイル端末50は、端末通信部52と、ブラウザ制御部54と、端末制御部56と、端末メモリ58と、ユーザインタフェース60とを備える。端末通信部52は、サービス提供サーバ10あるいは認証サーバ20との間で認証処理に関する情報の送受信処理を実行する。   The mobile terminal 50 includes a terminal communication unit 52, a browser control unit 54, a terminal control unit 56, a terminal memory 58, and a user interface 60. The terminal communication unit 52 executes transmission / reception processing of information regarding authentication processing with the service providing server 10 or the authentication server 20.

ブラウザ制御部54は、バックグラウンドで動作する第1ブラウザと、ユーザからのユーザ情報の入力を受け付け可能な第2ブラウザと、アプリケーションの外部のブラウザ機能として動作する特定ブラウザを制御する。第1ブラウザは、隠しブラウザ(Hidden Embeded Browser)とも呼ばれる。第1ブラウザと第2ブラウザは、所定のアプリケーション内部にコンポーネントとして埋め込まれたブラウザ(Embeded Browser)であり、セッション情報が互いに共有できる。すなわち、第1ブラウザと第2ブラウザは、アプリケーションごとに存在するブラウザである。   The browser control unit 54 controls a first browser that operates in the background, a second browser that can accept input of user information from the user, and a specific browser that operates as a browser function outside the application. The first browser is also called a hidden browser (Hidden Embedded Browser). The first browser and the second browser are browsers (embedded browsers) embedded as components in a predetermined application, and session information can be shared with each other. That is, the first browser and the second browser are browsers that exist for each application.

一方、特定ブラウザは、認証をアシストすることができるブラウザである。この特定ブラウザは、アプリケーションの外部の機能として動作するため、アプリケーションに埋め込まれた第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 service providing server 10 interposed between the authentication server 20 and the client terminal, an authentication process is performed to ensure that the user is the same at the start and end in authentication with a specific external browser. Thus, SSO in application cooperation using an external browser was realized.

ブラウザ制御部54は、まず第1ブラウザにより、サービス提供サーバ10との間で認証処理を実施する。第1ブラウザは、ユーザに入力を求めない処理を実施する際に用いられる。これにより、ユーザに動作を意識させることなく、高速で処理が実現できる。そして、ユーザに入力を求めるような場面になったら、ブラウザ制御部54は、第2ブラウザに動作を切り替える。これにより、効率的な処理が可能となる。   The browser control unit 54 first performs an authentication process with the service providing server 10 using the first browser. The first browser is used when performing a process that does not prompt the user for input. Thereby, processing can be realized at high speed without making the user aware of the operation. And when it comes to the scene which requires a user's input, the browser control part 54 switches operation | movement to a 2nd browser. Thereby, efficient processing becomes possible.

たとえば、ブラウザ制御部54は、まず第1ブラウザにより、サービス提供サーバ10との間で認証処理を実施する。ついで、起動されているアプリケーションとサービス提供サーバ10との間にセッションが確立されていない場合であって、かつ、ユーザに対してユーザ情報を入力させる必要が生じたような場合には、ユーザ情報を受け付けるために第2ブラウザを起動して、第2ブラウザとサービス提供サーバ10との間での認証処理に切り替えることとなる。   For example, the browser control unit 54 first performs an authentication process with the service providing server 10 using the first browser. Next, when a session is not established between the activated application and the service providing server 10 and when it is necessary to cause the user to input user information, the user information The second browser is activated to accept the request, and the authentication process is switched between the second browser and the service providing server 10.

認証要求元のクライアント端末において起動されているアプリケーションと認証サーバ20との間でセッションが確立されていない場合であっても、そのクライアント端末の特定ブラウザと認証サーバ20との間でセッションが確立されている場合においては、第2ブラウザの代わりに、特定ブラウザを起動して、特定ブラウザとサービス提供サーバ10間での処理に切り替える   Even if a session is not established between the authentication server 20 and the application running on the authentication request source client terminal, the session is established between the specific browser of the client terminal and the authentication server 20. In such a case, instead of the second browser, the specific browser is activated to switch to the processing between the specific browser and the service providing server 10.

端末制御部56は、ユーザインタフェース60を介してユーザからの指示を受け付けて、端末メモリ58にアクセスしながら、アプリケーションの実行や認証処理を管理する。アプリケーションの実行および認証処理は、アプリケーション毎に実施される。アプリケーションは、アプリケーションの動作を制御する基幹ソフトウェアライブラリであるSDK(SoftwareDevelopmentKit)と、アプリケーション内部に埋め込まれたブラウザとを含む。このうち、端末制御部56は、SDKの制御を実施する。SDKは、サーバの指示に応じてブラウザを立ち上げたるなどの処理を制御する。   The terminal control unit 56 receives instructions from the user via the user interface 60 and manages application execution and authentication processing while accessing the terminal memory 58. Application execution and authentication processing is performed for each application. The application includes SDK (Software Development Kit) that is a basic software library for controlling the operation of the application, and a browser embedded in the application. Among these, the terminal control unit 56 controls the SDK. The SDK controls processing such as starting up a browser in response to an instruction from the server.

また、ユーザインタフェース60は、ユーザへのメッセージやユーザ情報画面、を表示するための画面インタフェースと、キーボードやタッチパネルなどのユーザからの入力を受け付ける入力インタフェースと、カメラなどの画像撮像手段を含む。   The user interface 60 includes a screen interface for displaying a message to the user and a user information screen, an input interface for receiving input from the user such as a keyboard and a touch panel, and an image capturing unit such as a camera.

ユーザインタフェース60は、ユーザからのアプリケーションの実行要求を受け付けて、端末制御部56に伝える。また、ユーザインタフェース60は、必要に応じて、ログイン画面を表示して、ユーザIDやパスワード等の秘密情報、あるいは、特定ブラウザを用いたログイン処理要求に関する入力を受け付け、端末制御部56に伝える。   The user interface 60 receives an application execution request from the user and transmits it to the terminal control unit 56. In addition, the user interface 60 displays a login screen as necessary, receives confidential information such as a user ID and a password, or an input related to a login processing request using a specific browser, and transmits it to the terminal control unit 56.

端末メモリ58は、サービス提供サーバ10からダウンロードしたアプリケーションや、画像撮像手段や他のユーザから受信した画像情報を記憶し、また、氏名と連絡先とが対応付けて記憶された連絡先情報などを記憶する。   The terminal memory 58 stores applications downloaded from the service providing server 10, image information received from image capturing means and other users, and contact information stored in association with names and contacts. Remember.

ここで、認証システム100の基本フローの概略について説明する。   Here, an outline of the basic flow of the authentication system 100 will be described.

サービス提供サーバ10は、認証開始時にアプリケーション内埋め込み型ブラウザに対し、ユーザエージェントの同定の為のCookieを発行し、検証可能なように保存した上で、OS標準外部ブラウザ等の特定ブラウザを起動する。   The service providing server 10 issues a cookie for identifying the user agent to the embedded browser in the application at the start of authentication, saves the cookie so that it can be verified, and then starts a specific browser such as an OS standard external browser. .

特定ブラウザは、サービス提供サーバ10にアクセスした上で、リダイレクトにより認証サーバ20に遷移し、必要であればユーザ認証処理を行う。認証サーバ20によるユーザ認証が済んだ段階でサービス提供サーバ10の戻りURLに対しリダイレクトし、特定ブラウザがサービス提供サーバ10にリクエストする。   The specific browser accesses the service providing server 10 and then transitions to the authentication server 20 by redirection, and performs user authentication processing if necessary. When the user authentication by the authentication server 20 is completed, the return URL of the service providing server 10 is redirected, and the specific browser makes a request to the service providing server 10.

サービス提供サーバ10はユーザの端末のアプリケーションに関するクライアントID等のクライアント秘密情報を予め保持しており、認証サーバ20から受け取るワンタイムチケット(code)及びIDトークンをクライアント端末を介する事無く検証し、それらが妥当であれば、サービス提供サーバ10に対するユーザセッションを発行し、特定ブラウザとサービス提供サーバ10間でログインセッションを確立した上で、ワンタイムチケット(code)をクライアント端末に渡す。   The service providing server 10 holds client secret information such as a client ID related to the application of the user terminal in advance, and verifies the one-time ticket (code) and ID token received from the authentication server 20 without going through the client terminal. Is valid, a user session for the service providing server 10 is issued, a login session is established between the specific browser and the service providing server 10, and a one-time ticket (code) is passed to the client terminal.

このワンタイムチケットを受け取ったクライアント端末は改めて、アプリケーション内埋め込み型ブラウザを起動し、サービス提供サーバ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 service providing server 10. At this time, the service providing server 10 verifies whether or not the user is a valid user agent based on information previously associated with the cookie from the cookie issued at the start of authentication. Using the ticket, the access token for accessing the protected resource from the authentication server 20 and the ID token associated with the one-time ticket are received and verified, and if appropriate, the browser embedded in the application and the service providing server 10 Establish an authentication session between them.

具体的に説明する。ここでは、図1の認証システム100における4つの認証処理の例について、図4〜図7に示す4つのシーケンス図を用いて説明する。   This will be specifically described. Here, an example of four authentication processes in the authentication system 100 of FIG. 1 will be described using the four sequence diagrams shown in FIGS.

図4は、図1の認証システム100における第1の認証処理例を示すシーケンス図である。第1の認証処理例は、サービス提供サーバ10および認証サーバ20の双方において、クライアント端末との間ですでにセッションが確立している場合である。本シーケンスは、ユーザがユーザインタフェース60を介してアプリケーションを実行したことを契機として開始されてもよい。   FIG. 4 is a sequence diagram illustrating a first authentication processing example in the authentication system 100 of FIG. The first authentication processing example is a case where a session has already been established with a client terminal in both the service providing server 10 and the authentication server 20. This sequence may be started when the user executes the application via the user interface 60.

第1の認証処理例においては、端末制御部56は、ログイン処理を実行する対象のアプリケーション内のSDKを指すものとする。また、ブラウザ処理部54は、3つのブラウザのうち、隠しブラウザを処理するものとする。   In the first authentication processing example, the terminal control unit 56 indicates an SDK in an application to be subjected to login processing. In addition, the browser processing unit 54 processes a hidden browser among the three browsers.

まず、端末制御部56は、ブラウザ処理部54に対して、ブラウザを起動させるためのメッセージを通知して、ブラウザを立ち上げさせる(S10)。   First, the terminal control unit 56 notifies the browser processing unit 54 of a message for starting the browser, and starts the browser (S10).

ブラウザ処理部54は、サービス提供サーバ10に対して、ログインを要求するためのメッセージを通知して、SDKサービスへのログインを要求する(S12)。ここで、サービス提供サーバ10は、このクライアント端末との間ですでにセッションが確立しているかどうかを検証する(S14)。   The browser processing unit 54 notifies the service providing server 10 of a message for requesting login, and requests login to the SDK service (S12). Here, the service providing server 10 verifies whether a session has already been established with the client terminal (S14).

ここで、第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 service providing server 10 verifies the authentication request to the browser processing unit 54 as verification OK. The message is notified together with the ID token, and the client terminal is made to perform an authentication request to the authentication server 20 (S16).

ついで、ブラウザ処理部54は、認証サーバ20に対して、サービス提供サーバ10から受け取ったIDトークンと、認証要求を示すものとしてのメッセージを通知する(S18)。   Next, the browser processing unit 54 notifies the authentication server 20 of the ID token received from the service providing server 10 and a message indicating an authentication request (S18).

認証サーバ20は、通知されたIDトークンを検証して、このクライアント端末との間ですでにセッションが確立しているかどうかについて判定する(S20)。第1の認証処理例では、クライアント端末との間ですでにセッションが確立しているので、認証サーバ20は、先の認証要求に対する応答として、ログインが許可された旨のメッセージと、ワンタイムチケットであるcodeをブラウザ処理部54に通知する(S22)。このワンタイムチケットは、時限失効型のチケットであり、所定期間内に、クライアント端末がこのチケットをサービス提供サーバ10経由で認証サーバ20に戻すことによって、アクセス権限が示されたアクセストークンを得ることができるものである。   The authentication server 20 verifies the notified ID token and determines whether a session has already been established with the client terminal (S20). In the first authentication processing example, since a session has already been established with the client terminal, the authentication server 20 sends a message indicating that login is permitted and a one-time ticket as a response to the previous authentication request. Is sent to the browser processing unit 54 (S22). This one-time ticket is a time-expired ticket, and the client terminal returns this ticket to the authentication server 20 via the service providing server 10 within a predetermined period, thereby obtaining an access token indicating the access authority. It is something that can be done.

ブラウザ処理部54は、サービス提供サーバ10に対して、認証サーバ20から送られたログインが許可された旨のメッセージをワンタイムチケットであるcodeと共に通知する(S24)。ここで、サービス提供サーバ10は、認証サーバ20に対して、当該クライアント端末のためにアクセストークンを要求するためのメッセージをcodeと共に通知する(S26)。   The browser processing unit 54 notifies the service providing server 10 of a message indicating that login is permitted sent from the authentication server 20 together with a code that is a one-time ticket (S24). Here, the service providing server 10 notifies the authentication server 20 of a message for requesting an access token for the client terminal together with the code (S26).

認証サーバ20は、通知されたcodeを確認して、自らが当該クライアント端末のために発行したものであることを検証した上で、アクセストークンを発行し、サービス提供サーバ10に送る(S28)。サービス提供サーバ10は、アクセストークンをブラウザ処理部54に送る(S30)。さらに、ブラウザ処理部54は、端末制御部56にアクセストークンを送る(S32)。以上により、クライアント端末は、アクセストークンを得て、アプリケーションを実行することが可能となる。   The authentication server 20 confirms the notified code, verifies that it is issued for the client terminal, issues an access token, and sends it to the service providing server 10 (S28). The service providing server 10 sends the access token to the browser processing unit 54 (S30). Further, the browser processing unit 54 sends an access token to the terminal control unit 56 (S32). As described above, the client terminal can obtain the access token and execute the application.

図5は、図1の認証システム100における第2の認証処理例を示すシーケンス図である。第2の認証処理例は、認証サーバ20においてのみ、クライアント端末との間ですでにセッションが確立していて、サービス提供サーバ10においては確立していない場合である。   FIG. 5 is a sequence diagram illustrating a second authentication processing example in the authentication system 100 of FIG. The second authentication processing example is a case where a session is already established with the client terminal only in the authentication server 20 and not established in the service providing server 10.

第2の認証処理例においては、端末制御部56は、ユーザがログインを実行する対象のアプリケーション内のSDK(SoftwareDevelopmentKit)を指すものとする。また、ブラウザ処理部54は、3つのブラウザのうち、隠しブラウザを処理するものとする。   In the second authentication processing example, the terminal control unit 56 indicates an SDK (Software Development Kit) in an application for which a user performs login. In addition, the browser processing unit 54 processes a hidden browser among the three browsers.

本シーケンスは、ユーザがユーザインタフェース60を介してアプリケーションを実行したことを契機として開始されてもよい。なお、図4のS10、S12の処理については、第1の認証処理例と同一であるため、図示および説明を省略し、S14の処理から説明するものとする。   This sequence may be started when the user executes the application via the user interface 60. Note that the processes in S10 and S12 in FIG. 4 are the same as those in the first authentication process example, and thus illustration and description thereof are omitted, and the process from S14 will be described.

S14において、サービス提供サーバ10は、このクライアント端末との間ですでにセッションが確立しているかどうかを検証する。ところが、第2の認証処理例において、クライアント端末は、サービス提供サーバ10との間でセッションが確立されていない。したがって、このクライアント端末のIDトークンを保持していない状態となる。ここで、サービス提供サーバ10は、ブラウザ処理部54に対して、認証確認のためのメッセージを通知して(S40)、認証サーバ20においてセッションが確立されているかを確認させる。   In S14, the service providing server 10 verifies whether a session has already been established with the client terminal. However, in the second authentication processing example, the client terminal has not established a session with the service providing server 10. Therefore, the client terminal ID token is not held. Here, the service providing server 10 notifies the browser processing unit 54 of an authentication confirmation message (S40), and confirms whether a session is established in the authentication server 20.

ついで、ブラウザ処理部54は、認証サーバ20に対して、認証要求としてのメッセージを通知する(S42)。ここで、認証サーバ20は、このクライアント端末との間ですでにセッションが確立しているかどうかについて判定する(S44)。ここでは、すでにセッションが確立されているので、認証サーバ20は、認証が確認された旨のメッセージと、ワンタイムチケットであるcodeとをブラウザ処理部54に通知する(S46)。   Next, the browser processing unit 54 notifies the authentication server 20 of a message as an authentication request (S42). Here, the authentication server 20 determines whether or not a session has already been established with the client terminal (S44). Here, since the session has already been established, the authentication server 20 notifies the browser processing unit 54 of a message that the authentication has been confirmed and a code that is a one-time ticket (S46).

ブラウザ処理部54は、サービス提供サーバ10に対して、認証が確認された旨のメッセージをワンタイムチケットであるcodeと共に通知する(S48)。ここで、サービス提供サーバ10は、認証サーバ20に対して、当該クライアント端末のためにアクセストークンを要求するためのメッセージをcodeと共に通知する(S50)。   The browser processing unit 54 notifies the service providing server 10 of a message indicating that the authentication has been confirmed together with a code that is a one-time ticket (S48). Here, the service providing server 10 notifies the authentication server 20 of a message for requesting an access token for the client terminal together with the code (S50).

認証サーバ20は、通知されたcodeを確認して、自らが当該クライアント端末のために発行したものであることを検証した上で、アクセストークンを発行し、IDトークンと共にサービス提供サーバ10に送る(S52)。第2の認証処理例において、サービス提供サーバ10は、クライアント端末のIDトークンを有していないからである。   The authentication server 20 confirms the notified code, verifies that it is issued for the client terminal, issues an access token, and sends it to the service providing server 10 together with the ID token ( S52). This is because the service providing server 10 does not have the client terminal ID token in the second authentication processing example.

サービス提供サーバ10は、受け取ったIDトークンと、あらかじめ記憶しているアプリケーションに関する秘密情報とを照合して、IDトークンの妥当性を検証する(S54)。検証の結果が妥当である場合、サービス提供サーバ10は、ブラウザ処理部54に対して、アクセストークンを送る(S56)。さらに、ブラウザ処理部54は、端末制御部56にアクセストークンを送る(S58)。以上により、サービス提供サーバ10との間でのセッションも確立し、クライアント端末は、アクセストークンを用いてアプリケーションを実行することが可能となる。   The service providing server 10 verifies the validity of the ID token by comparing the received ID token with secret information relating to the application stored in advance (S54). If the verification result is valid, the service providing server 10 sends an access token to the browser processing unit 54 (S56). Further, the browser processing unit 54 sends an access token to the terminal control unit 56 (S58). As described above, the session with the service providing server 10 is also established, and the client terminal can execute the application using the access token.

図6は、図1の認証システム100における第3の認証処理例を示すシーケンス図である。第3の認証処理例は、認証サーバ20およびサービス提供サーバ10の双方において、クライアント端末との間でセッションが確立していない場合である。本ケースは、最初にアプリケーションを立ち上げるような場合が想定される。   FIG. 6 is a sequence diagram illustrating a third authentication processing example in the authentication system 100 of FIG. The third authentication processing example is a case where a session is not established with the client terminal in both the authentication server 20 and the service providing server 10. In this case, it is assumed that the application is first launched.

第3の認証処理例においては、端末制御部56は、ユーザがログインを実行する対象のアプリケーション内のSDKを指すものとする。また、ブラウザ処理部54は、3つのブラウザのうち、隠し埋め込みブラウザと埋め込みブラウザの2つを処理するものとする。図6においては、隠し埋め込みブラウザを第1ブラウザとして、埋め込みブラウザを第2ブラウザとして図示する。   In the third authentication processing example, it is assumed that the terminal control unit 56 indicates an SDK in an application for which a user performs login. The browser processing unit 54 processes two of the three browsers, the hidden embedded browser and the embedded browser. In FIG. 6, the hidden embedded browser is illustrated as a first browser and the embedded browser is illustrated as a second browser.

本シーケンスは、ユーザがユーザインタフェース60を介してアプリケーションを実行したことを契機として開始されてもよい。なお、図5のS44に至るまでの処理については、第2の認証処理例と同一であるため図示および説明を省略し、ここではS44の処理から説明するものとする。   This sequence may be started when the user executes the application via the user interface 60. Note that the processing up to S44 in FIG. 5 is the same as that in the second authentication processing example, and therefore illustration and description thereof are omitted. Here, the processing from S44 will be described.

S44において、認証サーバ20は、このクライアント端末との間ですでにセッションが確立しているかどうかについて判定する(S44)。ここでは、セッションが確立されていないので、認証サーバ20は、エラーレスポンスとともに、サービス提供サーバ10を介したログイン処理をさせるためのメッセージを第1ブラウザに通知する(S70)。   In S44, the authentication server 20 determines whether a session has already been established with the client terminal (S44). Here, since the session has not been established, the authentication server 20 notifies the first browser of a message for performing login processing via the service providing server 10 together with an error response (S70).

第1ブラウザは、端末制御部56に対して、ログイン処理を開始させるためのメッセージを通知し(S72)、以後、ブラウザの処理は、画面表示が可能な第2ブラウザに切り替わる。ここで、端末制御部56は、ログイン処理を要求するためのメッセージを第2ブラウザに通知する(S74)。   The first browser notifies the terminal control unit 56 of a message for starting the login process (S72), and thereafter, the browser process is switched to the second browser capable of screen display. Here, the terminal control unit 56 notifies the second browser of a message for requesting login processing (S74).

ここで、第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 user interface 60, the terminal control unit 56 notifies the information input from the user to the second browser as credential information (S78). The second browser notifies the authentication server 20 of the information notified from the terminal control unit 56 (S80).

認証サーバ20は、あらかじめ記憶しているユーザIDやユーザパスワードを確認して、通知された情報の妥当性を検証する(S82)。妥当であって場合、認証サーバ20は、第2ブラウザに対して、ワンタイムチケットであるcodeと共に、認証が確認された旨のメッセージを通知する(S84)。   The authentication server 20 checks the user ID and user password stored in advance and verifies the validity of the notified information (S82). If it is valid, the authentication server 20 notifies the second browser of the message indicating that the authentication has been confirmed, together with the code that is the one-time ticket (S84).

第2ブラウザは、サービス提供サーバ10に対して、認証が確認された旨のメッセージをワンタイムチケットであるcodeと共に通知する(S86)。ここで、サービス提供サーバ10は、認証サーバ20に対して、当該クライアント端末のためにアクセストークンを要求するためのメッセージをcodeと共に通知する(S50)。   The second browser notifies the service providing server 10 of a message that the authentication has been confirmed together with the code that is a one-time ticket (S86). Here, the service providing server 10 notifies the authentication server 20 of a message for requesting an access token for the client terminal together with the code (S50).

ここで、認証サーバ20は、サービス提供サーバ10に対して、当該クライアント端末のためにアクセストークンを要求するためのメッセージをcodeと、IDトークンとを通知する(S52)。   Here, the authentication server 20 notifies the service providing server 10 of a code for requesting an access token for the client terminal and the ID token (S52).

サービス提供サーバ10は、受け取ったIDトークンと、あらかじめ記憶しているアプリケーションについての秘密情報とを照合して、IDトークンの妥当性を検証する(S54)。検証の結果が妥当である場合、サービス提供サーバ10は、第2ブラウザに対して、アクセストークンを送る(S88)。さらに、第2ブラウザは、端末制御部56にアクセストークンを送る(S90)。以上により、サービス提供サーバ10と認証サーバ20の双方でのセッションが確立し、クライアント端末は、アクセストークンを用いてアプリケーションを実行することが可能となる。   The service providing server 10 verifies the validity of the ID token by comparing the received ID token with the secret information about the application stored in advance (S54). If the verification result is valid, the service providing server 10 sends an access token to the second browser (S88). Further, the second browser sends an access token to the terminal control unit 56 (S90). As described above, a session is established between both the service providing server 10 and the authentication server 20, and the client terminal can execute the application using the access token.

図7は、図1の認証システム100における第4の認証処理例を示すシーケンス図である。第4の認証処理例は、アプリケーションにおいて、認証サーバ20およびサービス提供サーバ10の双方において、クライアント端末との間でセッションが確立していない場合である。また、アプリケーションの外部のブラウザとして機能する外部ブラウザにおいては、セッションが確立しているものとする。本ケースは、外部ブラウザを用いてログイン処理が完了した後に、アプリケーションを立ち上げるような場合が想定される。   FIG. 7 is a sequence diagram illustrating a fourth authentication processing example in the authentication system 100 of FIG. The fourth authentication processing example is a case where a session is not established with the client terminal in both the authentication server 20 and the service providing server 10 in the application. In addition, it is assumed that a session is established in an external browser that functions as a browser external to the application. In this case, it is assumed that the application is started after the login process is completed using an external browser.

第4の認証処理例においては、端末制御部56は、ユーザがログインを実行する対象のアプリケーション内のSDKを指すものとする。また、ブラウザ処理部54は、3つのブラウザのうち、隠し埋め込みブラウザと埋め込みブラウザ、および、外部ブラウザの3つを処理するものとする。図6においては、隠し埋め込みブラウザを第1ブラウザとして、埋め込みブラウザを第2ブラウザとして、外部ブラウザを特定ブラウザとして図示する。なお、特定ブラウザは、アプリケーションの外部において動作するブラウザである。   In the fourth authentication processing example, it is assumed that the terminal control unit 56 indicates an SDK in an application for which a user performs login. The browser processing unit 54 processes three of the three browsers: a hidden embedded browser, an embedded browser, and an external browser. In FIG. 6, the hidden embedded browser is illustrated as the first browser, the embedded browser is illustrated as the second browser, and the external browser is illustrated as the specific browser. The specific browser is a browser that operates outside the application.

本シーケンスは、ユーザがユーザインタフェース60を介してアプリケーションを実行したことを契機として開始されてもよい。なお、図5のS76に至るまでの処理については、第3の認証処理例と同一であるため図示および説明を省略し、ここではS76の処理から説明するものとする。   This sequence may be started when the user executes the application via the user interface 60. Since the processing up to S76 in FIG. 5 is the same as the third authentication processing example, illustration and description thereof will be omitted, and the processing from S76 will be described here.

ここで、第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 user interface 60, the terminal control unit 56 notifies the specific browser of the information (S110). The specific browser notifies the service providing server 10 of a message for requesting SSO processing using the external browser (S112).

サービス提供サーバ10は、特定ブラウザに対して、認証要求に関するメッセージを通知する(S114)。ついで、特定ブラウザは、認証サーバ20に対して認証要求に関するメッセージを通知する(S116)。   The service providing server 10 notifies the specific browser of a message related to the authentication request (S114). Next, the specific browser notifies the authentication server 20 of a message related to the authentication request (S116).

ここで、認証サーバ20は、外部ブラウザとのセッション情報を検証して(S118)、ワンタイムチケットであるcodeとIDトークンとを付した認証が確認された旨のメッセージを通知する(S120)。   Here, the authentication server 20 verifies the session information with the external browser (S118), and notifies the message that the authentication with the code and the ID token as a one-time ticket has been confirmed (S120).

特定ブラウザは、サービス提供サーバ10に対して、IDトークンと共に認証が確認された旨のメッセージを通知する(S122)。サービス提供サーバ10は、このIDトークンを検証して(S124)、認証が確認された旨のメッセージを特定ブラウザに通知する(S126)。   The specific browser notifies the service providing server 10 of a message that the authentication has been confirmed together with the ID token (S122). The service providing server 10 verifies the ID token (S124), and notifies the specific browser of a message that the authentication is confirmed (S126).

さらに、特定ブラウザは、端末制御部56に対して、認証サーバ20から取得したcodeと共に、アプリケーションでのセッション処理を完了させるためのメッセージを通知する(S128)。これを受けて、端末制御部56は、codeと共に第1ブラウザに通知する(S130)。ここでは、ユーザから入力を受け付ける必要がないため、処理の高速化やユーザの利便性を考慮して、第2ブラウザではなく、第1ブラウザに通知することとしている。   Further, the specific browser notifies the terminal control unit 56 of a message for completing the session processing in the application together with the code acquired from the authentication server 20 (S128). In response to this, the terminal control unit 56 notifies the first browser together with the code (S130). Here, since it is not necessary to accept input from the user, the first browser is notified instead of the second browser in consideration of speeding up of processing and user convenience.

第1ブラウザは、サービス提供サーバ10に対して、codeが付されたメッセージを通知する(S132)。ここで、サービス提供サーバ10は、認証サーバ20に対して、当該クライアント端末のためにアクセストークンを要求するためのメッセージをcodeと共に通知する(S50)。   The first browser notifies the service providing server 10 of the message with the code (S132). Here, the service providing server 10 notifies the authentication server 20 of a message for requesting an access token for the client terminal together with the code (S50).

ここで、認証サーバ20は、サービス提供サーバ10に対して、当該クライアント端末のためにアクセストークンを要求するためのメッセージと、codeと、IDトークンとを通知する(S52)。   Here, the authentication server 20 notifies the service providing server 10 of a message for requesting an access token for the client terminal, a code, and an ID token (S52).

サービス提供サーバ10は、受け取ったIDトークンと、あらかじめ記憶しているクライアント端末についての秘密情報とを照合して、IDトークンの妥当性を検証する(S54)。検証の結果が妥当である場合、サービス提供サーバ10は、第1ブラウザに対して、アクセストークンを送る(S56)。さらに、第1ブラウザは、端末制御部56にアクセストークンを送る(S58)。以上により、サービス提供サーバ10と認証サーバ20の双方とのセッションも確立し、クライアント端末は、アクセストークンを用いてアプリケーションを実行することが可能となる。   The service providing server 10 verifies the validity of the ID token by comparing the received ID token with the secret information stored in advance regarding the client terminal (S54). If the verification result is valid, the service providing server 10 sends an access token to the first browser (S56). Further, the first browser sends an access token to the terminal control unit 56 (S58). As described above, the session between both the service providing server 10 and the authentication server 20 is also established, and the client terminal can execute the application using the access token.

いずれかにセッションが確立しているような場合には、いずれかが有しているセッション情報を互いに補完しあうことによって、効率的に、セッションを確立させることができる。   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 service providing server 10 and the authentication server 20 that have received the authentication request from the client terminal cooperate with each other, and authentication is performed based on the authentication information about the client terminal stored in advance in each server. By executing the process, the service providing server 10 and the authentication server 20 can complete the authentication process, so that a more secure authentication process can be realized.

また、クライアント端末に関連づけて発行したワンタイムチケットを用いて認証処理を実施することによって、セキュアに認証処理を実施できる。また、ワンタイムチケットをクライアント端末に渡し、サービス提供サーバ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 authentication server 20 via the service providing server 10, the service providing server 10 and the authentication server 20 do not hold the secret information of the application in the client terminal. Since the authentication process can be completed, a more secure authentication process can be realized.

また、認証要求元のクライアント端末の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 service providing server 10, the service providing server 10 includes an ID token for the client terminal. Issuing session information, the authentication server 20 efficiently executes secure SSO processing by verifying whether the session is established by verifying the ID token obtained via the client terminal can do.

また、認証要求元のクライアント端末において起動されているアプリケーションと前記認証サーバ20との間にセッションが確立されていない場合、当該クライアント端末は、ユーザ情報を認証サーバ20に送り、認証サーバ20は、受信したユーザ情報を検証後、アクセストークンと共に、IDトークンも発行して、サービス提供サーバ10に送信し、サービス提供サーバ10は、取得したIDトークンを検証して、セッションを確立することによって、セキュアなSSO処理を効率的に実行することができる。   Further, when a session is not established between the authentication server 20 and the application activated in the authentication request source client terminal, the client terminal sends user information to the authentication server 20, and the authentication server 20 After verifying the received user information, an ID token is also issued together with the access token and transmitted to the service providing server 10, and the service providing server 10 verifies the acquired ID token and establishes a session to thereby secure the session. SSO processing can be executed efficiently.

また、まず第1ブラウザによりサービス提供サーバ10との間で認証処理を実施した後に、認証要求元のクライアント端末において起動されているアプリケーションとサービス提供サーバ10との間にセッションが確立されていない場合であって、かつ、ユーザに対してユーザ情報を入力させる場合には、ユーザ情報を受け付けるために第2ブラウザを起動して、第2ブラウザとサービス提供サーバ10との間での認証処理に切り替えることによって、ユーザに認証処理が実施されていることを意識させることなく、セキュアなSSO処理をよりスムーズに実行することができる。   In addition, when authentication processing is first performed with the service providing server 10 by the first browser, and a session is not established between the application running on the authentication requesting client terminal and the service providing server 10 And when making a user input user information, in order to receive user information, a 2nd browser is started and it switches to the authentication process between a 2nd browser and the service provision server 10. FIG. As a result, the secure SSO process can be executed more smoothly without making the user aware of the fact that the authentication process is being performed.

また、認証要求元のクライアント端末において起動されているアプリケーションと認証サーバ20との間でセッションが確立されていない場合であっても、そのクライアント端末の特定ブラウザと認証サーバ20との間でセッションが確立されている場合においては、第2ブラウザの代わりに、特定ブラウザを起動して、特定ブラウザとサービス提供サーバ10間での処理に切り替えることによって、セキュアなSSO処理を効率的に実行することができる。   In addition, even if a session is not established between the authentication server 20 and the application activated in the authentication request source client terminal, the session is not established between the specific browser of the client terminal and the authentication server 20. If established, the secure SSO process can be efficiently executed by starting the specific browser instead of the second browser and switching to the process between the specific browser and the service providing server 10. it can.

また、サービス提供サーバ10が、クライアント端末の秘密情報を管理し、かつ、サービス提供サーバ10と、アプリケーションを記憶するクライアント端末との連携の際のブラウザ同定のためのセッション管理をサービス提供サーバ10上で行うことで、より強固なセキュリティが担保される。   Further, the service providing server 10 manages the secret information of the client terminal, and performs session management for browser identification when the service providing server 10 and the client terminal storing the application are linked on the service providing server 10. By doing this, stronger security is ensured.

具体的には、認証トランザクション中にアプリケーション連携を挟む場合に連携前と後の埋め込みブラウザの同定の為の 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 authentication server 20 in the install type application. Therefore, fraudulent acts such as authentication ticket replacement attacks are not easily established, and enhanced security can be realized.

以上、本発明を実施例をもとに説明した。本発明は上述した実施例並びに各実施例の内容に限定されるものではなく、本発明の要旨の範囲内において種々に変形して実施をすることが可能である。上記実施例は例示であり、それらの各構成要素や各処理プロセスの組み合わせにいろいろな変形例が可能なこと、またそうした変形例も本発明の範囲にあることは当業者に理解されるところである。   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 mobile Terminal 50a first mobile terminal 50b second mobile terminal 50c third mobile terminal 52 terminal communication unit 54 browser processing unit 56 terminal control unit 58 terminal memory 60 user interface 70 PC terminal 100 authentication system .

Claims (4)

1以上のアプリケーションを記憶するクライアント端末と、前記クライアント端末とネットワークを介して接続し、前記クライアント端末にサービスを提供するサービス提供サーバと、前記クライアント端末及び前記サービス提供サーバと接続し、認証処理を実行する認証サーバと、を含むシステムにおける認証方法において、
前記認証サーバと、前記クライアント端末における少なくとも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以上のアプリケーションを記憶するクライアント端末と、前記クライアント端末とネットワークを介して接続し、前記クライアント端末にサービスを提供するサービス提供サーバと、前記クライアント端末及び前記サービス提供サーバと接続し、認証処理を実行する認証サーバと、を含む認証システムにおいて、
前記認証サーバと、前記クライアント端末における少なくとも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以上のアプリケーションを記憶するクライアント端末と、前記クライアント端末とネットワークを介して接続し、前記クライアント端末にサービスを提供するサービス提供サーバと、前記クライアント端末及び前記サービス提供サーバと接続し、認証処理を実行する認証サーバと、を含む認証システムにおけるサービス提供サーバであって、
前記認証サーバと、前記クライアント端末における少なくとも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以上のアプリケーションを記憶するクライアント端末と、前記クライアント端末とネットワークを介して接続し、前記クライアント端末にサービスを提供するサービス提供サーバと、前記クライアント端末及び前記サービス提供サーバと接続し、認証処理を実行する認証サーバと、を含む認証システムにおける認証サーバであって、
前記認証サーバと、前記クライアント端末における少なくとも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.
JP2014221220A 2014-10-30 2014-10-30 Authentication method, authentication system, service providing server, and authentication server Active JP5727661B2 (en)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

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