WO2017208305A1 - サーバ装置、サービス方法、プログラム、ならびに、非一時的なコンピュータ読取可能な情報記録媒体 - Google Patents

サーバ装置、サービス方法、プログラム、ならびに、非一時的なコンピュータ読取可能な情報記録媒体 Download PDF

Info

Publication number
WO2017208305A1
WO2017208305A1 PCT/JP2016/065917 JP2016065917W WO2017208305A1 WO 2017208305 A1 WO2017208305 A1 WO 2017208305A1 JP 2016065917 W JP2016065917 W JP 2016065917W WO 2017208305 A1 WO2017208305 A1 WO 2017208305A1
Authority
WO
WIPO (PCT)
Prior art keywords
access
request
access token
application
transmitted
Prior art date
Application number
PCT/JP2016/065917
Other languages
English (en)
French (fr)
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 楽天株式会社
Priority to JP2017510681A priority Critical patent/JP6118479B1/ja
Priority to ES16903933T priority patent/ES2774056T3/es
Priority to EP16903933.6A priority patent/EP3346405B1/en
Priority to US15/769,240 priority patent/US10650129B2/en
Priority to PCT/JP2016/065917 priority patent/WO2017208305A1/ja
Publication of WO2017208305A1 publication Critical patent/WO2017208305A1/ja

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
    • G06F21/335User authentication using certificates for accessing specific resources, e.g. using Kerberos tickets
    • 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
    • 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/41User authentication where a single sign-on provides access to a plurality of computers
    • 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/44Program or device authentication
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/604Tools and structures for managing or administering access control systems
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0807Network architectures or network communication protocols for network security for authentication of entities using tickets, e.g. Kerberos
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0815Network architectures or network communication protocols for network security for authentication of entities providing single-sign-on or federations
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/083Network architectures or network communication protocols for network security for authentication of entities using passwords
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0853Network architectures or network communication protocols for network security for authentication of entities using an additional device, e.g. smartcard, SIM or a different communication terminal
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/10Network architectures or network communication protocols for network security for controlling access to devices or network resources
    • H04L63/102Entity profiles
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/10Network architectures or network communication protocols for network security for controlling access to devices or network resources
    • H04L63/108Network architectures or network communication protocols for network security for controlling access to devices or network resources when the policy decisions are valid for a limited amount of time
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/06Authentication
    • H04W12/068Authentication using credential vaults, e.g. password manager applications or one time password [OTP] applications
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2137Time limited access, e.g. to a computer or data

Definitions

  • the present invention relates to a server device, a service method, a program, and a non-transitory computer-readable information recording medium.
  • terminal devices operated by users use services by accessing server devices installed by service providers.
  • server devices installed by service providers.
  • a process called authentication may be required for the server device to identify the user.
  • a form in which a terminal device transmits a sign-in request specifying a user name and a password to a server device is used.
  • an access token may be used in order to save time and labor for inputting a user name and a password.
  • the access token is recorded in the terminal device, and is transmitted from the terminal device to the server device and used for authentication when the user requests a service.
  • Patent Document 1 discloses a technique related to an authentication method using an access token.
  • the authorization server issues an access token to the transferee of the access authority in response to the request of the transferee of the access authority.
  • the transferee of the access authority can be authenticated using the issued access token.
  • the technology of Patent Document 1 is intended to allow access to information permitted by the transferor without touching the transferor's credit information (the user name and password of the person).
  • an object of the present invention is to reduce the burden on the user required for authentication processing when providing a service from a server device to the same terminal device that operates a plurality of applications.
  • a server device that accepts access from a plurality of applications running on a terminal device, Each of the plurality of applications is If the access token issued for the application is not stored in the non-volatile storage area reserved for the application by the terminal device, the user is prompted for a user name and password, and the entered user name and Send a sign-in request specifying a password to the server device, If the access token issued to the application is stored in the nonvolatile storage area, an access request designating the access token is transmitted to the server device, The server device Upon receiving the sign-in request transmitted from any of the applications that operate on the terminal device, the user name and password specified in the sign-in request are authenticated, If the authentication is successful, the access token associated with the user name specified in the sign-in request is issued to the transmission source application that transmitted the sign-in request, and the issued access token is transmitted.
  • the issued access token is stored in association with a terminal identification code indicating the terminal device on which the transmission source application that transmitted the sign-in request operates, with an expiration date, and associated with the terminal identification code. Extend the expiration date attached to other access tokens to be remembered,
  • the access token specified in the access request is a terminal of the terminal device on which the transmission source application that transmitted the access request operates. If it is associated with the identification code and stored as the expiration date, access from the transmission source application is permitted, and the expiration date attached to all access tokens stored in association with the terminal identification code Extend, It is characterized by that.
  • the server device is as follows. If the access token specified in the received access request is not stored or is not within the stored expiration date, an instruction is sent to the source application that the sign-in request should be transmitted To It may be a thing.
  • the server device is as follows.
  • the issued access token is stored in association with a combination of the terminal identification code and the user name specified in the sign-in request, with the expiration date,
  • the access token specified in the received access request is associated with the terminal identification code of the terminal device on which the transmission source application that transmitted the access request operates, and is stored within the valid period Instructing the transmission source application that the sign-in request should be transmitted after transmitting the user name included in the combination including the terminal identification code, It may be a thing.
  • the server device is as follows.
  • the access token specified in the received access request is associated with the terminal identification code of the terminal device on which the transmission source application that transmitted the access request operates, and is stored as an expiration date.
  • the validity period of the access token issued for the application is extended to the first deadline, it is attached to all access tokens issued to the other applications stored in association with the terminal identification code. Extend the expiration date to the first time limit, It may be a thing.
  • the server device is as follows.
  • the access token specified in the received access request is associated with the terminal identification code of the terminal device on which the transmission source application that transmitted the access request operates, and is stored as an expiration date.
  • the validity period of the access token issued for the application is extended by the first period, it is attached to all access tokens issued to other applications stored in association with the terminal identification code. Extending the expiration date by the first period; It may be a thing.
  • the server device is as follows.
  • the access token specified in the received access request is associated with the terminal identification code of the terminal device on which the transmission source application that transmitted the access request operates, and is stored as an expiration date.
  • By extending the validity period of the access token issued for the access token when the remaining period in the validity period of the access token becomes the first magnification before the extension, it is stored in association with the terminal identification code. Extending the validity period attached to all access tokens issued to the application so that the remaining period in the validity period is the first magnification compared to before the extension, It may be a thing.
  • a service method includes: A service method by a server device that accepts access from a plurality of applications operating on a terminal device, Each of the plurality of applications is If the access token issued for the application is not stored in the non-volatile storage area reserved for the application by the terminal device, the user is prompted for a user name and password, and the entered user name and Send a sign-in request specifying a password to the server device, If the access token issued to the application is stored in the nonvolatile storage area, an access request designating the access token is transmitted to the server device, The server device Upon receiving the sign-in request transmitted from any of the applications that operate on the terminal device, the user name and password specified in the sign-in request are authenticated, If the authentication is successful, the access token associated with the user name specified in the sign-in request is issued to the transmission source application that transmitted the sign-in request, and the issued access token is transmitted.
  • the issued access token is stored in association with a terminal identification code indicating the terminal device on which the transmission source application that transmitted the sign-in request operates, with an expiration date, and associated with the terminal identification code. Extend the expiration date attached to other access tokens to be remembered,
  • the access token specified in the access request is a terminal of the terminal device on which the transmission source application that transmitted the access request operates. If it is associated with the identification code and stored as the expiration date, access from the transmission source application is permitted, and the expiration date attached to all access tokens stored in association with the terminal identification code Extend, It is characterized by that.
  • a program is: A program executed by a computer that accepts access from a plurality of applications operating on a terminal device, Each of the plurality of applications is If the access token issued for the application is not stored in the non-volatile storage area reserved for the application by the terminal device, the user is prompted for a user name and password, and the entered user name and Send a sign-in request specifying the password to the computer, If an access token issued to the application is stored in the nonvolatile storage area, an access request specifying the access token is transmitted to the computer, The program is stored in the computer.
  • a sign-in authentication procedure for performing authentication with the user name and password specified in the sign-in request, If the authentication is successful, the access token associated with the user name specified in the sign-in request is issued to the transmission source application that transmitted the sign-in request, and the issued access token is transmitted.
  • a first extension procedure for extending the expiration date attached to another stored access token When the access request transmitted from any one of the applications operating on the terminal device is received, the access token specified in the access request is a terminal of the terminal device on which the transmission source application that transmitted the access request operates.
  • a non-transitory computer-readable information recording medium that records a program executed by a computer that accepts access from a plurality of applications operating on a terminal device, Each of the plurality of applications is If the access token issued for the application is not stored in the non-volatile storage area reserved for the application by the terminal device, the user is prompted for a user name and password, and the entered user name and Send a sign-in request specifying the password to the computer, If an access token issued to the application is stored in the nonvolatile storage area, an access request specifying the access token is transmitted to the computer, The program is stored in the computer.
  • a sign-in authentication procedure for performing authentication with the user name and password specified in the sign-in request, If the authentication is successful, the access token associated with the user name specified in the sign-in request is issued to the transmission source application that transmitted the sign-in request, and the issued access token is transmitted.
  • a first extension procedure for extending the expiration date attached to another stored access token When the access request transmitted from any one of the applications operating on the terminal device is received, the access token specified in the access request is a terminal of the terminal device on which the transmission source application that transmitted the access request operates.
  • the present invention it is possible to reduce the burden on the user required for authentication processing when providing a service from the server device to the same terminal device that operates a plurality of applications.
  • the server device 100 is a server device that provides a service to a user via an application that runs on a terminal device operated by the user.
  • the server apparatus 100 determines (authenticates) whether an application running on the terminal apparatus can provide the service, and provides the service only when it is authenticated that the application can be provided.
  • the server apparatus 100 includes an authentication unit 10 and a service providing unit 13 as shown in FIG.
  • the authentication unit 10 is a functional unit that receives an authentication request from an application running on the terminal device 200 operated by the user U and authenticates whether or not the service can be provided.
  • the service providing unit 13 is a functional unit that provides a service to the user U via the application 31 authenticated by the authentication unit 10.
  • the authentication unit 10 includes a sign-in authentication unit 11 and an access token authentication unit 12 as functional units for authenticating the application 31.
  • the sign-in authentication unit 11 receives a sign-in request for designating a user name and a password from the application 31.
  • the sign-in authentication unit 11 authenticates the application 31 when the combination of the user name and password included in the accepted sign-in request is recorded in the user / password correspondence DB 21.
  • the sign-in authentication unit 11 When the sign-in authentication unit 11 authenticates the transmission source application (application 31) that has transmitted the sign-in request, the sign-in authentication unit 11 issues an access token for the application and records it in the access token DB 22. The sign-in authentication unit 11 transmits the issued access token to the transmission source application (application 31). The application 31 records the transmitted access token.
  • the application 31 uses a service provided by the server device 100, if an access token is stored in the nonvolatile storage area for the application 31 of the terminal device 200, the application 31 issues an access request for designating the stored access token. Send. On the other hand, if the access token is not stored in the nonvolatile storage area, the application 31 requests the user U to input the user name and password. When the user U inputs a user name and password in response to the request, the application 31 transmits a sign-in request for designating the input user name and password to the server apparatus 100.
  • the access token authentication unit 12 receives an access request specifying an access token from the application 31.
  • the access token included in the received access request is recorded in the access token DB 22 in association with the terminal identification code indicating the terminal device (terminal device 200) that is the transmission source, the access token authentication unit 12
  • the application 31 is authenticated.
  • the server apparatus 100 authenticates the application 31 by combining the sign-in authentication unit 11 and the access token authentication unit 12 in this way.
  • the application 31 running on the terminal device 200 requests the server device 100 to authenticate with the access token when the access token is recorded, and when the access token is not recorded, the user name input by the user U
  • the server apparatus 100 is requested to authenticate with a password. Therefore, when the access token is not recorded (that is, when there is no authentication record), the user U is requested to input, but when the access token is recorded (that is, when there is an authentication record), it is recorded. Authenticate with the existing access token and omit input by the user U. Therefore, the burden on the user U required for the authentication process can be reduced.
  • the access token is data including a key and an authentication character string, as will be described later.
  • the key is an identification number uniquely given by the server apparatus 100 as information indicating an access token.
  • the authentication character string is a character string given by the server device 100 to indicate that the access token is correct. Generally, the server device 100 accesses a random character string generated under a certain condition. It is given as the token authentication string.
  • the server device 100 manages the access token recorded in the access token DB 22 with an expiration date. In other words, even if an application (or terminal device) has been authenticated once and an access token has been issued, the access token is not authenticated by the application (same terminal device) by a predetermined expiration date. Expires. When the access token expires, in order to receive the service by the server apparatus 100 with the application and terminal device associated with the access token, the user needs to enter the user name and password and be authenticated by sign-in. It is.
  • the server device 100 when the server device 100 authenticates the application (and the terminal device) by the access request including the access token, the server device 100 extends the validity period of the access token. Therefore, the user can continuously receive the service by the server device 100 via the application within the expiration date (that is, authentication by the access token), and thus the server can be continued without inputting the user name and password. The service by the device 100 can be received.
  • the terminal device 200 can operate an application in addition to the application 31.
  • the server device 100 authenticates the applications 31, 32, and 33 with the same user account (authentication using the same user name and password combination). can do. That is, when the server apparatus 100 authenticates the sign-in request transmitted from the application 31, the sign-in request specifying the same user name and password combination as the user name and password specified by the sign-in request is received from the application 32. When transmitted, the application 32 is authenticated.
  • the sign-in authentication unit 11 When the sign-in authentication unit 11 authenticates the application, it issues an access token.
  • the sign-in authentication unit 11 records the issued access token in the access token DB 22 and transmits the issued access token to the authenticated application.
  • the transmitted access token is recorded by the terminal device 200 for each authenticated application in a nonvolatile storage area reserved for the application. That is, even for a plurality of applications (applications 31, 32, 33) authenticated by the same user account, the server apparatus 100 issues an access token individually. Each of the applications 31, 32, and 33 records the issued access token.
  • the terminal device 200 does not share information (user name, password, access token) related to authentication between applications to be operated. This is because the information related to authentication is very important information for security, and the risk of leaking such important information is reduced. For this reason, the application 31 cannot authenticate by referring to the access token recorded in the application 32.
  • the server apparatus 100 uses common data (user / password correspondence DB 21 and access token DB 22) for authentication in a plurality of applications. Therefore, in the server device 100, when there is an access from the application 31 running on the terminal device 200, it is possible to access information related to the access token of the applications (applications 32 and 33) running on the same terminal device 200. is there.
  • the server apparatus 100 authenticates the sign-in request from the application 31 via the sign-in authentication unit 11
  • the terminal identification code indicating the terminal apparatus (terminal apparatus 200) on which the application 31 operates is displayed in the access token.
  • the access token is recorded in the access token DB 22 together with information indicating the terminal device 200.
  • the server apparatus 100 When the server apparatus 100 authenticates the sign-in request from the application 31, the server apparatus 100 extracts and extracts the access token issued to the application operating in the terminal apparatus 200 that is the same terminal apparatus as the application 31 recorded in the access token DB 22. Extend the access token expiration date. Specifically, the server apparatus 100 identifies the access tokens transmitted from the access token DB 22 to the applications 32 and 33, and updates the expiration date attached to them to a later date and time.
  • the server device 100 extracts the access token issued to the application operating on the terminal device 200 recorded in the access token DB 22, and sets the expiration date of the extracted access token. Extend. Specifically, the server apparatus 100 identifies the access tokens transmitted to the applications 31, 32, and 33 from the access token DB 22, and updates the expiration date attached to them to a later date and time. .
  • the server apparatus 100 has the configuration described so far, thereby authenticating applications (applications 31, 32, and 33) running on the terminal apparatus 200 and providing services to the authenticated applications. Even when the authentication request (sign-in request or access request) from the application 31 is not long-term, the authentication request from the application 32 operating on the terminal device 200 that is the same terminal device is within the access token expiration date. If there is, the validity period of the access token issued to the application 31 is extended. Therefore, it is possible to reduce the burden on the user required for the authentication process when providing a service from the server device to the same terminal device that operates a plurality of applications.
  • the server device 100 includes a control unit 110, a recording device 120, an operation device 130, a display 140, and a network interface 150 as hardware, which are connected via an internal bus 190. Are connected to each other.
  • the control unit 110 includes a CPU (Central Processing Unit) 111, a ROM (Read Only Memory) 112, a RAM (Random Access Memory) 113, and the like.
  • a CPU Central Processing Unit
  • ROM Read Only Memory
  • RAM Random Access Memory
  • the control unit 110 controls the operation of the entire server device 100.
  • the control unit 110 reads data such as a program from the recording device 120 as necessary, and stores the data in the recording device 120.
  • the recording device 120 includes a recording device such as a hard disk drive or a flash memory, and stores data necessary for the server device 100 to operate.
  • the operation device 130 includes a keyboard, a mouse, and the like, receives an input operation by the user U, and transmits it to the control unit 110.
  • the display 140 includes a liquid crystal display or a cathode ray tube monitor, and displays information necessary for the user of the server apparatus 100.
  • the network interface 150 connects the server device 100 to the network.
  • the server device 100 transmits information to other devices via the network or receives information from other devices
  • the network interface 150 uses the information received from the control unit 110 via an internal bus 190 described later to the network.
  • the information transmitted to the other device via the network and the information received from the other device via the network is transmitted to the control unit 110 via the internal bus 190.
  • the server apparatus 100 transmits / receives data to / from the terminal apparatus 200 operated by the user U via the network interface 150.
  • the user U is authenticated and provided with a service via the terminal device 200 connected to the server device 100 via the network.
  • the terminal device 200 that provides the service by the server device 100 includes a control unit 210, a recording device 220, a touch panel 230, and a network interface 250 as hardware. It has a connected configuration.
  • the control unit 210 includes a CPU 211, a ROM 212, a RAM 213, and the like.
  • the control unit 210 controls the operation of the terminal device 200 as a whole.
  • the recording device 220 includes a recording device such as a hard disk drive or a flash memory, and stores data necessary for the terminal device 200 to operate.
  • the touch panel 230 is an electronic device that combines a display capable of displaying information and a position detection device that detects a touched place.
  • the touch panel 230 receives an input operation by the user U and transmits it to the control unit 210 by the position detection device.
  • the touch panel 230 displays information necessary for the user U by a display.
  • the network interface 250 connects the terminal device 200 to the network.
  • the terminal device 200 transmits and receives data to and from the server device 100 via the network interface 250.
  • the application 31 operated by the terminal device 200 includes the components shown in FIG. That is, the application 31 includes a service receiving unit 31 a that receives a service from the service providing unit 13 of the server device 100 and an authentication unit 31 b that receives authentication from the server device 100 as functional units. Furthermore, the application 31 records the access token 31 c in the nonvolatile storage area of the terminal device 200 assigned to the application 31.
  • the access token 31c includes a key 31ca and an authentication character string 31cb.
  • the key 31ca is identification information uniquely assigned by the server apparatus 100 in order to specify the access token.
  • the authentication character string 31cb is a character string issued by the server device 100 in association with a key so that the access token is not used illegally.
  • the server device 100 When generating an access token, the server device 100 generates a key serving as identification information as unique information, and then generates an access token by assigning a random character string generated under certain conditions to the key. To do.
  • the access token is issued and managed by the server device 100 for each application.
  • the authentication unit 31 b makes a sign-in request with a user name and a password, and is permitted, the access token transmitted from the server device 100 is recorded without modification.
  • the application 31 records and transmits the access token 31c, but does not modify the data.
  • each of the application 31 and the application 32 records the access token uniquely. That is, the access token recorded by the application 31 and the access token recorded by the application 32 are recorded independently, and the contents do not match.
  • Application 31 may not record data related to authentication in addition to access token 31c.
  • the application 31 prompts the user to input a user name and password, and the server device 100 uses the input user name and password.
  • the transmitted user name and password will not be referred to thereafter.
  • the server device 100 records the data shown in FIG. 4 in the user / password correspondence DB 21. That is, the server device 100 records the user name and the password associated with the user name in the user / password correspondence DB 21.
  • the character string indicating the password is shown as it is, but the character string indicating the password (or information corresponding to the password) is recorded in the user / password correspondence DB 21 in a form ensuring security. It is desirable.
  • a character string generated by encrypting a character string of a password input by a user may be recorded in the user / password correspondence DB 21.
  • the server apparatus 100 decrypts the encrypted password recorded in the user / password correspondence DB 21, Judgment is made based on whether the input character string matches the set password.
  • the hash value of the password input by the user may be recorded in the user / password correspondence DB 21.
  • the server apparatus 100 when recording the information corresponding to the character string indicating the password, the server apparatus 100 records the information generated using the hash function based on the character string indicating the password in the user / password correspondence DB 21.
  • the server apparatus 100 uses the information generated using the hash function based on the character string input by the user as the user password. The determination is based on whether the information matches the information recorded in the correspondence DB 21.
  • the server apparatus 100 uses the hash function to generate information (based on a character string obtained by adding a character string called salt to the character string set as the password by the user in the user / password correspondence DB 21 ( (Hash value) and salt may be recorded in association with each other.
  • the server apparatus 100 records the data shown in FIG. 5 in the access token DB 22.
  • the server apparatus 100 stores in the access token DB 22 an access token including a key and an authentication character string, an application ID that is an identification number indicating an application, a user name, an expiration date given to the target access token, and a terminal identification that indicates a terminal apparatus. Information such as a code is recorded.
  • the access token authentication character string is a 12-character random character string consisting of letters and numbers.
  • the present invention is not limited to this, and a longer random character string may be used as the authentication character string.
  • the server apparatus 100 When the server apparatus 100 authenticates the application by sign-in, the server apparatus 100 issues an access token and records it in the access token DB 22. At that time, the application ID indicating the transmission source application that requested the sign-in authentication, the user name authenticated by the sign-in, and the terminal identification code of the terminal device on which the transmission source application operates are recorded in association with the access token. To do. Further, at the time of authentication, an expiration date is given to the access token, and the assigned expiration date is recorded in the access token DB 22.
  • An authentication request process which is a process executed first when the application 31 is activated in the terminal device 200, will be described with reference to FIG.
  • the application 31 starts the authentication request process when the activation operation is performed by the user U.
  • the application 31 determines whether or not an access token is recorded in the nonvolatile storage area allocated to the application 31 in the terminal device 200 (step S11).
  • step S11 If it is determined in step S11 that no access token is recorded (step S11: NO), the application 31 requests the user to input a user name and password (step S12).
  • the application 31 displays a form for inputting the user name and password via the touch panel 230 of the terminal device 200 and prompts the user to input the form.
  • the application 31 transmits a sign-in request to the server device 100 (step S13).
  • the application 31 transmits a sign-in request designating the user name and password input by the user to the server device 100.
  • the application 31 determines whether or not access is permitted by the server device 100 (step S14).
  • the application 31 receives a signal transmitted from the server apparatus 100 in response to the transmitted sign-in request, and indicates that the received signal indicates that access is permitted or that access is denied. Determine if there is.
  • step S14 If it is determined in step S14 that access is permitted by the server device 100 (step S14: YES), the application 31 stores an access token (step S15).
  • the server apparatus 100 transmits an access token to the application 31 in addition to a signal for permitting access, as will be described later.
  • the application 31 receives the access token transmitted from the server device 100 and records it in the nonvolatile storage area.
  • the application 31 starts using the service by the user (step S16).
  • the application 31 is connected to the service providing unit 13 of the server apparatus 100 via the service receiving unit 31a. Thereafter, the application 31 ends the authentication request process while continuing to use the service of the server device 100 by the user U.
  • step S14 If it is determined in step S14 that access is not permitted by the server device 100 (step S14: NO), the user is notified that use of the service has been denied (step S17).
  • the server apparatus 100 does not permit access to the sign-in request, the server apparatus 100 transmits a signal to the application 31 to deny access.
  • the application 31 Upon receipt of the signal indicating that access is denied from the server device 100, the application 31 notifies the user U that service provision has been denied (authentication has failed).
  • step S17 ends, the application 31 ends the authentication request process.
  • step S11 when it is determined in step S11 that an access token is recorded (step S11: YES), the application 31 transmits an access request using the recorded access token to the server device 100 (step S18).
  • the application 31 attaches a terminal identification code indicating the terminal device 200 to the recorded access token and transmits it to the server device 100.
  • the application 31 determines whether or not access is permitted by the server device 100 (step S19).
  • the application 31 receives a signal transmitted from the server apparatus 100 in response to the transmitted access request, and the received signal indicates that access is permitted or indicates that access is denied. Determine whether.
  • step S19 If it is determined in step S19 that access is permitted by the server apparatus 100 (step S19: YES), the application 31 moves the process to step S16 described above and starts using the service by the user (step S16).
  • the application 31 is connected to the service providing unit 13 of the server apparatus 100 via the service receiving unit 31a. Thereafter, the application 31 ends the authentication request process while continuing to use the service of the server device 100 by the user U.
  • step S19 If it is determined in step S19 that access is not permitted by the server device 100 (step S19: NO), the application 31 moves the process to step S17 described above and notifies the user that the use of the service is denied. (Step S17).
  • the server apparatus 100 does not permit access to the access request, the server apparatus 100 transmits a signal to the application 31 to deny access.
  • the application 31 Upon receipt of the signal indicating that access is denied from the server device 100, the application 31 notifies the user U that service provision has been denied (authentication has failed).
  • step S17 ends, the application 31 ends the authentication request process.
  • the terminal device 200 executes the authentication request processing described so far, transmits a sign-in request or an access request to the server device 100, and starts using the service only when access is permitted. From here, the authentication processing (sign-in request authentication processing and access request authentication processing) executed by the server device 100 in response to the authentication request processing by the terminal device 200 will be described.
  • the server apparatus 100 When the server apparatus 100 receives the sign-in request from the application 31, the server apparatus 100 starts the sign-in request authentication process shown in FIG.
  • the server apparatus 100 extracts the user name and password from the received sign-in request (step S21).
  • the server apparatus 100 extracts the user name and password from the received sign-in request, and specifies each as the user name and password specified by the sign-in request.
  • the server device 100 determines whether or not a password extracted in association with the extracted user name is recorded in the user / password correspondence DB 21 (step S22).
  • the server apparatus 100 searches the user / password correspondence DB 21 based on the extracted user name, and determines whether the password recorded in association with the extracted user name matches the extracted password.
  • step S22 If it is determined in step S22 that the password extracted in association with the extracted user name is not recorded (step S22: NO), the server device 100 transmits to the application 31 that access is denied (step S27). Thereafter, the server apparatus 100 ends the authentication process for the sign-in request.
  • step S22 if it is determined in step S22 that a password extracted in association with the extracted user name is recorded (step S22: YES), the server device 100 issues an access token (step S23).
  • the server device 100 generates an access token key and an authentication character string, and issues an access token by connecting them.
  • the server device 100 transmits the access permission and the issued access token to the application 31 (step S24).
  • the server apparatus 100 transmits to the application 31 a signal indicating that access is permitted and the access token issued in step S23.
  • the server apparatus 100 records the issued access token with an expiration date (step S25).
  • the server apparatus 100 issues an access token issued, information indicating when the expiration date is, an application ID indicating the application 31, and a terminal identification code indicating the terminal apparatus (terminal apparatus 200) in which the application 31 is operating. Are recorded in the access token DB 22 as one record.
  • the server device 100 extends the expiration date of other access tokens having the same terminal identification code (step S26).
  • the server device 100 reads all records in which the terminal identification codes of the terminal devices 200 are recorded from the access token DB 22.
  • the server apparatus 100 extends the recorded expiration date for records other than the record recorded in step S25 among the read records.
  • step S26 ends, the server apparatus 100 ends the sign-in request authentication process.
  • the server device 100 specifies the terminal identification code of the terminal device that is the transmission source of the received access request (step S31).
  • the server apparatus 100 extracts a terminal identification code indicating the transmission source terminal apparatus (terminal apparatus 200) from the access request.
  • the server device 100 extracts an access token from the received access request (step S32).
  • the server apparatus 100 extracts a portion corresponding to the access token from the received access request.
  • the server device 100 determines whether or not the extracted access token is effectively recorded in the access token DB 22 (step S33).
  • the server apparatus 100 reads the access token extracted in step S32 from the access token DB 22, and determines whether or not the expiration date given to the access token has elapsed. In the server apparatus 100, (1) when the extracted access token is not recorded in the access token DB 22, and (2) the extracted access token is recorded in the access token DB 22, but the expiration date has already passed. If the access token has been extracted, it is determined that the extracted access token is not effectively recorded in the access token DB 22.
  • step S33 If it is determined in step S33 that the extracted access token is not effectively recorded in the access token DB 22 (step S33: NO), the server apparatus 100 transmits to the application 31 that access is denied (step S36). Thereafter, the server apparatus 100 ends the access request authentication process.
  • step S33 when it is determined in step S33 that the extracted access token is effectively recorded in the access token DB 22 (step S33: YES), the server device 100 transmits access permission to the application 31 (step S34). ). The server apparatus 100 transmits a signal indicating that access is permitted to the application 31.
  • the server device 100 extends the expiration date of all access tokens of the terminal identification code specified in step S31 (step S35).
  • the server apparatus 100 reads all records in which the terminal identification code specified in step S31 is recorded from the access token DB 22.
  • the server apparatus 100 extends the recorded expiration date for all the read records.
  • step S35 is completed, the server apparatus 100 ends the access request authentication process.
  • the server apparatus 100 When the server apparatus 100 authenticates the application 31 by the two authentication processes described so far (authentication process by sign-in request and authentication process by access request), the server apparatus 100 is the same terminal apparatus as the application 31 (terminal apparatus 200). The validity period of the access tokens of the applications 32 and 33 operating in (1) is extended. Thereby, the input of the user name and password when the user U receives a service with the application 32 or 33 can be omitted.
  • the server device 100 since the expiration date of the access token is managed by the server device 100, information sharing between applications running on the terminal device 200 is not necessary. For this reason, memory sharing between applications is restricted in the terminal device 200, and the server device 100 can use the application 31 with the authentication of the application 31 even in an environment where the applications 31 and 32 cannot access the same data. The validity period of the access token issued to the user can be extended.
  • step S33 when the server apparatus 100 determines in step S33 that the access token is not effectively recorded in the access token DB 22, the server apparatus 100 transmits an access rejection message to the application 31 (step S33). S36), the process is terminated.
  • the server apparatus 100 may not only simply refuse access but also instruct the application 31 that is a transmission source to transmit a sign-in request.
  • the application 31 does not handle the recorded information regarding the expiration date of the access token, and therefore holds the access token as it is even after the expiration date of the access token has passed. Therefore, when the application 31 transmits an access token whose expiration date has passed to the server apparatus 100, the server apparatus 100 instructs the application apparatus 31 to transmit a sign-in request. Notify that the token is already invalid.
  • the application 31 deletes the recorded access token, requests the user to input a user name and password, and transmits a sign-in request for designating the input user name and password to the server apparatus 100.
  • the application 31 can receive a valid access token from the server device 100 by being authenticated by the sign-in request.
  • the server apparatus 100 instructs that the sign-in request should be transmitted, the record indicating the access token in the access token DB 22 (when the access token is recorded as not within the valid period) From this, the user name may be extracted, and the extracted user name may be transmitted to the application 31.
  • the terminal device 200 requests the user to input a user name and a password, the terminal device 200 can indicate to the user which user name to sign in by presenting the received user name.
  • the server apparatus 100 When the server apparatus 100 according to the present embodiment authenticates the access request (or sign-in request) from the application 31, it is issued to another application (application 32) that operates on the same terminal apparatus (terminal apparatus 200). Extend the access token expiration date. At this time, an arbitrary form can be considered as a form for extending the expiration date.
  • the server device 100 authenticates the access request from the application 31 and extends the expiration date given to the access token issued to the application 31 by a first period.
  • the expiration date given to the application 31 Is set to the first deadline.
  • the remaining period of the expiration date assigned to the access token issued to the application 31 is the second period before the extension.
  • the server apparatus 100 may extend the expiration date of the access token issued to the application 32 by the following method. (1) Set to the same date and time as the extension time limit (first time limit) newly set for the access token issued to the application 31. (2) Extend for a period corresponding to the period extended to the access token issued to the application 31 (first period).
  • the server apparatus 100 sets March 31, 2016 as a new expiration date in the access token issued to the application 31.
  • the server device 100 also sets the same date and time (March 31, 2016) as the expiration date for the access token issued to the application 32.
  • the server device 100 extends the expiration date of the access token issued to the application 31 for 10 days.
  • the server apparatus 100 extends the expiration date of the access token issued to the application 32 for the same period (10 days).
  • the server apparatus 100 extends this for 10 days.
  • the server apparatus 100 is configured so that the remaining period of the validity period is three times that before the extension. Extend for 14 days.
  • the server device can be realized not only by a dedicated system but also by using a normal computer system.
  • a computer-readable program such as a flexible disk, a CD-ROM (Compact Disk-Read Only Memory), a DVD (Digital Versatile Disk), or an MO (Magnet Optical Disk) is stored in a computer.
  • a source program analysis system that executes the above-described processing may be configured by storing and distributing the program in a medium and installing it in a computer system.
  • the program may be stored in a disk device or the like included in a server device on the Internet, and may be downloaded onto a computer by being superimposed on a carrier wave, for example.
  • server device is not limited to one realized by a single device.
  • a plurality of computers may share the functions of the above-described units, thereby providing each function as one system including the plurality of computers.
  • Authentication unit 11 Sign-in authentication unit 12: Access token authentication unit 13: Service providing unit 21: User / password correspondence DB 22: Access token DB 31: Application 31a: Service reception unit 31b: Authentication unit 31c: Access token 32: Application 33: Application 100: Server device 110: Control unit 111: CPU 112: ROM 113: RAM 120: Recording device 130: Operation device 140: Display 150: Network interface 190: Internal bus 200: Terminal device 210: Control unit 211: CPU 212: ROM 213: RAM 220: Recording device 230: Touch panel 250: Network interface 290: Internal bus U: User

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Automation & Control Theory (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Storage Device Security (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

サーバ装置(100)は、端末装置(200)にて動作するアプリケーション(31)からのアクセスを受け付ける。サーバ装置(100)は、端末装置(200)のアプリケーション(31)をユーザ名およびパスワードによる認証を行い、成功すれば、アプリケーション(31)にアクセストークンを送信するとともにアクセスを許可する。サーバ装置(100)は、アクセストークンを発行すると、端末装置(200)に対応付けられている他のアクセストークンに付された有効期限を延長する。サーバ装置(100)は、端末装置(200)のアプリケーション(31)から受信したアクセストークンが、端末装置(200)に対応付けられ、有効期限内として記憶されていれば、アプリケーション(31)からのアクセスを許可し、端末装置(200)に対応付けられているすべてのアクセストークンに付された有効期限を延長する。

Description

サーバ装置、サービス方法、プログラム、ならびに、非一時的なコンピュータ読取可能な情報記録媒体
 本発明は、サーバ装置、サービス方法、プログラム、ならびに、非一時的なコンピュータ読取可能な情報記録媒体に関する。
 近年、いわゆるスマートフォンの普及に従い、ユーザが操作する端末装置が、サービス提供者が設置したサーバ装置にアクセスすることにより、サービスを利用することが増えている。このような形態でサービスを提供する場合、サーバ装置がユーザを識別するために、認証という処理が要求されることがある。
 一般には、認証には、ユーザ名およびパスワードを指定するサインイン要求を端末装置がサーバ装置に送信する形態(サインイン)が用いられる。また、別の形態として、いったんサインイン要求により認証された端末装置へ再びサービスを提供する際に、ユーザ名およびパスワードの入力の手間を省略するために、アクセストークンが用いられることもある。アクセストークンは、端末装置に記録され、ユーザがサービスを要求する際に、端末装置からサーバ装置に送信されて認証に用いられる。
 例えば、特許文献1では、アクセストークンを用いた認証方法に関する技術が公開されている。特許文献1の技術では、アクセス権限の譲渡者の要求に応じ、認可サーバがアクセス権限の被譲渡者にアクセストークンを発行する。アクセス権限の被譲渡者は、発行されたアクセストークンを用いて認証を受けることが可能となる。特許文献1の技術は、このように、譲渡者の信用情報(本人のユーザ名およびパスワード)に触れることなく、譲渡者により許可された情報にアクセスできるようにしようとするものである。
特開2015-201098号公報
 しかしながら、上述した技術では、同一の端末装置で複数のアプリケーションが動作する環境において、認証処理に要するユーザの負担を低減することはできない。
 同一の端末装置で複数のアプリケーションが動作する環境では、アプリケーション間でのメモリ共有が制限されるケースが多い。特に、認証に用いられるような重要な情報については、セキュリティ上の観点から、他のアプリケーションとはほとんどの場合で共有が認められない。このような場合、ユーザが、同一の端末装置において、同一のアカウント情報を用い、複数のアプリケーションを利用する場合、アプリケーションごとに認証情報を入力する必要がある。そのため、ユーザにかかる認証処理の負担が大きくなっている。
 本発明は、このような問題点に鑑みてなされたものである。すなわち、本発明の目的は、複数のアプリケーションを動作させる同一の端末装置にサーバ装置からサービスを提供するときの、認証処理に要するユーザの負担を低減することにある。
 上記目的を達成するため、本発明の第1の観点にかかるサーバ装置は、
 端末装置にて動作する複数のアプリケーションからのアクセスを受け付けるサーバ装置であって、
 前記複数のアプリケーションのそれぞれは、
 当該アプリケーションに対して発行されたアクセストークンが、前記端末装置が当該アプリケーション用に確保した不揮発性記憶域に記憶されていなければ、ユーザにユーザ名とパスワードの入力を求め、入力されたユーザ名およびパスワードを指定するサインイン要求を前記サーバ装置へ送信し、
 当該アプリケーションに対して発行されたアクセストークンが、前記不揮発性記憶域に記憶されていれば、当該アクセストークンを指定するアクセス要求を前記サーバ装置へ送信し、
 前記サーバ装置は、
 前記端末装置にて動作するいずれかの前記アプリケーションから送信された前記サインイン要求を受信すると、当該サインイン要求に指定されたユーザ名およびパスワードによる認証を行い、
 前記認証に成功すれば、当該サインイン要求を送信した送信元アプリケーションに対して、当該サインイン要求に指定されたユーザ名に結び付けられたアクセストークンを発行し、当該発行されたアクセストークンを前記送信元アプリケーションへ送信し、前記送信元アプリケーションからのアクセスを許可し、
 前記発行されたアクセストークンを、前記サインイン要求を送信した送信元アプリケーションが動作する端末装置を示す端末識別符号に対応付けて、有効期限を付して記憶し、当該端末識別符号に対応付けて記憶される他のアクセストークンに付された有効期限を延長し、
 前記端末装置にて動作するいずれかの前記アプリケーションから送信された前記アクセス要求を受信すると、当該アクセス要求に指定されたアクセストークンが、前記アクセス要求を送信した送信元アプリケーションが動作する端末装置の端末識別符号に対応付けられ、有効期限内として記憶されていれば、当該送信元アプリケーションからのアクセスを許可し、当該端末識別符号に対応付けて記憶されるすべてのアクセストークンに付された有効期限を延長する、
 ことを特徴とする。
 上記第1の観点にかかるサーバ装置は、
 前記受信されたアクセス要求に指定されたアクセストークンが記憶されていない、または、記憶された有効期限の範囲内でないと、前記送信元アプリケーションに対して、前記サインイン要求を送信すべき旨を指示する、
 ものであってもよい。
 上記第1の観点にかかるサーバ装置は、
 前記発行されたアクセストークンを、前記端末識別符号と、前記サインイン要求に指定されたユーザ名との組み合わせに対応付けて、前記有効期限を付して記憶し、
 前記受信されたアクセス要求に指定されたアクセストークンが、前記アクセス要求を送信した送信元アプリケーションが動作する端末装置の端末識別符号に対応付けられて、有効期限の範囲内でないと記憶されていると、前記送信元アプリケーションに対して、前記端末識別符号を含む組み合わせに含まれるユーザ名を送信したうえで、前記サインイン要求を送信すべき旨を指示する、
 ものであってもよい。
 上記第1の観点にかかるサーバ装置は、
 前記受信されたアクセス要求に指定されたアクセストークンが、前記アクセス要求を送信した送信元アプリケーションが動作する端末装置の端末識別符号に対応付けられ、有効期限内として記憶されており、前記送信元アプリケーションに対して発行されたアクセストークンの有効期限を第1の期限まで延長すると、当該端末識別符号に対応付けて記憶される、他の前記アプリケーションに対して発行されたすべてのアクセストークンに付された有効期限を、前記第1の期限まで延長する、
 ものであってもよい。
 上記第1の観点にかかるサーバ装置は、
 前記受信されたアクセス要求に指定されたアクセストークンが、前記アクセス要求を送信した送信元アプリケーションが動作する端末装置の端末識別符号に対応付けられ、有効期限内として記憶されており、前記送信元アプリケーションに対して発行されたアクセストークンの有効期限を第1の期間分延長すると、当該端末識別符号に対応付けて記憶される、他の前記アプリケーションに対して発行されたすべてのアクセストークンに付された有効期限を、前記第1の期間分延長する、
 ものであってもよい。
 上記第1の観点にかかるサーバ装置は、
 前記受信されたアクセス要求に指定されたアクセストークンが、前記アクセス要求を送信した送信元アプリケーションが動作する端末装置の端末識別符号に対応付けられ、有効期限内として記憶されており、前記送信元アプリケーションに対して発行されたアクセストークンの有効期限を延長することにより、当該アクセストークンの有効期限における残余期間が延長前の第1の倍率となると、当該端末識別符号に対応付けて記憶される、他の前記アプリケーションに対して発行されたすべてのアクセストークンに付された有効期限を、当該有効期限における残余期間が延長前に比べて前記第1の倍率となるように延長する、
 ものであってもよい。
 上記目的を達成するため、本発明の第2の観点にかかるサービス方法は、
 端末装置にて動作する複数のアプリケーションからのアクセスを受け付けるサーバ装置によるサービス方法であって、
 前記複数のアプリケーションのそれぞれは、
 当該アプリケーションに対して発行されたアクセストークンが、前記端末装置が当該アプリケーション用に確保した不揮発性記憶域に記憶されていなければ、ユーザにユーザ名とパスワードの入力を求め、入力されたユーザ名およびパスワードを指定するサインイン要求を前記サーバ装置へ送信し、
 当該アプリケーションに対して発行されたアクセストークンが、前記不揮発性記憶域に記憶されていれば、当該アクセストークンを指定するアクセス要求を前記サーバ装置へ送信し、
 前記サーバ装置は、
 前記端末装置にて動作するいずれかの前記アプリケーションから送信された前記サインイン要求を受信すると、当該サインイン要求に指定されたユーザ名およびパスワードによる認証を行い、
 前記認証に成功すれば、当該サインイン要求を送信した送信元アプリケーションに対して、当該サインイン要求に指定されたユーザ名に結び付けられたアクセストークンを発行し、当該発行されたアクセストークンを前記送信元アプリケーションへ送信し、前記送信元アプリケーションからのアクセスを許可し、
 前記発行されたアクセストークンを、前記サインイン要求を送信した送信元アプリケーションが動作する端末装置を示す端末識別符号に対応付けて、有効期限を付して記憶し、当該端末識別符号に対応付けて記憶される他のアクセストークンに付された有効期限を延長し、
 前記端末装置にて動作するいずれかの前記アプリケーションから送信された前記アクセス要求を受信すると、当該アクセス要求に指定されたアクセストークンが、前記アクセス要求を送信した送信元アプリケーションが動作する端末装置の端末識別符号に対応付けられ、有効期限内として記憶されていれば、当該送信元アプリケーションからのアクセスを許可し、当該端末識別符号に対応付けて記憶されるすべてのアクセストークンに付された有効期限を延長する、
 ことを特徴とする。
 上記目的を達成するため、本発明の第3の観点にかかるプログラムは、
 端末装置にて動作する複数のアプリケーションからのアクセスを受け付けるコンピュータにより実行されるプログラムであって、
 前記複数のアプリケーションのそれぞれは、
 当該アプリケーションに対して発行されたアクセストークンが、前記端末装置が当該アプリケーション用に確保した不揮発性記憶域に記憶されていなければ、ユーザにユーザ名とパスワードの入力を求め、入力されたユーザ名およびパスワードを指定するサインイン要求を前記コンピュータへ送信し、
 当該アプリケーションに対して発行されたアクセストークンが、前記不揮発性記憶域に記憶されていれば、当該アクセストークンを指定するアクセス要求を前記コンピュータへ送信し、
 前記プログラムは、前記コンピュータに、
 前記端末装置にて動作するいずれかの前記アプリケーションから送信された前記サインイン要求を受信すると、当該サインイン要求に指定されたユーザ名およびパスワードによる認証を行うサインイン認証手順、
 前記認証に成功すれば、当該サインイン要求を送信した送信元アプリケーションに対して、当該サインイン要求に指定されたユーザ名に結び付けられたアクセストークンを発行し、当該発行されたアクセストークンを前記送信元アプリケーションへ送信し、前記送信元アプリケーションからのアクセスを許可する許可手順、
 前記発行されたアクセストークンを、前記サインイン要求を送信した送信元アプリケーションが動作する端末装置を示す端末識別符号に対応付けて、有効期限を付して記憶し、当該端末識別符号に対応付けて記憶される他のアクセストークンに付された有効期限を延長する第1延長手順、
 前記端末装置にて動作するいずれかの前記アプリケーションから送信された前記アクセス要求を受信すると、当該アクセス要求に指定されたアクセストークンが、前記アクセス要求を送信した送信元アプリケーションが動作する端末装置の端末識別符号に対応付けられ、有効期限内として記憶されていれば、当該送信元アプリケーションからのアクセスを許可するアクセス要求認証手順、
 前記受信されたアクセス要求に指定されたアクセストークンが、前記アクセス要求を送信した送信元アプリケーションが動作する端末装置の端末識別符号に対応付けられ、有効期限内として記憶されていると、当該端末識別符号に対応付けて記憶されるすべてのアクセストークンに付された有効期限を延長する第2延長手順、
 を実行させることを特徴とする。
 上記目的を達成するため、本発明の第4の観点にかかる非一時的なコンピュータ読取可能な情報記録媒体は、
 端末装置にて動作する複数のアプリケーションからのアクセスを受け付けるコンピュータにより実行されるプログラムを記録した、非一時的なコンピュータ読取可能な情報記録媒体であって、
 前記複数のアプリケーションのそれぞれは、
 当該アプリケーションに対して発行されたアクセストークンが、前記端末装置が当該アプリケーション用に確保した不揮発性記憶域に記憶されていなければ、ユーザにユーザ名とパスワードの入力を求め、入力されたユーザ名およびパスワードを指定するサインイン要求を前記コンピュータへ送信し、
 当該アプリケーションに対して発行されたアクセストークンが、前記不揮発性記憶域に記憶されていれば、当該アクセストークンを指定するアクセス要求を前記コンピュータへ送信し、
 前記プログラムは、前記コンピュータに、
 前記端末装置にて動作するいずれかの前記アプリケーションから送信された前記サインイン要求を受信すると、当該サインイン要求に指定されたユーザ名およびパスワードによる認証を行うサインイン認証手順、
 前記認証に成功すれば、当該サインイン要求を送信した送信元アプリケーションに対して、当該サインイン要求に指定されたユーザ名に結び付けられたアクセストークンを発行し、当該発行されたアクセストークンを前記送信元アプリケーションへ送信し、前記送信元アプリケーションからのアクセスを許可する許可手順、
 前記発行されたアクセストークンを、前記サインイン要求を送信した送信元アプリケーションが動作する端末装置を示す端末識別符号に対応付けて、有効期限を付して記憶し、当該端末識別符号に対応付けて記憶される他のアクセストークンに付された有効期限を延長する第1延長手順、
 前記端末装置にて動作するいずれかの前記アプリケーションから送信された前記アクセス要求を受信すると、当該アクセス要求に指定されたアクセストークンが、前記アクセス要求を送信した送信元アプリケーションが動作する端末装置の端末識別符号に対応付けられ、有効期限内として記憶されていれば、当該送信元アプリケーションからのアクセスを許可するアクセス要求認証手順、
 前記受信されたアクセス要求に指定されたアクセストークンが、前記アクセス要求を送信した送信元アプリケーションが動作する端末装置の端末識別符号に対応付けられ、有効期限内として記憶されていると、当該端末識別符号に対応付けて記憶されるすべてのアクセストークンに付された有効期限を延長する第2延長手順、
 を実行させるプログラムを記録する。
 本発明によれば、複数のアプリケーションを動作させる同一の端末装置にサーバ装置からサービスを提供するときの、認証処理に要するユーザの負担を低減することができる。
実施の形態にかかるサーバ装置の機能構成を示すブロック図である。 サーバ装置および端末装置のハードウェア構成を示すブロック図である。 端末装置が稼働させるアプリケーションの機能構成を示すブロック図である。 ユーザ・パスワードDBに記録されるデータの内容を示す図である。 アクセストークンDBに記録されるデータの内容を示す図である。 端末装置による認証要求処理を示すフローチャートである。 サインイン要求の認証処理を示すフローチャートである。 アクセス要求の認証処理を示すフローチャートである。
 以下、本発明の実施の形態について添付図面を参照しつつ説明する。
<実施の形態>
 本発明の実施の形態にかかるサーバ装置100は、ユーザが操作する端末装置で稼働するアプリケーションを介し、ユーザにサービスを提供するサーバ装置である。サーバ装置100は、端末装置で稼働するアプリケーションがサービスを提供可能であるかを判定(認証)し、提供可能であると認証された場合に限り、サービスを提供する。
 サーバ装置100は、図1に示すように、認証部10と、サービス提供部13とを備える。認証部10は、ユーザUが操作する端末装置200で稼働するアプリケーションからの認証要求を受け付け、サービスの提供が可能であるか否かの認証を行う機能部である。また、サービス提供部13は、認証部10により認証されたアプリケーション31を介し、ユーザUにサービスを提供する機能部である。
 認証部10は、アプリケーション31を認証するための機能部として、サインイン認証部11と、アクセストークン認証部12とを備える。
 サインイン認証部11は、アプリケーション31から、ユーザ名およびパスワードを指定するサインイン要求を受け付ける。サインイン認証部11は、受け付けたサインイン要求に含まれるユーザ名とパスワードとの組み合わせが、ユーザ・パスワード対応DB21に記録されている場合には、アプリケーション31を認証する。
 サインイン認証部11は、サインイン要求を送信してきた送信元アプリケーション(アプリケーション31)を認証すると、そのアプリケーション向けにアクセストークンを発行し、アクセストークンDB22に記録する。サインイン認証部11は、発行したアクセストークンを、送信元アプリケーション(アプリケーション31)に送信する。アプリケーション31は、送信されたアクセストークンを記録する。
 アプリケーション31は、サーバ装置100が提供するサービスを利用するとき、端末装置200のアプリケーション31用の不揮発性記憶域にアクセストークンが記憶されていると、記憶されているアクセストークンを指定するアクセス要求を送信する。一方、アプリケーション31は、不揮発性記憶域にアクセストークンが記憶されていないと、ユーザUにユーザ名およびパスワードを入力するように要求する。ユーザUが要求に応じてユーザ名およびパスワードを入力すると、アプリケーション31は、入力されたユーザ名およびパスワードを指定するサインイン要求をサーバ装置100に送信する。
 アクセストークン認証部12は、アプリケーション31から、アクセストークンを指定するアクセス要求を受け付ける。アクセストークン認証部12は、受け付けたアクセス要求に含まれるアクセストークンが、送信元である端末装置(端末装置200)を示す端末識別符号に対応付けてアクセストークンDB22に記録されている場合には、アプリケーション31を認証する。
 サーバ装置100は、このように、サインイン認証部11およびアクセストークン認証部12との組み合わせにより、アプリケーション31を認証する。端末装置200で稼働するアプリケーション31は、アクセストークンが記録されている場合にはアクセストークンによる認証をサーバ装置100に求め、アクセストークンが記録されていない場合には、ユーザUにより入力されたユーザ名およびパスワードによる認証をサーバ装置100に求める。そのため、アクセストークンが記録されていない場合(すなわち認証実績がない場合)にはユーザUに入力を求めるが、アクセストークンが記録されている場合(すなわち認証実績がある場合)には、記録されているアクセストークンにより認証を行い、ユーザUによる入力を省略する。そのため、認証処理に要するユーザUの負担を低減することができる。
 アクセストークンとは、後述するように、キーと認証文字列を備えるデータである。キーとは、アクセストークンを示す情報として、サーバ装置100により固有に与えられた識別番号である。認証文字列とは、アクセストークンが正しいものであることを示すためにサーバ装置100により与えられた文字列であり、一般には、サーバ装置100は一定の条件のもと生成したランダム文字列をアクセストークンの認証文字列として付与する。
 サーバ装置100は、アクセストークンDB22に記録されているアクセストークンに、有効期限を付して管理する。すなわち、一度認証が行われてアクセストークンが発行されたアプリケーション(または端末装置)であっても、定められた有効期限までに同アプリケーション(同端末装置)による認証が行われないと、そのアクセストークンは失効する。アクセストークンが失効すると、そのアクセストークンに対応付けられていたアプリケーションおよび端末装置でサーバ装置100によるサービスを受けるには、ユーザは、ユーザ名およびパスワードを入力し、サインインによる認証を受けることが必要である。
 また、サーバ装置100は、アクセストークンを含むアクセス要求によりアプリケーション(および端末装置)を認証すると、当該アクセストークンの有効期限を延長する。そのため、ユーザは、有効期限内にそのアプリケーションを介してサーバ装置100によるサービスを受ける(すなわちアクセストークンによる認証を受ける)ことを繰り返すことにより、ユーザ名およびパスワードを入力することなく、継続してサーバ装置100によるサービスを受けることができる。
 端末装置200は、アプリケーション31の他にもアプリケーションを動作させることが可能である。同じサーバ装置100を利用するアプリケーション32および33を端末装置200が動作させる場合、サーバ装置100は、同じユーザアカウント(同一のユーザ名およびパスワードの組み合わせによる認証)で、アプリケーション31、32、33を認証することができる。すなわち、サーバ装置100は、アプリケーション31から送信されたサインイン要求を認証した時には、そのサインイン要求が指定するユーザ名およびパスワードと同じユーザ名およびパスワードの組を指定するサインイン要求がアプリケーション32から送信された場合、アプリケーション32を認証する。
 サインイン認証部11はアプリケーションを認証すると、アクセストークンを発行する。サインイン認証部11は、発行したアクセストークンをアクセストークンDB22に記録するとともに、発行したアクセストークンを認証したアプリケーションに送信する。送信されたアクセストークンは、端末装置200により、認証されたアプリケーションごとに、そのアプリケーション用に確保された不揮発性記憶域に記録される。すなわち、同じユーザアカウントで認証された複数のアプリケーション(アプリケーション31、32、33)であっても、サーバ装置100はアクセストークンを個別に発行する。アプリケーション31、32、33は、それぞれ発行されたアクセストークンを記録する。
 端末装置200は、動作させるアプリケーションの間で、認証にかかわる情報(ユーザ名、パスワード、アクセストークン)を共有しない。これは、認証にかかわる情報はセキュリティ上非常に重要な情報であり、そのような重要な情報が流出する危険性を低減させるためである。そのため、アプリケーション31が、アプリケーション32に記録されているアクセストークンを参照して認証を行うことはできない。
 一方、サーバ装置100では、複数のアプリケーションでの認証に、共通するデータ(ユーザ・パスワード対応DB21およびアクセストークンDB22)を用いる。そのため、サーバ装置100では、端末装置200で稼働するアプリケーション31からのアクセスがあった場合に、同じ端末装置200で稼働するアプリケーション(アプリケーション32および33)のアクセストークンに関する情報にアクセスすることが可能である。
 具体的には、サーバ装置100は、サインイン認証部11を介してアプリケーション31からのサインイン要求を認証すると、アクセストークンに、アプリケーション31が動作する端末装置(端末装置200)を示す端末識別符号を対応付け、有効期限を付してアクセストークンDB22に記録する。すなわち、アクセストークンDB22には、アクセストークンが、端末装置200を示す情報とともに記録される。
 サーバ装置100は、アプリケーション31からのサインイン要求を認証すると、アクセストークンDB22に記録されている、アプリケーション31と同じ端末装置である端末装置200で動作するアプリケーションに発行したアクセストークンを抽出し、抽出したアクセストークンの有効期限を延長する。具体的には、サーバ装置100は、アクセストークンDB22からアプリケーション32および33に送信したアクセストークンを特定し、それらに付されている有効期限を、さらに後の日時となるように更新する。
 また、サーバ装置100は、アプリケーション31からのアクセス要求を認証すると、アクセストークンDB22に記録されている、端末装置200で動作するアプリケーションに発行したアクセストークンを抽出し、抽出したアクセストークンの有効期限を延長する。具体的には、サーバ装置100は、アクセストークンDB22から、アプリケーション31、32および33に送信したアクセストークンを特定し、それらに付されている有効期限を、さらに後の日時となるように更新する。
 サーバ装置100は、ここまで述べた構成を備えることにより、端末装置200で稼働するアプリケーション(アプリケーション31,32,33)を認証し、認証されたアプリケーションにサービスを提供する。アプリケーション31からの認証要求(サインイン要求またはアクセス要求)が長期にわたってない場合であっても、同一の端末装置である端末装置200で動作するアプリケーション32からの認証要求がアクセストークンの有効期限内にあった場合には、アプリケーション31に発行されているアクセストークンの有効期限が延長される。そのため、複数のアプリケーションを動作させる同一の端末装置にサーバ装置からサービスを提供するときの、認証処理に要するユーザの負担を低減することができる。
 本実施の形態にかかるサーバ装置100は、図2に示すように、ハードウェアとして、制御部110、記録装置120、操作デバイス130、ディスプレイ140、ネットワークインターフェース150を備え、これらが内部バス190を介して互いに接続された構成を有する。
 制御部110は、CPU(Central Processing Unit)111、ROM(Read Only Memory)112、RAM(Random Access Memory)113などを備える。制御部110のCPUが、ROMまたはRAMに記録されているプログラムを実行することにより、制御部110は、サーバ装置100全体の動作を制御する。制御部110は、必要に応じて記録装置120からプログラム等のデータを読み出し、また記録装置120にデータを保存する。
 記録装置120は、ハードディスクドライブやフラッシュメモリ等の記録装置を備え、サーバ装置100が稼動するために必要なデータを記憶する。
 操作デバイス130は、キーボードやマウス等を備え、ユーザUによる入力操作を受け付けて制御部110に伝達する。
 ディスプレイ140は、液晶ディスプレイもしくはブラウン管モニタを備え、サーバ装置100のユーザに必要な情報を表示する。
 ネットワークインターフェース150は、サーバ装置100をネットワークに接続する。サーバ装置100が、ネットワークを介して他機器に情報を送信し、あるいは他機器から情報を受信する際、ネットワークインターフェース150は、制御部110から後述する内部バス190を介して受信した情報を、ネットワークを介して他機器へ送信し、また他機器からネットワークを介して受信した情報を、内部バス190を介して制御部110へ送信する。一例として、サーバ装置100は、ネットワークインターフェース150を介し、ユーザUが操作する端末装置200との間でデータを送受信する。ユーザUは、ネットワークを介してサーバ装置100と接続する端末装置200を介し、認証を受け、またサービスの提供を受ける。
 サーバ装置100がサービスを提供する端末装置200は、図2に示すように、ハードウェアとして、制御部210、記録装置220、タッチパネル230、ネットワークインターフェース250を備え、これらが内部バス290を介して互いに接続された構成を有する。
 制御部210は、CPU211、ROM212、RAM213などを備える。制御部210のCPUが、ROMまたはRAMに記録されているプログラムを実行することにより、制御部210は、端末装置200全体の動作を制御する。
 記録装置220は、ハードディスクドライブやフラッシュメモリ等の記録装置を備え、端末装置200が稼動するために必要なデータを記憶する。
 タッチパネル230は、情報を表示することができるディスプレイ、および、タッチされた場所を検出する位置検出装置を組み合わせた電子デバイスである。タッチパネル230は、位置検出装置により、ユーザUによる入力操作を受け付けて制御部210に伝達する。またタッチパネル230は、ディスプレイにより、ユーザUに必要な情報を表示する。
 ネットワークインターフェース250は、端末装置200をネットワークに接続する。特に、端末装置200は、ネットワークインターフェース250を介してサーバ装置100との間でデータを送受信する。
 端末装置200が稼働させるアプリケーション31は、図3に示す構成要素を備える。すなわち、アプリケーション31は、機能部として、サーバ装置100のサービス提供部13からのサービスを受けるサービス受付部31a、および、サーバ装置100からの認証を受ける認証部31bを備える。さらに、アプリケーション31は、アプリケーション31に割り当てられた端末装置200の不揮発性記憶域に、アクセストークン31cを記録する。アクセストークン31cは、キー31caと、認証文字列31cbを備える。
 キー31caは、そのアクセストークンを特定するためにサーバ装置100により固有に割り振られた識別情報である。
 認証文字列31cbは、そのアクセストークンが不正に使用されないように、キーに対応付けてサーバ装置100により発行された文字列である。サーバ装置100は、アクセストークンを生成する際には、固有の情報として識別情報となるキーを生成したうえで、一定の条件下で生成したランダム文字列をキーに付与することでアクセストークンを生成する。
 アクセストークンは、サーバ装置100がアプリケーションごとに発行し、管理する。アプリケーション31は、認証部31bがユーザ名およびパスワードによるサインイン要求を行い、それが許可された場合に、サーバ装置100から送信されたアクセストークンを改変することなく記録する。アプリケーション31は、アクセストークン31cの記録および送信を行うが、データの修正は行わない。
 サーバ装置100は、アプリケーションごとにアクセストークンを発行するため、アプリケーション31とアプリケーション32は、それぞれ固有にアクセストークンを記録する。すなわち、アプリケーション31が記録するアクセストークンと、アプリケーション32が記録するアクセストークンは独立に記録され、内容も一致しない。
 アプリケーション31は、アクセストークン31cの他に認証に関するデータを記録しなくともよい。アクセストークン31cが記録されていない場合、もしくは記録されているアクセストークン31cが有効でない場合には、アプリケーション31はユーザ名およびパスワードの入力をユーザに求め、入力されたユーザ名およびパスワードをサーバ装置100に送信するが、送信されたユーザ名およびパスワードはそれ以後参照されることはない。
 サーバ装置100は、ユーザ・パスワード対応DB21に、図4に示すデータを記録する。すなわち、サーバ装置100は、ユーザ・パスワード対応DB21に、ユーザ名と、そのユーザ名に対応付けられたパスワードとを記録する。
 なお、図4においては、パスワードを示す文字列がそのまま示されているが、ユーザ・パスワード対応DB21には、セキュリティを確保した形態でパスワードを示す文字列(もしくはそれに対応する情報)が記録されることが望ましい。例えば、ユーザ・パスワード対応DB21には、ユーザにより入力されたパスワードの文字列を暗号化することにより生成された文字列が記録されるものであってもよい。この場合、サーバ装置100は、ユーザにより入力された文字列が設定されたパスワードと一致するか判定する際は、ユーザ・パスワード対応DB21に記録されている暗号化されたパスワードを復号し、ユーザにより入力された文字列が設定されたパスワードと一致するかに基づいて判定する。
 あるいは、ユーザ・パスワード対応DB21には、ユーザにより入力されたパスワードのハッシュ値が記録されるものであってもよい。その場合、サーバ装置100は、パスワードを示す文字列に対応する情報を記録する際は、パスワードを示す文字列をもとにハッシュ関数を用いて生成した情報をユーザ・パスワード対応DB21に記録する。ユーザにより入力された文字列が設定されたパスワードと一致するか判定する際は、サーバ装置100は、ユーザにより入力された文字列をもとにハッシュ関数を用いて生成した情報が、ユーザ・パスワード対応DB21に記録されている情報と一致するかに基づいて判定する。さらに、サーバ装置100は、ユーザ・パスワード対応DB21に、ユーザによりパスワードとして設定された文字列に、さらにソルトと呼ばれる文字列を付加した文字列をもとに、ハッシュ関数を用いて生成した情報(ハッシュ値)と、ソルトとを対応付けて記録するものであってもよい。
 サーバ装置100は、アクセストークンDB22に、図5に示すデータを記録する。サーバ装置100は、アクセストークンDB22に、キーと認証文字列を含むアクセストークン、アプリケーションを示す識別番号であるアプリケーションID、ユーザ名、対象のアクセストークンに与えられた有効期限、端末装置を示す端末識別符号、といった情報を記録する。
 図5においては、アクセストークンの認証文字列は、英字および数字による12文字のランダム文字列となっている。しかし、これに限定されず、より長いランダム文字列を認証文字列として用いるものであってもよい。
 サーバ装置100は、アプリケーションをサインインにより認証すると、アクセストークンを発行し、アクセストークンDB22に記録する。また、その際、サインイン認証を要求した送信元アプリケーションを示すアプリケーションID、サインインにより認証されたユーザ名、送信元アプリケーションが稼働する端末装置の端末識別符号を、そのアクセストークンに対応付けて記録する。さらに、認証の際には、当該アクセストークンに有効期限を付与し、付与した有効期限をアクセストークンDB22に記録する。
 端末装置200にてアプリケーション31が起動すると、最初に実行する処理である認証要求処理について、図6を参照して説明する。アプリケーション31は、ユーザUにより起動操作が行われると、認証要求処理を開始する。
 最初に、アプリケーション31は、端末装置200においてアプリケーション31に割り当てられている不揮発性記憶域に、アクセストークンが記録されているか否かを判定する(ステップS11)。
 ステップS11で、アクセストークンが記録されていないと判定した場合(ステップS11:NO)、アプリケーション31は、ユーザに、ユーザ名およびパスワードの入力をユーザに要求する(ステップS12)。アプリケーション31は、端末装置200のタッチパネル230を介し、ユーザに、ユーザ名とパスワードを入力するためのフォームを表示し、入力を促す。
 ユーザによりユーザ名およびパスワードが入力されると、アプリケーション31は、サインイン要求をサーバ装置100に送信する(ステップS13)。アプリケーション31は、ユーザにより入力されたユーザ名およびパスワードを指定するサインイン要求をサーバ装置100に送信する。
 次にアプリケーション31は、サーバ装置100によりアクセスが許可されたか否かを判定する(ステップS14)。アプリケーション31は、送信したサインイン要求に応じてサーバ装置100から送信される信号を受信し、受信した信号が、アクセスを許可する旨を示すものであるか、アクセスを拒否する旨を示すものであるかを判定する。
 ステップS14で、サーバ装置100によりアクセスが許可されたと判定した場合(ステップS14:YES)、アプリケーション31は、アクセストークンを保存する(ステップS15)。サーバ装置100は、サインイン要求に応じてアクセスを許可する場合、後述するように、アクセスを許可する旨の信号に加えてアクセストークンをアプリケーション31に送信する。アプリケーション31は、サーバ装置100から送信されたアクセストークンを受信し、不揮発性記憶域に記録する。
 続いてアプリケーション31は、ユーザによるサービスの利用を開始する(ステップS16)。アプリケーション31は、サービス受付部31aを介してサーバ装置100のサービス提供部13に接続する。以後、アプリケーション31は、ユーザUによるサーバ装置100のサービス利用を継続しつつ、認証要求処理を終了する。
 ステップS14で、サーバ装置100によりアクセスが許可されなかったと判定した場合(ステップS14:NO)、サービスの利用が拒否されたことをユーザに通知する(ステップS17)。サーバ装置100は、サインイン要求に対してアクセスを許可しない場合、アクセスを拒否する旨の信号をアプリケーション31に送信する。アプリケーション31は、サーバ装置100からアクセスを拒否する旨の信号を受信したことを受け、ユーザUに、サービスの提供が拒否された(認証に失敗した)ことを通知する。ステップS17を終えると、アプリケーション31は、認証要求処理を終了する。
 一方、ステップS11で、アクセストークンが記録されていると判定した場合(ステップS11:YES)、アプリケーション31は、記録されているアクセストークンによるアクセス要求をサーバ装置100に送信する(ステップS18)。アプリケーション31は、記録されているアクセストークンに、端末装置200を示す端末識別符号を付して、サーバ装置100に送信する。
 次にアプリケーション31は、サーバ装置100によりアクセスが許可されたか否かを判定する(ステップS19)。アプリケーション31は、送信したアクセス要求に応じてサーバ装置100から送信される信号を受信し、受信した信号が、アクセスを許可する旨を示すものであるか、アクセスを拒否する旨を示すものであるかを判定する。
 ステップS19で、サーバ装置100によりアクセスが許可されたと判定した場合(ステップS19:YES)、アプリケーション31は、上述したステップS16に処理を移動し、ユーザによるサービスの利用を開始する(ステップS16)。アプリケーション31は、サービス受付部31aを介してサーバ装置100のサービス提供部13に接続する。以後、アプリケーション31は、ユーザUによるサーバ装置100のサービス利用を継続しつつ、認証要求処理を終了する。
 ステップS19で、サーバ装置100によりアクセスが許可されなかったと判定した場合(ステップS19:NO)、アプリケーション31は、上述したステップS17に処理を移動し、サービスの利用が拒否されたことをユーザに通知する(ステップS17)。サーバ装置100は、アクセス要求に対してアクセスを許可しない場合、アクセスを拒否する旨の信号をアプリケーション31に送信する。アプリケーション31は、サーバ装置100からアクセスを拒否する旨の信号を受信したことを受け、ユーザUに、サービスの提供が拒否された(認証に失敗した)ことを通知する。ステップS17を終えると、アプリケーション31は、認証要求処理を終了する。
 端末装置200は、ここまで述べた認証要求処理を実行し、サインイン要求あるいはアクセス要求をサーバ装置100に送信し、アクセスが許可された場合のみサービスの利用を開始する。ここから、端末装置200による認証要求処理に対応するための、サーバ装置100により実行される認証処理(サインイン要求の認証処理、およびアクセス要求の認証処理)について説明する。
 サーバ装置100は、アプリケーション31からサインイン要求を受信すると、図7に示すサインイン要求の認証処理を開始する。
 サインイン要求の認証処理の最初に、サーバ装置100は、受信したサインイン要求からユーザ名とパスワードを抽出する(ステップS21)。サーバ装置100は、受信したサインイン要求からユーザ名とパスワードを抽出し、サインイン要求が指定するユーザ名およびパスワードとしてそれぞれ特定する。
 次にサーバ装置100は、ユーザ・パスワード対応DB21に、抽出したユーザ名に対応付けて抽出したパスワードが記録されているか判定する(ステップS22)。サーバ装置100は、ユーザ・パスワード対応DB21を、抽出したユーザ名をもとに検索し、抽出したユーザ名に対応付けて記録されているパスワードと、抽出したパスワードが一致するか判定する。
 ステップS22で、抽出したユーザ名に対応付けて抽出したパスワードが記録されていないと判定した場合(ステップS22:NO)、サーバ装置100は、アクセスを拒否する旨をアプリケーション31に送信する(ステップS27)。その後、サーバ装置100は、サインイン要求の認証処理を終了する。
 一方、ステップS22で、抽出したユーザ名に対応付けて抽出したパスワードが記録されていると判定した場合(ステップS22:YES)、サーバ装置100は、アクセストークンを発行する(ステップS23)。サーバ装置100は、アクセストークンのキーおよび認証文字列を生成し、連結することにより、アクセストークンを発行する。
 次にサーバ装置100は、アクセスへの許可と、発行したアクセストークンとをアプリケーション31に送信する(ステップS24)。サーバ装置100は、アクセスを許可する旨を示す信号と、ステップS23で発行したアクセストークンとをアプリケーション31に送信する。
 次にサーバ装置100は、発行したアクセストークンに、有効期限を付して記録する(ステップS25)。サーバ装置100は、発行したアクセストークンと、有効期限がいつまでであるかを示す情報と、アプリケーション31を示すアプリケーションIDと、アプリケーション31が稼働している端末装置(端末装置200)を示す端末識別符号とを連結させ、一つのレコードとしてアクセストークンDB22に記録する。
 次にサーバ装置100は、端末識別符号が同じである他のアクセストークンの有効期限を延長する(ステップS26)。サーバ装置100は、アクセストークンDB22から、端末装置200の端末識別符号が記録されたレコードをすべて読み出す。サーバ装置100は、読み出したレコードのうち、ステップS25で記録されたレコード以外のレコードについて、記録されている有効期限を延長する。ステップS26を終えると、サーバ装置100はサインイン要求の認証処理を終了する。
 ここまで、サーバ装置100がアプリケーション31からサインイン要求を受信した場合の認証処理について説明した。ここから、図8を参照し、サーバ装置100がアプリケーション31からアクセストークンによるアクセス要求を受信した場合の認証処理について説明する。サーバ装置100は、アプリケーション31からアクセス要求を受信すると、図8に示すアクセス要求の認証処理を開始する。
 アクセス要求の認証処理の最初に、サーバ装置100は、受信したアクセス要求の送信元である端末装置の端末識別符号を特定する(ステップS31)。サーバ装置100は、アクセス要求から、送信元端末装置(端末装置200)を示す端末識別符号を抽出する。
 次にサーバ装置100は、受信したアクセス要求からアクセストークンを抽出する(ステップS32)。サーバ装置100は、受信したアクセス要求から、アクセストークンにあたる部分を抽出する。
 次にサーバ装置100は、抽出したアクセストークンが、有効にアクセストークンDB22に記録されているか否かを判定する(ステップS33)。サーバ装置100は、ステップS32で抽出したアクセストークンをアクセストークンDB22から読み出し、そのアクセストークンに付与されている有効期限が経過しているか否かを判定する。サーバ装置100は、(1)抽出されたアクセストークンがアクセストークンDB22に記録されていない場合、および、(2)抽出されたアクセストークンがアクセストークンDB22に記録されているが、すでに有効期限が経過している場合には、抽出したアクセストークンが、有効にアクセストークンDB22に記録されていないと判定する。
 ステップS33で、抽出したアクセストークンが、有効にアクセストークンDB22に記録されていないと判定した場合(ステップS33:NO)、サーバ装置100は、アクセスを拒否する旨をアプリケーション31に送信する(ステップS36)。その後、サーバ装置100は、アクセス要求の認証処理を終了する。
 一方、ステップS33で、抽出したアクセストークンが、有効にアクセストークンDB22に記録されていると判定した場合(ステップS33:YES)、サーバ装置100は、アクセスの許可をアプリケーション31に送信する(ステップS34)。サーバ装置100は、アクセスを許可する旨を示す信号をアプリケーション31に送信する。
 次にサーバ装置100は、ステップS31で特定した端末識別符号の全てのアクセストークンの有効期限を延長する(ステップS35)。サーバ装置100は、アクセストークンDB22から、ステップS31で特定した端末識別符号が記録されたレコードをすべて読み出す。サーバ装置100は、読み出したすべてのレコードについて、記録されている有効期限を延長する。ステップS35を終えると、サーバ装置100はアクセス要求の認証処理を終了する。
 ここまで述べた2つの認証処理(サインイン要求による認証処理、およびアクセス要求による認証処理)により、サーバ装置100がアプリケーション31を認証すると、サーバ装置100は、アプリケーション31と同じ端末装置(端末装置200)で動作するアプリケーション32および33のアクセストークンの有効期限を延長する。これにより、ユーザUが、アプリケーション32または33でサービスを受ける場合のユーザ名およびパスワードの入力を省略できる。
 本実施の形態では、アクセストークンの有効期限はサーバ装置100において管理されるため、端末装置200で動作するアプリケーションの間での情報の共有は不要である。そのため、端末装置200においてアプリケーションの間でのメモリ共有が制限されており、アプリケーション31と32が同一のデータにアクセスすることができない環境下でも、サーバ装置100は、アプリケーション31の認証に伴ってアプリケーション32に発行されたアクセストークンの有効期限を延長できる。
 ここまで、本発明の実施の形態について説明したが、ここまで述べた内容に限定されない。例として、以下に述べるような変形も可能である。
 図8に示したアクセス要求の認証処理では、サーバ装置100は、ステップS33でアクセストークンが有効にアクセストークンDB22に記録されていないと判定すると、アクセスを拒否する旨をアプリケーション31に送信し(ステップS36)、処理を終了する。しかし、サーバ装置100は、単にアクセスを拒否するだけでなく、送信元であるアプリケーション31に対してサインイン要求を送信すべき旨を指示するものであってもよい。
 アプリケーション31は、記録しているアクセストークンの有効期限に関する情報を取り扱っておらず、従って、アクセストークンの有効期限が経過しても、そのままアクセストークンを保持している。そこで、アプリケーション31が有効期限の経過したアクセストークンをサーバ装置100に送信した場合には、サーバ装置100がサインイン要求を送信すべき旨を指示することにより、アプリケーション31に、保持しているアクセストークンがすでに無効であることを通知する。アプリケーション31は、記録しているアクセストークンを消去したうえで、ユーザにユーザ名とパスワードの入力を求め、入力されたユーザ名とパスワードを指定するサインイン要求をサーバ装置100に送信する。アプリケーション31は、サインイン要求により認証されることで、サーバ装置100から有効なアクセストークンを受け取ることができる。
 また、サーバ装置100は、サインイン要求を送信すべき旨を指示する際に、(アクセストークンが有効期限の範囲内でないと記録されている場合には)アクセストークンDB22の当該アクセストークンを示すレコードから、ユーザ名を抽出し、抽出したユーザ名をアプリケーション31に送信するものであってもよい。端末装置200は、ユーザにユーザ名とパスワードの入力を求めるときに、受信したユーザ名を提示することで、どのユーザ名でサインインすればよいかをユーザに示すことが可能となる。
 本実施の形態にかかるサーバ装置100は、アプリケーション31からのアクセス要求(またはサインイン要求)を認証した場合に、同じ端末装置(端末装置200)で動作する他のアプリケーション(アプリケーション32)に発行したアクセストークンの有効期限を延長する。このときに、有効期限を延長する形態としては、任意のものが考えられる。
 例えば、サーバ装置100が、アプリケーション31からのアクセス要求を認証し、アプリケーション31に発行したアクセストークンに付与された有効期限を第1の期間分延長し、その結果、アプリケーション31に付与された有効期限が第1の期限に設定されたとする。また、延長する前には、アプリケーション31に発行したアクセストークンに付与された有効期限の残余期間が第2の期間であったとする。この時に、サーバ装置100がアプリケーション32に発行されたアクセストークンの有効期限を、以下のような手法で延長するものであってもよい。
(1)アプリケーション31に発行されたアクセストークンに新たに設定された延長期限(第1の期限)と同じ日時に設定する。
(2)アプリケーション31に発行されたアクセストークンに延長された期間(第1の期間)に相当する期間、延長する。
(3)アプリケーション31に発行されたアクセストークンに付与された有効期限の長さが、サーバ装置100による延長によって、第1の倍率(第1の倍率=(第1の期間+第2の期間)/第2の期間)となった場合、有効期限における残余期間が延長前に比べて前記第1の倍率となるように延長する。
 (1)の手法での一例として、アプリケーション31に発行されたアクセストークンに、サーバ装置100が新たな有効期限として2016年3月31日を設定したとする。この場合、サーバ装置100は、アプリケーション32に発行されたアクセストークンにも、有効期限として同じ日時(2016年3月31日)を設定する。
 (2)の手法での一例として、アプリケーション31に発行されたアクセストークンの有効期限を、サーバ装置100が10日間延長したとする。この場合、サーバ装置100は、アプリケーション32に発行されたアクセストークンの有効期限を、同じ期間(10日間)延長する。
 (3)の手法での一例として、アプリケーション31に発行されたアクセストークンの有効期限の残余期間が、延長前には5日間であり、サーバ装置100がこれを10日間延長したとする。この場合、サーバ装置100は、アプリケーション31に発行されたアクセストークンの有効期限を、3倍(=15/5)の倍率で延長している。サーバ装置100は、アプリケーション32に発行されたアクセストークンの有効期限の残余期間が、延長前に7日であった場合、当該有効期限における残余期間が延長前に比べて3倍となるように、14日間延長する。
 本発明の実施の形態にかかるサーバ装置は、専用のシステムによらず、通常のコンピュータシステムを用いても実現可能である。例えば、コンピュータに、上記動作を実行するためのプログラムを、フレキシブルディスク、CD-ROM(Compact Disk-Read Only Memory)、DVD(Digital Versatile Disk)、MO(Magnet Optical Disk)などのコンピュータ読取可能な記憶媒体に記憶して配布し、これをコンピュータシステムにインストールすることにより、上述の処理を実行するソースプログラム解析システムを構成しても良い。さらに、インターネット上のサーバ装置が有するディスク装置等にプログラムを記憶しておき、例えば、搬送波に重畳させて、コンピュータにダウンロード等するものとしてもよい。
 また、本発明の実施の形態にかかるサーバ装置は、1台で実現されるものに限定されない。複数のコンピュータが上述した各部の機能を分担することにより、それらの複数のコンピュータからなる一つのシステムとして各機能を提供するものであってもよい。
 ここまで本発明の好ましい実施の形態について詳述したが、本発明はかかる特定の実施の形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形、変更が可能である。
10:認証部
11:サインイン認証部
12:アクセストークン認証部
13:サービス提供部
21:ユーザ・パスワード対応DB
22:アクセストークンDB
31:アプリケーション
31a:サービス受付部
31b:認証部
31c:アクセストークン
32:アプリケーション
33:アプリケーション
100:サーバ装置
110:制御部
111:CPU
112:ROM
113:RAM
120:記録装置
130:操作デバイス
140:ディスプレイ
150:ネットワークインターフェース
190:内部バス
200:端末装置
210:制御部
211:CPU
212:ROM
213:RAM
220:記録装置
230:タッチパネル
250:ネットワークインターフェース
290:内部バス
U:ユーザ

Claims (9)

  1.  端末装置にて動作する複数のアプリケーションからのアクセスを受け付けるサーバ装置であって、
     前記複数のアプリケーションのそれぞれは、
     当該アプリケーションに対して発行されたアクセストークンが、前記端末装置が当該アプリケーション用に確保した不揮発性記憶域に記憶されていなければ、ユーザにユーザ名とパスワードの入力を求め、入力されたユーザ名およびパスワードを指定するサインイン要求を前記サーバ装置へ送信し、
     当該アプリケーションに対して発行されたアクセストークンが、前記不揮発性記憶域に記憶されていれば、当該アクセストークンを指定するアクセス要求を前記サーバ装置へ送信し、
     前記サーバ装置は、
     前記端末装置にて動作するいずれかの前記アプリケーションから送信された前記サインイン要求を受信すると、当該サインイン要求に指定されたユーザ名およびパスワードによる認証を行い、
     前記認証に成功すれば、当該サインイン要求を送信した送信元アプリケーションに対して、当該サインイン要求に指定されたユーザ名に結び付けられたアクセストークンを発行し、当該発行されたアクセストークンを前記送信元アプリケーションへ送信し、前記送信元アプリケーションからのアクセスを許可し、
     前記発行されたアクセストークンを、前記サインイン要求を送信した送信元アプリケーションが動作する端末装置を示す端末識別符号に対応付けて、有効期限を付して記憶し、当該端末識別符号に対応付けて記憶される他のアクセストークンに付された有効期限を延長し、
     前記端末装置にて動作するいずれかの前記アプリケーションから送信された前記アクセス要求を受信すると、当該アクセス要求に指定されたアクセストークンが、前記アクセス要求を送信した送信元アプリケーションが動作する端末装置の端末識別符号に対応付けられ、有効期限内として記憶されていれば、当該送信元アプリケーションからのアクセスを許可し、当該端末識別符号に対応付けて記憶されるすべてのアクセストークンに付された有効期限を延長する、
     ことを特徴とするサーバ装置。
  2.  前記受信されたアクセス要求に指定されたアクセストークンが記憶されていない、または、記憶された有効期限の範囲内でないと、前記送信元アプリケーションに対して、前記サインイン要求を送信すべき旨を指示する、
     ことを特徴とする請求項1に記載のサーバ装置。
  3.  前記発行されたアクセストークンを、前記端末識別符号と、前記サインイン要求に指定されたユーザ名との組み合わせに対応付けて、前記有効期限を付して記憶し、
     前記受信されたアクセス要求に指定されたアクセストークンが、前記アクセス要求を送信した送信元アプリケーションが動作する端末装置の端末識別符号に対応付けられて、有効期限の範囲内でないと記憶されていると、前記送信元アプリケーションに対して、前記端末識別符号を含む組み合わせに含まれるユーザ名を送信したうえで、前記サインイン要求を送信すべき旨を指示する、
     ことを特徴とする請求項2に記載のサーバ装置。
  4.  前記受信されたアクセス要求に指定されたアクセストークンが、前記アクセス要求を送信した送信元アプリケーションが動作する端末装置の端末識別符号に対応付けられ、有効期限内として記憶されており、前記送信元アプリケーションに対して発行されたアクセストークンの有効期限を第1の期限まで延長すると、当該端末識別符号に対応付けて記憶される、他の前記アプリケーションに対して発行されたすべてのアクセストークンに付された有効期限を、前記第1の期限まで延長する、
     ことを特徴とする請求項1に記載のサーバ装置。
  5.  前記受信されたアクセス要求に指定されたアクセストークンが、前記アクセス要求を送信した送信元アプリケーションが動作する端末装置の端末識別符号に対応付けられ、有効期限内として記憶されており、前記送信元アプリケーションに対して発行されたアクセストークンの有効期限を第1の期間分延長すると、当該端末識別符号に対応付けて記憶される、他の前記アプリケーションに対して発行されたすべてのアクセストークンに付された有効期限を、前記第1の期間分延長する、
     ことを特徴とする請求項1に記載のサーバ装置。
  6.  前記受信されたアクセス要求に指定されたアクセストークンが、前記アクセス要求を送信した送信元アプリケーションが動作する端末装置の端末識別符号に対応付けられ、有効期限内として記憶されており、前記送信元アプリケーションに対して発行されたアクセストークンの有効期限を延長することにより、当該アクセストークンの有効期限における残余期間が延長前の第1の倍率となると、当該端末識別符号に対応付けて記憶される、他の前記アプリケーションに対して発行されたすべてのアクセストークンに付された有効期限を、当該有効期限における残余期間が延長前に比べて前記第1の倍率となるように延長する、
     ことを特徴とする請求項1に記載のサーバ装置。
  7.  端末装置にて動作する複数のアプリケーションからのアクセスを受け付けるサーバ装置によるサービス方法であって、
     前記複数のアプリケーションのそれぞれは、
     当該アプリケーションに対して発行されたアクセストークンが、前記端末装置が当該アプリケーション用に確保した不揮発性記憶域に記憶されていなければ、ユーザにユーザ名とパスワードの入力を求め、入力されたユーザ名およびパスワードを指定するサインイン要求を前記サーバ装置へ送信し、
     当該アプリケーションに対して発行されたアクセストークンが、前記不揮発性記憶域に記憶されていれば、当該アクセストークンを指定するアクセス要求を前記サーバ装置へ送信し、
     前記サーバ装置は、
     前記端末装置にて動作するいずれかの前記アプリケーションから送信された前記サインイン要求を受信すると、当該サインイン要求に指定されたユーザ名およびパスワードによる認証を行い、
     前記認証に成功すれば、当該サインイン要求を送信した送信元アプリケーションに対して、当該サインイン要求に指定されたユーザ名に結び付けられたアクセストークンを発行し、当該発行されたアクセストークンを前記送信元アプリケーションへ送信し、前記送信元アプリケーションからのアクセスを許可し、
     前記発行されたアクセストークンを、前記サインイン要求を送信した送信元アプリケーションが動作する端末装置を示す端末識別符号に対応付けて、有効期限を付して記憶し、当該端末識別符号に対応付けて記憶される他のアクセストークンに付された有効期限を延長し、
     前記端末装置にて動作するいずれかの前記アプリケーションから送信された前記アクセス要求を受信すると、当該アクセス要求に指定されたアクセストークンが、前記アクセス要求を送信した送信元アプリケーションが動作する端末装置の端末識別符号に対応付けられ、有効期限内として記憶されていれば、当該送信元アプリケーションからのアクセスを許可し、当該端末識別符号に対応付けて記憶されるすべてのアクセストークンに付された有効期限を延長する、
     ことを特徴とするサービス方法。
  8.  端末装置にて動作する複数のアプリケーションからのアクセスを受け付けるコンピュータにより実行されるプログラムであって、
     前記複数のアプリケーションのそれぞれは、
     当該アプリケーションに対して発行されたアクセストークンが、前記端末装置が当該アプリケーション用に確保した不揮発性記憶域に記憶されていなければ、ユーザにユーザ名とパスワードの入力を求め、入力されたユーザ名およびパスワードを指定するサインイン要求を前記コンピュータへ送信し、
     当該アプリケーションに対して発行されたアクセストークンが、前記不揮発性記憶域に記憶されていれば、当該アクセストークンを指定するアクセス要求を前記コンピュータへ送信し、
     前記プログラムは、前記コンピュータに、
     前記端末装置にて動作するいずれかの前記アプリケーションから送信された前記サインイン要求を受信すると、当該サインイン要求に指定されたユーザ名およびパスワードによる認証を行うサインイン認証手順、
     前記認証に成功すれば、当該サインイン要求を送信した送信元アプリケーションに対して、当該サインイン要求に指定されたユーザ名に結び付けられたアクセストークンを発行し、当該発行されたアクセストークンを前記送信元アプリケーションへ送信し、前記送信元アプリケーションからのアクセスを許可する許可手順、
     前記発行されたアクセストークンを、前記サインイン要求を送信した送信元アプリケーションが動作する端末装置を示す端末識別符号に対応付けて、有効期限を付して記憶し、当該端末識別符号に対応付けて記憶される他のアクセストークンに付された有効期限を延長する第1延長手順、
     前記端末装置にて動作するいずれかの前記アプリケーションから送信された前記アクセス要求を受信すると、当該アクセス要求に指定されたアクセストークンが、前記アクセス要求を送信した送信元アプリケーションが動作する端末装置の端末識別符号に対応付けられ、有効期限内として記憶されていれば、当該送信元アプリケーションからのアクセスを許可するアクセス要求認証手順、
     前記受信されたアクセス要求に指定されたアクセストークンが、前記アクセス要求を送信した送信元アプリケーションが動作する端末装置の端末識別符号に対応付けられ、有効期限内として記憶されていると、当該端末識別符号に対応付けて記憶されるすべてのアクセストークンに付された有効期限を延長する第2延長手順、
     を実行させることを特徴とするプログラム。
  9.  端末装置にて動作する複数のアプリケーションからのアクセスを受け付けるコンピュータにより実行されるプログラムを記録した、非一時的なコンピュータ読取可能な情報記録媒体であって、
     前記複数のアプリケーションのそれぞれは、
     当該アプリケーションに対して発行されたアクセストークンが、前記端末装置が当該アプリケーション用に確保した不揮発性記憶域に記憶されていなければ、ユーザにユーザ名とパスワードの入力を求め、入力されたユーザ名およびパスワードを指定するサインイン要求を前記コンピュータへ送信し、
     当該アプリケーションに対して発行されたアクセストークンが、前記不揮発性記憶域に記憶されていれば、当該アクセストークンを指定するアクセス要求を前記コンピュータへ送信し、
     前記プログラムは、前記コンピュータに、
     前記端末装置にて動作するいずれかの前記アプリケーションから送信された前記サインイン要求を受信すると、当該サインイン要求に指定されたユーザ名およびパスワードによる認証を行うサインイン認証手順、
     前記認証に成功すれば、当該サインイン要求を送信した送信元アプリケーションに対して、当該サインイン要求に指定されたユーザ名に結び付けられたアクセストークンを発行し、当該発行されたアクセストークンを前記送信元アプリケーションへ送信し、前記送信元アプリケーションからのアクセスを許可する許可手順、
     前記発行されたアクセストークンを、前記サインイン要求を送信した送信元アプリケーションが動作する端末装置を示す端末識別符号に対応付けて、有効期限を付して記憶し、当該端末識別符号に対応付けて記憶される他のアクセストークンに付された有効期限を延長する第1延長手順、
     前記端末装置にて動作するいずれかの前記アプリケーションから送信された前記アクセス要求を受信すると、当該アクセス要求に指定されたアクセストークンが、前記アクセス要求を送信した送信元アプリケーションが動作する端末装置の端末識別符号に対応付けられ、有効期限内として記憶されていれば、当該送信元アプリケーションからのアクセスを許可するアクセス要求認証手順、
     前記受信されたアクセス要求に指定されたアクセストークンが、前記アクセス要求を送信した送信元アプリケーションが動作する端末装置の端末識別符号に対応付けられ、有効期限内として記憶されていると、当該端末識別符号に対応付けて記憶されるすべてのアクセストークンに付された有効期限を延長する第2延長手順、
     を実行させるプログラムを記録した情報記録媒体。
     
PCT/JP2016/065917 2016-05-30 2016-05-30 サーバ装置、サービス方法、プログラム、ならびに、非一時的なコンピュータ読取可能な情報記録媒体 WO2017208305A1 (ja)

Priority Applications (5)

Application Number Priority Date Filing Date Title
JP2017510681A JP6118479B1 (ja) 2016-05-30 2016-05-30 サーバ装置、サービス方法、プログラム、ならびに、非一時的なコンピュータ読取可能な情報記録媒体
ES16903933T ES2774056T3 (es) 2016-05-30 2016-05-30 Dispositivo servidor, método de servicio, programa y medio de registro de información legible por ordenador no transitorio
EP16903933.6A EP3346405B1 (en) 2016-05-30 2016-05-30 Server device, service method, program, and non-transitory computer-readable information recording medium
US15/769,240 US10650129B2 (en) 2016-05-30 2016-05-30 Server device, service method, program, and non-transitory computer-readable information recording medium
PCT/JP2016/065917 WO2017208305A1 (ja) 2016-05-30 2016-05-30 サーバ装置、サービス方法、プログラム、ならびに、非一時的なコンピュータ読取可能な情報記録媒体

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2016/065917 WO2017208305A1 (ja) 2016-05-30 2016-05-30 サーバ装置、サービス方法、プログラム、ならびに、非一時的なコンピュータ読取可能な情報記録媒体

Publications (1)

Publication Number Publication Date
WO2017208305A1 true WO2017208305A1 (ja) 2017-12-07

Family

ID=58666826

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2016/065917 WO2017208305A1 (ja) 2016-05-30 2016-05-30 サーバ装置、サービス方法、プログラム、ならびに、非一時的なコンピュータ読取可能な情報記録媒体

Country Status (5)

Country Link
US (1) US10650129B2 (ja)
EP (1) EP3346405B1 (ja)
JP (1) JP6118479B1 (ja)
ES (1) ES2774056T3 (ja)
WO (1) WO2017208305A1 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20200046942A (ko) * 2018-10-26 2020-05-07 삼성에스디에스 주식회사 토큰 기반 레거시 서비스 인증 방법 및 이를 지원하는 플랫폼 서비스 서버
JP2020086794A (ja) * 2018-11-21 2020-06-04 株式会社リコー 情報処理システム、情報処理方法、情報処理装置、及びプログラム

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2018097449A (ja) * 2016-12-09 2018-06-21 セイコーエプソン株式会社 受注システム、プリンター
EP3739834A1 (de) * 2019-05-13 2020-11-18 Siemens Aktiengesellschaft Verfahren, vorrichtung und anordnung zum verarbeiten von daten
CN110532742B (zh) * 2019-07-09 2023-04-14 中国平安财产保险股份有限公司 身份认证方法、装置、密钥设备及存储介质
US11640478B2 (en) * 2020-07-23 2023-05-02 Bank Of America Corporation Travel identity tokening

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006031064A (ja) * 2004-07-12 2006-02-02 Hitachi Ltd セッション管理システム及び管理方法
JP2007172588A (ja) * 2005-11-22 2007-07-05 Ricoh Co Ltd 認証チケット処理装置
JP2011238083A (ja) * 2010-05-12 2011-11-24 Nippon Hoso Kyokai <Nhk> 認証連携装置およびそのプログラム、機器認証装置およびそのプログラム、ならびに、認証連携システム
JP2015215663A (ja) * 2014-05-08 2015-12-03 日本電信電話株式会社 認証方法と認証装置と認証プログラム

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7421733B2 (en) * 2002-02-06 2008-09-02 Hewlett-Packard Development Company, L.P. System and method for providing multi-class processing of login requests
KR101079238B1 (ko) * 2003-08-11 2011-11-03 소니 주식회사 인증 방법, 인증 시스템 및 인증 서버
WO2009007148A1 (en) * 2007-07-10 2009-01-15 International Business Machines Corporation System and method of controlling access to services
EP2384040B1 (en) * 2010-04-29 2013-12-25 BlackBerry Limited Authentication server and method for granting tokens
US9237145B2 (en) * 2011-09-29 2016-01-12 Oracle International Corporation Single sign-on (SSO) for mobile applications
JP6033990B2 (ja) * 2013-09-20 2016-11-30 オラクル・インターナショナル・コーポレイション 単一のフレキシブルかつプラガブルOAuthサーバを備える複数のリソースサーバ、OAuth保護したREST式OAuth許諾管理サービス、およびモバイルアプリケーションシングルサインオンするOAuthサービス
JP5865420B2 (ja) 2014-04-09 2016-02-17 日本電信電話株式会社 Web情報アクセスシステムとそのアクセス権限譲渡方法
JP2016009276A (ja) * 2014-06-23 2016-01-18 富士通株式会社 システム、認証装置、認証プログラム、及び、認証方法
US10057190B2 (en) * 2015-10-16 2018-08-21 International Business Machines Corporation Service access management
KR102117584B1 (ko) * 2016-01-29 2020-06-26 구글 엘엘씨 로컬 디바이스 인증

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006031064A (ja) * 2004-07-12 2006-02-02 Hitachi Ltd セッション管理システム及び管理方法
JP2007172588A (ja) * 2005-11-22 2007-07-05 Ricoh Co Ltd 認証チケット処理装置
JP2011238083A (ja) * 2010-05-12 2011-11-24 Nippon Hoso Kyokai <Nhk> 認証連携装置およびそのプログラム、機器認証装置およびそのプログラム、ならびに、認証連携システム
JP2015215663A (ja) * 2014-05-08 2015-12-03 日本電信電話株式会社 認証方法と認証装置と認証プログラム

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20200046942A (ko) * 2018-10-26 2020-05-07 삼성에스디에스 주식회사 토큰 기반 레거시 서비스 인증 방법 및 이를 지원하는 플랫폼 서비스 서버
KR102519627B1 (ko) * 2018-10-26 2023-04-06 삼성에스디에스 주식회사 토큰 기반 레거시 서비스 인증 방법 및 이를 지원하는 플랫폼 서비스 서버
JP2020086794A (ja) * 2018-11-21 2020-06-04 株式会社リコー 情報処理システム、情報処理方法、情報処理装置、及びプログラム
JP7200619B2 (ja) 2018-11-21 2023-01-10 株式会社リコー 情報処理システム、情報処理方法、情報処理装置、及びプログラム

Also Published As

Publication number Publication date
JP6118479B1 (ja) 2017-04-19
EP3346405A1 (en) 2018-07-11
JPWO2017208305A1 (ja) 2018-06-21
EP3346405B1 (en) 2020-01-29
EP3346405A4 (en) 2018-09-12
US10650129B2 (en) 2020-05-12
US20190080074A1 (en) 2019-03-14
ES2774056T3 (es) 2020-07-16

Similar Documents

Publication Publication Date Title
JP6118479B1 (ja) サーバ装置、サービス方法、プログラム、ならびに、非一時的なコンピュータ読取可能な情報記録媒体
US11962593B2 (en) Identity management connecting principal identities to alias identities having authorization scopes
US8468576B2 (en) System and method for application-integrated information card selection
US10686768B2 (en) Apparatus and method for controlling profile data delivery
US20140230020A1 (en) Authorization server and client apparatus, server cooperative system, and token management method
US20140137232A1 (en) Device apparatus, control method, and relating storage medium
JP2011175394A (ja) シングル・サインオン・システムを構成するウェブ・サーバならびにその動作制御方法およびその動作制御プログラム
WO2013042306A1 (ja) 認証システム、認証サーバ、認証方法および認証用プログラム
JP2016018507A (ja) データ同期システム、その制御方法、認可サーバー、およびそのプログラム
JP5193787B2 (ja) 情報処理方法、中継サーバおよびネットワークシステム
JP5452374B2 (ja) 認証装置、認証方法及び認証プログラム
JP6059748B2 (ja) 認証連携システム及び認証方法
JP2016024715A (ja) 情報処理装置及びプログラム
JP2005535026A (ja) ネットワークを介したユニバーサルユーザーの情報登録の方法及びシステム
JP2021152975A (ja) 情報処理装置、制御方法、およびプログラム
JP5036500B2 (ja) 属性証明書管理方法及び装置
JP2020030759A (ja) 権限委譲システム、情報処理装置およびその制御方法、並びにプログラム。
KR101545897B1 (ko) 주기적인 스마트카드 인증을 통한 서버 접근 통제 시스템
JP2011154445A (ja) 認証装置、認証方法、および認証プログラム
JP2010140218A (ja) ユーザ認証方法、ユーザ認証システム、サービス提供装置、及び認証制御装置
JP2020154447A (ja) 情報処理システム及びプログラム
JP2020035305A (ja) 認証システムおよびその方法、並びにそのプログラム
JP6897977B2 (ja) 認証システムおよびその方法、並びにそのプログラム
JP7355386B2 (ja) 端末管理システムおよびその方法、並びにそのプログラム
KR102498688B1 (ko) 인증 서비스 제공 방법 및 시스템

Legal Events

Date Code Title Description
ENP Entry into the national phase

Ref document number: 2017510681

Country of ref document: JP

Kind code of ref document: A

WWE Wipo information: entry into national phase

Ref document number: 2016903933

Country of ref document: EP

NENP Non-entry into the national phase

Ref country code: DE