Server, method and program
By generating dynamic link information for approval screens, the server enhances security against phishing by making it difficult for phishing sites to mimic legitimate URLs, thus preventing information theft.
Patent Information
- Application Number
- JP2023200662
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2023-11-28
- Publication Date
- 2025-06-09
- Estimated Expiration
- 2043-11-28
AI Technical Summary
Existing countermeasures against phishing sites, such as random number matching confirmation, may be insufficient as they can be bypassed by disguised random numbers, leading to potential information theft.
A server generates dynamic link information for an approval screen associated with a web service request, which is transmitted to the request source, enhancing security by making it difficult for phishing sites to mimic legitimate URLs in real time.
The solution significantly enhances security strength against phishing by increasing the difficulty of constructing phishing sites, thereby preventing information theft more effectively.
Smart Images

Figure 2025086583000001_ABST
Abstract
Description
Technical Field
[0001] The present disclosure relates to a server, a terminal, a method, and a program.
Background Art
[0002] Recently, for example, in Internet services accompanied by member logins, so-called phishing sites that precisely mimic legitimate websites have been frequently occurring. A phishing site is a fake website that mimics a legitimate website.
[0003] For example, by deceiving a service provider to induce a member to a phishing site and having the member input a member ID (Identification), a password (which may include a so-called one-time password), etc. at the site, the input information is stolen.
[0004] A thief or transferee of information input on a phishing site can pose as the legitimate member by inputting the stolen information into a legitimate website and illegally use Internet services.
[0005] As an example of a technology for countermeasures against phishing sites, technologies such as Non-Patent Document 1 and Non-Patent Document 2 are known. In Non-Patent Document 1, for example, when a member logs in to a legitimate website using a web browser or the like, an approval is requested by push notification to the member's mobile terminal (for example, a smartphone). At the same time, the same random number is displayed on both the web browser screen and the mobile terminal screen, and by prompting the member to confirm the match between the two, it is guaranteed that the site accessed through the web browser is a legitimate website.
[0006] Also, in Non-Patent Document 2, for example, when logging in from a terminal that does not support biometric authentication using a web browser or the like, a two-dimensional code is displayed on the terminal, and after the two-dimensional code is read by the camera function of the terminal, the login is approved.
Prior Art Documents
Non-Patent Literature
[0007]
Non-Patent Literature 1
Non-Patent Literature 2
Summary of the Invention
Problems to be Solved by the Invention
[0008] However, in existing technologies, they may be insufficient as countermeasures against phishing. For example, in a technology that uses confirmation of random number matching as described in Non-Patent Literature 1, there may be an implementation in which a phishing site displayed by a web browser or the like also displays a disguised random number. In such a case, since there is a possibility that a member may neglect or misrecognize the confirmation of random number matching, it may not be possible to completely prevent the theft of information via the phishing site.
[0009] One of the exemplary purposes of the present disclosure is to enhance the security strength against phishing.
Means for Solving the Problems
[0010] A server according to an exemplary aspect of the present disclosure includes a generation unit that generates dynamic link information to an approval screen that prompts an approval operation for the request based on a dynamic parameter dynamically associated with a request regarding the use of a web service, and a transmission unit that transmits the link information to the source of the request.
Advantages of the Invention
[0011] According to an exemplary aspect of the present disclosure, the security strength against phishing can be enhanced.
Brief Description of the Drawings
[0012]
Figure 1
Figure 2
Figure 3
Figure 4
Figure 5
Figure 6
Figure 7
Figure 8
Figure 9
Figure 10
Modes for Carrying Out the Invention
[0013] Hereinafter, embodiments will be described in detail with reference to the drawings. However, the accompanying drawings and the following description are provided for those skilled in the art to fully understand the present disclosure, and are not intended to limit the subject matter described in the claims. Also, detailed descriptions that are more than necessary may be omitted.
[0014] For example, detailed descriptions of matters that are already well-known or redundant descriptions of substantially the same configurations may be omitted. This is to avoid making the following description unnecessarily redundant and to facilitate the understanding of those skilled in the art. Furthermore, the same or similar reference numerals indicate the same or similar elements, and repeated descriptions may be omitted. When numerical values are described in the following description, those numerical values are merely examples, and other numerical values may be used additionally or alternatively.
[0015] <System configuration example> FIG. 1 is a diagram showing a configuration example of a web service system 1 according to an embodiment. The web service system 1 illustrated in FIG. 1 (hereinafter sometimes abbreviated as "system 1") includes, for example, a server 10, a mobile terminal 20 such as a smartphone, and a personal computer 30.
[0016] The server 10, the mobile terminal 20, and the personal computer (PC) 30 are communicably connected to each other via a network 40 such as the Internet, for example. The communication may be wired communication, wireless communication, or a form in which both are mixed in the communication path. Note that some or all of the server 10, the mobile terminal 20, and the PC 30 may include a plurality of units in the system 1.
[0017] Server 10 can provide various types of web services to mobile terminal 20 (hereinafter sometimes abbreviated as "terminal 20") or PC 30 via network 40, for example. The web service may be, by way of example, a service for which use (e.g., login) is permitted or approved for a user (in other words, a member) who has performed a registration process (e.g., membership registration) for receiving the web service from terminal 20 or PC 30 with respect to server 10.
[0018] As a non-limiting example of a web service (hereinafter sometimes abbreviated as "service"), there may be mentioned financial-related services such as Internet banking, communication services such as SNS (social networking service), information-providing services such as news and weather, shopping services, payment services, matching services, consultation services, online meeting services, storage services, and the like.
[0019] Terminal 20 and PC 30 may be any type of device having a communication function. As a non-limiting example, terminal 20 may be a mobile phone, a smartphone, a tablet PC, a wearable device such as a smartwatch, and any combination thereof, and PC 30 may be either a laptop type or a desktop type.
[0020] Terminal 20 and PC 30 are, by way of example, terminals owned by the same user who receives the provision of services by server 10 via network 40, and the user can use the services provided by server 10 on either terminal 20 or PC 30. Note that PC 30 may be a mobile terminal similar to terminal 20.
[0021] The network 40 may be either a wired or wireless network, or a network that combines wired and wireless. The wireless network may be a network compliant with standards formulated by 3GPP (3rd Generation Partnership Project) (registered trademark), such as 3G, LTE (Long Term Evolution), 4G, 5G, 6G, or a Wi-Fi network compliant with the IEEE802.11 series of standards. A non-limiting example of the network 40 may include the Internet.
[0022] <Overview of System Operation> Next, with reference to FIG. 2, the overview of the operation of the system 1 will be described. In the system 1, for each login request (S201) from the terminal 20 or the PC 30 to the server 10, the server 10 generates dynamic link information to the "approval screen" (S202). A non-limiting example of the link information is a URL (uniform resource locator), and a detailed example thereof will be described later.
[0023] Note that a URL, which is an example of dynamic link information, may be abbreviated as a "dynamic URL" for convenience. Also, the "approval screen" is an example of a display screen that prompts a user who has made a login request to perform a predetermined approval operation for the login request. A non-limiting example of the approval operation is tapping (or pressing) the "approval button" displayed on the "approval screen". The term "approval" may be mutually read as other terms such as "confirmation" or "consent".
[0024] Here, when the source of the login request is the terminal (for example, the terminal 20) used for membership registration, the server 10 causes the registered terminal 20 to display a "transition button" incorporating (or associated with) the dynamic URL (S203a). Note that hereinafter, the terminal used for membership registration may be abbreviated as the "registered terminal" for convenience.
[0025] On the other hand, when the source of the login request is a terminal different from the registration terminal (for example, PC30), the server 10 causes the PC30 to display a "two-dimensional code" incorporating (or associated with) a dynamic URL (S203b).
[0026] Note that the registration terminal (for example, terminal 20) is an example of the first terminal, and a terminal different from the registration terminal (for example, PC30) is an example of the second terminal. Whether the source of the login request is the registration terminal can be tentatively or simply determined based on information included in the login request that can determine whether the source is the registration terminal (for example, the member ID, login environment information, etc., described later).
[0027] When a member makes a selection operation (for example, tap or press) on the "transition button" displayed on the registration terminal 20 (S204), the "approval screen" that is the link destination of the dynamic URL of the "transition button" is displayed on the registration terminal 20 (S205). Note that the "transition button" means, by way of example, a button that causes the screen display on the registration terminal 20 to transition (or switch) to the "approval screen" when a selection operation by the member is performed, and is a convenient name for facilitating the distinction from the aforementioned "approval button".
[0028] On the other hand, when the two-dimensional code is displayed on the PC30 that is the source of the login request, the member reads the two-dimensional code displayed on the PC30 with the camera of the registration terminal 20, for example (S204). In response to the reading of the two-dimensional code, the "approval screen" that is the link destination of the dynamic URL incorporated in the two-dimensional code is displayed on the registration terminal 20 (S205).
[0029] In this way, the "approval screen" is displayed on the registration terminal 20 by a selection operation on the "transition button" on the registration terminal 20 or by reading the two-dimensional code displayed on the PC 30 by the registration terminal 20. Note that, as will be described later, for example, information indicating the operating environment (in other words, the login environment) of the terminal 20 or PC 30 that has performed the login request may be displayed on the "approval screen" for confirmation by the user. The information indicating the login environment may be, by way of example, information regarding one or both of the operating system (OS) and the user agent (UA).
[0030] When an approval operation (for example, tapping or pressing the "approval button", etc.) by the member is performed on the "approval screen" displayed on the registration terminal 20, the registration terminal 20 notifies the server 10 to that effect (S206). This notification may be made, by way of example, by transmitting an approval message indicating that the approval operation has been performed.
[0031] Upon receiving the approval message from the registration terminal 20, the server 10 approves (or permits) the login request from the registration terminal 20 or PC 30 and executes the login process (S207).
[0032] As described above, the login process is executed only by a predetermined approval operation on the "approval screen" of the dynamic URL dynamically generated by the server 10 for each login request. Therefore, in order to construct a phishing site, it is necessary to incorporate in real time into the phishing site a URL that dynamically changes for each login request. Accordingly, the difficulty of constructing a phishing site increases significantly, thereby improving the resistance to phishing (or security strength).
[0033] Note that, as will be described later, the server 10 performs verification processing (S207) using a character string (for example, key information such as a signature key and a verification key) on the approval message received from the registration terminal 20. When the verification processing is successful, the login process is executed.
[0034] The "verification process" using a character string may be implemented, for example, by confirming the match (in other words, collation) on the server 10 of the character string randomly generated by the terminal 20 using a random number and notified to the server 10 in the membership registration process for the server 10, or may be implemented by confirmation through encryption and decryption using a pair of character strings such as a signature key and a verification key.
[0035] Note that the "signature key" and the "verification key" may be respectively read as "private key" and "public key". In other words, the verification process using a character string may be implemented based on the public key cryptosystem. The character string, which is an example of verification information, may include not only characters but also numbers or symbols in part.
[0036] The character string for verification may be shared (for example, together with a member ID) between the server 10 and the registration terminal 20 in the membership registration process (S301), as schematically shown in FIG. 3 (S302 and S303).
[0037] The sharing of the character string can be realized, for example, by the registration terminal 20 notifying the server 10 of the character string (or the verification key forming a pair with the signature key) generated by the registration terminal 20 according to a predetermined rule (or randomly using a random number) in the membership registration process. However, the sharing of the character string may be realized, for example, by the server 10 allocating (in other words, notifying) the character string generated by the server 10 to the terminal 20 in the membership registration process.
[0038] By performing the verification process, it is guaranteed that the terminal 20 that displayed the "approval screen", which is the link destination of the dynamic URL, is undoubtedly the terminal used for membership registration (in other words, authenticity). Therefore, the resistance to phishing (or security strength) can be further improved.
[0039] Hereinafter, the functional configuration examples of the server 10, the terminal 20, and the PC 30 that constitute the system 1 capable of realizing the above-described phishing countermeasure will be individually described.
[0040] <Server Configuration Example> FIG. 4 is a functional block diagram showing a configuration example of the server 10 illustrated in FIG. 1. As shown in FIG. 4, the server 10 illustratively includes a receiving unit 101, a transmitting unit 102, a storage unit 103, a display unit 104, and a processing unit 105. The processing unit 105 illustratively includes an account management unit 151, a communication control unit 152, a display control unit 153, a discrimination unit 154, a generation unit 155, a verification processing unit 156, and a service execution unit 157.
[0041] Further, the account management unit 151 illustratively includes a character string management unit 1511, and the communication control unit 152 illustratively includes a session management unit 1521. The generation unit 155 illustratively includes a dynamic link generation unit 1551, a button generation unit 1552, and a two-dimensional code generation unit 1553.
[0042] The receiving unit 101 receives, for example, signals transmitted by the terminal 20 or the PC 30 (for example, information or messages including the aforementioned login request or approval message).
[0043] The transmitting unit 102 transmits, for example, signals (for example, information or messages including the aforementioned dynamic URL) to the terminal 20 or the PC 30.
[0044] The storage unit 103 stores, for example, programs and data used by the processing unit 105 for processing. The data stored in the storage unit 103 may include member information (or may be referred to as "account information") described later, and may also include data processed by the processing unit 105. The programs may include the platform of the server 10 (for example, an OS) and various application programs (hereinafter may be abbreviated as "applications") operating on the OS. "Application" may be read as "software".
[0045] The display unit (or display) 104 displays, for example, data processed in the processing unit 105 under the control of the display control unit 153.
[0046] The processing unit 105 executes various processes that embody the aforementioned operations as the server 10. For example, in the processing unit 105, the account management unit 151 manages the account information (or member information) of users (members) who use the web service provided by the server 10 in cooperation with the storage unit 103. Managing the account information may include creating or updating the account information.
[0047] FIG. 5 shows a non-limiting example of the account information 50. The account information 50 shown in FIG. 5 is, by way of example, information in a table format in which, in addition to the member ID, a login ID, a login password (PW), and a character string (e.g., a verification key) are registered (or entered). The member ID may be the same as or different from the login ID. The member ID may be generated according to a predetermined rule in the account management unit 151 and assigned to the member, by way of example.
[0048] The login ID (or member ID) and the login password are, for example, an example of login information input to a login screen displayed on the terminal 20 or the PC 30. The login information is included in a login request transmitted to the server 10, for example, in response to a login execution operation on the login screen. Note that when the member ID and the login ID are the same (or shared), one of the member ID and the login ID may be omitted in the account information 50.
[0049] The character string used for the verification process is, by way of example, included in a message transmitted by the terminal 20 or the PC 30 communicating with the server 10 to the server 10 in the member registration process and can be acquired by the communication control unit 152 that controls the communication. Therefore, the account management unit 151 can acquire, for example, the character string notified from the terminal (e.g., the registration terminal) 20 that accessed the server 10 for member registration and performed communication related to member registration from the communication control unit 152 and manage it in the character string management unit 1511.
[0050] When using a public-key cryptosystem for the verification process, the verification key, which is an example of the character string managed by the account management unit 151, is generated together with the signature key, for example, in the terminal 20 that has performed the membership registration process for the server 10. The signature key is stored in the terminal 20, and the verification key that forms a pair with the signature key is notified from the terminal 20 to the server 10, for example, in the membership registration process. The server 10 stores and manages the notified verification key in the storage unit 103 by, for example, the character string management unit 1511.
[0051] The terminal 20 digitally signs a message addressed to the server 10 (for example, an approval message) using the signature key, and the server 10 that has received the message can verify that the message is a genuine message from the terminal 20 that holds the signature key by using the verification key that forms a pair with the signature key. Such verification can be performed, for example, in the verification processing unit 156.
[0052] Note that the account information 50 does not have to be information in a table format as exemplified in FIG. 5, and may be information in other formats. Also, the login ID, login password, and part or all of the character string for each member ID do not have to be registered in one table-format information, and may be registered, for example, in a format individually associated with the member ID. In other words, the account information 50 only needs to be in a format that can specify or identify the login ID, login password, and part or all of the character string using the member ID as a key.
[0053] In FIG. 4, the communication control unit 152 controls, for example, the reception process by the reception unit 101 and the transmission process by the transmission unit 102 to control the communication between the server 10 and the terminal 20 or the PC 30. The reception process by the reception unit 101 may include, illustratively, the reception of a login request from the terminal 20 or the PC 30 and the reception of an approval message from the terminal 20. The transmission process by the transmission unit 102 may include, illustratively, the transmission of a "transition button" or a "two-dimensional code" in which a dynamic URL is incorporated.
[0054] In addition, for example, the communication control unit 152 establishes a session in the communication between the server 10 and the terminal 20 or the PC 30 by the session management unit 1521, and manages the established session. The session is established, for example, during the time from the start to the end (or disconnection) of the communication. Exemplarily, a time-limited and dynamic identifier (for example, referred to as a session ID) for uniquely identifying and managing individual communications is assigned to the session.
[0055] Therefore, in the present embodiment, for example, the session management unit 1521 assigns a session ID for each communication requesting the use of a web service such as a login request, and stores and manages the assigned session ID in the storage unit 103. Note that in response to the end of the session, the session management unit 1521 may release the assignment and management of the session ID.
[0056] The display control unit 153 can output, for example, the processing result by the processing unit 105 or the data stored in the storage unit 103 to the display unit 104 as appropriate, and can control the display mode. For example, the display control unit 153 can appropriately display part or all of the account information 50 on the display unit 104, and can also appropriately display part or all of the session management information including the session ID on the display unit 104.
[0057] In addition, the display control unit 153 can appropriately display on the display unit 104 the process or result of the processing by part or all of the determination unit 154, the generation unit 155, the verification processing unit 156, and the service execution unit 157. By the display control by the display control unit 153, for example, a user of the server 10 (for example, an operator of the system 1) can appropriately visually recognize the operation status or processing process of the server 10.
[0058] For example, when a login request is received by the reception unit 101, the determination unit 154 determines whether or not the transmission source of the login request is the terminal (for example, the registration terminal 20) used at the time of member registration based on the information included in the request.
[0059] This determination may be a provisional determination (in other words, a simple or temporary determination), and the definitive determination may be made by the above-described verification process. For example, the fact that the source of the login request is undoubtedly the registered terminal 20 (in other words, authenticity) may be confirmed and determined in the verification process using the pre-registered character string as described above.
[0060] Exemplarily, the determination unit 154 may determine whether the source of the login request is a mobile terminal 20 such as a smartphone based on one or both of the member ID and the login environment information (for example, information regarding the OS or UA) included in the login request.
[0061] For example, based on information regarding the OS (for example, the type of platform such as whether it is iOS or Android OS or Windows OS), it is possible to determine (which may be rephrased as "estimate") whether the source is the mobile terminal 20. Note that "Android" and "Windows" are registered trademarks.
[0062] In addition, the information regarding the UA may exemplarily include information regarding the application used by the source for screen display (for example, the type of web browser) or information regarding the screen display size. Note that if the web browser is such that the type of web browser is provided for a specific OS, the OS can be specified based on the type of web browser, and vice versa.
[0063] Therefore, based on the information regarding the UA, for example, it is possible to determine whether the source is a mobile terminal 20 such as a smartphone. It is also possible to improve the accuracy of the determination (or estimation) based on the combination of the information regarding the OS and the UA. Note that the member ID (or login ID) or the login environment information or a combination thereof is a non-limiting example of the information that can determine the source of the login message.
[0064] The generation unit 155 generates dynamic link information (e.g., the aforementioned dynamic URL) to an approval screen that prompts an approval operation for the request for each login request, which is an example of a request regarding the use of a web service. Exemplarily, the generation unit 155 can generate a dynamic URL to a different approval screen for each login request based on dynamically associated (or assigned) dynamic information elements in the dynamic link generation unit 1551.
[0065] The dynamic information elements may be expediently referred to as dynamic parameters. For the dynamic parameters, time information such as the reception timestamp of the login request may be used in addition to or instead of the session ID. Further other examples of the dynamic parameters will be described in the modified examples below.
[0066] Note that the dynamic parameters may exemplarily mean information elements that change each time there is an access to the server 10. An example of the dynamic parameter assigned to a login request, the "session ID", may be understood to correspond to a "login identifier" that identifies communications regarding individual logins in this embodiment.
[0067] FIG. 6 schematically shows an image of the generation of a dynamic URL by the dynamic link generation unit 1551. As illustrated in FIG. 6, the dynamic link generation unit 1551 can generate, as a non-limiting example of a dynamic URL, a parameterized URL in which the following parameters (1) to (3) are added to a URL describing a URL scheme for starting an application (APP) of the registration terminal 20.
[0068] (1) Member ID (user id) (or login ID) (2) Session ID (session id) (3) Information indicating the login environment
[0069] In FIG. 6, as a non-limiting example, the generated dynamic URL has a format such as "https: / / ***(APP startup scheme)***?user_id&session_id&os&useragent&...". As a non-limiting example of information indicating the login environment (hereinafter may be abbreviated as "login environment information"), information regarding one or both of the operating system (OS) and UA can be mentioned. Since UA is generally a string that is difficult to understand, in server 10 (for example, generation unit 155), it may be processed or converted into information or parameters in an easily understandable format. The member ID and the login environment information are, for example, included in the login request, and the session ID is managed by the session management unit 1521 as described above.
[0070] Also, based on the determination result by the determination unit 154, for example, the generation unit 155 incorporates the dynamic URL into display data in different display forms (for example, the aforementioned "transition button" or "two-dimensional code") on the first terminal 20 and the second terminal 30.
[0071] For example, in the button generation unit 1552, a "transition button" incorporating the dynamic URL is generated, and in the two-dimensional code generation unit 1553, a "two-dimensional code" incorporating the dynamic URL is generated. Note that the display data of the "transition button" or "two-dimensional code" incorporating the dynamic URL is transmitted from the transmission unit 102 to the terminal 20 or the PC 30 that is the transmission source of the login request.
[0072] In FIG. 4, when the verification processing unit 156 receives an approval message from the registration terminal 20 at the reception unit 101 after transmitting the dynamic URL, for example, it uses the string (for example, verification key) registered in the member registration process to verify whether the approval message is a genuine message transmitted from the registration terminal 20.
[0073] This verification confirms that the source of the login message must be the registration terminal 20. Therefore, the character string used in the verification process may be understood to correspond to a terminal ID that can uniquely identify the registration terminal 20 in the server 10.
[0074] When the verification by the verification processing unit 156 is successful, for example, the service execution unit 157 executes a login process by the terminal 20 or the PC 30 that is the source of the login request, and starts providing a web service corresponding to the login request. When the verification by the verification processing unit 156 fails, the service execution unit 157 may perform, for example, a login failure process.
[0075] For example, the service execution unit 157 may generate a message indicating that the login has failed, and transmit the message from the transmission unit 102 to the source of the login request (terminal 20 or PC 30) under the control of the communication control unit 152.
[0076] Note that some or all of the functions of each of the units 151 to 157 included in the processing unit 105 of the server 10 may be distributed and arranged in a plurality of servers 10, and the processing by each of the units 151 to 157 may be executed distributively. The plurality of servers 10 may be, for example, a cloud server group virtualized by virtualization technology.
[0077] <Configuration example of terminal 20> Next, with reference to FIG. 7, a functional configuration example of the terminal 20 will be described. In the present embodiment, it is assumed that the terminal 20 is a registration terminal that performs member registration with respect to the server 10. As shown in FIG. 7, the terminal 20 exemplarily includes a reception unit 201, a transmission unit 202, a storage unit 203, a display unit 204, a camera 205, and a processing unit 206.
[0078] The processing unit 206 illustratively includes an account management unit 261, a communication control unit 262, a display control unit 263, a service request generation unit 264, a link selection operation detection unit 265, an application activation unit 266, and an application 267. The application 267 illustratively includes an approval operation detection unit 2671 and an approval message generation unit 2672.
[0079] Although the application 267 is stored in the storage unit 203, it is shown inside the processing unit 206 in FIG. 7 for the sake of visually showing the functions embodied in the processing unit 206 when activated by the application activation unit 266.
[0080] The receiving unit 201 receives, for example, a signal (which may include the aforementioned dynamic URL) transmitted by the server 10 in the communication between the terminal 20 and the server 10 (e.g., communication regarding membership registration processing or login requests).
[0081] The transmitting unit 202 transmits, for example, a signal addressed to the server 10 (which may include the aforementioned login request or approval message) in the communication between the terminal 20 and the server 10.
[0082] The storage unit 203 stores, for example, programs and data used by the processing unit 206 for processing. The data stored in the storage unit 203 may include account information and may also include data processed by the processing unit 206. The programs may include the OS and various applications (or software) operating on the OS.
[0083] The display unit (or display) 204 displays, for example, data processed in the processing unit 206 under the control of the display control unit 263. For example, the display unit 204 may display on the display unit 204 an "approval screen" including a "transition button" in which a dynamic URL is incorporated or an "approval button".
[0084] The camera 205 captures an image of a subject located around the terminal 20 in accordance with the control from the processing unit 206 according to, for example, an operation by the user of the terminal 20. In the present embodiment, exemplarily, the camera 205 can be used to read an image (for example, the aforementioned two-dimensional code) displayed on the display unit 304 (described later in FIG. 8) of the PC 30.
[0085] The processing unit 206 executes various processes for implementing the aforementioned operations as the registration terminal 20. For example, in the processing unit 206, the account management unit 261 manages information registered as a member with the server 10 (for example, member ID or login ID, and login password, etc.) in cooperation with the storage unit 203.
[0086] The character string management unit 2611 stores and manages, for example, a character string (for example, a signature key) used for verifying an approval message as described above in the storage unit 203. The character string may be uniquely generated, for example, for the application 267 used when displaying the aforementioned "approval screen" on the display unit 204. Further, the signature key may be generated, for example, by the character string management unit 2611 or may be generated in the application 267.
[0087] Note that the application 267 may be a general-purpose application used for displaying (or browsing) a website such as a web browser as a non-limiting example, or may be a dedicated application having a website display function developed and provided for using a web service.
[0088] The communication control unit 262 controls the reception process by the reception unit 201 and the transmission process by the transmission unit 202 to control the communication between the terminal 20 and the server 10. The reception process by the reception unit 201 may include, for example, a process of receiving a dynamic URL (for example, a "transition button") generated in the server 10 from the server 10. The transmission process by the transmission unit 202 may include, for example, a process of transmitting a login request to the server 10.
[0089] Note that the communication control unit 262 controls communication related to processes such as membership registration or login during the period of the session established between the terminal 20 and the server 10, based on, for example, the session ID assigned by the server 10.
[0090] The display control unit 263 can appropriately output, for example, the processing result by the processing unit 206 or the data stored in the storage unit 203 to the display unit 204, and can also control the display mode. The display control unit 263 can appropriately display on the display unit 204 the process or result of processing by some or all of the units 261 to 267. By the display control by the display control unit 263, for example, the user of the terminal 20 can appropriately visually recognize the operation status or processing process of the terminal 20.
[0091] The service request generation unit 264 generates, for example, a message (e.g., a login request) for requesting the use of a web service for which membership registration has been completed from the server 10. Exemplarily, the service request generation unit 264 generates a login request including a member ID (or login ID; the same applies hereinafter), a login password, and login environment information. The generated login request is transmitted, for example, from the transmission unit 202 to the server 10.
[0092] The link selection operation detection unit 265 detects, for example, a selection operation (e.g., a tap or a press) by the user on the "transition button" (in other words, the dynamic URL incorporated in the "transition button") displayed on the display unit 204. Here, since the dynamic URL describes a URL scheme for starting the application 267, the application 267 is started by, for example, the application start unit 266 in response to the detection of the selection operation.
[0093] Also, the link selection operation detection unit 265 detects, for example, the reading of the "two-dimensional code" displayed on the PC 30 by the camera 205. In response to this detection, the application activation unit 266 activates the application 267 according to the URL scheme described in the dynamic URL. In other words, the reading of the "two-dimensional code" by the camera 205 is another example of a selection operation for the dynamic URL.
[0094] The application activation unit 266 activates the application 267 according to the URL scheme as described above, and stores various parameters such as the member ID, session ID, and login environment information included in the dynamic URL in the storage unit 203, for example.
[0095] In response to the activation of the application 267, for example, access to the "approval screen" which is the link destination of the dynamic URL is executed by the communication control unit 262, and the "approval screen" is displayed on the display unit 204 via the reception unit 201 and the display control unit 263.
[0096] In the application 267, the approval operation detection unit 2671 detects, for example, an approval operation (such as tapping or pressing the "approval button") for the "approval screen" displayed on the display unit 204.
[0097] The approval message generation unit 2672 generates an approval message to the server 10, for example, in response to the detection of the approval operation by the approval operation detection unit 2671.
[0098] <Configuration example of PC30> Next, with reference to FIG. 8, a functional configuration example of the PC 30 will be described. As shown in FIG. 8, the PC 30 includes a reception unit 301, a transmission unit 302, a storage unit 303, a display unit 304, and a processing unit 305.
[0099] The receiving unit 301 receives, for example, a signal (which may include, for example, a "two-dimensional code" incorporating the aforementioned dynamic URL) transmitted by the server 10 in the communication between the PC 30 and the server 10 (for example, communication regarding a login request).
[0100] The transmitting unit 302 transmits, for example, a signal addressed to the server 10 (which may include, for example, the aforementioned login request) in the communication between the PC 30 and the server 10.
[0101] The storage unit 303 stores, for example, programs and data used by the processing unit 305 for processing. The data stored in the storage unit 303 may include account information and may also include data processed by the processing unit 306. The programs may include an OS and various applications (or software) operating on the OS.
[0102] The display unit (or display) 304 displays, for example, the data processed by the processing unit 305 under the control of the display control unit 352. For example, the display unit 304 may display on the display unit 304 a "two-dimensional code" incorporating a dynamic URL received from the server 10 by the receiving unit 301.
[0103] The processing unit 305 executes various processes that embody the aforementioned operations as the PC 30. Therefore, the processing unit 305 includes, by way of example, a communication control unit 351, a display control unit 352, a service request generation unit 353, and a two-dimensional code detection unit 354.
[0104] The communication control unit 351 controls, for example, the reception process by the receiving unit 301 and the transmission process by the transmitting unit 302 to control the communication between the PC 30 and the server 10. The reception process by the receiving unit 301 may include, by way of example, the process of receiving a dynamic URL (for example, a "two-dimensional code") generated by the server 10 from the server 10. The transmission process by the transmitting unit 302 may include, by way of example, the process of transmitting a login request to the server 10.
[0105] Note that the communication control unit 351 controls communication related to the login process or service execution after login during the period of the session established between the PC 30 and the server 10, for example, based on the session ID assigned by the server 10.
[0106] The display control unit 352 can appropriately output, for example, the processing result by the processing unit 305 or the data stored in the storage unit 303 to the display unit 304, and can also control the display mode. The display control unit 352 can appropriately display on the display unit 304 the process or result of processing by some or all of the units 351 to 354. By the display control by the display control unit 352, for example, the user of the PC 30 (who is also the user of the registration terminal 20 in this embodiment) can appropriately visually recognize the operation status or processing process of the PC 30.
[0107] The service request generation unit 353 generates, for example, a message (for example, a login request) for requesting the use of a web service for which membership registration has been completed from the server 10. Exemplarily, the service request generation unit 353 generates a login request including a member ID, a login password, and login environment information. The generated login request is transmitted, for example, from the transmission unit 302 to the server 10.
[0108] The two-dimensional code detection unit 354 detects, for example, a "two-dimensional code" in which a dynamic URL is incorporated, received through the reception unit 301. In response to the detection of the two-dimensional code, for example, the display control unit 352 displays the two-dimensional code on the display unit 304.
[0109] Note that in the functional configuration examples described above for each of the server 10, the terminal 20, and the PC 30, the term "~ unit" can be mutually replaced with other terms such as "~ circuit", "~ block", "~ module", and "~ means". Also, some or all of the functional components exemplified for each of the server 10, the terminal 20, and the PC 30 may be integrated into a single component.
[0110] <Operation Example> Next, with reference to the sequence diagram of FIG. 9, an operation example of the system 1 including the server 10, the terminal 20, and the PC 30 having the above-described exemplary configuration will be described.
[0111] For example, the user accesses the server 10 by the terminal 20 and performs a membership registration process for using the service provided by the server 10 (S901). In the membership registration process, the server 10 and the terminal 20 share, for example, a character string such as a signature key and a verification key as an example of verification information.
[0112] As a non-limiting example, the character string is uniquely generated for an application (hereinafter sometimes referred to as a "terminal application") used by the terminal 20 when using the service provided by the server 10 in the terminal 20. The generated character string is stored in the terminal 20 and notified to the server 10. When a signature key is used as the verification character string, the signature key is stored in the terminal 20, and the verification key forming a pair with the signature key is notified from the terminal 20 to the server 10. The server 10 registers the notified character string or verification key in the account information 50 as illustrated in FIG. 5, for example.
[0113] Thereafter, when a member-registered user performs an operation to request login to the server 10 on the terminal 20 (or the PC 30), for example, a login request is generated in the service request generation unit 264 (or 353). This login request may include, for example, one or both of a member ID and login environment information. The login request is transmitted from the transmission unit 202 (or 302) to the server 10 under the control of the communication control unit 262 (or 351) (S902a or S902b).
[0114] When the server 10 receives a login request in the receiving unit 101, for example, the session management unit 1521 of the communication control unit 152 assigns a session ID to the login request and manages it. Further, the server 10 generates a dynamic URL in the dynamic link generation unit 1551 based on, for example, the information included in the login request and the session ID (S903).
[0115] For example, as shown in FIG. 6, the server 10 generates a dynamic URL by adding various parameters such as a member ID, a session ID, and login environment information to a URL describing a URL scheme for starting a terminal application.
[0116] Further, the server 10 discriminates (tentatively or simply) in the discrimination unit 154 whether or not the transmission source of the login request is the registered terminal 20 based on, for example, one or both of the member ID and the login environment information included in the received login request (S904). Note that this discrimination may be performed before the generation of the dynamic URL or may be performed in parallel with the generation of the dynamic URL.
[0117] As a result of the discrimination, if the transmission source of the login request is the registered terminal 20 (YES in S904), the server 10 generates, for example, a "transition button" incorporating the dynamic URL in the button generation unit 1552 (S905a).
[0118] The generated "transition button" is transmitted from the transmission unit 102 to the transmission source terminal 20 of the login request under the control of the communication control unit 152 (S906a) and is displayed on the display unit 204 of the registered terminal 20 (S907a).
[0119] On the other hand, when the source of the login request is not the registered terminal, for example, when it is the PC 30 (NO in S904), the server 10 generates a "two-dimensional code" incorporating a dynamic URL in the two-dimensional code generation unit 1553, for example (S905b). The generated "two-dimensional code" is transmitted from the transmission unit 102 to the source PC 30 of the login request under the control of the communication control unit 152, for example (S906b), and is displayed on the display unit 304 of the PC 30 (S907b).
[0120] When the user performs a selection operation (for example, tapping or pressing) on the "transition button" displayed on the display unit 204 of the terminal 20, the selection operation is detected by the link selection operation detection unit 265. In response to the detection of the selection operation, in the terminal 20, the application 267 is started by the application start unit 266 according to the URL scheme described in the dynamic URL, for example (S909).
[0121] On the other hand, when the "two-dimensional code" displayed on the display unit 304 of the PC 30 is read by the camera 205 of the registered terminal 20, for example, the reading is detected by the link selection operation detection unit 265 as a selection operation for the dynamic URL. In response to this detection, similar to the case where a selection operation on the "transition button" is detected, in the terminal 20, the application 267 is started by the application start unit 266 according to the URL scheme described in the dynamic URL (S909).
[0122] Note that the application start unit 266 stores various parameters such as the member ID, session ID, and login environment information included in the dynamic URL in the storage unit 203, for example. Therefore, the application 267 is started in a state where it can access the various parameters obtained from the dynamic URL (which may be paraphrased as "a state of possessing the parameters").
[0123] Application 267, for example, in response to the detection of a selection operation on a dynamic URL by the link selection operation detection unit 265, cooperates with, for example, the display control unit 263, and displays the "approval screen", which is the destination of the dynamic URL, on the display unit 204 (S910). At this time, the application 267 also displays, for example, parameters (for example, login environment information) obtained from the dynamic URL on the "approval screen".
[0124] The user of the terminal 20 can confirm that the source of the login request is indeed the registered terminal 20 or PC 30 of the user by, for example, checking the login environment information on the "approval screen". Note that the presentation form of information such as the login environment information presented to prompt the user to confirm the source on the "approval screen" may be in any form.
[0125] For example, not limited to character information, non-character information such as image information (regardless of whether it is a still image or a moving image) or audio information may be additionally or alternatively applied on the "approval screen", or various types of emphasis presentation forms may be at least partially applied. A presentation form that makes it easy for the user to visually, aurally, or perceptually confirm the source may be applied in the presentation of the "approval screen".
[0126] After undergoing the above-described confirmation of the source, when the user approves the execution of the login process, the user performs an approval operation on the "approval screen". An example of the approval operation may be tapping or pressing the "approval button" displayed on the "approval screen".
[0127] When the approval operation on the "approval screen" is detected, for example, by the approval operation detection unit 2671 (YES in S911), the application 267 of the terminal 20 generates an approval message, for example, by the approval message generation unit 2672. Further, the approval message generation unit 2672 obtains, for example, a character string (for example, a signature key) corresponding to the member ID obtained from the dynamic URL from the character string management unit 2611, and attaches an electronic signature using the signature key to the approval message.
[0128] The approval message with an electronic signature is transmitted to the server 10, for example, from the application 267 via the communication control unit 262 and the transmission unit 202 (S912). The server 10 receives the approval message in the receiving unit 101, for example, and verifies the received approval message by the verification processing unit 156 under the control of the communication control unit 152 (S913).
[0129] For example, the verification processing unit 156 acquires a verification key from the character string management unit 1511 (for example, the account information 50) based on the member ID corresponding to the session ID managed in the session management unit 1521, and verifies whether the electronic signature of the approval message can be normally decrypted by the verification key. If the verification is successful, it is confirmed that the terminal 20, which was the target of the provisional determination in S904, is undoubtedly the registered terminal 20 that performed the member registration process in S901 (authenticity). In other words, the uncertainty due to the provisional determination with uncertainty is removed.
[0130] In response to the success of the verification (YES in S915), the server 10 executes the login process requested from the terminal 20 or the PC 30 in the service execution unit 157, for example (S916a or S916b).
[0131] On the other hand, if the verification of the approval message fails (NO in S915), the server 10 does not execute the login process in the service execution unit 157, for example, and performs a login failure process on the transmission source (terminal 20 or PC 30) of the login request (S917).
[0132] As a non-limiting example of the login failure process, a message indicating that the login has failed may be transmitted to the transmission source (terminal 20 or PC 30) of the login request and displayed (S918a or S918b). Note that even when the approval operation is not detected in the registered terminal 20 in S911 (NO in S911), the server 10 may determine that the verification has failed in S915 and execute the login failure process.
[0133] The fact that the approval operation is not detected may be notified to the server 10 by, for example, an explicit message from the registration terminal 20 (S914). Additionally or alternatively, the server 10 may determine that the approval operation is not detected if no message is received from the registration terminal 20 within a predetermined period (in other words, a timeout occurs).
[0134] In the above-described verification process, the registration terminal 20 may notify the server 10 of parameters related to the display content of the "approval screen" displayed in S910 (for example, a URL or a two-dimensional code read in S907b) together with or separately from the approval message.
[0135] The server 10 may confirm the integrity of the display content of the "approval screen" by checking whether the parameters notified from the registration terminal 20 match the parameters generated by the server 10 and sent to the terminal 20 or the PC 30.
[0136] By such integrity confirmation, for example, the server 10 can verify whether the display content of the "approval screen" has been tampered with, and the security strength is further enhanced. If an incompleteness is detected as in the case where the display content of the "approval screen" has been tampered with by a third party, the server 10 may perform, for example, the above-described login failure process.
[0137] As described above, in the above-described operation example, the login process is executed only by a predetermined approval operation for the "approval screen" which is the link destination of the dynamic URL dynamically generated by the server 10 for each login request. The dynamic URL is generated, for example, by adding dynamic information elements (for example, a session ID assigned for each login request) that are difficult to project onto a phishing site in real time to a URL that causes the display screen of the registration terminal 20 to transition to the "approval screen".
[0138] Therefore, in order to build a phishing site, it is necessary to dynamically incorporate into the phishing site a URL that changes for each login request in real time. As a result, the difficulty of building a phishing site increases significantly, thereby improving the security strength against phishing.
[0139] Also, in the above-described operation example, since a URL scheme for starting the application 267 of the registration terminal 20 is described in the dynamic URL, for example, it is not necessary to separately build a function for reading a "two-dimensional code" within the application 267. For example, the registration terminal 20 can complete the display process of the "approval screen" by delivering parameters (such as member ID, session ID, login environment information, etc.) described in the dynamic URL to the application 267.
[0140] Note that a general function for performing login approval using a "two-dimensional code" is established by building it within an application that has independently developed a function for reading the "two-dimensional code". Therefore, the fact that it is not necessary to separately build a function for reading a "two-dimensional code" within the application 267 is advantageous from the viewpoints of ease of implementation and versatility.
[0141] Also, compared with the method of starting an application by push notification or the like, selection operations such as reading a "two-dimensional code" or tapping (or pressing) a "transition button" are performed on the registration terminal 20.
[0142] In other words, the approval operation for the "approval screen" is uniformly performed by the registration terminal 20 regardless of whether the sender of the login request is the registration terminal 20 or a PC 30 different from the registration terminal 20.
[0143] When the source of the login request is the PC 30, the registration terminal 20 is located at a place physically close to the PC 30 in order to read the "two-dimensional code". Since the approval operation for the "approval screen" is allowed only for the registration terminal 20 located at a place physically close to the PC 30 that made the login request, the security strength against phishing is further improved.
[0144] Furthermore, in the above-described operation example, for the approval operation at the registration terminal 20, verification processing is performed at the server 10 using the string that was previously shared between the registration terminal 20 and the server 10 in the membership registration process. Therefore, it is possible to guarantee that the terminal 20 that displayed the "approval screen", which is the link destination of the dynamic URL, is the same as the terminal 20 used for membership registration (authenticity).
[0145] In other words, at the stage before the verification processing, the server 10 allows a provisional determination with uncertainty as to whether to generate and transmit either the "transition button" or the "two-dimensional code". Therefore, the source of the login request is not restricted to the registration terminal 20. Accordingly, since login to the server 10 using a terminal other than the registration terminal 20 (for example, the PC 30) is also allowed, it also contributes to improving the convenience for the user.
[0146] In the above-described embodiment, an example in which the "two-dimensional code" displayed on the PC 30 is read by the registration terminal 20 has been described. Conversely, the "two-dimensional code" displayed on the terminal 20 may be read by the PC 30. For example, when the PC 30 equipped with a camera is the registration terminal, the "two-dimensional code" displayed on the mobile terminal 20 may be brought close to the camera of the PC 30 to be read.
[0147] Also, in the above-described embodiment, a request regarding the use of web services (or, a request) has been exemplified by a request regarding "login" as an example. The present disclosure is not limited to this, and the above-described embodiment may be applied to requests in scenarios of using services different from login (including the use of services after login).
[0148] <Modification Example> For example, in the case of an application for approving services other than login, in the above-described embodiment, the dynamic parameters may include information regarding the content of the service. For example, information regarding the transaction content (e.g., transfer content) in Internet banking may be used as a dynamic parameter in addition to or instead of the login environment information. In other words, in the present embodiment, the request regarding the use of the service may include not only the login request but also a request according to the transaction content of the service. When using information regarding the transaction content as the dynamic parameter, the information regarding the transaction content may be displayed in addition to or instead of the login environment information on the "approval screen".
[0149] Also, part or all of the parameters or information used in the generation of the dynamic URL may be encrypted, converted, or processed according to a predetermined rule in the server 10 for the purpose of preventing fraud such as forging a two-dimensional code with a falsified UA.
[0150] For example, part or all of the parameters or information may be encrypted in a form that can be decrypted only by a legitimate application in the terminal 20. Additionally or alternatively, for example, the login ID may be replaced with an alternative number associated one-to-one (e.g., converting login ID = abc@smbc.co.jp to system ID = xyz123, etc.).
[0151] Additionally or alternatively, according to a rule shared in advance between the server 10 and the terminal application, dummy characters (or character strings), numbers, and / or symbols may be mixed into the parameters or information used in the generation of the dynamic URL in the server 10. For example, the character string "Safari" may be converted to "Sxaxfxaxrxi" by mixing a dummy character "x" every other character.
[0152] Additionally or alternatively, according to rules previously shared between the server 10 and the terminal application, the order of parameters or components of information (e.g., character strings) may be swapped (in other words, scrambled). For example, the aforementioned "Sxaxfxaxrxi" may be scrambled to "axSxrxaxixf".
[0153] When encryption, conversion, or processing of parameters or information as described above is performed on the server 10, on the terminal 20, for example, in the processing unit 206 (e.g., the application startup unit 266), decoding processing such as decryption, inverse conversion, and restoration according to the rules of the parameters or information may be performed.
[0154] <Hardware Configuration Example> FIG. 10 is a block diagram showing a hardware configuration example of the computer 500 that functions as the above-described server 10, terminal 20, or PC 30. As illustrated in FIG. 10, the computer 500 may include a central processing unit (CPU) 5001, a memory 5002, a storage device 5003, an input device 5004, an output device 5005, and a communication device 5006. These components are connected to be mutually communicable, for example, by a bus 5007.
[0155] In addition, in FIG. 10, the term "device" may be mutually read as other terms such as a circuit, a device, or a unit. The hardware configuration of the computer 500 may be configured to include one or more of each device illustrated in FIG. 10, or may be configured without including some devices.
[0156] Each function in the computer 500 is realized, for example, by the CPU 5001 reading a program (or an application; the same applies hereinafter) and data used in association with the execution of the program from the memory 5002 or the storage device 5003 and executing them. The CPU 5001 may be a single-core CPU or a multi-core CPU.
[0157] The program may include instructions that cause the computer 500 to perform at least a part of the functions or operations of the server 10, the terminal 20, or the PC 30 described in the above-described embodiments when read and executed by, for example, the CPU 5001.
[0158] For example, it may be understood that each of the functional components illustrated in FIGS. 4, 7, or 8 is realized by the CPU 5001 executing a program including instructions that embody the operation examples described with reference to FIGS. 2, 3, and 9.
[0159] Note that the program may be stored in advance in the storage device 5003, for example, or may be received by the computer 500 through a computer-readable storage medium or a network 40 (in other words, a telecommunication line). Further, the program may be incorporated as a part of the OS of the computer 500.
[0160] Both the memory 5002 and the storage device 5003 are examples of computer-readable storage media. The memory 5002 may be constituted by at least one of storage media such as ROM (Read Only Memory), EPROM (Erasable Programmable ROM), EEPROM (Electrically Erasable Programmable ROM), and RAM (Random Access Memory), for example.
[0161] The storage device 5003 may be constituted by at least one of storage media such as an optical disk such as a CD-ROM (Compact Disc ROM), a hard disk drive, a flexible disk, a magneto-optical disk (for example, a compact disk, a Blu-ray (registered trademark) disk), and a flash memory, for example.
[0162] The input device 5004 may correspond to an input device (e.g., a keyboard, a mouse, a microphone, a switch, a button, a sensor, a camera 205, etc.) that receives input from an external device. The output device 5005 may correspond to an output device (e.g., a display 104, 204, or 304, a speaker, etc.) that performs output to an external device. Note that the input device 5004 and the output device 5005 may have an integrated configuration such as a touch panel, for example.
[0163] The communication device 5006 is an example of a hardware device for communicating with an external device (e.g., a server 10, a terminal 20, or a PC 30 as a communication partner) via one or both of wired and wireless networks. The communication device 5006 may be referred to as, for example, a network device, a network controller, a network card, or a communication module.
[0164] The above-described comprehensive or specific aspects may be implemented in a system, a device, a method, an integrated circuit, a computer program, or a recording medium, and may also be implemented in any combination of a system, a device, a method, an integrated circuit, a computer program, and a storage medium.
[0165] Although the present disclosure has been described with reference to the exemplary embodiments above, various embodiments can be realized by making changes in the configuration and details without departing from the gist of the present disclosure.
Explanation of Reference Numerals
[0166] 10 Server 101 Receiver 102 Transmitter 103 Storage Unit 104 Display Unit 105 Processing Unit 151 Account Management Unit 1511 String Management Unit 152 Communication Control Unit 1521 Session Management Unit 153 Display Control Unit 154 Discrimination Unit 155 Generation Unit 1551 Dynamic Link Generation Unit 1552 Button Generation Unit 1553 Two-Dimensional Code Generation Unit 156 Verification Processing Unit 157 Service Execution Unit 20 Mobile Terminal 201 Receiver 202 Transmitter 203 Memory Unit 204 Display Unit 205 Camera 206 Processing Unit 261 Account Management Unit 2611 String Management Unit 262 Communication Control Unit 263 Display Control Unit 264 Service Request Generation Unit 265 Link Selection Operation Detection Unit 266 Application Launch Unit 267 Application 2671 Approval Operation Detection Unit 2672 Approval Message Generation Unit 30 PC 301 Receiver 302 Transmitter 303 Memory Unit 304 Display Unit 305 Processing Unit 351 Communication Control Unit 352 Display Control Unit 353 Service Request Generation Unit 354 Two-Dimensional Code Detection Unit 40 Network 50 Account Information 5001 Central Processing Unit (CPU) 5002 Memory 5003 Storage Device 5004 Input Device 5005 Output Device 5006 Communication Device 5007 Bus
Claims
1. A generation unit that generates dynamic link information to an approval screen that prompts an approval operation for the request based on dynamic parameters dynamically associated with a request regarding the use of a web service; A transmission unit that transmits the link information to the source of the request; A server comprising:
2. A reception unit that receives an approval message indicating that the approval operation has been performed on the approval screen displayed based on the link information; A service execution unit that executes the web service corresponding to the request in response to the reception of the approval message by the reception unit; The server according to claim 1, further comprising:
3. Further comprising a determination unit that determines whether the source is a first terminal used for account registration for using the web service based on information included in the request, The generation unit incorporates the link information into display data in different display forms on the first terminal and a second terminal different from the first terminal, The transmission unit transmits the display data incorporating the link information to the source of the request. The server according to claim 1 or 2.
4. The generation unit In response to the determination result that the source is the first terminal, incorporates the link information into first display data of a button that causes the approval screen to be displayed on the first terminal when tapped or pressed, In response to the determination result that the source is not the first terminal, incorporates the link information into second display data of a two-dimensional code that causes the approval screen to be displayed on the first terminal when read by the first terminal. The server according to claim 3.
5. A key information management unit that manages verification information attached to the approval message by the source used for account registration for using the web service; A verification processing unit that verifies the authenticity of the source based on the verification information in the approval message. Further comprising: The service execution unit In response to the success of verification by the verification processing unit, executes the web service. The server according to claim 2.
6. The dynamic parameter includes a session identifier that identifies a communication session regarding the request. The server according to claim 1 or 2.
7. The server according to claim 1 or 2, wherein the link information includes a scheme for launching an application used for displaying the approval screen.
8. The server according to claim 1 or 2, wherein the link information includes information regarding one or both of the operating environment of the source and the transaction details in the web service, which is indicated in the request from the source, and the information regarding one or both of the operating environment and the transaction details is displayed on the approval screen.
9. The server according to claim 8, wherein the information regarding the operating environment includes information regarding one or both of the operating system and the user agent.
10. The server according to claim 1 or 2, wherein the request is a login request for an account for using the web service or a request according to the transaction details in the web service.
11. A terminal, comprising: a transmission unit that transmits a request regarding the use of a web service to a server; a reception unit that receives dynamic link information for an approval screen that prompts an approval operation for the request, which is generated in the server based on dynamic parameters dynamically associated with the request; a display unit that displays the approval screen based on the link information. The terminal.
12. In a server, receiving a request regarding the use of a web service; generating dynamic link information for an approval screen that prompts an approval operation for the request based on dynamic parameters dynamically associated with the request; transmitting the link information to the source of the request; executing a process including the above, and at the source, receiving the link information; displaying the approval screen based on the link information. A method of executing a process including the above.
13. In a server, generating dynamic link information for an approval screen that prompts an approval operation for a request regarding the use of a web service based on dynamic parameters dynamically associated with the request; transmitting the link information to the source of the request. A program for executing a process including the above.
14. In a terminal, transmitting a request regarding the use of a web service to a server. Receiving dynamic link information to an approval screen that prompts an approval operation for the request, which is generated in the server based on dynamic parameters dynamically associated with the request; Displaying the approval screen based on the link information; A program for executing a process including the above.
Citation Information
Patent Citations
Cabinet electronic tag system and inspection method based on electronic ink display screen
CN107071026A
Authentication system, and authentication program
JP2008171087A
Authentication system, single sign-on system, server device and program
JP2011238036A
Medical cooperation system
JP2019036221A
Proxy authentication system, proxy authentication method, and program
JP2019040319A