WO2024176494A1 - Server system and unauthorized user detection method - Google Patents

Server system and unauthorized user detection method Download PDF

Info

Publication number
WO2024176494A1
WO2024176494A1 PCT/JP2023/030661 JP2023030661W WO2024176494A1 WO 2024176494 A1 WO2024176494 A1 WO 2024176494A1 JP 2023030661 W JP2023030661 W JP 2023030661W WO 2024176494 A1 WO2024176494 A1 WO 2024176494A1
Authority
WO
WIPO (PCT)
Prior art keywords
user
client
server
identifier
response
Prior art date
Application number
PCT/JP2023/030661
Other languages
French (fr)
Japanese (ja)
Inventor
義之 田畑
Original Assignee
株式会社日立製作所
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 株式会社日立製作所 filed Critical 株式会社日立製作所
Publication of WO2024176494A1 publication Critical patent/WO2024176494A1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/31User authentication
    • G06F21/33User authentication using certificates

Definitions

  • the present invention relates to a server system and a method for detecting unauthorized users.
  • the authorization server has a first transmission means for identifying a first authorization server where user information is located upon receiving an authorization request and transmitting an authentication request to the first authorization server, the first authorization server authenticates the user, and transmits an authorization response to the client together with information indicating the first authorization server where the user information is located as a transmission destination, the client identifies the first authorization server by a second identification means based on the authorization response, and transmits a token request to the first authorization server, requesting an authorization token for accessing a resource server, and the first authorization server has an issuing means for issuing an authorization token in response to the token request.”
  • the present invention aims to detect unauthorized users and improve the security of server systems.
  • one representative server system of the present invention comprises a client that accepts access from a user, and a server that receives delegation from the client and processes authentication and/or authorization requests of the user, wherein the server receives the request, obtains an identifier representing the user and stores it in a response to the request, and the client receives the response from the user, obtains an identifier representing the user, and compares the obtained identifier with the identifier stored in the response to determine whether the response has been sent by a valid user.
  • one representative unauthorized user detection method of the present invention is a method for detecting unauthorized users in a server system comprising a client that accepts access from a user and a server that receives delegation from the client and processes authentication and/or authorization requests of the user, characterized in including the steps of the server receiving the request, acquiring an identifier representing the user and storing it in a response to the request, and the client receiving the response from the user, acquiring an identifier representing the user, and comparing the acquired identifier with the identifier stored in the response to determine whether the source of the response is a valid user.
  • the present invention makes it possible to detect unauthorized users and improve the security of a server system. Problems, configurations, and advantages other than those described above will become clear from the description of the embodiment below.
  • FIG. 1 is an explanatory diagram of authentication and authorization processing by the system of the first embodiment. Diagram of blocking unauthorized access System element diagram Overall system configuration Flowchart showing the processing procedure of the authorization server Flowchart showing client processing steps Diagram of data managed by the system Data usage diagram Data management diagram
  • Fig. 1 is an explanatory diagram of basic authentication and authorization processing, and shows a specific example of an authorization code flow for OAuth 2.0 and OIDC Core 1.0.
  • a user accesses a client 120 via a browser 110 of a user terminal.
  • the client 120 is requesting the provision of data stored in a resource server 140.
  • the client 120 delegates user authentication and authorization to the authorization server 130 (1). Specifically, the client 120 redirects the browser 110 to the authorization server 130. As a result, the browser 110 sends an authorization request to the authorization server 130.
  • the authorization server 130 which receives the authorization request, executes authentication and authorization processing (2). Specifically, the authorization server 130 sends to the browser 110 a screen for accepting input of login information (login screen) and a screen for accepting confirmation input (consent screen). The browser 110 displays the login screen and consent screen and accepts input from the user. The browser 110 sends the accepted data to the authorization server 130. The authorization server 130 uses the data received from the browser 110 to authenticate and authorize the user.
  • the authorization server 130 returns the result of authentication and authorization to the client 120 as an authorization response (3). Specifically, the authorization server 130 redirects the client 120 to the browser 110. As a result, the browser 110 sends an authorization response to the client 120.
  • the client 120 sends a token request to the authorization server 130 and receives a token response from the authorization server 130.
  • the client 120 then sends an API (Application Programming Interface) request to the resource server 140.
  • the resource server 140 provides data to the client 120 in the API response.
  • FIG. 2 is an explanatory diagram of the authentication and authorization process by the system of the first embodiment.
  • the browser 110 transmits a client certificate to the authorization server 130 together with the user input data on the login screen and the consent screen.
  • the authorization server 130 stores the hash value of the client certificate in the authorization response.
  • the client 120 receives the authorization response and obtains the hash value of the client certificate from the browser 110.
  • the client 120 compares the client certificate obtained from the browser 110 with the hash value of the client certificate included in the authorization response. If the comparison shows that they are identical, the client 120 determines that the access is from a legitimate user and provides the data of the resource server 140.
  • the system of the first embodiment obtains data related to the client certificate in the authentication and authorization process (2) and the result return process (3), and compares them.
  • the client certificate is an example of an identifier that represents a user.
  • the identifier that represents a user uses data that can be used as a user credential, like a client certificate, and that cannot be obtained by a phishing attack. For example, with a client certificate, even if a user is subjected to a phishing attack and directed to a fake site prepared by an attacker, the attacker cannot steal the client's private key. For this reason, an attacker cannot pose as a legitimate user and present a client certificate to the client or authorization server.
  • the identifier that represents a user may be the identification number of an IC card.
  • FIG. 3 is an explanatory diagram of blocking unauthorized access.
  • An attacker who is an unauthorized user, accesses the client 120 via a browser on the attacker's user terminal.
  • the client 120 delegates user authentication and authorization to the authorization server 130.
  • the client 120 redirects the attacker's browser to the authorization server 130 as the destination.
  • the attacker stops processing at this point and obtains an authorization request.
  • the attacker sends an email with the authorization request set as a hyperlink to the legitimate user.
  • the browser 110 sends an authorization request to the authorization server 130.
  • the authorization server 130 which receives the authorization request, executes authentication and authorization processing. Specifically, the authorization server 130 sends to the browser 110 a screen for accepting input of login information (login screen) and a screen for accepting confirmation input (consent screen). The browser 110 displays the login screen and consent screen, and accepts input from a legitimate user. The browser 110 sends the accepted data to the authorization server 130. The authorization server 130 uses the data received from the browser 110 to authenticate and authorize the user. In other words, this authentication and authorization is performed by the legitimate user.
  • the authorization server 130 returns the result of authentication and authorization to the client 120 as an authorization response. Specifically, the authorization server 130 redirects the client 120 to the browser 110. As a result, the browser 110 sends the authorization response to the client 120. At this point, an attacker, who is an unauthorized user, acts as a man in the middle, stops the process, and unauthorizedly obtains the authorization response.
  • the authorization server 130 stores the hash value of the client certificate acquired from the browser 110 as data in the authorization response. Then, the client 120 acquires the client certificate at the TCP layer when the browser sends the authorization response, and compares the hash value of the client certificate included as data in the authorization response with the client certificate sent at the TCP layer when the authorization response is sent. If an attacker has sent the authorization response, the client certificate cannot be acquired, or the client certificates do not match. For this reason, the client 120 can determine that the access is from an unauthorized user and block the access.
  • Fig. 4 is an explanatory diagram of system elements, taking OAuth 2.0 and OIDC Core 1.0 as examples.
  • the browser is a browser used by a user. The user accesses the client and the authorization server via the browser.
  • the client provides services to the user.
  • the client delegates user authentication to the authorization server.
  • the client also authenticates the user using a token issued by the authorization server. In some cases, the client makes an API call using the token to obtain the user's resources (information) from the resource server.
  • the authorization server authenticates the user, obtains consent if necessary, and issues a token to the client.
  • the resource server holds user resources (information).
  • the resource server publishes the information via an API.
  • the resource server also controls access using tokens issued by the authorization server. Note that the resource server is not essential for this system.
  • the authorization server has a function of acquiring an identifier representing the user and storing it in the authorization response.
  • the client has a function of acquiring an identifier representing the user and comparing it with the identifier stored in the authorization response to determine whether or not the user is a legitimate user.
  • FIG. 5 is a diagram showing the configuration of the entire system.
  • the browser 110 runs on a user's terminal.
  • the client 120 is a computer having a CPU (Central Processing Unit) 121, a memory 122, a storage 123, and a communication interface 124.
  • the CPU 121 reads a predetermined program from the storage 123, loads it into the memory 122, and executes it sequentially to realize various functions of the client 120.
  • the communication interface 124 communicates with the browser 110 and the authorization server 130.
  • the authorization server 130 is a computer having a CPU 131, a memory 132, a storage 133, and a communication interface 134.
  • the CPU 131 reads out a predetermined program from the storage 133, loads it into the memory 132, and executes it sequentially to realize various functions of the authorization server 130.
  • the communication interface 134 communicates with the browser 110 and the client 120.
  • Step S201 The authorization server 130 acquires an identifier ID1 representing the user from a request received when authenticating the user or when obtaining the user's consent. Then, the process proceeds to step S202.
  • Step S202 The authorization server 130 judges whether or not the identifier ID1 representing the user has been acquired. If it has been acquired, the process proceeds to step S203. If it has not been acquired, the process proceeds to step S206.
  • Step S203 The authorization server 130 stores the identifier ID1 representing the user in the authorization response, and then proceeds to step S204.
  • Step S204 The authorization server 130 signs the authorization response, and then the process proceeds to step S205.
  • Step S205 The authorization server 130 sends an authorization response to the client 120 by redirection, and ends the process.
  • Step S206 The authorization server 130 sends an error response to the client 120 by redirection, and ends the process.
  • Step S301 The client 120 acquires an identifier ID2 representing the user from the request received when the authorization response is received, and then proceeds to step S302.
  • Step S302 The client 120 judges whether or not the identifier ID2 representing the user has been acquired. If it has been acquired, the process proceeds to step S303. If it has not been acquired, the process proceeds to step S308.
  • Step S303 The client 120 obtains the identifier ID1 representing the user stored in the authorization response.
  • Step S305 The client 120 performs a process of comparing the identifier ID1 with the identifier ID2 and confirming that they are equal, and then proceeds to step S306.
  • Step S306 The client 120 judges whether the identifier ID1 and the identifier ID2 are equal. If they are equal, the process proceeds to step S307. If they cannot be acquired, the process proceeds to step S308.
  • Step S307 The client 120 determines that the identifier representing the user has been successfully checked, and ends the process. In other words, the client 120 determines that the sender of the authorization response is a valid user, and ends the process.
  • Step S308 The client 120 determines that the check of the identifier representing the user has failed and ends the process. In other words, the client 120 determines that the sender of the authorization response is an unauthorized user and ends the process.
  • FIG. 8 is an explanatory diagram of data managed by the system.
  • the client 120 manages the following data: 1.
  • a signature verification key for verifying the signature of the authentication and authorization result.
  • the authorization server 130 manages the following data: 10. The client's endpoint that the authorization server accesses when sending the result of authentication and authorization to the client 11. An identifier for identifying the client 12. The user's user credentials 13. A signing key for signing the result of authentication and authorization 14. Login screen 15. Consent screen
  • the user or browser 110 manages the following data: 20.
  • User credentials e.g. username and password
  • Identifier representing the user 22.
  • Endpoint for accessing the client
  • FIG. 9 is an explanatory diagram of the use of the data shown in FIG.
  • the browser 110 accesses the client 120 by addressing the endpoint 22 .
  • the client 120 redirects to the authorization server 130 with identifier 2 and endpoint 1 as the destination.
  • the authorization server 130 identifies the client using the identifier 2 and the identifier 11 , and sends a login screen 14 and a consent screen 15 to the browser 110 .
  • the user enters the user credentials 20 and the browser 110 sends the user credentials 20 and an identifier 21 to the authorization server 130 .
  • the authorization server 130 authenticates the user with the user credentials 20 and 12. Then, it stores the identifier 21 in the authentication authorization result (authorization response), signs the authentication authorization result with the signature key 13, and redirects it to the endpoint 10 (client 120).
  • the browser 110 sends the identifier 21 when redirecting the authentication and authorization result to the client 120 .
  • the client 120 verifies the signature of the authentication and authorization result with the signature verification key 3. Then, it verifies that the sent identifier 21 is the same as the identifier 21 in the authentication and authorization result.
  • FIG. 10 is an explanatory diagram of data management.
  • the identifier 21 representing the user is managed by the browser 110 .
  • the client's endpoint 1 to be accessed when sending the result of authentication and authorization, an identifier 2 for identifying the client, and a signature verification key 3 are stored in the memory 122 of the client 120 .
  • the client endpoint 10 to be accessed when sending the authentication and authorization result, an identifier 11 for identifying the client, user credentials 12, signing key 13, login screen 14, and consent screen 15 are stored in memory 132 of the authorization server 130.
  • the disclosed server system comprises a client 120 that accepts access from a user, and an authorization server 130 that receives delegation from the client 120 and processes authentication and/or authorization requests of the user, the server receiving the request, acquiring an identifier representing the user, and storing the identifier in a response to the request, the client 120 receiving the response from the user, acquiring an identifier representing the user, and comparing the acquired identifier with the identifier stored in the response to determine whether the response was sent from the correct user's browser.
  • This makes it possible to detect unauthorized users and improve the security of the server system.
  • the server also performs authentication and authorization of the user, and the client denies access from the source of the response if the comparison results in a mismatch. This makes it possible to block access by unauthorized users who exploit the results of authentication and authorization by legitimate users.
  • the identifier representing the user may be a client certificate. Furthermore, the identifier representing the user may be identification information read by the user's terminal from a predetermined medium.
  • the identifier representing the user is data that can be used as a user credential, such as a client certificate, and cannot be obtained through phishing attacks. For example, if a client certificate is used, even if a user is phished and directed to a fake site prepared by an attacker, the attacker cannot steal the client's private key. Therefore, an attacker cannot pose as a legitimate user and present a client certificate to the client or authorization server.
  • the server also digitally signs a response that stores an identifier representing the user, and the client performs the comparison after verifying the digital signature. This makes it possible to confirm that the identifier stored in the response has not been tampered with, improving security.
  • the system further includes a resource server 140 that holds resource data to be provided to the disclosed user, and the server authorizes access to the resource data. This makes it possible to prevent unauthorized access to resource data.
  • the present invention is not limited to the above-mentioned embodiment, and various modifications are included.
  • the above-mentioned embodiment is described in detail to easily explain the present invention, and is not necessarily limited to the embodiment having all the described configurations.
  • the present invention is not limited to the deletion of the configurations, and it is also possible to replace or add the configurations.
  • the present invention is also applicable to a configuration in which delegation of authentication and authorization is performed in multiple stages.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer And Data Communications (AREA)

Abstract

The present invention addresses the problem of realizing the detection of unauthorized users and improving the security of a server system. The present invention comprises a client 120 that accepts access from a user, and an authorization server 130 serving as a server that receives delegation from the client 120 and processes a request for authenticating and/or approving the user, the server receiving the request, as well as acquiring an identifier that represents the user and storing the identifier in a response to the request, and the client 120 receiving the response from the user, acquiring the identifier that represents the user, and comparing the acquired identifier with the identifier stored in the response to assess whether the sender of the response is a valid user.

Description

サーバシステム及び不正ユーザ検知方法Server system and method for detecting unauthorized users
 本発明は、サーバシステム及び不正ユーザ検知方法に関する。 The present invention relates to a server system and a method for detecting unauthorized users.
 従来、認証や認可の技術として、OAuth 2.0(RFC6749)、OpenID Connect Core 1.0の認可コードフロー、SAMLのSP-initiatedなどが知られている。
 また、複数の認可サーバが存在した際に、適切な認可サーバを選択する技術として、特開2020-53100号公報(特許文献1)に記載の技術がある。この公報には、「認可サーバーは、認可リクエストを受信したことに伴って、ユーザー情報が所在する第一の認可サーバーを特定し、第一の認可サーバーに対して認証要求を送信する第一の送信手段と、第一の認可サーバーはユーザーを認証し、ユーザー情報が所在する第一の認可サーバーを送信先として示す情報とともに認可レスポンスをクライアントに送信する第二の送信手段と、クライアントは認可レスポンスに基づいて、第二の特定手段により前記第一の認可サーバーを特定し、第一の認可サーバーに対して、リソースサーバーにアクセスするための認可トークンを要求するトークン要求を送信する第三の送信手段と、第一の認可サーバーはトークン要求に対して認可トークンを発行する発行手段と、を有する。」という記載がある。
Conventionally, known authentication and authorization technologies include OAuth 2.0 (RFC6749), the authorization code flow of OpenID Connect Core 1.0, and SAML SP-initiated.
Furthermore, a technology for selecting an appropriate authorization server when multiple authorization servers exist is described in JP 2020-53100 A (Patent Document 1). This publication describes that "the authorization server has a first transmission means for identifying a first authorization server where user information is located upon receiving an authorization request and transmitting an authentication request to the first authorization server, the first authorization server authenticates the user, and transmits an authorization response to the client together with information indicating the first authorization server where the user information is located as a transmission destination, the client identifies the first authorization server by a second identification means based on the authorization response, and transmits a token request to the first authorization server, requesting an authorization token for accessing a resource server, and the first authorization server has an issuing means for issuing an authorization token in response to the token request."
特開2020-53100号公報JP 2020-53100 A
 従来の技術では、不正なユーザがクライアントに正規のユーザとしてログインする事態を防ぐことができなかった。OAuthを例に説明すると、認可サーバが認証し、認可(同意)を取得したユーザとは別のユーザ(不正なユーザ)がクライアントにログインできる問題が発生していた。このように、従来の技術では不正アクセスに対するセキュリティが不十分であった。  Conventional technology could not prevent unauthorized users from logging in to a client as a legitimate user. Taking OAuth as an example, there was a problem where a user other than the user who was authenticated and authorized (consented) by the authorization server (an unauthorized user) could log in to a client. As such, conventional technology did not provide sufficient security against unauthorized access.
 そこで、本発明では、不正なユーザの検知を実現し、サーバシステムのセキュリティを向上することを目的とする。 The present invention aims to detect unauthorized users and improve the security of server systems.
 上記目的を達成するために、代表的な本発明のサーバシステムの一つは、ユーザからのアクセスを受け付けるクライアントと、前記クライアントからの委譲を受け、前記ユーザの認証及び/又は認可のリクエストを処理するサーバとを備え、前記サーバは、前記リクエストを受信するとともに、前記ユーザを代表する識別子を取得し、前記リクエストに対するレスポンスに格納し、前記クライアントは、前記ユーザから前記レスポンスを受信するとともに、前記ユーザを代表する識別子を取得し、該取得した識別子と前記レスポンスに格納された識別子とを比較して、前記レスポンスの送信元が正しいユーザであるか否かを判定することを特徴とする。
 また、代表的な本発明の不正ユーザ検知方法の一つは、ユーザからのアクセスを受け付けるクライアントと、前記クライアントからの委譲を受け、前記ユーザの認証及び/又は認可のリクエストを処理するサーバとを備えるサーバシステムの不正ユーザ検知方法であって、前記サーバが、前記リクエストを受信するとともに、前記ユーザを代表する識別子を取得し、前記リクエストに対するレスポンスに格納するステップと、前記クライアントが、前記ユーザから前記レスポンスを受信するとともに、前記ユーザを代表する識別子を取得し、該取得した識別子と前記レスポンスに格納された識別子とを比較して、前記レスポンスの送信元が正しいユーザであるか否かを判定するステップとを含むことを特徴とする。
In order to achieve the above-mentioned objective, one representative server system of the present invention comprises a client that accepts access from a user, and a server that receives delegation from the client and processes authentication and/or authorization requests of the user, wherein the server receives the request, obtains an identifier representing the user and stores it in a response to the request, and the client receives the response from the user, obtains an identifier representing the user, and compares the obtained identifier with the identifier stored in the response to determine whether the response has been sent by a valid user.
Furthermore, one representative unauthorized user detection method of the present invention is a method for detecting unauthorized users in a server system comprising a client that accepts access from a user and a server that receives delegation from the client and processes authentication and/or authorization requests of the user, characterized in including the steps of the server receiving the request, acquiring an identifier representing the user and storing it in a response to the request, and the client receiving the response from the user, acquiring an identifier representing the user, and comparing the acquired identifier with the identifier stored in the response to determine whether the source of the response is a valid user.
 本発明によれば、不正なユーザの検知を実現し、サーバシステムのセキュリティを向上できる。上記した以外の課題、構成及び効果は以下の実施の形態の説明により明らかにされる。 The present invention makes it possible to detect unauthorized users and improve the security of a server system. Problems, configurations, and advantages other than those described above will become clear from the description of the embodiment below.
認証及び認可の基本的な処理の説明図Explanation of basic authentication and authorization processing 実施例1のシステムによる認証及び認可の処理の説明図FIG. 1 is an explanatory diagram of authentication and authorization processing by the system of the first embodiment. 不正なアクセスのブロックについての説明図Diagram of blocking unauthorized access システム要素の説明図System element diagram システム全体の構成図Overall system configuration 認可サーバの処理手順を示すフローチャートFlowchart showing the processing procedure of the authorization server クライアントの処理手順を示すフローチャートFlowchart showing client processing steps システムが管理するデータの説明図Diagram of data managed by the system データの利用の説明図Data usage diagram データの管理の説明図Data management diagram
 以下、実施例を図面を用いて説明する。 The following describes the embodiment with reference to the drawings.
 図1は、認証及び認可の基本的な処理の説明図である。この図1は、OAuth 2.0やOIDC Core 1.0の認可コードフローの具体例である。
 ユーザは、ユーザ端末のブラウザ110を介して、クライアント120にアクセスする。ここでは、クライアント120は、リソースサーバ140に格納されたデータの提供を求めているものとする。
Fig. 1 is an explanatory diagram of basic authentication and authorization processing, and shows a specific example of an authorization code flow for OAuth 2.0 and OIDC Core 1.0.
A user accesses a client 120 via a browser 110 of a user terminal. In this example, it is assumed that the client 120 is requesting the provision of data stored in a resource server 140.
 クライアント120は、ユーザの認証及び認可を認可サーバ130に委譲する(1)。具体的には、クライアント120は、認可サーバ130を宛先としてブラウザ110にリダイレクトさせる。この結果、ブラウザ110は、認可サーバ130に認可リクエストを送ることになる。 The client 120 delegates user authentication and authorization to the authorization server 130 (1). Specifically, the client 120 redirects the browser 110 to the authorization server 130. As a result, the browser 110 sends an authorization request to the authorization server 130.
 認可リクエストを受信した認可サーバ130は、認証及び認可処理を実行する(2)。具体的には、認可サーバ130は、ログイン情報の入力を受け付ける画面(ログイン画面)、確認入力を受け付ける画面(同意画面)をブラウザ110に送信する。ブラウザ110は、ログイン画面及び同意画面を表示し、ユーザによる入力を受け付ける。ブラウザ110は受け付けたデータを認可サーバ130に送信する。認可サーバ130は、ブラウザ110から受信したデータを用いてユーザの認証と認可を行う。 The authorization server 130, which receives the authorization request, executes authentication and authorization processing (2). Specifically, the authorization server 130 sends to the browser 110 a screen for accepting input of login information (login screen) and a screen for accepting confirmation input (consent screen). The browser 110 displays the login screen and consent screen and accepts input from the user. The browser 110 sends the accepted data to the authorization server 130. The authorization server 130 uses the data received from the browser 110 to authenticate and authorize the user.
 認可サーバ130は、認証及び認可の結果を認可レスポンスとしてクライアント120に返却する(3)。具体的には、認可サーバ130は、クライアント120を宛先としてブラウザ110にリダイレクトさせる。この結果、ブラウザ110は、クライアント120に認可レスポンスを送ることになる。 The authorization server 130 returns the result of authentication and authorization to the client 120 as an authorization response (3). Specifically, the authorization server 130 redirects the client 120 to the browser 110. As a result, the browser 110 sends an authorization response to the client 120.
 クライアント120は、認可サーバ130にトークンリクエストを送信し、認可サーバ130からトークンレスポンスを受信する。その後、クライアント120は、リソースサーバ140にAPI(Application Programming Interface)リクエストを送信する。リソースサーバ140は、APIレスポンスでクライアント120にデータを提供する。 The client 120 sends a token request to the authorization server 130 and receives a token response from the authorization server 130. The client 120 then sends an API (Application Programming Interface) request to the resource server 140. The resource server 140 provides data to the client 120 in the API response.
 図1に示した基本的な処理では、認証及び認可処理(2)でログインしたユーザと、結果返却処理(3)で結果を返したユーザとが同一であることを確認できない。そこで、本実施例のシステムでは、ユーザを代表する識別子を取得して、認証及び認可処理(2)と結果返却処理(3)のユーザが同一であるかを判定している。 In the basic process shown in FIG. 1, it is not possible to confirm that the user who logged in in the authentication and authorization process (2) is the same as the user who returned the results in the result return process (3). Therefore, in the system of this embodiment, an identifier representing the user is obtained to determine whether the user in the authentication and authorization process (2) is the same as the user in the result return process (3).
 図2は、実施例1のシステムによる認証及び認可の処理の説明図である。図2の認証及び認可処理(2)では、ブラウザ110は、ログイン画面と同意画面に対するユーザ入力データととともに、クライアント証明書を認可サーバ130に送信する。認可サーバ130は、認可レスポンスにクライアント証明書のハッシュ値を格納する。 FIG. 2 is an explanatory diagram of the authentication and authorization process by the system of the first embodiment. In the authentication and authorization process (2) in FIG. 2, the browser 110 transmits a client certificate to the authorization server 130 together with the user input data on the login screen and the consent screen. The authorization server 130 stores the hash value of the client certificate in the authorization response.
 図2の結果返却処理(3)では、クライアント120は、認可レスポンスを受信するとともに、ブラウザ110からクライアント証明書のハッシュ値を取得する。クライアント120は、ブラウザ110から取得したクライアント証明書と、認可レスポンスに含まれていたクライアント証明書のハッシュ値とを比較する。比較の結果、同一であれば、クライアント120は正当なユーザからのアクセスであると判定し、リソースサーバ140のデータを提供する。 In the result return process (3) in FIG. 2, the client 120 receives the authorization response and obtains the hash value of the client certificate from the browser 110. The client 120 compares the client certificate obtained from the browser 110 with the hash value of the client certificate included in the authorization response. If the comparison shows that they are identical, the client 120 determines that the access is from a legitimate user and provides the data of the resource server 140.
 このように、実施例1のシステムは、認証及び認可処理(2)と結果返却処理(3)でそれぞれクライアント証明書に関するデータを取得し、それらを比較する。クライアント証明書は、ユーザを代表する識別子の一例である。ユーザを代表する識別子は、クライアント証明書のように、ユーザクレデンシャルとして使用でき、かつフィッシング攻撃によって取得できないデータを用いる。例えばクライアント証明書であれば、フィッシング攻撃を受けて攻撃者の準備した偽サイトに誘導されたとしても、攻撃者はクライアントの秘密鍵までは奪うことができない。このため、攻撃者は、正規ユーザになりすましてクライアントや認可サーバにクライアント証明書を提示することはできない。ユーザを代表する識別子は、ICカードの識別番号であってもよい。 In this way, the system of the first embodiment obtains data related to the client certificate in the authentication and authorization process (2) and the result return process (3), and compares them. The client certificate is an example of an identifier that represents a user. The identifier that represents a user uses data that can be used as a user credential, like a client certificate, and that cannot be obtained by a phishing attack. For example, with a client certificate, even if a user is subjected to a phishing attack and directed to a fake site prepared by an attacker, the attacker cannot steal the client's private key. For this reason, an attacker cannot pose as a legitimate user and present a client certificate to the client or authorization server. The identifier that represents a user may be the identification number of an IC card.
 図3は、不正なアクセスのブロックについての説明図である。不正なユーザである攻撃者は、攻撃者のユーザ端末のブラウザを介して、クライアント120にアクセスする。クライアント120は、ユーザの認証及び認可を認可サーバ130に委譲する。具体的には、クライアント120は、認可サーバ130を宛先として攻撃者のブラウザにリダイレクトさせる。攻撃者は、この時点で処理を止め、認可リクエストを取得する。そして、認可リクエストをハイパーリンクにセットした電子メールを正当なユーザに送る。正当なユーザが電子メールを開き、ハイパーリンクをクリックすると、ブラウザ110は認可リクエストを認可サーバ130に送る。 FIG. 3 is an explanatory diagram of blocking unauthorized access. An attacker, who is an unauthorized user, accesses the client 120 via a browser on the attacker's user terminal. The client 120 delegates user authentication and authorization to the authorization server 130. Specifically, the client 120 redirects the attacker's browser to the authorization server 130 as the destination. The attacker stops processing at this point and obtains an authorization request. Then, the attacker sends an email with the authorization request set as a hyperlink to the legitimate user. When the legitimate user opens the email and clicks the hyperlink, the browser 110 sends an authorization request to the authorization server 130.
 認可リクエストを受信した認可サーバ130は、認証及び認可処理を実行する。具体的には、認可サーバ130は、ログイン情報の入力を受け付ける画面(ログイン画面)、確認入力を受け付ける画面(同意画面)をブラウザ110に送信する。ブラウザ110は、ログイン画面及び同意画面を表示し、正当なユーザによる入力を受け付ける。ブラウザ110は受け付けたデータを認可サーバ130に送信する。認可サーバ130は、ブラウザ110から受信したデータを用いてユーザの認証と認可を行う。すなわち、この認証と認可は、正当なユーザによって行われる。 The authorization server 130, which receives the authorization request, executes authentication and authorization processing. Specifically, the authorization server 130 sends to the browser 110 a screen for accepting input of login information (login screen) and a screen for accepting confirmation input (consent screen). The browser 110 displays the login screen and consent screen, and accepts input from a legitimate user. The browser 110 sends the accepted data to the authorization server 130. The authorization server 130 uses the data received from the browser 110 to authenticate and authorize the user. In other words, this authentication and authorization is performed by the legitimate user.
 認可サーバ130は、認証及び認可の結果を認可レスポンスとしてクライアント120に返却する。具体的には、認可サーバ130は、クライアント120を宛先としてブラウザ110にリダイレクトさせる。この結果、ブラウザ110は、クライアント120に認可レスポンスを送る。ここで、不正なユーザである攻撃者が中間者(Man In the Middle)として介在して処理を止め、認可レスポンスを不正に取得する。 The authorization server 130 returns the result of authentication and authorization to the client 120 as an authorization response. Specifically, the authorization server 130 redirects the client 120 to the browser 110. As a result, the browser 110 sends the authorization response to the client 120. At this point, an attacker, who is an unauthorized user, acts as a man in the middle, stops the process, and unauthorizedly obtains the authorization response.
 攻撃者は、不正に取得した認可レスポンスをクライアント120に送信することで、不正なアクセスを試みる。
 図1に示した基本的な処理であれば、クライアント120はユーザが入れ替わったことを検知できず、攻撃者によるアクセスが成功する。
 しかし、図3においては、認可サーバ130は、ブラウザ110から取得したクライアント証明書のハッシュ値を認可レスポンスにデータとして格納している。そして、クライアント120は、ブラウザが認可レスポンスを送るときにTCPレイヤでクライアント証明書を取得し、認可レスポンスにデータとして含まれたクライアント証明書のハッシュ値と、認可レスポンスを送るときにTCPレイヤで送られたクライアント証明書とを比較する。攻撃者が認可レスポンスを送信していれば、クライアント証明書が取得できない、もしくはクライアント証明書が不一致となる。このため、クライアント120は、不正なユーザからのアクセスであると判定し、アクセスをブロックできる。
An attacker attempts unauthorized access by sending a fraudulently obtained authorization response to the client 120.
If the basic process shown in FIG. 1 is performed, the client 120 will not be able to detect that the user has been changed, and the attacker will be able to gain access successfully.
3, however, the authorization server 130 stores the hash value of the client certificate acquired from the browser 110 as data in the authorization response. Then, the client 120 acquires the client certificate at the TCP layer when the browser sends the authorization response, and compares the hash value of the client certificate included as data in the authorization response with the client certificate sent at the TCP layer when the authorization response is sent. If an attacker has sent the authorization response, the client certificate cannot be acquired, or the client certificates do not match. For this reason, the client 120 can determine that the access is from an unauthorized user and block the access.
 図4は、システム要素の説明図である。この図4は、OAuth 2.0やOIDC Core 1.0を例とした説明図を示している。
 ブラウザは、ユーザが使用するブラウザである。ユーザは、ブラウザを介してクライアントや認可サーバにアクセスする。
 クライアントは、ユーザにサービスを提供する。クライアントは、認可サーバにユーザの認証を委譲する。また、クライアントは、認可サーバが発行したトークンを用いてユーザを認証する。場合によってはリソースサーバからユーザのリソース(情報)を取得するために、トークンを用いてAPIコールする。
 認可サーバは、ユーザを認証し、必要に応じてユーザから同意を取得し、クライアントにトークンを発行する。
 リソースサーバは、ユーザのリソース(情報)を保持している。当該情報をリソースサーバはAPIで公開する。また、リソースサーバは、認可サーバが発行したトークンを用いてアクセス制御する。なお、リソースサーバは、本システムに必須ではない。
Fig. 4 is an explanatory diagram of system elements, taking OAuth 2.0 and OIDC Core 1.0 as examples.
The browser is a browser used by a user. The user accesses the client and the authorization server via the browser.
The client provides services to the user. The client delegates user authentication to the authorization server. The client also authenticates the user using a token issued by the authorization server. In some cases, the client makes an API call using the token to obtain the user's resources (information) from the resource server.
The authorization server authenticates the user, obtains consent if necessary, and issues a token to the client.
The resource server holds user resources (information). The resource server publishes the information via an API. The resource server also controls access using tokens issued by the authorization server. Note that the resource server is not essential for this system.
 さらに、本実施例のシステムでは、認可サーバは、ユーザを代表する識別子を取得して、認可レスポンスに格納する機能を有する。また、クライアントは、ユーザを代表する識別子を取得し、認可レスポンスに格納された識別子と比較して、正当なユーザであるか否かを判定する機能を有する。 Furthermore, in the system of this embodiment, the authorization server has a function of acquiring an identifier representing the user and storing it in the authorization response. Also, the client has a function of acquiring an identifier representing the user and comparing it with the identifier stored in the authorization response to determine whether or not the user is a legitimate user.
 図5は、システム全体の構成図である。
 ブラウザ110は、ユーザの端末で動作している。
 クライアント120は、CPU(Central Processing Unit)121、メモリ122、ストレージ123及び通信インタフェース124を有するコンピュータである。具体的には、CPU121は、ストレージ123から所定のプログラムを読み出してメモリ122に展開し、順次実行することで、クライアント120としての各種機能を実現する。また、通信インタフェース124は、ブラウザ110や認可サーバ130との通信を行う。
 認可サーバ130は、CPU131、メモリ132、ストレージ133及び通信インタフェース134を有するコンピュータである。具体的には、CPU131は、ストレージ133から所定のプログラムを読み出してメモリ132に展開し、順次実行することで、認可サーバ130としての各種機能を実現する。また、通信インタフェース134は、ブラウザ110やクライアント120との通信を行う。
FIG. 5 is a diagram showing the configuration of the entire system.
The browser 110 runs on a user's terminal.
The client 120 is a computer having a CPU (Central Processing Unit) 121, a memory 122, a storage 123, and a communication interface 124. Specifically, the CPU 121 reads a predetermined program from the storage 123, loads it into the memory 122, and executes it sequentially to realize various functions of the client 120. In addition, the communication interface 124 communicates with the browser 110 and the authorization server 130.
The authorization server 130 is a computer having a CPU 131, a memory 132, a storage 133, and a communication interface 134. Specifically, the CPU 131 reads out a predetermined program from the storage 133, loads it into the memory 132, and executes it sequentially to realize various functions of the authorization server 130. In addition, the communication interface 134 communicates with the browser 110 and the client 120.
 図6は、認可サーバの処理手順を示すフローチャートである。認可サーバ130は、次のステップS201~S206の処理を順次実行する。
 ステップS201:認可サーバ130は、ユーザ認証時、またはユーザの同意取得時に受け取ったリクエストからユーザを代表する識別子ID1を取得する。その後、ステップS202に進む。
 ステップS202:認可サーバ130は、ユーザを代表する識別子ID1を取得できたか否かを判定する。取得できたならば、ステップS203に進む。取得できなかったならば、ステップS206に進む。
6 is a flowchart showing the processing procedure of the authorization server 130. The authorization server 130 sequentially executes the following steps S201 to S206.
Step S201: The authorization server 130 acquires an identifier ID1 representing the user from a request received when authenticating the user or when obtaining the user's consent. Then, the process proceeds to step S202.
Step S202: The authorization server 130 judges whether or not the identifier ID1 representing the user has been acquired. If it has been acquired, the process proceeds to step S203. If it has not been acquired, the process proceeds to step S206.
 ステップS203:認可サーバ130は、認可レスポンスにユーザを代表する識別子ID1を格納する。その後、ステップS204に進む。
 ステップS204:認可サーバ130は、認可レスポンスに署名する。その後、ステップS205に進む。
 ステップS205:認可サーバ130は、認可レスポンスをリダイレクトでクライアント120に送信し、処理を終了する。
 ステップS206:認可サーバ130は、エラーレスポンスをリダイレクトでクライアント120に送信し、処理を終了する。
Step S203: The authorization server 130 stores the identifier ID1 representing the user in the authorization response, and then proceeds to step S204.
Step S204: The authorization server 130 signs the authorization response, and then the process proceeds to step S205.
Step S205: The authorization server 130 sends an authorization response to the client 120 by redirection, and ends the process.
Step S206: The authorization server 130 sends an error response to the client 120 by redirection, and ends the process.
 図7は、クライアント120の処理手順を示すフローチャートである。クライアント120は、次のステップS301~S308の処理を順次実行する。
 ステップS301:クライアント120は、認可レスポンス受信時に受け取ったリクエストからユーザを代表する識別子ID2を取得する。その後、ステップS302に進む。
 ステップS302:クライアント120は、ユーザを代表する識別子ID2を取得できたか否かを判定する。取得できたならば、ステップS303に進む。取得できなかったならば、ステップS308に進む。
7 is a flowchart showing the processing procedure of the client 120. The client 120 sequentially executes the following steps S301 to S308.
Step S301: The client 120 acquires an identifier ID2 representing the user from the request received when the authorization response is received, and then proceeds to step S302.
Step S302: The client 120 judges whether or not the identifier ID2 representing the user has been acquired. If it has been acquired, the process proceeds to step S303. If it has not been acquired, the process proceeds to step S308.
 ステップS303:クライアント120は、認可レスポンスに格納されたユーザを代表する識別子ID1を取得する。
 ステップS304:クライアント120は、ユーザを代表する識別子ID1を取得できたか否かを判定する。取得できたならば、ステップS305に進む。取得できなかったならば、ステップS308に進む。
Step S303: The client 120 obtains the identifier ID1 representing the user stored in the authorization response.
Step S304: The client 120 judges whether or not the identifier ID1 representing the user has been acquired. If it has been acquired, the process proceeds to step S305. If it has not been acquired, the process proceeds to step S308.
 ステップS305:クライアント120は、識別子ID1と識別子ID2を比較し、等しいことを確認する処理を行う。その後、ステップS306に進む。
 ステップS306:クライアント120は、クライアント120は、識別子ID1と識別子ID2が等しいか否かを判定する。等しければ、ステップS307に進む。取得できなかったならば、ステップS308に進む。
Step S305: The client 120 performs a process of comparing the identifier ID1 with the identifier ID2 and confirming that they are equal, and then proceeds to step S306.
Step S306: The client 120 judges whether the identifier ID1 and the identifier ID2 are equal. If they are equal, the process proceeds to step S307. If they cannot be acquired, the process proceeds to step S308.
 ステップS307:クライアント120は、ユーザを代表する識別子チェック成功とみなし、処理を終了する。言い換えれば、クライアント120は、認可レスポンスの送信元が正しいユーザであると判定して、処理を終了する。
 ステップS308:クライアント120は、ユーザを代表する識別子チェック失敗とみなし、処理を終了する。言い換えれば、クライアント120は、認可レスポンスの送信元が不正なユーザであると判定して、処理を終了する。
Step S307: The client 120 determines that the identifier representing the user has been successfully checked, and ends the process. In other words, the client 120 determines that the sender of the authorization response is a valid user, and ends the process.
Step S308: The client 120 determines that the check of the identifier representing the user has failed and ends the process. In other words, the client 120 determines that the sender of the authorization response is an unauthorized user and ends the process.
 図8は、システムが管理するデータの説明図である。
 クライアント120は、次のデータを管理する。
  1.クライアントが認可サーバに認証認可を委譲する際にアクセスする認可サーバのエンドポイント
  2.クライアントを識別するための識別子
  3.認証認可結果の署名を検証するための署名検証鍵
FIG. 8 is an explanatory diagram of data managed by the system.
The client 120 manages the following data:
1. The endpoint of the authorization server that the client accesses when delegating authentication and authorization to the authorization server. 2. An identifier for identifying the client. 3. A signature verification key for verifying the signature of the authentication and authorization result.
 認可サーバ130は、次のデータを管理する。
  10.認可サーバがクライアントに認証認可の結果を送付する際にアクセスするクライアントのエンドポイント
  11.クライアントを識別するための識別子
  12.ユーザのユーザクレデンシャル
  13.認証認可結果に署名するための署名鍵
  14.ログイン画面
  15.同意画面
The authorization server 130 manages the following data:
10. The client's endpoint that the authorization server accesses when sending the result of authentication and authorization to the client 11. An identifier for identifying the client 12. The user's user credentials 13. A signing key for signing the result of authentication and authorization 14. Login screen 15. Consent screen
 ユーザまたはブラウザ110は、次のデータを管理する。
  20.認可サーバで認証するためのユーザクレデンシャル(例:ユーザ名とパスワード)
  21.ユーザを代表する識別子
  22.クライアントへアクセスするためのエンドポイント
The user or browser 110 manages the following data:
20. User credentials (e.g. username and password) to authenticate with the authorization server
21. Identifier representing the user 22. Endpoint for accessing the client
 図9は、図8に示したデータの利用の説明図である。
 ブラウザ110は、エンドポイント22を宛先とすることで、クライアント120にアクセスする。
 クライアント120は、識別子2を付与し、エンドポイント1を宛先とすることで、認可サーバ130にリダイレクトする。
 認可サーバ130は、識別子2と識別子11でクライアントを識別して、ログイン画面14や同意画面15をブラウザ110に送付する。
 ユーザは、ユーザクレデンシャル20を入力し、ブラウザ110はユーザクレデンシャル20と識別子21を認可サーバ130に送付する。
FIG. 9 is an explanatory diagram of the use of the data shown in FIG.
The browser 110 accesses the client 120 by addressing the endpoint 22 .
The client 120 redirects to the authorization server 130 with identifier 2 and endpoint 1 as the destination.
The authorization server 130 identifies the client using the identifier 2 and the identifier 11 , and sends a login screen 14 and a consent screen 15 to the browser 110 .
The user enters the user credentials 20 and the browser 110 sends the user credentials 20 and an identifier 21 to the authorization server 130 .
 認可サーバ130は、ユーザクレデンシャル20とユーザクレデンシャル12でユーザを認証する。そして、識別子21を認証認可結果(認可レスポンス)に格納し、署名鍵13で認証認可結果に署名して、エンドポイント10(クライアント120)にリダイレクトする。
 ブラウザ110は、認証認可結果をクライアント120にリダイレクトする際に、識別子21を送付する。
 クライアント120は、署名検証鍵3で認証認可結果の署名を検証する。そして、送付された識別子21と認証認可結果内の識別子21が同一であることを検証する。
The authorization server 130 authenticates the user with the user credentials 20 and 12. Then, it stores the identifier 21 in the authentication authorization result (authorization response), signs the authentication authorization result with the signature key 13, and redirects it to the endpoint 10 (client 120).
The browser 110 sends the identifier 21 when redirecting the authentication and authorization result to the client 120 .
The client 120 verifies the signature of the authentication and authorization result with the signature verification key 3. Then, it verifies that the sent identifier 21 is the same as the identifier 21 in the authentication and authorization result.
 図10は、データの管理の説明図である。
 ユーザを代表する識別子21は、ブラウザ110に管理される。
 認証認可の結果を送付する際にアクセスするクライアントのエンドポイント1、クライアントを識別するための識別子2、署名検証鍵3は、クライアント120のメモリ122に格納される。
 認証認可の結果を送付する際にアクセスするクライアントのエンドポイント10、クライアントを識別するための識別子11、ユーザクレデンシャル12、署名鍵13、ログイン画面14、同意画面15は、認可サーバ130のメモリ132に格納される。
FIG. 10 is an explanatory diagram of data management.
The identifier 21 representing the user is managed by the browser 110 .
The client's endpoint 1 to be accessed when sending the result of authentication and authorization, an identifier 2 for identifying the client, and a signature verification key 3 are stored in the memory 122 of the client 120 .
The client endpoint 10 to be accessed when sending the authentication and authorization result, an identifier 11 for identifying the client, user credentials 12, signing key 13, login screen 14, and consent screen 15 are stored in memory 132 of the authorization server 130.
 上述してきたように、開示のサーバシステムは、ユーザからのアクセスを受け付けるクライアント120と、前記クライアント120からの委譲を受け、前記ユーザの認証及び/又は認可のリクエストを処理するサーバとしての認可サーバ130とを備え、前記サーバは、前記リクエストを受信するとともに、前記ユーザを代表する識別子を取得し、前記リクエストに対するレスポンスに格納し、前記クライアント120は、前記ユーザから前記レスポンスを受信するとともに、前記ユーザを代表する識別子を取得し、該取得した識別子と前記レスポンスに格納された識別子とを比較して、前記レスポンスの送信元が正しいユーザのブラウザであるか否かを判定する。
 このため、不正なユーザを検知し、サーバシステムのセキュリティを向上できる。
As described above, the disclosed server system comprises a client 120 that accepts access from a user, and an authorization server 130 that receives delegation from the client 120 and processes authentication and/or authorization requests of the user, the server receiving the request, acquiring an identifier representing the user, and storing the identifier in a response to the request, the client 120 receiving the response from the user, acquiring an identifier representing the user, and comparing the acquired identifier with the identifier stored in the response to determine whether the response was sent from the correct user's browser.
This makes it possible to detect unauthorized users and improve the security of the server system.
 また、前記サーバは、前記ユーザの認証及び認可を行い、前記クライアントは、前記比較の結果が不一致である場合に、レスポンスの送信元からのアクセスを拒否する。
 このため、不正なユーザが、正当なユーザによる認証及び認可の結果を悪用して行うアクセスをブロックできる。
The server also performs authentication and authorization of the user, and the client denies access from the source of the response if the comparison results in a mismatch.
This makes it possible to block access by unauthorized users who exploit the results of authentication and authorization by legitimate users.
 前記ユーザを代表する識別子には、クライアント証明書を用いることができる。
 また、前記ユーザを代表する識別子には、ユーザの端末が所定の媒体から読み取った識別情報を用いることができる。
 ユーザを代表する識別子は、クライアント証明書のように、ユーザクレデンシャルとして使用でき、かつフィッシング攻撃によって取得できないデータを用いる。例えばクライアント証明書であれば、フィッシング攻撃を受けて攻撃者の準備した偽サイトに誘導されたとしても、攻撃者はクライアントの秘密鍵までは奪うことができない。このため、攻撃者は、正規ユーザになりすましてクライアントや認可サーバにクライアント証明書を提示することはできない。
The identifier representing the user may be a client certificate.
Furthermore, the identifier representing the user may be identification information read by the user's terminal from a predetermined medium.
The identifier representing the user is data that can be used as a user credential, such as a client certificate, and cannot be obtained through phishing attacks. For example, if a client certificate is used, even if a user is phished and directed to a fake site prepared by an attacker, the attacker cannot steal the client's private key. Therefore, an attacker cannot pose as a legitimate user and present a client certificate to the client or authorization server.
 また、前記サーバは、前記ユーザを代表する識別子を格納したレスポンスに電子署名し、前記クライアントは、前記電子署名を検証した上で前記比較を行う。
 このため、レスポンスに格納された識別子が書き換えられていないことを確認でき、セキュリティが向上する。
The server also digitally signs a response that stores an identifier representing the user, and the client performs the comparison after verifying the digital signature.
This makes it possible to confirm that the identifier stored in the response has not been tampered with, improving security.
 また、開示の前記ユーザに提供するリソースデータを保持するリソースサーバ140をさらに備え、前記サーバは、前記リソースデータに対するアクセスの認可を行う。
 このためリソースデータに対する不正なアクセスを防止できる。
The system further includes a resource server 140 that holds resource data to be provided to the disclosed user, and the server authorizes access to the resource data.
This makes it possible to prevent unauthorized access to resource data.
 なお、本発明は上記の実施例に限定されるものではなく、様々な変形例が含まれる。例えば、上記した実施例は本発明を分かりやすく説明するために詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。また、かかる構成の削除に限らず、構成の置き換えや追加も可能である。
 例えば、認証や認可の委譲が多段階で行われる構成であっても、本発明は適用可能である。
The present invention is not limited to the above-mentioned embodiment, and various modifications are included. For example, the above-mentioned embodiment is described in detail to easily explain the present invention, and is not necessarily limited to the embodiment having all the described configurations. Moreover, the present invention is not limited to the deletion of the configurations, and it is also possible to replace or add the configurations.
For example, the present invention is also applicable to a configuration in which delegation of authentication and authorization is performed in multiple stages.
110:ブラウザ、120:クライアント、130:認可サーバ、140:リソースサーバ
 
110: Browser, 120: Client, 130: Authorization Server, 140: Resource Server

Claims (7)

  1.  ユーザからのアクセスを受け付けるクライアントと、
     前記クライアントからの委譲を受け、前記ユーザの認証及び/又は認可のリクエストを処理するサーバとを備え、
     前記サーバは、前記リクエストを受信するとともに、前記ユーザを代表する識別子を取得し、前記リクエストに対するレスポンスに格納し、
     前記クライアントは、前記ユーザから前記レスポンスを受信するとともに、前記ユーザを代表する識別子を取得し、該取得した識別子と前記レスポンスに格納された識別子とを比較して、前記レスポンスの送信元が正しいユーザであるか否かを判定することを特徴とするサーバシステム。
    A client that accepts access from a user;
    a server that receives delegation from the client and processes requests for authentication and/or authorization of the user;
    The server receives the request, obtains an identifier representing the user, and stores the identifier in a response to the request;
    A server system characterized in that the client receives the response from the user, obtains an identifier representing the user, and compares the obtained identifier with the identifier stored in the response to determine whether the response has been sent from a valid user.
  2.  請求項1に記載のサーバシステムであって、
     前記サーバは、前記ユーザの認証及び認可を行い、
     前記クライアントは、前記比較の結果が不一致である場合に、レスポンスの送信元からのアクセスを拒否することを特徴とするサーバシステム。
    2. The server system according to claim 1,
    The server authenticates and authorizes the user;
    The server system is characterized in that the client denies access from the source of the response if the comparison result is a mismatch.
  3.  請求項1に記載のサーバシステムであって、
     前記ユーザを代表する識別子は、クライアント証明書であることを特徴とするサーバシステム。
    2. The server system according to claim 1,
    A server system, wherein the identifier representing the user is a client certificate.
  4.  請求項1に記載のサーバシステムであって、
     前記ユーザを代表する識別子は、ユーザの端末が所定の媒体から読み取った識別情報であることを特徴とするサーバシステム。
    2. The server system according to claim 1,
    A server system, wherein the identifier representing the user is identification information read by the user's terminal from a predetermined medium.
  5.  請求項1に記載のサーバシステムであって、
     前記サーバは、前記ユーザを代表する識別子を格納したレスポンスに電子署名し、
     前記クライアントは、前記電子署名を検証した上で前記比較を行うことを特徴とするサーバシステム。
    2. The server system according to claim 1,
    The server digitally signs a response that includes an identifier representing the user;
    A server system, wherein the client performs the comparison after verifying the electronic signature.
  6.  請求項1に記載のサーバシステムであって、
     前記ユーザに提供するリソースデータを保持するリソースサーバをさらに備え、
     前記サーバは、前記リソースデータに対するアクセスの認可を行うことを特徴とするサーバシステム。
    2. The server system according to claim 1,
    A resource server that stores resource data to be provided to the user is further provided.
    The server system is characterized in that the server authorizes access to the resource data.
  7.  ユーザからのアクセスを受け付けるクライアントと、
     前記クライアントからの委譲を受け、前記ユーザの認証及び/又は認可のリクエストを処理するサーバとを備えるサーバシステムの不正ユーザ検知方法であって、
     前記サーバが、前記リクエストを受信するとともに、前記ユーザを代表する識別子を取得し、前記リクエストに対するレスポンスに格納するステップと、
     前記クライアントが、前記ユーザから前記レスポンスを受信するとともに、前記ユーザを代表する識別子を取得し、該取得した識別子と前記レスポンスに格納された識別子とを比較して、前記レスポンスの送信元が正しいユーザであるか否かを判定するステップとを含むことを特徴とする不正ユーザ検知方法。
     
    A client that accepts access from a user;
    A method for detecting an unauthorized user in a server system comprising: a server that receives delegation from the client and processes a request for authentication and/or authorization of the user,
    the server receiving the request, obtaining an identifier representing the user, and storing the identifier in a response to the request;
    The method for detecting an unauthorized user includes a step in which the client receives the response from the user, acquires an identifier representing the user, and compares the acquired identifier with an identifier stored in the response to determine whether the sender of the response is a valid user.
PCT/JP2023/030661 2023-02-21 2023-08-25 Server system and unauthorized user detection method WO2024176494A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2023-025451 2023-02-21
JP2023025451A JP2024118884A (en) 2023-02-21 2023-02-21 Server system and method for detecting unauthorized users

Publications (1)

Publication Number Publication Date
WO2024176494A1 true WO2024176494A1 (en) 2024-08-29

Family

ID=92500516

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2023/030661 WO2024176494A1 (en) 2023-02-21 2023-08-25 Server system and unauthorized user detection method

Country Status (2)

Country Link
JP (1) JP2024118884A (en)
WO (1) WO2024176494A1 (en)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001186122A (en) * 1999-12-22 2001-07-06 Fuji Electric Co Ltd Authentication system and authentication method
JP2005149239A (en) * 2003-11-17 2005-06-09 Nec Corp User authentication system
JP2019046060A (en) * 2017-08-31 2019-03-22 キヤノン株式会社 Delegation-of-authority system, control method and program

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001186122A (en) * 1999-12-22 2001-07-06 Fuji Electric Co Ltd Authentication system and authentication method
JP2005149239A (en) * 2003-11-17 2005-06-09 Nec Corp User authentication system
JP2019046060A (en) * 2017-08-31 2019-03-22 キヤノン株式会社 Delegation-of-authority system, control method and program

Also Published As

Publication number Publication date
JP2024118884A (en) 2024-09-02

Similar Documents

Publication Publication Date Title
US11223614B2 (en) Single sign on with multiple authentication factors
EP1427160B1 (en) Methods and systems for authentication of a user for sub-locations of a network location
US8713644B2 (en) System and method for providing security in browser-based access to smart cards
US9172541B2 (en) System and method for pool-based identity generation and use for service access
US8490168B1 (en) Method for authenticating a user within a multiple website environment to provide secure access
US8800003B2 (en) Trusted device-specific authentication
US8209394B2 (en) Device-specific identity
EP2842258B1 (en) Multi-factor certificate authority
US6510523B1 (en) Method and system for providing limited access privileges with an untrusted terminal
US20080134314A1 (en) Automated security privilege setting for remote system users
CN114301617A (en) Identity authentication method and device for multi-cloud application gateway, computer equipment and medium
WO2024176494A1 (en) Server system and unauthorized user detection method
US20080060060A1 (en) Automated Security privilege setting for remote system users
KR101066729B1 (en) Methods and systems for authentication of a user for sub-locations of a network location
Song et al. Building an independent integrated authentication service
WO2005060206A1 (en) Public key infrastructure credential registration
WO2011063827A1 (en) Personal identity management system and method