WO2017033442A1 - 情報処理装置、認証システム、認証方法、並びにコンピュータ・プログラムを記録する記録媒体 - Google Patents

情報処理装置、認証システム、認証方法、並びにコンピュータ・プログラムを記録する記録媒体 Download PDF

Info

Publication number
WO2017033442A1
WO2017033442A1 PCT/JP2016/003777 JP2016003777W WO2017033442A1 WO 2017033442 A1 WO2017033442 A1 WO 2017033442A1 JP 2016003777 W JP2016003777 W JP 2016003777W WO 2017033442 A1 WO2017033442 A1 WO 2017033442A1
Authority
WO
WIPO (PCT)
Prior art keywords
information
authentication
distributed
input
information processing
Prior art date
Application number
PCT/JP2016/003777
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 US15/753,053 priority Critical patent/US11050745B2/en
Priority to JP2017536609A priority patent/JP6753403B2/ja
Publication of WO2017033442A1 publication Critical patent/WO2017033442A1/ja

Links

Images

Classifications

    • 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/0869Network architectures or network communication protocols for network security for authentication of entities for achieving mutual 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/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/31User 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/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/45Structures or tools for the administration of authentication
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/06Network architectures or network communication protocols for network security for supporting key management in a packet data network
    • H04L63/061Network architectures or network communication protocols for network security for supporting key management in a packet data network for key exchange, e.g. in peer-to-peer networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/12Applying verification of the received information
    • H04L63/123Applying verification of the received information received data contents, e.g. message integrity
    • 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/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/085Secret sharing or secret splitting, e.g. threshold schemes
    • 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
    • H04L9/3236Cryptographic 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 using cryptographic hash functions
    • H04L9/3242Cryptographic 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 using cryptographic hash functions involving keyed hash functions, e.g. message authentication codes [MACs], CBC-MAC or HMAC

Definitions

  • the present invention relates to an authentication system using an information processing apparatus (computer).
  • a password management method called an online password manager is used as a technology to alleviate such danger.
  • a server hereinafter referred to as “password management server” that centrally manages ID and password information for each service used by the user is used.
  • the user is authenticated by the password management server before using the service. When the authentication is successful, the user can receive an ID and password corresponding to the desired service.
  • the user only needs to have information (master password) sufficient to receive authentication from the password management server. Therefore, in the online password manager, the user has less time for password management.
  • Patent Document 1 discloses a data distribution storage system that prevents unauthorized acquisition of partial data generated from important data by a secret sharing technique.
  • the authentication processing unit of each server storing partial data holds a hashed password obtained by hashing a password for each user and a user seed unique to the user.
  • the authentication process part of each server authenticates a user using each server specific server seed
  • Patent Document 2 discloses an authentication unit that manages authentication information necessary for user authentication using a secret sharing method.
  • the terminal authentication unit described in Patent Document 2 stores a plurality of pieces of distributed information obtained by distributing authentication information by a secret sharing method in a plurality of terminals.
  • the authentication unit restores the authentication information based on the distributed information collected from a predetermined number of terminals.
  • the authentication unit performs authentication by comparing the restored authentication information with the input authentication information. In this way, this authentication unit can prevent leakage of authentication information when any of the terminals is lost.
  • the password management server stores all information necessary for user authentication. When such information is leaked, there is a problem that the user's master password can be specified by the information.
  • the authentication unit disclosed in Patent Document 2 has a problem that it is necessary to collect shared information at the timing when the user's validity has not been confirmed yet at the time of authentication. Therefore, the terminal impersonating the terminal can collect the distributed information. Then, there is a problem that the spoofed terminal can use the collected distributed information as a material for specifying authentication information.
  • One object of the present invention is to provide an information processing apparatus and the like that can authenticate distributed authentication information from each apparatus that individually stores them without collecting them in any one apparatus included in the system. There is.
  • a second information processing apparatus includes the following configuration.
  • the second information processing apparatus is provided.
  • a first information processing apparatus is connected to a system including the plurality of first information processing apparatuses having the above-described configuration.
  • Secret sharing means for distributing authentication information based on the input first input information into a plurality of distributed authentication information by a secret sharing method;
  • Communication control means for transmitting the distributed authentication information so as to be distributed to the plurality of second information processing apparatuses.
  • an authentication method is performed by an information processing apparatus.
  • the distributed authentication information is transmitted from the information processing apparatus so as to be distributed,
  • a secret calculation is performed via communication between at least some of the plurality of second information processing apparatuses.
  • At least one of the plurality of second information processing apparatuses that executed the secret calculation executes a predetermined process according to the result of the determination.
  • the object is to read the first and second information processing apparatuses having the above-described configurations, and a computer program for realizing the corresponding method by a computer, respectively, and a computer reading in which the computer program is stored. It is also achieved with possible storage media.
  • the present invention has an effect that, even if information leakage occurs from any information processing apparatus constituting the system, the user's master password cannot be specified from the leaked information.
  • FIG. 15 is a flowchart illustrating operations performed by a client 400 and each distributed authentication device 500 during a user registration process according to the third embodiment.
  • 14 is a flowchart illustrating operations performed by a client 400 and each distributed authentication device 500 during a service registration process according to the third embodiment.
  • 14 is a flowchart illustrating operations performed by a client 400 and each distributed authentication device 500 during a service use process in the third embodiment.
  • It is a figure which illustrates composition of a computer (information processor) applicable to each embodiment of the present invention, and an authentication system or a service access information management system concerning the modification.
  • the secret sharing method is a technique for generating a plurality of shared information from secret information.
  • the shared information is created so that secret information can be restored from a predetermined combination, but secret information cannot be restored from other combinations.
  • Secret sharing methods are described, for example, by Adi Shamir, “How to Share a Secret”, Commun. ACM 22 (11), pp. 612-613, 1979.
  • Various other secret sharing methods are known.
  • the process of generating shared information from secret information is also referred to as “distributed process”.
  • the process of restoring secret information by inputting a plurality of shared information is also referred to as “restoration process”.
  • the secret calculation method is a technique capable of executing calculation related to data distributed by the secret sharing method.
  • the secret calculation method for example, Michael Ben-Or, Shafi Goldwasser, Avi Wigderson al., "Completeness Theorems for Non-Cryptographic Fault-Tolerant Distributed Computation (Extended Abstract)", Proceedings of the 20th Annual ACM Symposium on Theory of Computing, 1988 Proposed in the year.
  • Various other secret calculation methods are known.
  • According to the secret calculation method it is possible to execute any operation on the distributed data group distributed by the secret sharing method and distributed and stored in a plurality of servers without data restoration. That is, since it is not necessary to restore data, according to the secret calculation method, it is possible to perform an operation without collecting the dispersed data group in one place.
  • FIG. 1 is a block diagram showing a configuration of an authentication system according to the first embodiment of the present invention.
  • the authentication system according to the present embodiment includes a first information processing apparatus 1 and a plurality of second information processing apparatuses 10.
  • the first information processing apparatus 1 and each second information processing apparatus 10 can communicate via a communication network (hereinafter simply referred to as a network) 1000 such as the Internet or a local area network (LAN).
  • a network 1000 such as the Internet or a local area network (LAN).
  • the first information processing apparatus 1 and the second information processing apparatus 10 are generally operated by control of a computer program (software program) executed using a CPU (Central Processing Unit: not shown).
  • a simple information processing apparatus (computer) may be used.
  • each unit of the first information processing apparatus 1 and the second information processing apparatus 10 may be configured by a dedicated hardware device or a logic circuit.
  • a hardware configuration example in which the first information processing apparatus 1 and the second information processing apparatus 10 are realized by a computer will be described later with reference to FIG.
  • the first information processing apparatus 1 includes a secret sharing unit 2 and a communication control unit 3.
  • the secret sharing unit 2 distributes the authentication information based on the input information 20 input by, for example, a user operation into a plurality of distributed authentication information by a secret sharing method.
  • the input information 20 is information sufficient to execute authentication such as a set of passwords corresponding to IDs in ID password authentication.
  • the authentication information is information generated based on the input information 20.
  • the authentication information may be a part or all of the input information 20, for example.
  • the communication control unit 3 can control communication between the first information processing apparatus 1 (self apparatus) and each second information processing apparatus 10.
  • the communication control unit 3 transmits each piece of distributed authentication information generated by the secret sharing unit 2 to each of the plurality of second information processing apparatuses 10.
  • the second information processing apparatus 10 includes a communication control unit 11, a secret calculation unit 12, a processing execution unit 13, and a storage device 14.
  • the storage device 14 can store the distributed master authentication information 15.
  • the storage device 14 is realized by, for example, a semiconductor memory device or a disk device.
  • the distributed master authentication information 15 is one of a plurality of pieces of information in which the master authentication information is distributed by distributed processing.
  • the master authentication information is one piece of information that is collated with the authentication information at the time of authentication. It can be said that the authentication information generated in the first information processing apparatus 1 is the other information that is collated with the master authentication information during authentication.
  • the master authentication information is, for example, information based on information such as a master password that is an original to be compared with authentication information based on the input information 20 such as a password.
  • the distributed master authentication information 15 is stored in the storage device 14 in advance.
  • the communication control unit 11 can control communication between the own apparatus and the first information processing apparatus 1 and the other second information processing apparatus 10.
  • the secret calculation unit 12 Based on the distributed master authentication information 15 and one of the distributed authentication information received from the first information processing device 1 via the communication control unit 11, the secret calculation unit 12 communicates with the other second information processing devices 10. Performs secret computation via communication between the two.
  • the secret calculation unit 12 determines whether the authentication information that is the basis of the distributed authentication information matches the master authentication information that is the basis of the distributed master authentication information 15 by the secret calculation.
  • the secret calculation performed by the secret calculation unit 12 is executed between at least some of the second information processing apparatuses 10 included in the present embodiment. Due to the characteristics of the secret calculation method described above, this secret calculation (calculation for determining coincidence) is executed without collecting the distributed master authentication information 15 and the distributed authentication information in any one of the second information processing apparatuses 10. .
  • the process execution unit 13 executes a predetermined process according to the result of the determination (authentication) whether the authentication information by the secret calculation unit 12 matches the master authentication information. For example, the process execution unit 13 may provide predetermined information to the first information processing apparatus 1 when it is determined that the authentication information matches the master authentication information (authentication success). Alternatively, the process execution unit 13 may simply notify the first information processing apparatus 1 of the determination result (that is, the success or failure of authentication).
  • the distributed master authentication information 15 is collected from each of the second information processing apparatuses 10 storing them individually to any one of the apparatuses included in the system. It can authenticate without.
  • the information processing apparatus that can authenticate the distributed authentication information without collecting the authentication information from each apparatus that stores them individually in any one apparatus included in the system.
  • the present embodiment has an effect that the master authentication information of the user cannot be specified from the information of a single information processing device, even if information leakage occurs from any information processing device constituting the system.
  • the terminal pretending to be the first information processing apparatus 1 cannot acquire the distributed master authentication information 15.
  • the first information processing apparatus 1 and one of the second information processing apparatuses 10 may be mounted in the same information processing apparatus.
  • the service access information is a general term for information used when accessing each service, such as user authentication information for various services and information on encryption keys.
  • the service access information management system is generally called a password management system.
  • FIG. 2 is a block diagram showing the configuration of the service access information management system according to the second embodiment of the present invention.
  • the service access information management system includes a client (first information processing apparatus) 100, a plurality of distributed authentication apparatuses (second information processing apparatuses) 200, and service access information management.
  • a device 300 The client 100 is based on the first information processing apparatus 1 in the first embodiment.
  • the distributed authentication device 200 is based on the second information processing device 10 in the first embodiment.
  • the distributed authentication device 200 and the service access information management device 300 correspond to a device (group) that manages service access information in the password management system.
  • a password management system in which the client 100 and a device (group) for managing service access information are connected via a network is particularly called an online password manager.
  • the service access management system according to the present embodiment is referred to as an online password manager.
  • the online password manager in the present embodiment can execute three processes of user registration, service registration, and service use.
  • the user registers the master password, which is a character string used for user authentication when using the online password manager, and user ID information representing the user ID in the online password manager.
  • This master password is an example of master authentication information in the first embodiment.
  • the user registers the master password distributed by the secret sharing method as information (distributed master authentication information 215) associated with the user ID information with respect to each distributed authentication apparatus 200 via the client 100. .
  • the distributed master authentication information 215 is based on the distributed master authentication information 15 in the first embodiment. That is, the user registration process in the present embodiment corresponds to a process of registering the distributed master authentication information 15 in the storage device 14 of the second information processing apparatus 10 in the first embodiment. It can be said that the user registration process is a process for preparing a system environment capable of executing authentication in the first embodiment.
  • the user can also register salt information representing a salt used for encryption and decryption of service access information in the online password manager. Similar to the master password, the salt information is registered in each distributed authentication apparatus 200 as distributed salt information 216 distributed by the secret sharing method. Hereinafter, the distributed salt information is referred to as distributed salt information 216.
  • the user manages service access information for a plurality of services using the client 100 in the service registration process and the service use process.
  • the user registers the service access information in the online password manager.
  • the user registers the encrypted service access information (encrypted service access information 304) in the service access information management apparatus 300 via the client 100.
  • the user acquires encrypted service access information 304 corresponding to the desired service from the online password manager as a service use process.
  • the user acquires the encrypted service access information 304 registered in the service access information management apparatus 300 as decrypted service access information via the client 100.
  • the user receives user authentication when using the online password manager using the master password and user ID information registered by the user registration process as the first stage of the service registration process and the service use process.
  • This user authentication is authentication based on the first embodiment. That is, the online password manager in the present embodiment executes authentication based on the first embodiment as user authentication included in the service registration process and the service use process.
  • the term “user authentication” refers to user authentication in both the service registration process and the service use process, unless otherwise specified.
  • a password (character string) that matches the master password as an example of the input information 20 in the first embodiment.
  • This password is an example of authentication information in the first embodiment.
  • a character string input by a user in user authentication is simply referred to as a “password” to be distinguished from a “master password” registered in user registration.
  • the user When the user authentication is successful, the user is permitted to register or obtain service access information by receiving the distributed salt information 216 from each distributed authentication device 200. That is, the client 100 can execute the above-described processing for encrypting and decrypting the service access information by using the salt information restored from the distributed salt information 216.
  • the user can use a desired service using the decrypted service access information.
  • a user With such an online password manager process, a user can use various services as long as a set of user ID information and a master password are stored.
  • the user registration process is performed before the service registration process and the service use process. That is, the user registration process is performed before authentication.
  • the service registration process is performed before the service use process.
  • the client 100, each distributed authentication device 200, and the service access information management device 300 can communicate with each other via a communication network (hereinafter simply referred to as a network) 1000 such as the Internet or a local area LAN.
  • a network 1000 such as the Internet or a local area LAN.
  • the client 100, the distributed authentication device 200, and the service access information management device 300 are general information processing devices that operate under the control of a computer program (software program) that is executed using a CPU (not shown). Computer).
  • each unit of the client 100, the distributed authentication device 200, and the service access information management device 300 may be configured by a dedicated hardware device or a logic circuit.
  • a hardware configuration example in which the client 100, the distributed authentication device 200, and the service access information management device 300 are realized by a computer will be described later with reference to FIG.
  • the client 100 further includes an authentication information generation unit 101, an encryption unit 103, a secret restoration unit 104, a decryption unit 105, An input unit 110 and an output unit 111 are included.
  • the input unit 110 can accept information input from the user in each process of the online password manager described above. That is, the input unit 110 includes a user ID, a master password (second input information), salt information (third input information), a password (first input information), and service access information (fourth input information). Can be accepted.
  • the first to fourth input information and the user ID described above are examples of the input information 20 in the first embodiment.
  • the input unit 110 may accept an input via a keyboard, a pointing device, a touch panel, or the like (not shown).
  • the input unit 110 may accept an input by communication from, for example, the communication control unit 3 or an external device connected by a communication function (not shown).
  • the authentication information generation unit 101 can generate authentication information and master authentication information, which are information sufficient to execute authentication, based on information input via the input unit 110.
  • the master authentication information and authentication information in this embodiment are based on the master authentication information and authentication information in the first embodiment, respectively.
  • the authentication information generation unit 101 generates master authentication information by performing a predetermined calculation on the input master password in the user registration process. Further, as an example, the authentication information generation unit 101 generates authentication information by performing a predetermined calculation on an input password during user authentication in service registration processing and service use processing.
  • the authentication information generation unit 101 calculates a hash value by inputting a master password or a password as an example of a predetermined calculation. That is, the master authentication information and the authentication information in the present embodiment are information generated based on the hash value. Various methods other than the above can be adopted as a predetermined calculation method performed by the authentication information generation unit 101. That is, in the authentication method according to the present embodiment, the hash value based on the master password that is the first character string and the hash value based on the input password that is the second character string are respectively distributed by the secret calculation method. It is a method of collating as it is.
  • the secret sharing unit 102 is based on the secret sharing unit 2 in the first embodiment.
  • the secret sharing unit 102 distributes a plurality of authentication information generated by the authentication information generating unit 101 during user authentication by a secret sharing method. Distributed in authentication information.
  • the secret sharing unit 102 also uses the secret sharing method for the master authentication information generated by the authentication information generating unit 101 and the salt information input via the input unit 110 during the user registration process. scatter.
  • the communication control unit 3 is based on the communication control unit 3 in the first embodiment. As with the communication control unit 3 in the first embodiment, the communication control unit 3 distributes each distributed authentication information distributed by the secret sharing unit 102 to each of the plurality of distributed authentication devices 200 during user authentication. It is transmitted in association with the user ID information.
  • the communication control unit 3 uses the distributed master authentication information 215 and the distributed salt information 216 distributed by the secret sharing unit 102 for each of the plurality of distributed authentication devices 200 during the user registration process. Is transmitted in association with the user ID information. In other words, the communication control unit 3 transmits each distributed salt information 216 to each distributed authentication device 200 as “custody information” stored in advance. This deposit information is later returned to the client 100 under the conditions and timing determined by each distributed authentication device 200. In this embodiment, as an example, the communication control unit 3 receives the custody information (distributed salt information 216) from each distributed authentication device 200 when it is determined that the authentication is successful.
  • the communication control unit 3 can control communication regarding each information exchanged between each distributed authentication device 200 and the service access information management device 300 in the service registration process and the service use process.
  • the secret restoration unit 104 inputs each distributed salt information 216 received from each distributed authentication device 200 via the communication control unit 3 when the user authentication in the service registration process and the service use process is successful, and receives the salt information. Can be restored.
  • the encryption unit 103 encrypts the input service access information in the service registration process.
  • the encrypted service access information is referred to as encrypted service access information 304.
  • the encryption unit 103 performs encryption using the encryption key generated based on the salt information restored by the secret restoration unit 104. Also, the encryption unit 103 transmits the encrypted service access information 304 to the service access information management apparatus 300 via the communication control unit 3.
  • the decryption unit 105 decrypts the encrypted service access information 304 acquired from the service access information management device 300 via the communication control unit 3 in the service use process.
  • the decryption unit 105 performs decryption using the decryption key generated based on the salt information restored by the secret restoration unit 104.
  • the encryption method is a common key method, the encryption key and the decryption key may be the same.
  • the encrypted service access information 304 is decrypted to return to the service access information input in the service registration process.
  • the output unit 111 outputs the service access information decoded by the decoding unit 105.
  • the output unit 111 may display service access information on a display (not shown) or a touch panel.
  • the output unit 111 may output service access information to a storage device (not shown) or an external device connected via the communication control unit 3 or the like.
  • the output unit 111 may be used for displaying a message when receiving an input to the input unit 110.
  • the distributed authentication device 200 further includes a registration unit 201 in addition to the communication control unit 11, the secret calculation unit 212, the process execution unit 213, and the storage device 14 each based on the first embodiment.
  • the storage device 14 in the present embodiment can store distributed master authentication information 215 and distributed salt information 216.
  • the storage device 14 is realized by, for example, a semiconductor memory device or a disk device.
  • the distributed master authentication information 215 and the distributed salt information 216 are stored in the storage device 14 by the registration unit 201 during user registration.
  • the communication control unit 11 is based on the communication control unit 11 in the first embodiment.
  • the communication control unit 11 can control communication between the own device and the client 100 and other distributed authentication devices 200.
  • the secret calculation unit 212 is based on the secret calculation unit 212 in the first embodiment.
  • the secret calculation unit 212 uses another distributed authentication device 200 based on the distributed master authentication information 215 and one of the distributed authentication information received from the client 100 via the communication control unit 11 in user authentication. Executes secret computation via communication with The secret calculation unit 212 uses the secret calculation to match the authentication information that is the basis of the distributed authentication information received from the client 100 with the master authentication information that is the basis of the distributed master authentication information 215 stored in the storage device 14. Determine whether or not. That is, the secret calculation unit 212 determines whether the authentication information based on the password input in the user authentication of the service registration process and the service use process matches the master authentication information based on the master password input in the user registration process. To do.
  • the secret calculation unit 212 can execute a combination of a secret calculation for calculating a hash and a secret calculation for determining a match. Since the structure and function of the secret calculation unit 212 are the same as those of the first embodiment except for the points described above, a detailed description thereof is omitted.
  • the process execution unit 213 is based on the process execution unit 13 in the first embodiment.
  • the process execution unit 213 executes a predetermined process according to a determination (authentication) result indicating whether the authentication information by the secret calculation unit 212 matches the master authentication information.
  • the process execution unit 213 transmits the distributed salt information 216 to the client 100 when it is determined that the authentication is successful.
  • the process execution unit 213 according to the present embodiment can transmit storage information (distributed salt information 216), which is information stored in advance, to the authentication requester. .
  • the registration unit 201 receives one of the distributed master authentication information 215 and one of the distributed salt information 216 from the client 100 via the communication control unit 11 during the user registration process. Then, the registration unit 201 can store one of the received distributed master authentication information 215 and one of the distributed salt information 216 in the storage device 14 in association with the user ID information.
  • the service access information management device 300 includes a communication control unit 301, a management unit 302, and a storage device 303.
  • the storage device 303 can store the encrypted service access information 304.
  • the encrypted service access information 304 is stored in the storage device 303 by the management unit 302 during the service registration process.
  • the communication control unit 301 can control communication between the own device and the client 100.
  • the management unit 302 stores the encrypted service access information 304 received from the client 100 via the communication control unit 301 during the service registration process in the storage device 303 in association with the user ID information and the service name information. Can do. In addition, the management unit 302 can transmit the encrypted service access information 304 to the client 100 via the communication control unit 301 during the service use process.
  • the online password manager according to the present embodiment performs three processes: the user registration process, the service registration process, and the service use process described above. Below, operation
  • FIG. 3 is a flowchart illustrating operations performed by the client 100 and each distributed authentication device 200 during the user registration process in the second embodiment.
  • the user inputs user ID information, master password, and salt information to the client 100.
  • the input unit 110 receives input of user ID information, a master password, and salt information (step A10). These pieces of information may be automatically generated by the input unit 110 or a functional unit (not shown) instead of being input by the user.
  • the amount of information (character string length) obtained by combining the master password and the user ID information is set to an amount of information that can be stored by the user.
  • the authentication information generation unit 101 generates master authentication information based on the input information.
  • the authentication information generation unit 101 calculates a hash value of the master password (step A11).
  • the authentication information generation unit 101 may use a hash function for encryption such as SHA (Secure Hash Algorithm) -1 or a common key encryption method as a hash value calculation method.
  • the authentication information generation unit 101 may include, for example, user ID information in addition to the master password as an input for calculating the hash value.
  • an auxiliary input may be included in addition to the input from the user.
  • a well-known general method can be used as the hash value calculation method, detailed description in this embodiment will be omitted.
  • the secret sharing unit 102 performs a sharing process by the secret sharing method on each of the generated master authentication information and the salt information input in step A11. Specifically, the secret sharing unit 102 performs a sharing process on each of the hash value of the master password and the salt information (step A12).
  • the communication control unit 3 transmits the user ID information, the distributed hash value (distributed master authentication information 215), and the distributed salt information (distributed salt information 216) to each distributed authentication apparatus 200 (distributed). (Step A13). Specifically, the communication control unit 3 transmits one of the distributed master authentication information 215 and one of the distributed salt information 216 so as to be distributed to each distributed authentication device 200 together with the user ID information. .
  • each distributed authentication device 200 receives user ID information, distributed master authentication information 215, and distributed salt information 216 via the communication control unit 11.
  • Each registration unit 201 stores the distributed master authentication information 215 and the distributed salt information 216 in the storage device 14 in association with the user ID information (step B20).
  • FIG. 4 is a flowchart showing operations performed by the client 100, each distributed authentication device 200, and the service access information management device 300 during the service registration process in the second embodiment.
  • the user inputs the user ID information, password, service name information, and service access information registered in the user registration process to the client 100.
  • the service name information is information representing the name of the service that the user registers.
  • the user inputs a password so as to match the master password registered in the user registration process.
  • input unit 110 accepts input of user ID information, password, service name information, and service access information (step A30).
  • the service access information can be information that the user wants to store externally in relation to the service name.
  • the service access information may be an ID (service ID) and a password (service password) used in a service registered by the user.
  • service ID an ID
  • service password a password used in a service registered by the user.
  • the service password may be prepared by the user or the service side. When the user prepares, for example, the user may use a random number generation program or the like as a service password.
  • the client 100 receives user authentication.
  • the authentication information generation unit 101 generates authentication information based on the input information (step A31). Specifically, the authentication information generation unit 101 calculates a hash value of the input password. Since the hash value calculation method is the same as the hash value calculation method (step A11) in the user registration process, a detailed description thereof will be omitted.
  • the secret sharing unit 102 performs a sharing process by the secret sharing method on the generated authentication information (password hash value) (step A32).
  • password hash value generated authentication information
  • distributed authentication information information in which password hash values are distributed.
  • the communication control unit 3 transmits (distributes) user ID information and distributed authentication information to each distributed authentication apparatus 200 (step A33). Specifically, the communication control unit 3 transmits one piece of distributed authentication information to each distributed authentication apparatus 200 so as to be distributed to each distributed authentication apparatus 200 together with the user ID information. For example, the communication control unit 3 may determine the transmission method of the user ID information and the distributed authentication information based on the transmission destination and the transmission method that transmitted the distributed master authentication information 215 in Step A13 of the user registration process. .
  • the communication control unit 11 receives the user ID information and the distributed authentication information (step B40).
  • the secret calculation unit 212 performs communication with another distributed authentication device 200 based on the received distributed authentication information and the distributed master authentication information 215 stored in association with the received user ID information.
  • the secret calculation is executed (step B41). Specifically, the secret calculation unit 212 determines whether the hash value of the password that is the basis of the distributed authentication information matches the hash value of the master password that is the basis of the distributed master authentication information 215 by the secret calculation (calculation). Determine if.
  • the secret calculation performed by the secret calculation unit 212 is executed among at least some of the distributed authentication devices 200 included in the present embodiment.
  • the secret calculation unit 212 executes a combination of a secret calculation for calculating a hash and a secret calculation for determining a match.
  • a calculation method for performing a secret calculation Yehuda Lindell, Benny Pinkas, Nigel P. Smart, written by Avishay Yanai, “Efficient Constant Round Multi-Party Combining Combining BMR and SPDZ”, [Online], Cryptology ePrint 7th, April 15 iacr. org / 2015/523. pdf>.
  • the secret calculation unit 212 may execute a hash algorithm by a secret calculation that executes the common key encryption described in the above-mentioned document.
  • CMAC Cipher-based Message Authentication Code
  • CMAC is well known as an example of a hash algorithm.
  • CMAC is, for example, written by Morris Dworkin, “Recommendation for Block Cipher Modes of Operation: The CMAC Mode for Authentication, which is the NIST (National Institute of Standard 5) .
  • the calculation method for determining coincidence is the same as that described at the beginning of the section “DETAILED DESCRIPTION OF THE INVENTION”, and a detailed description thereof is omitted.
  • the secret calculation unit 212 determines that the authentication is successful.
  • the authentication determination method may be, for example, successful authentication when a determination result that matches is obtained in all the distributed authentication devices 200 participating in the secret calculation of the authentication process.
  • the authentication result may be determined by a majority vote of the distributed authentication device 200 participating in the secret calculation of the authentication process.
  • One secret calculation unit 212 may perform authentication determination as a representative.
  • the plurality of secret calculation units 212 may each perform authentication determination. Since various well-known general techniques including the above-described method can be used for the authentication determination method, detailed description in this embodiment will be omitted.
  • the process execution unit 213 executes a predetermined process. Specifically, as an example, the process execution unit 213 transmits the distributed salt information 216 stored in association with the received user ID to the client 100 (step B43). This process is executed by at least the number of distributed authentication apparatuses 200 that satisfy the condition that the distributed salt information 216 that can restore the salt information is provided to the client 100. Since the method for determining the number of distributed authentication apparatuses 200 that execute processing can use a well-known general technique of secret sharing, detailed description in this embodiment will be omitted.
  • the process execution unit 213 executes a predetermined process. Specifically, as an example, the process execution unit 213 simply ends the process without transmitting the distributed salt information 216.
  • the process execution unit 213 may execute another “predetermined process” such as, for example, notifying the client 100 of an authentication failure and then terminating the process.
  • the communication control unit 3 receives the distributed salt information 216 from each distributed authentication device 200 (step A34).
  • the client 100 can know the success of authentication by receiving this distributed salt information 216. This is the user authentication that the client 100 receives.
  • the secret restoration unit 104 performs a restoration process on the received plurality of distributed salt information 216 (step A35). As a result of the restoration process, the salt information input in the user registration process is restored.
  • the encryption unit 103 encrypts the input service access information in step A30 (step A36). Specifically, first, the encryption unit 103 calculates a secret key used for encryption by inputting the input password and the restored salt information to a key derivation function.
  • the encryption unit 103 can use a hash function for encryption such as SHA-1 or a method using a common key encryption such as AES (Advanced Encryption Standard) as the key derivation function.
  • the encryption unit 103 may add a service name or the like to the input to the key derivation function so that a different key is used for each service. Then, the encryption unit 103 encrypts the service access information using the calculated secret key.
  • the encryption unit 103 transmits user ID information, service name information, and encrypted service access information (encrypted service access information 304) to the service access information management apparatus 300 via the communication control unit 3. (Step A37).
  • the management unit 302 stores the received encrypted service access information 304 in the storage device 303 in association with the user ID information and the service name information (step C50).
  • the service access information management apparatus 300 may store the encrypted service access information 304 after confirming that the client 100 has succeeded in user authentication. For example, the service access information management apparatus 300 may confirm the result of user authentication through communication with one of the distributed authentication apparatuses 200. Alternatively, when requesting registration of the encrypted service access information 304, the service access information management apparatus 300 confirms without communication via information based on the information certifying successful authentication added by the client 100. Also good. Since various well-known general techniques including the above-described method can be used as the method for confirming the result of user authentication, detailed description in this embodiment will be omitted.
  • FIG. 5 is a flowchart illustrating operations performed by the client 100, each distributed authentication device 200, and the service access information management device 300 during the service use process according to the second embodiment.
  • the user inputs user ID information, password, and service name information to the client 100.
  • the service name information is information representing the name of the service for which the user wants to obtain service access information, such as the name of the service that the user wants to use.
  • the user inputs user ID information and a password as in the service registration process.
  • the input unit 110 receives input of user ID information, password, and service name information (step A60).
  • the client 100 first receives user authentication. If the user authentication is successful, the client 100 restores the salt information by a restoration process for the distributed salt information.
  • the steps of user authentication (steps A31 to A34 and steps B40 to B43) and the salt information restoration process (step A35) are the same as the service registration process, and a detailed description thereof will not be repeated.
  • the decryption unit 105 requests the service access information management apparatus 300 for the encrypted service access information 304 (step A61). Specifically, the decryption unit 105 requests the service access information management apparatus 300 to send the corresponding encrypted service access information 304 by notifying the service access information management device 300 of the user ID information and the service name information.
  • the management unit 302 transmits the encrypted service access information 304 corresponding to the user ID information and the service name information to the client 100 based on the request from the client 100 (step C70).
  • the service access information management apparatus 300 may transmit the encrypted service access information 304 after confirming that the client 100 has succeeded in user authentication.
  • the method for confirming the result of the user authentication is the same as that in step C50 of the service registration process, and a detailed description thereof will be omitted.
  • the service access information management apparatus 300 may transmit the encrypted service access information 304 without confirming the success of the user authentication. .
  • the decryption unit 105 receives the encrypted service access information 304. Then, the decryption unit 105 decrypts the received encrypted service access information 304 (step A62). Specifically, the decryption unit 105 calculates a secret key in the same manner as Step A36 of the service registration process. Then, the decryption unit 105 decrypts the encrypted service access information 304 using the calculated secret key. As a result of decoding, the decoding unit 105 can obtain the same information as the service access information input in the service registration process.
  • the output unit 111 outputs the decrypted service access information (step A63).
  • the user can use a desired service using the output service access information.
  • this embodiment has an effect of further improving the security of the master password.
  • the secret sharing unit 102 of the client 100 uses the hash value of the master password calculated via the authentication information generating unit 101 instead of the master password itself as the basis of the distributed master authentication information 215. Because it does.
  • this embodiment has an effect that service access information can be managed safely.
  • the secret sharing unit 102 generates the distributed salt information 216 in which the salt information is distributed by the secret sharing method in the client 100.
  • the secret restoration unit 104 collects (acquires) the distributed salt information 216 stored in each distributed authentication device 200 and restores the distributed salt information 216 as salt information. That is, in the present embodiment, even if information leakage occurs from any information processing device constituting the online password manager, the information cannot be used for specifying salt information necessary for decryption of the encrypted service access information 304. .
  • this embodiment has an effect that various services can be used if the user stores a set of user ID information and a password.
  • the reason is that the distributed salt information 216 necessary for generating a secret key for decrypting the encrypted service access information 304 after the plurality of distributed authentication devices 200 succeeds in user authentication with a set of user ID information and password. This is because it is provided to the client 100.
  • the client 100 can acquire service access information for various services by decrypting the encrypted service access information 304 based on the salt information obtained by decrypting the distributed salt information 216.
  • this embodiment has an effect that the client 100 can be easily provided.
  • the client 100 and one of the distributed authentication devices 200 may be implemented in the same information processing device.
  • the service access information management device 300 and one of the distributed authentication devices 200 may be mounted in the same information processing device.
  • the master authentication information and the authentication information may be used as they are, or all or part of the input master password.
  • the input unit 110 may accept some information at timings other than those described above. That is, the input unit 110 may accept information other than the user ID information and the password after the success of user authentication is found instead of step A30 in FIG. 4 or step A60 in FIG. Also, for example, in the service use process, the secret restoration unit 104 restores the distributed salt information 216 (step A35 in FIG. 5), or at any timing until the encrypted service access information 304 is decrypted (step A62). May be executed.
  • ⁇ Third Embodiment> Next, a third embodiment based on the above-described second embodiment will be described.
  • FIG. 6 is a block diagram showing a configuration of a service access information management system according to the third embodiment of the present invention.
  • the service access information management system according to the present embodiment includes a client (first information processing apparatus) 400 and a plurality of distributed authentication apparatuses (second information processing apparatuses) 500.
  • the client 400 is based on the client 100 in the second embodiment.
  • the distributed authentication apparatus 500 is based on the distributed authentication apparatus 200 in the second embodiment.
  • This embodiment is different from the second embodiment in that service access information is managed in a distributed manner.
  • the service access information is protected by a cryptographic technique.
  • the service access information is protected by applying the secret sharing method instead of the encryption technique.
  • distributed service access information is stored in each distributed authentication apparatus 500 together with distributed master authentication information 215. Therefore, this embodiment is different from the second embodiment in that an apparatus corresponding to the service access information management apparatus 300 is not included.
  • the service access information management system is an online password manager, as in the second embodiment.
  • the online password manager can execute three processes of user registration, service registration, and service use.
  • the client 400 and each distributed authentication device 500 can communicate with each other via a network 1000 such as the Internet or a local area LAN.
  • a network 1000 such as the Internet or a local area LAN.
  • the client 400 and the distributed authentication device 500 may be configured by a general information processing device (computer) that operates under the control of a computer program (software program) that is executed using a CPU (not shown). good.
  • each unit of the client 400 and the distributed authentication device 500 may be configured by a dedicated hardware device or a logic circuit.
  • a hardware configuration example in which the client 400 and the distributed authentication device 500 are realized by a computer will be described later with reference to FIG.
  • the client 400 includes a communication control unit 3, an authentication information generation unit 101, a secret sharing unit 402, a secret restoration unit 404, an input unit 410, and an output unit 111, each based on the second embodiment. Since the structures and functions of the authentication information generation unit 101 and the output unit 111 are the same as those in the second embodiment, redundant description is omitted.
  • the input unit 410 is different from the second embodiment in that it does not receive input of salt information. That is, the input unit 410 can accept a user ID, a master password (second input information), a password (first input information), and service access information (third input information).
  • the secret sharing unit 402 and the secret restoration unit 404 are different from the second embodiment in that service access information is used as a target of the distribution process or restoration process of the secret sharing method instead of the salt information.
  • the communication control unit 3 transmits / receives the distributed service access information 517 to / from each distributed authentication device 500 instead of the distributed salt information 216 and does not handle the encrypted service access information 304. Different from the embodiment.
  • the secret sharing unit 402 distributes the distributed service access information 517, which is information in which the service access information is distributed, by the distributed process.
  • the secret restoration unit 404 restores the distributed service access information 517 received from each distributed authentication apparatus 500 as service access information by the restoration process.
  • the structures and functions of the input unit 410, the secret sharing unit 402, the secret restoration unit 404, and the communication control unit 3 are the same as those of the second embodiment except for the points described above.
  • the distributed authentication device 500 includes a communication control unit 11, a secret calculation unit 212, a process execution unit 513, a registration unit 501, and a storage device 14 based on the second embodiment. Since the structure and function of the secret calculation unit 212 are the same as those in the second embodiment, a detailed description thereof is omitted.
  • Each of the units other than the secret calculation unit 212 handles the distributed service access information 517 in place of the distributed salt information 216.
  • the storage device 14 can store the distributed master authentication information 215 and the distributed service access information 517.
  • the communication control unit 11 transmits / receives distributed service access information 517 to / from the client 400 instead of the distributed salt information 216.
  • the registration unit 501 receives the distributed service access information 517 in the service registration process instead of the user registration process, and stores it in the storage device 14.
  • the process execution unit 513 transmits the distributed service access information 517 to the client 400 instead of the distributed salt information 216 as an example of a predetermined process when the user authentication is successful.
  • the distributed service access information 517 corresponds to the custody information in the second embodiment. Also in this embodiment, this custody information is later returned to the client 400 under the conditions and timing determined by each distributed authentication device 500.
  • the communication control unit 3 receives this custody information (distributed service access information 517) from each distributed authentication device 500 when it is determined that the authentication is successful.
  • the plurality of custody information received from each distributed authentication device 500 is restored as service access information by the secret restoration unit 404. Then, the secret restoration unit 404 outputs the restored service access information via the output unit 111.
  • the online password manager also performs three processes: a user registration process, a service registration process, and a service use process. Below, operation
  • FIG. 7 is a flowchart illustrating operations performed by the client 400 and each distributed authentication device 500 during the user registration process according to the third embodiment.
  • the user inputs user ID information and a master password to the client 400.
  • input unit 410 accepts input of user ID information and a master password (step A100).
  • the authentication information generation unit 101 generates master authentication information based on the input information. As in the second embodiment, the authentication information generation unit 101 calculates a hash value of the master password (step A101).
  • the secret sharing unit 402 performs a sharing process by the secret sharing method on the generated master authentication information (step A102).
  • the communication control unit 3 transmits (distributes) the user ID information and the distributed hash value (distributed master authentication information 215) to each distributed authentication device 500 (step A103).
  • each distributed authentication device 500 the registration unit 501 receives the user ID information and the distributed master authentication information 215 via the communication control unit 11. Each registration unit 501 stores the distributed master authentication information 215 in the storage device 14 in association with the user ID information (step B110).
  • FIG. 8 is a flowchart illustrating operations performed by the client 400 and each distributed authentication device 500 during the service registration process according to the third embodiment.
  • the user inputs the user ID information, password, service name information, and service access information registered in the user registration process to the client 400. Thereafter, each step (steps A31 to A33 and steps B40 to B42) up to reception of input from the input unit 410 in the client 400 (step A30) and determination of the result of user authentication is the same as in the second embodiment. Therefore, the detailed description which overlaps is omitted.
  • the process execution unit 513 executes a predetermined process. Specifically, the process execution unit 513 notifies the client 400 of an authentication result (success) as an example (step B130). This notification may be executed by at least one distributed authentication device 500.
  • the process execution unit 513 may simply end the process without transmitting the authentication result (failure), for example.
  • the communication control unit 3 receives a notification of an authentication result (success) from at least one distributed authentication device 500 (step A120).
  • the client 400 can know the success of the authentication by receiving the notification of the authentication result (success). This is the user authentication that the client 400 receives.
  • the secret sharing unit 402 performs a sharing process by the secret sharing method on the input service access information (step A121).
  • the communication control unit 3 transmits (distributes) the user ID information, service name information, and distributed service access information (distributed service access information 517) to each distributed authentication apparatus 500 (step A122). .
  • each distributed authentication device 500 the registration unit 501 receives user ID information, service name information, and distributed service access information 517 via the communication control unit 11.
  • Each registration unit 501 stores the distributed service access information 517 in the storage device 14 in association with the user ID information and the service name information (step B131).
  • FIG. 9 is a flowchart illustrating operations performed by the client 400 and each distributed authentication device 500 during the service use process according to the third embodiment.
  • the user inputs user ID information, password, and service name information to the client 400.
  • each step steps A31 to A33 and steps B40 to B42 up to reception of the input of the input unit 410 in the client 400 (step A60) and determination of the result of user authentication is basically the second embodiment. It is the same.
  • service name information is added as information transmitted from the client 400 to each distributed device 500 (step A140).
  • Each distributed authentication apparatus 500 also receives service name information (step B150).
  • the operations steps A60, A31, A32, B41, and B42
  • the detailed description that overlaps is omitted.
  • the process execution unit 513 executes a predetermined process. Specifically, as an example, the process execution unit 513 transmits the distributed service access information 517 corresponding to the user ID information and the service name information to the client 400 (step B151).
  • the communication control unit 3 receives the distributed service access information 517 from each distributed authentication device 500 (step A141).
  • the secret restoration unit 404 performs a restoration process on the received plurality of distributed service access information 517 (step A142). As a result of the restoration process, the service access information input in the service registration process is restored.
  • the output unit 111 outputs the restored service access information (step A143).
  • the user can use a desired service using the output service access information.
  • this embodiment also has an effect that service access information can be managed safely.
  • the secret sharing unit 402 distributes and stores the distributed service access information 517 in which the service access information is distributed to each distributed authentication device 500 by the secret sharing method. is there. That is, in this embodiment, it can be said that any information leakage from any distributed authentication device 500 constituting this system has an effect that the information cannot be used for specifying service access information.
  • this embodiment has an effect that the system configuration can be simplified as compared with the second embodiment described above.
  • the client 400 and one of the distributed authentication devices 500 may be implemented in the same information processing device.
  • the master authentication information and the authentication information may be used as they are, or all or part of the input master password.
  • the input unit 410 may accept some information at timings other than those described above. That is, the input unit 410 may accept information other than the user ID information and the password after the success of user authentication is found instead of step A30 in FIG. 8 or step A60 in FIG. In this case, the authentication result (success) may be notified by the distributed authentication apparatus 500 also in the service use process (FIG. 9). Thereafter, the communication control unit 3 of the client 400 may transmit service name information to each distributed authentication device 500.
  • ⁇ Example of HW configuration explanation> 1, 2, and 6 in each of the above-described embodiments may be configured by independent hardware circuits, or a function (processing) unit (software module) of a software program. Can be caught.
  • the division of each part shown in these drawings is a configuration for convenience of explanation, and various configurations can be assumed for mounting. An example of the hardware environment in such a case will be described with reference to FIG.
  • FIG. 10 is a diagram illustrating a configuration of a computer (information processing apparatus) applicable to each embodiment of the present invention and the authentication system and the service access information management system according to the modification. That is, FIG. 10 can realize at least one of the first information processing apparatuses 1, 100 and 400, the second information processing apparatuses 10, 200 and 500, and the service access information management apparatus 300 in each embodiment described above. This shows a hardware environment that can implement each function in each of the above-described embodiments.
  • the computer 900 shown in FIG. 10 includes a CPU (Central Processing Unit) 901, a ROM (Read Only Memory) 902, a RAM (Random Access Memory) 903, a communication interface (IF) 904, a display 905, and a hard disk device (HDD) 906. And these are connected via a bus 907.
  • a CPU Central Processing Unit
  • ROM Read Only Memory
  • RAM Random Access Memory
  • IF communication interface
  • HDD hard disk device
  • the communication interface 904 is a general communication means for realizing communication between the computers in each of the above-described embodiments.
  • the hard disk device 906 stores a program group 906A and various storage information 906B.
  • the program group 906A is, for example, a computer program for realizing a function corresponding to each block (each unit) shown in FIG. 1, FIG. 2, and FIG.
  • the various storage information 906B includes, for example, distributed master authentication information 15 and 215, distributed salt information 216, encrypted service access information 304, and distributed service access information 517 shown in FIGS.
  • the CPU 901 governs the overall operation of the computer 900.
  • FIG. 1 A block diagram
  • FIG. 3 to 5, and 7 to 7 A block diagram
  • FIG. 3 to 5 to 5 A block diagram
  • FIG. 3 to 5 to 5 A block diagram
  • FIG. 3 to 5 to 7 A block diagram
  • FIG. 3 to 5 to 5 A block diagram
  • FIG. 3 to 5 to 7 A block diagram
  • FIG. 3 to 5 to 7 A block diagram
  • FIG. 3 to 5 to 7 A block diagram
  • FIG. 3 to 5 to 7 to 7 The present invention described by taking each of the above embodiments as an example is a block diagram
  • FIG. 3 to 5 to 7 to 7 A block diagram
  • FIG. 3 to 5 to 7 to 7 A block diagram
  • FIG. 3 to 5 to 7 to 7 A block diagram
  • FIG. 3 to 5 to 7 to 7 A block diagram
  • FIG. 3 to 5 to 7 to 7 A block diagram
  • FIG. 3 to 5 to 7 to 7 A block diagram
  • FIG. 3 to 5 to 7 to 7 A block diagram
  • FIG. 3 to 5 to 7 to 7 A block diagram
  • the computer program can be supplied to each device via a recording medium such as a floppy disk (registered trademark) or a CD-ROM (Compact Disc-ROM).
  • a recording medium such as a floppy disk (registered trademark) or a CD-ROM (Compact Disc-ROM).
  • a general procedure can be adopted.
  • a method of supplying a computer program into each device a method of downloading from the outside via a communication network 1000 such as the Internet is also common.
  • the present invention can be understood to be configured by a computer-readable storage medium in which the code constituting the computer program or the code is recorded.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computing Systems (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Power Engineering (AREA)
  • Storage Device Security (AREA)

Abstract

本発明の情報処理装置は、分散された認証情報を、それらを個別に保管している各装置から、システムに含まれるいずれか1つの装置に集めることなく認証する。その情報処理装置は、あらかじめ保存する、認証に際して照合される一方の情報であるマスター認証情報が秘密分散法によって分散された分散マスター認証情報の1つと、通信を介して接続される第1の情報処理装置から受信した、認証に際して照合される他方の情報である認証情報が秘密分散法によって分散された分散認証情報の1つとに基づいて、他の第2の情報処理装置との間における通信を介する秘密計算を実行することによって、認証情報がマスター認証情報と一致するかどうかを判定する秘密計算部と、判定の結果に応じて所定の処理を実行する処理実行部とを備える。

Description

情報処理装置、認証システム、認証方法、並びにコンピュータ・プログラムを記録する記録媒体
 本発明は、情報処理装置(コンピュータ)を用いた認証システムに関する。
 インターネットを介して利用される様々なサービスにおいて、サービスがユーザを認証する際、ID(Identifier)とパスワードとを利用する方法がよく使われる。
利用するサービス毎にパスワードを変えた場合、ユーザのパスワード管理の手間が、増大してしまう。一方、1つのパスワードを複数のサービスで使いまわした場合、あるサービスから漏えいしたパスワードが、他のサービスの不正利用に用いられるという危険性がある。
 このような危険を和らげる技術として、オンラインパスワードマネージャと呼ばれるパスワード管理方法が用いられる。オンラインパスワードマネージャにおいては、ユーザが利用する各サービスに対するIDおよびパスワードの情報を一元的に管理するサーバ(以下、「パスワード管理サーバ」と言う)が用いられる。ユーザは、サービスの利用の前に、このパスワード管理サーバの認証を受ける。そして、その認証が通った場合に、ユーザは、所望サービスに対応するIDおよびパスワードを受け取ることができる。ユーザは、パスワード管理サーバから認証を受けるに十分な情報(マスターパスワード)を有していれば良い。したがって、オンラインパスワードマネージャにおいて、ユーザは、パスワード管理の手間が小さい。
 このようなオンラインパスワードマネージャに関連する技術として、例えば、特許文献1には、重要データから秘密分散技術により生成された部分データの不正取得を防止するデータ分散保管システムが開示されている。この特許文献1に記載されたデータ分散保管システムでは、部分データを保存する各サーバの認証処理部が、ユーザごとのパスワードをハッシュ化したハッシュ化パスワード、およびユーザに固有であるユーザシーズを保持する。そして、各サーバの認証処理部は、部分データを提供する際に、各サーバ固有のサーバシーズと、上記のユーザごとの各情報とを用いて、ユーザの認証を行う。このようにして、各サーバは、部分データの不正取得を防止する。
 また、特許文献2には、秘密分散法を用いて、ユーザ認証に必要な認証情報を管理する認証ユニットなどが開示されている。この特許文献2に記載された端末の認証ユニットは、認証情報を秘密分散法によって分散した複数の分散情報を、それぞれ複数の端末に保存しておく。認証の際、認証ユニットは、所定の数の端末から集めた分散情報に基づいて、認証情報を復元する。そして、認証ユニットは、復元した認証情報と入力された認証情報を比較することによって認証を行う。このようにして、この認証ユニットは、端末のいずれかが紛失された場合における認証情報の漏えいを防ぐことができる。
特開2013-020313号公報 特開2010-011109号公報
 しかしながら、上述したオンラインパスワードマネージャおよび特許文献1に開示された各サーバでは、パスワード管理サーバが、ユーザの認証に必要な情報をすべて保管している。そのような情報が漏えいした場合、その情報によって、ユーザのマスターパスワードの特定が可能であるという問題がある。
 その理由は、IDおよびパスワードの組が、ユーザに記憶できる程度の長さ(短さ)であるならば、特許文献1のようにハッシュ化していても、そのハッシュ化パスワードを用いてパスワード候補をひとつひとつ確認することが可能だからである。
 また、特許文献2に開示された認証ユニットは、認証の際、まだユーザの正当性が確認されていないタイミングで、分散情報を集める必要があるという問題がある。したがって、端末に成りすました端末が、分散情報を収集することができる。そして、成りすました端末が、収集した分散情報を、認証情報を特定する材料として利用することができるという問題がある。
 本発明の1つの目的は、分散された認証情報を、それらを個別に保管している各装置から、システムに含まれるいずれか1つの装置に集めることなく認証可能な情報処理装置などを提供することにある。
 上記の目的を達成すべく、本発明の一態様に係る第2の情報処理装置は、以下の構成を備えることを特徴とする。
 すなわち、本発明の一態様に係る第2の情報処理装置は、
 あらかじめ保存する、認証に際して照合される一方の情報であるマスター認証情報が秘密分散法によって分散された分散マスター認証情報の1つと、
  通信を介して接続される第1の情報処理装置から受信した、前記認証に際して照合される他方の情報である認証情報が秘密分散法によって分散された分散認証情報の1つとに基づいて、
  他の第2の情報処理装置との間における通信を介する秘密計算を実行することによって、前記認証情報が前記マスター認証情報と一致するかどうかを判定する秘密計算手段と、
 前記判定の結果に応じて所定の処理を実行する処理実行手段と
 を含む。
 また、上記の同目的を達成すべく、本発明の一態様に係る第1の情報処理装置は、上述した構成を備える、複数の第1の情報処理装置を含むシステムに接続され、
 入力された第1の入力情報に基づく認証情報を、秘密分散法によって複数の分散認証情報に分散する秘密分散手段と、
 前記複数の第2の情報処理装置に対して、前記各分散認証情報を分散するように送信する通信制御手段と
 を含む。
 また、上記の同目的を達成すべく、本発明の一態様に係る認証方法は、情報処理装置によって、
 第1の情報処理装置に対して入力された第1の入力情報に基づく認証情報を、秘密分散法によって複数の分散認証情報に分散し、
 認証に際して照合される情報であるマスター認証情報が秘密分散法によって分散された情報である各分散マスター認証情報を分散してあらかじめ保存する、複数の第2の情報処理装置に対して、前記第1の情報処理装置から、前記各分散認証情報を分散するように送信し、
 前記第1の情報処理装置から受信した前記分散認証情報と、前記分散マスター認証情報とに基づいて、前記複数の第2の情報処理装置の少なくとも一部の装置間における通信を介する秘密計算を実行することによって、前記認証情報が前記マスター認証情報と一致するかどうかを判定し、
 前記秘密計算を実行した前記複数の第2の情報処理装置の少なくとも1つが、前記判定の結果に応じて所定の処理を実行する。
 また、同目的は、上記の各構成を有する第1および第2の情報処理装置、並びに対応する方法を、それぞれコンピュータによって実現するコンピュータ・プログラム、およびそのコンピュータ・プログラムが格納されている、コンピュータ読み取り可能な記憶媒体によっても達成される。
 本発明には、システムを構成する、いずれの情報処理装置から情報漏えいが起きても、漏えいした情報からユーザのマスターパスワードが特定できないという効果がある。
本発明の第1の実施形態に係る認証システムの構成を示すブロック図である。 本発明の第2の実施形態に係るサービスアクセス情報管理システムの構成を示すブロック図である。 第2の実施形態におけるユーザ登録処理の際に、クライアント100および各分散認証装置200が行う動作を示すフローチャートである。 第2の実施形態におけるサービス登録処理の際に、クライアント100、各分散認証装置200、およびサービスアクセス情報管理装置300が行う動作を示すフローチャートである。 第2の実施形態におけるサービス利用処理の際に、クライアント100、各分散認証装置200、およびサービスアクセス情報管理装置300が行う動作を示すフローチャートである。 本発明の第3の実施形態に係るサービスアクセス情報管理システムの構成を示すブロック図である。 第3の実施形態におけるユーザ登録処理の際に、クライアント400および各分散認証装置500が行う動作を示すフローチャートである。 第3の実施形態におけるサービス登録処理の際に、クライアント400および各分散認証装置500が行う動作を示すフローチャートである。 第3の実施形態におけるサービス利用処理の際に、クライアント400および各分散認証装置500が行う動作を示すフローチャートである。 本発明の各実施形態、および、その変形例に係る認証システムまたはサービスアクセス情報管理システムに適用可能なコンピュータ(情報処理装置)の構成を例示する図である。
 次に、本発明の実施形態について図面を参照して詳細に説明する。
 まず、各実施形態において利用される秘密分散法および秘密計算法について説明する。
 秘密分散法とは、秘密情報から複数の分散情報を生成する技術である。分散情報はあらかじめ定められた組み合わせからは秘密情報を復元できるが、それ以外の組み合わせからは秘密情報が復元できないように作られる。秘密分散法は、例えば、Adi Shamir著、”How to Share a Secret”、 Commun. ACM 22(11)、 pp.612-613、1979年において提案されている。秘密分散法は、これ以外にも、様々な方法が知られている。以下では、秘密情報から分散情報を生成する処理を「分散処理」とも言う。また、複数の分散情報を入力として秘密情報を復元する処理を「復元処理」とも言う。
 秘密計算法とは、秘密分散法によって分散されたデータに関する計算を実行することができるという技術である。秘密計算法は、例えば、Michael Ben-Or、Shafi Goldwasser、Avi Wigderson著、 ”Completeness Theorems for Non-Cryptographic Fault-Tolerant Distributed Computation (Extended Abstract)”、 Proceedings of the 20th Annual ACM Symposium on Theory of Computing、1988年において提案されている。秘密計算法は、これ以外にも、様々な方法が知られている。秘密計算法によれば、秘密分散法によって分散され、かつ複数のサーバに分散して保管された分散データ群に対する任意の演算を、データの復元を伴うことなく実行することができる。すなわち、データの復元を要さないので、秘密計算法によれば、分散されたデータ群を1か所に集めることなく演算を行うことが可能となる。
 例えば、秘密計算法によって、与えられたデータAと、分散されたデータB(分散データ群)とが一致しているかどうかを判定する演算の方法として、Ivan Damgard、 Matthias Fitzi、 Eike Kiltz、 Jesper Buus Nielsen、 Tomas Toft著、”Unconditionally Secure Constant-Rounds Multi-party Computation for Equality, Comparison, Bits and Exponentiation”、 Theory of Cryptography Lecture Notes in Computer Science Volume 3876、285-304頁、2006年に記述された方法などが知られている。上記の方法には、以下の各実施形態における、入力された情報Aを分散した分散情報群Aと、あらかじめ分散して保存された情報B(分散情報群B)との一致を判定する演算も含まれる。一致を判定する演算の方法としては、上記以外にも様々な方法が知られている。
 <第1の実施形態>
 図1は、本発明の第1の実施形態に係る認証システムの構成を示すブロック図である。
図1を参照すると、本実施形態に係る認証システムは、第1の情報処理装置1、および複数の第2の情報処理装置10を含む。
 第1の情報処理装置1、および各第2の情報処理装置10は、それぞれインターネットや構内LAN(ローカルエリアネットワーク)等の通信ネットワーク(以下、単にネットワークと称する)1000を介して通信可能である。
 第1の情報処理装置1、および、第2の情報処理装置10は、CPU(Central Processing Unit:図示せず)を用いて実行されるコンピュータ・プログラム(ソフトウェア・プログラム)の制御により動作する一般的な情報処理装置(コンピュータ)によって構成されても良い。または、第1の情報処理装置1、および、第2の情報処理装置10の各部が、専用のハードウェアデバイス、または論理回路によって構成されても良い。なお、この第1の情報処理装置1、および、第2の情報処理装置10をコンピュータによって実現したハードウェア構成例については、図10を参照して後述する。
 第1の情報処理装置1は、秘密分散部2、および通信制御部3を含む。
 秘密分散部2は、例えばユーザ操作などにより入力された入力情報20に基づく認証情報を、秘密分散法によって複数の分散認証情報に分散する。入力情報20は、例えば、IDパスワード認証におけるIDと対応するパスワードの組のように、認証を実行するに足る情報である。認証情報は、入力情報20に基づいて生成された情報である。認証情報は、例えば、入力情報20の一部または全部であってもよい。
 通信制御部3は、第1の情報処理装置1(自装置)と各第2の情報処理装置10との間における通信を制御することができる。通信制御部3は、秘密分散部2が生成した各分散認証情報を、複数の第2の情報処理装置10のそれぞれに対して、送信する。
 第2の情報処理装置10は、通信制御部11、秘密計算部12、処理実行部13、および記憶装置14を含む。記憶装置14は、分散マスター認証情報15を記憶することができる。記憶装置14は、例えば、半導体メモリ装置、またはディスク装置などにより実現される。
 分散マスター認証情報15は、マスター認証情報が分散処理によって分散された複数の情報の1つである。マスター認証情報とは、認証に際して、認証情報と照合される、一方の情報である。第1の情報処理装置1において生成される認証情報は、認証に際して、マスター認証情報と照合される、他方の情報であるとも言える。マスター認証情報は、例えば、パスワードのような入力情報20に基づく認証情報に対して、一致するかどうかを照合される原本となるマスターパスワードのような情報に基づく情報である。本実施形態では、分散マスター認証情報15は、あらかじめ記憶装置14に保存される。
 通信制御部11は、自装置と、第1の情報処理装置1および他の第2の情報処理装置10との間の通信を制御することができる。
 秘密計算部12は、分散マスター認証情報15と、通信制御部11を介して第1の情報処理装置1から受信した分散認証情報の1つとに基づいて、他の第2の情報処理装置10との間における通信を介する秘密計算を実行する。秘密計算部12は、その秘密計算によって、分散認証情報の基である認証情報が、分散マスター認証情報15の基であるマスター認証情報と一致するかどうかを判定する。秘密計算部12が行う秘密計算は、本実施形態に含まれる第2の情報処理装置10の少なくとも一部の装置間において実行される。上述した秘密計算法の特性により、この秘密計算(一致を判定する演算)は、分散マスター認証情報15および分散認証情報をいずれか1台の第2の情報処理装置10に集めることなく実行される。
 処理実行部13は、秘密計算部12による認証情報がマスター認証情報と一致するかどうかという判定(認証)の結果に応じて、所定の処理を実行する。例えば、処理実行部13は、認証情報がマスター認証情報と一致する(認証成功)と判定された場合、第1の情報処理装置1に対して、所定の情報を提供してもよい。または、処理実行部13は、単に判定の結果(すなわち、認証の成否)を、第1の情報処理装置1に対して通知してもよい。
 このように、本実施形態によれば、分散された分散マスター認証情報15を、それらを個別に保管している各第2の情報処理装置10から、システムに含まれるいずれか1つの装置に集めることなく、認証することができる。
 以上説明したように、本実施形態には、分散された認証情報を、それらを個別に保管している各装置から、システムに含まれるいずれか1つの装置に集めることなく認証可能な情報処理装置などを提供できるという効果がある。すなわち、本実施形態には、システムを構成するどの情報処理装置から情報漏えいが起きても、単独の情報処理装置の情報からユーザのマスター認証情報の特定ができないという効果があるとも言える。
 その理由は、第2の情報処理装置10の秘密計算部12が、秘密計算によって、分散マスター認証情報15を集めることなく、第1の情報処理装置1から送られた認証情報と、マスター認証情報とが一致することを判定することができるからである。本実施形態では、認証の際に、マスター認証情報を復元できる情報を単独で扱う情報処理装置がない。また、本実施形態では、第1の情報処理装置1に成りすました端末も、分散マスター認証情報15を取得できない。
 なお、本実施形態の変形例としては、以下のようなものが考えられる。
 例えば、第1の情報処理装置1と、第2の情報処理装置10の1台とが、同じ情報処理装置において実装されてもよい。
 <第2の実施形態>
 次に、上述した第1の実施形態を基本とする第2の実施形態について説明する。
 本実施形態は、一例として、サービスアクセス情報管理システムに本発明を適用した場合を説明する。サービスアクセス情報とは、様々なサービスごとのユーザ認証の情報、および暗号鍵に関する情報などの、各サービスにアクセスする際に使用される情報の総称である。サービスアクセス情報管理システムは、一般に、パスワード管理システムなどとも呼ばれる。
 図2は、本発明の第2の実施形態に係るサービスアクセス情報管理システムの構成を示すブロック図である。図2を参照すると、本実施形態に係るサービスアクセス情報管理システムは、クライアント(第1の情報処理装置)100、複数の分散認証装置(第2の情報処理装置)200、および、サービスアクセス情報管理装置300を含む。クライアント100は、第1の実施形態における第1の情報処理装置1を基本とする。分散認証装置200は、第1の実施形態における第2の情報処理装置10を基本とする。
 分散認証装置200とサービスアクセス情報管理装置300とが、パスワード管理システムにおけるサービスアクセス情報を管理する装置(群)に対応する。「背景技術欄」において上述したように、クライアント100と、サービスアクセス情報を管理する装置(群)とが、ネットワークを介して接続されているパスワード管理システムは、特にオンラインパスワードマネージャと呼ばれる。以下では、本実施形態に係るサービスアクセス管理システムを、オンラインパスワードマネージャと言う。
 まず、以下に、本実施形態におけるオンラインパスワードマネージャの処理の一例について、概要を説明する。本実施形態におけるオンラインパスワードマネージャは、一例として、ユーザ登録、サービス登録、およびサービス利用という3つの処理を実行することができる。
 ユーザ登録処理において、ユーザは、オンラインパスワードマネージャを利用する際のユーザ認証に用いられる文字列であるマスターパスワード、およびユーザIDを表すユーザID情報を、オンラインパスワードマネージャに登録する。このマスターパスワードは、第1の実施形態におけるマスター認証情報の一例である。本実施形態では、ユーザは、クライアント100を介して、秘密分散法によって分散されたマスターパスワードをユーザID情報と関連付けた情報(分散マスター認証情報215)として、各分散認証装置200に対して登録する。分散マスター認証情報215は、第1の実施形態における分散マスター認証情報15を基本とする。すなわち、本実施形態におけるユーザ登録処理は、第1の実施形態における第2の情報処理装置10の記憶装置14に対して、分散マスター認証情報15を登録するという処理に対応する。ユーザ登録処理は、第1の実施形態における認証を実行可能なシステム環境を準備する処理であるとも言える。
 また、ユーザ登録処理において、ユーザは、サービスアクセス情報の暗号化および復号に利用されるソルトを表すソルト情報も、オンラインパスワードマネージャに登録することができる。ソルト情報は、マスターパスワードと同様に、秘密分散法によって分散された分散ソルト情報216として、各分散認証装置200に対して登録される。以下では、分散されたソルト情報を、分散ソルト情報216と言う。
 また、ユーザは、サービス登録処理、およびサービス利用処理において、クライアント100を用いて、複数のサービスに対するサービスアクセス情報を管理する。ユーザは、まず、サービス登録処理において、それらのサービスアクセス情報をオンラインパスワードマネージャに登録する。本実施形態では、ユーザは、クライアント100を介して、暗号化したサービスアクセス情報(暗号化サービスアクセス情報304)を、サービスアクセス情報管理装置300に対して登録する。そして、サービスを利用する際に、ユーザは、サービス利用処理として、オンラインパスワードマネージャから、所望のサービスに対応する暗号化サービスアクセス情報304を取得する。本実施形態では、ユーザは、クライアント100を介して、サービスアクセス情報管理装置300に登録された暗号化サービスアクセス情報304が復号されたサービスアクセス情報として取得する。
 ユーザは、サービス登録処理およびサービス利用処理の初めの段階として、ユーザ登録処理によって登録したマスターパスワードおよびユーザID情報を用いて、オンラインパスワードマネージャを利用する際のユーザ認証を受ける。このユーザ認証は、第1の実施形態を基本とする認証である。すなわち、本実施形態におけるオンラインパスワードマネージャは、サービス登録処理およびサービス利用処理に含まれるユーザ認証として、第1の実施形態を基本とする認証を実行する。以下では、特に断りなく「ユーザ認証」という場合、その「ユーザ認証」という言葉は、サービス登録処理およびサービス利用処理の両方におけるユーザ認証を表す。
 ユーザ認証の際、ユーザは、第1の実施形態における入力情報20の一例として、マスターパスワードと一致するようなパスワード(文字列)を入力する。このパスワードは、第1の実施形態における認証情報の一例である。なお、以下では、ユーザ認証においてユーザが入力する文字列を単に「パスワード」呼ぶことにより、ユーザ登録において登録された「マスターパスワード」と区別する。
 ユーザは、そのユーザ認証が成功した場合に、各分散認証装置200から分散ソルト情報216を受信することにより、サービスアクセス情報の登録または取得を許可される。
すなわち、クライアント100は、分散ソルト情報216から復元したソルト情報を用いることにより、上述したサービスアクセス情報の暗号化および復号の各処理を実行することができる。ユーザは、復号されたサービスアクセス情報を用いて、所望のサービスを利用することができる。このようなオンラインパスワードマネージャの処理によって、ユーザは、1組のユーザID情報とマスターパスワードとを記憶していれば、様々なサービスを利用することが可能となる。
 上述したように、ユーザ登録処理は、サービス登録処理およびサービス利用処理の前に行われる。すなわち、ユーザ登録処理は、認証の前に行われる。また、サービス登録処理は、サービス利用処理の前に行われる。
 次に、図2を参照して、本実施形態に係るサービスアクセス情報管理システムの構成を詳細に説明する。以下では、第2の実施形態に係る特徴的な部分を中心に説明し、第1の実施形態と同様な構成を有する第2の実施形態の構成要素には、第1の実施形態で付した参照符号と同一の参照符号を付し、その構成要素について重複する詳細な説明は省略する。
 クライアント100、各分散認証装置200、および、サービスアクセス情報管理装置300は、それぞれインターネットや構内LAN等の通信ネットワーク(以下、単にネットワークと称する)1000を介して互いに通信可能である。
 クライアント100、分散認証装置200、および、サービスアクセス情報管理装置300は、CPU(図示せず)を用いて実行されるコンピュータ・プログラム(ソフトウェア・プログラム)の制御により動作する一般的な情報処理装置(コンピュータ)によって構成されても良い。または、クライアント100、分散認証装置200、および、サービスアクセス情報管理装置300の各部が、専用のハードウェアデバイス、または論理回路によって構成されても良い。なお、このクライアント100、分散認証装置200、および、サービスアクセス情報管理装置300をコンピュータによって実現したハードウェア構成例については、図10を参照して後述する。
 クライアント100は、それぞれ第1の実施形態を基本とする通信制御部3、および秘密分散部102に加えて、さらに、認証情報生成部101、暗号化部103、秘密復元部104、復号部105、入力部110、および出力部111を含む。
 入力部110は、上述したオンラインパスワードマネージャの各処理においてユーザから入力される情報を受け付けることができる。すなわち、入力部110は、ユーザID、マスターパスワード(第2の入力情報)、ソルト情報(第3の入力情報)、パスワード(第1の入力情報)、およびサービスアクセス情報(第4の入力情報)を受け付けることができる。なお、上述した第1の入力情報~第4の入力情報、およびユーザIDは、第1の実施形態における入力情報20の一例である。入力部110は、例えば、図示しないキーボード、ポインティングデバイス、またはタッチパネルなどを介して入力を受け付けてもよい。入力部110は、例えば、通信制御部3、または、図示しない通信機能によって接続される外部装置からの通信による入力を受け付けてもよい。
 認証情報生成部101は、入力部110を介して入力された情報に基づいて、認証を実行するに足る情報である認証情報およびマスター認証情報を生成することができる。本実施形態におけるマスター認証情報、および認証情報は、それぞれ、第1の実施形態におけるマスター認証情報、および認証情報を基本とする。本実施形態では、認証情報生成部101は、ユーザ登録処理において、入力されたマスターパスワードに対して所定の演算を行うことにより、マスター認証情報を生成する。また、認証情報生成部101は、一例として、サービス登録処理およびサービス利用処理におけるユーザ認証の際に、入力されるパスワードに対して所定の演算を行うことにより、認証情報を生成する。
 本実施形態では、認証情報生成部101は、所定の演算の一例として、マスターパスワードまたはパスワードを入力としてハッシュ値の計算を行う。すなわち、本実施形態におけるマスター認証情報、および認証情報は、それぞれハッシュ値に基づいて生成された情報である。認証情報生成部101が行う所定の演算の方法としては、上記以外にも様々な方法を採用することができる。すなわち、本実施形態における認証方法は、第1の文字列であるマスターパスワードに基づくハッシュ値と、第2の文字列である入力されたパスワードに基づくハッシュ値とが、秘密計算法によって、それぞれ分散されたまま照合されるという方法である。
 秘密分散部102は、第1の実施形態における秘密分散部2を基本とする。本実施形態では、秘密分散部102は、第1の実施形態における秘密分散部2と同様に、ユーザ認証の際に認証情報生成部101によって生成される認証情報を、秘密分散法によって複数の分散認証情報に分散する。さらに、本実施形態では、秘密分散部102は、ユーザ登録処理の際に認証情報生成部101によって生成されるマスター認証情報、および入力部110を介して入力されるソルト情報も、秘密分散法によって分散する。
 通信制御部3は、第1の実施形態における通信制御部3を基本とする。通信制御部3は、ユーザ認証の際に、第1の実施形態における通信制御部3と同様に、秘密分散部102が分散した各分散認証情報を複数の分散認証装置200のそれぞれに対して、ユーザID情報と関連付けて送信する。
 さらに、本実施形態では、通信制御部3は、ユーザ登録処理の際に、秘密分散部102が分散した各分散マスター認証情報215、および各分散ソルト情報216を、複数の分散認証装置200のそれぞれに対して、ユーザID情報に関連付けて送信する。言い換えると、通信制御部3は、あらかじめ預けておく「預かり情報」として、各分散ソルト情報216を各分散認証装置200に対して送信する。この預かり情報は、後に、各分散認証装置200が決定した条件およびタイミングにおいて、クライアント100に対して返信される。本実施形態では、一例として、通信制御部3は、認証が成功したと判断された場合に、この預かり情報(分散ソルト情報216)を各分散認証装置200から受信する。
 また、通信制御部3は、サービス登録処理およびサービス利用処理において、各分散認証装置200およびサービスアクセス情報管理装置300との間でやりとりされる各情報に関する通信を制御することができる。
 秘密分散部102および通信制御部3の構造および機能は、上述した点以外は、第1の実施形態における対応する機能部と同様であるので、重複する詳細な説明は省略する。
 秘密復元部104は、サービス登録処理およびサービス利用処理におけるユーザ認証が成功した場合に、各分散認証装置200から、通信制御部3を介して受信する各分散ソルト情報216を入力として、ソルト情報を復元することができる。
 暗号化部103は、サービス登録処理において、入力されたサービスアクセス情報を暗号化する。以下では、暗号化されたサービスアクセス情報を、暗号化サービスアクセス情報304と言う。暗号化部103は、秘密復元部104が復元したソルト情報に基づいて生成する暗号鍵を用いて、暗号化を行う。また、暗号化部103は、通信制御部3を介して、暗号化サービスアクセス情報304を、サービスアクセス情報管理装置300に対して送信する。
 復号部105は、サービス利用処理において、通信制御部3を介して、サービスアクセス情報管理装置300から取得する暗号化サービスアクセス情報304を復号する。復号部105は、秘密復元部104が復元したソルト情報に基づいて生成する復号鍵を用いて、復号を行う。暗号化方式が共通鍵方式である場合、暗号鍵と復号鍵は同じであってもよい。暗号化サービスアクセス情報304は、復号されることにより、サービス登録処理において入力されたサービスアクセス情報に戻る。
 出力部111は、復号部105によって復号されたサービスアクセス情報を出力する。
出力部111は、図示しないディスプレイ、またはタッチパネルなどに対してサービスアクセス情報を表示してもよい。出力部111は、図示しない記憶装置、または、通信制御部3などを介して接続される外部装置などに対して、サービスアクセス情報を出力してもよい。出力部111は、入力部110に対して入力を受け付ける際のメッセージ表示などに利用されてもよい。
 分散認証装置200は、それぞれ第1の実施形態を基本とする通信制御部11、秘密計算部212、処理実行部213、および記憶装置14に加えて、さらに、登録部201を含む。本実施形態における記憶装置14は、分散マスター認証情報215、および分散ソルト情報216を記憶することができる。記憶装置14は、例えば、半導体メモリ装置、またはディスク装置などにより実現される。本実施形態では、分散マスター認証情報215および分散ソルト情報216は、ユーザ登録の際に、登録部201によって記憶装置14に保存される。
 通信制御部11は、第1の実施形態における通信制御部11を基本とする。通信制御部11は、自装置と、クライアント100および他の分散認証装置200との間の通信を制御することができる。
 秘密計算部212は、第1の実施形態における秘密計算部212を基本とする。本実施形態では、秘密計算部212は、ユーザ認証において、分散マスター認証情報215と、通信制御部11を介してクライアント100から受信した分散認証情報の1つとに基づいて、他の分散認証装置200との間における通信を介する秘密計算を実行する。秘密計算部212は、その秘密計算によって、クライアント100から受信した分散認証情報の基である認証情報が、記憶装置14に保存されている分散マスター認証情報215の基であるマスター認証情報と一致するかどうかを判定する。すなわち、秘密計算部212は、サービス登録処理およびサービス利用処理のユーザ認証において入力されたパスワードに基づく認証情報が、ユーザ登録処理において入力されたマスターパスワードに基づくマスター認証情報と一致するかどうかを判定する。本実施形態における秘密計算部212は、ハッシュの計算を行う秘密計算と、一致の判定を行う秘密計算とを組み合わせて実行することができる。秘密計算部212の構造および機能は、上述した点以外は、第1の実施形態と同様であるので、重複する詳細な説明は省略する。
 処理実行部213は、第1の実施形態における処理実行部13を基本とする。処理実行部213は、ユーザ認証において、秘密計算部212による認証情報がマスター認証情報と一致するかどうかという判定(認証)の結果に応じて、所定の処理を実行する。本実施形態では、所定の処理の一例として、処理実行部213は、認証成功と判定された場合に、クライアント100に対して、分散ソルト情報216を送信する。言い換えると、本実施形態における処理実行部213は、認証が成功した場合に、認証の要求者に対して、あらかじめ預かっている情報である預かり情報(分散ソルト情報216)を、送信することができる。
 登録部201は、ユーザ登録処理の際に、通信制御部11を介して、分散マスター認証情報215の1つ、および分散ソルト情報216の1つをクライアント100から受信する。そして、登録部201は、受信した分散マスター認証情報215の1つ、および分散ソルト情報216の1つを、それぞれユーザID情報と関連付けて、記憶装置14に保存することができる。
 サービスアクセス情報管理装置300は、通信制御部301、管理部302、および記憶装置303を含む。記憶装置303は、暗号化サービスアクセス情報304を記憶することができる。暗号化サービスアクセス情報304は、サービス登録処理の際に、管理部302によって記憶装置303に保存される。
 通信制御部301は、自装置と、クライアント100との間の通信を制御することができる。
 管理部302は、サービス登録処理の際に、通信制御部301を介してクライアント100から受信する暗号化サービスアクセス情報304を、ユーザID情報およびサービス名情報と関連付けて、記憶装置303に保存することができる。また、管理部302は、サービス利用処理の際に、通信制御部301を介して、クライアント100に対して、暗号化サービスアクセス情報304を送信することができる。
 次に、上述した構成を備える本実施形態の動作について詳細に説明する。本実施形態に係るオンラインパスワードマネージャは、上述したユーザ登録処理、サービス登録処理、およびサービス利用処理という3つの処理を行う。以下では、それぞれの処理における動作を順に説明する。
 <ユーザ登録処理における動作>
 以下に、図3を参照して、ユーザ登録処理における動作を説明する。図3は、第2の実施形態におけるユーザ登録処理の際に、クライアント100および各分散認証装置200が行う動作を示すフローチャートである。
 まず、ユーザは、クライアント100に対して、ユーザID情報、マスターパスワードおよびソルト情報を入力する。クライアント100においては、入力部110が、ユーザID情報、マスターパスワードおよびソルト情報の入力を受け付ける(ステップA10)。これらの情報は、ユーザによる入力の代わりに、入力部110または図示しない機能部が自動生成してもよい。このマスターパスワードとユーザID情報とを組み合わせた情報の量(文字列の長さ)は、ユーザが記憶できる程度の情報量にされることが一般的である。
 次に、認証情報生成部101が、入力された情報に基づいて、マスター認証情報を生成する。本実施形態では、具体例として、認証情報生成部101が、マスターパスワードのハッシュ値を計算する(ステップA11)。認証情報生成部101は、ハッシュ値の計算方法として、SHA(Secure Hash Algorithm)-1などの暗号向けのハッシュ関数、または共通鍵暗号方式を用いてもよい。また、認証情報生成部101は、ハッシュ値の計算に対する入力として、マスターパスワードの他に、例えばユーザID情報を含めてもよい。ハッシュ値の計算に対する入力として、ユーザからの入力以外に補助入力を含めてもよい。ハッシュ値の計算方法は、上述したように、よく知られた一般的な方法を用いることができるので、本実施形態における詳細な説明は省略する。
 次に、秘密分散部102が、生成されたマスター認証情報、およびステップA11で入力されたソルト情報のそれぞれに対して、秘密分散法による分散処理を行う。具体的には、秘密分散部102は、マスターパスワードのハッシュ値、およびソルト情報のそれぞれに対して、分散処理を行う(ステップA12)。
 次に、通信制御部3が、ユーザID情報、分散されたハッシュ値(分散マスター認証情報215)および分散されたソルト情報(分散ソルト情報216)を、各分散認証装置200に対して送信(分散)する(ステップA13)。具体的には、通信制御部3は、ユーザID情報と共に、各分散認証装置200に対して分散するように、分散マスター認証情報215の1つ、および分散ソルト情報216の1つをそれぞれ送信する。
 各分散認証装置200においては、登録部201が、通信制御部11を介して、ユーザID情報、分散マスター認証情報215、および分散ソルト情報216を受信する。各登録部201は、分散マスター認証情報215、および分散ソルト情報216をユーザID情報と対応付けて、記憶装置14に保存する(ステップB20)。
 以上が、ユーザ登録処理の動作である。
 <サービス登録処理における動作>
 以下に、図4を参照して、サービス登録処理における動作を説明する。図4は、第2の実施形態におけるサービス登録処理の際に、クライアント100、各分散認証装置200、およびサービスアクセス情報管理装置300が行う動作を示すフローチャートである。
 まず、ユーザは、クライアント100に対して、ユーザ登録処理において登録したユーザID情報、パスワード、サービス名情報、およびサービスアクセス情報を入力する。サービス名情報は、ユーザが登録を行う対象であるサービスの名称を表す情報である。ユーザは、ユーザ登録処理において登録したマスターパスワードと一致するように、パスワードを入力する。クライアント100においては、入力部110が、ユーザID情報、パスワード、サービス名情報、およびサービスアクセス情報の入力を受け付ける(ステップA30)。
 サービスアクセス情報は、サービス名に関連して、ユーザが外部に記憶させたい情報とすることができる。例えば、サービスアクセス情報は、ユーザが登録するサービスにおいて使用するID(サービスID)とパスワード(サービス用パスワード)とであってもよい。または、ユーザがサービスIDを記憶する運用とする場合、ユーザは、サービス用パスワードをサービスアクセス情報として登録してもよい。また、サービス用パスワードは、ユーザが用意する場合、または、サービス側が用意する場合がある。ユーザが用意する場合、ユーザは、例えば、乱数生成用のプログラム等を利用することにより、記憶するには長すぎるが、安全性が高い長さの情報をサービス用パスワードとしてもよい。
 まず、クライアント100は、ユーザ認証を受ける。認証情報生成部101が、入力された情報に基づいて、認証情報を生成する(ステップA31)。具体的には、認証情報生成部101が、入力されたパスワードのハッシュ値を計算する。ハッシュ値の計算方法は、ユーザ登録処理におけるハッシュ値の計算方法(ステップA11)と同様であるので、重複する詳細な説明は省略する。
 次に、秘密分散部102が、生成された認証情報(パスワードのハッシュ値)に対して、秘密分散法による分散処理を行う(ステップA32)。以下では、パスワードのハッシュ値が分散された情報を分散認証情報と言う。
 次に、通信制御部3が、ユーザID情報、および分散認証情報を、各分散認証装置200に対して送信(分散)する(ステップA33)。具体的には、通信制御部3は、ユーザID情報と共に、各分散認証装置200に対して、分散認証情報の1つを各分散認証装置200に対して分散するように送信する。通信制御部3は、例えば、ユーザ登録処理のステップA13において分散マスター認証情報215を送信した送信先および送信方法などに基づいて、ユーザID情報、および分散認証情報の送信方法を決定してもよい。
 各分散認証装置200においては、通信制御部11が、ユーザID情報、および分散認証情報を受信する(ステップB40)。
 次に、秘密計算部212が、受信した分散認証情報および、受信したユーザID情報に対応づけて保存されている分散マスター認証情報215に基づいて、他の分散認証装置200との間における通信を介する秘密計算を実行する(ステップB41)。具体的には、秘密計算部212は、この秘密計算(演算)によって、分散認証情報の基であるパスワードのハッシュ値が、分散マスター認証情報215の基であるマスターパスワードのハッシュ値と一致するかどうかを判定する。第1の実施形態と同様に、秘密計算部212が行う秘密計算は、本実施形態に含まれる分散認証装置200の少なくとも一部の装置間において実行される。
 このような計算を実行する際には、秘密計算部212は、ハッシュの計算を行う秘密計算と、一致の判定を行う秘密計算とを組み合わせて実行する。秘密計算を行う演算の方法の一例として、Yehuda Lindell、 Benny Pinkas、 Nigel P. Smart、 Avishay Yanai著、 ” Efficient Constant Round Multi-Party Computation Combining BMR and SPDZ”、[Online]、Cryptology ePrint Archive、[2015年7月27日検索]、インターネット〈URL:https://eprint.iacr.org/2015/523.pdf〉において提案されている。
 秘密計算部212は、上記の文献に記載されている共通鍵暗号を実行する秘密計算によって、ハッシュアルゴリズムを実行すればよい。ハッシュアルゴリズムの一例として、CMAC(Cipher-based Message Authentication Code)がよく知られている。CMACは、例えば、Morris Dworkin著、”Recommendation for Block Cipher Modes of Operation: The CMAC Mode for Authentication”、NIST(National Institute of Standards and Technology)、Special Publication 800-38B、2005年5月において記載されている。一致を判定する演算の方法は、「発明を実施するための形態」の項の冒頭において説明した通りであるので、重複する詳細な説明は省略する。
 分散認証情報の基であるパスワードのハッシュ値が、分散マスター認証情報215の基であるマスターパスワードのハッシュ値と一致すると判定した場合、秘密計算部212は、認証が成功したと判定する。認証の判定方法は、例えば、認証処理の秘密計算に加わっている分散認証装置200のすべてにおいて、一致するという判定結果が出た場合に、認証成功としてもよい。または、認証の判定方法は、例えば、認証処理の秘密計算に加わっている分散認証装置200の多数決によって認証結果を決定してもよい。1つの秘密計算部212が、代表して認証の判定を行ってもよい。または、複数の秘密計算部212が、それぞれ認証の判定を行ってもよい。認証の判定方法は、上述した方法を含めて、様々なよく知られた一般的な技術を用いることができるので、本実施形態における詳細な説明は省略する。
 秘密計算部212によって認証成功と判定された場合(ステップB42のYES)、処理実行部213が、所定の処理を実行する。具体的には、処理実行部213は、一例として、受信したユーザIDに対応づけて保存されている分散ソルト情報216を、クライアント100に対して送信する(ステップB43)。この処理は、少なくとも、ソルト情報を復元可能な分散ソルト情報216がクライアント100に対して提供されるという条件を満たす台数の分散認証装置200によって実行される。処理を実行する分散認証装置200の台数の決定方法は、よく知られた一般的な秘密分散法の技術を用いることができるので、本実施形態における詳細な説明は省略する。
 秘密計算部212によって認証失敗と判定された場合(ステップB42のNO)、処理実行部213は、所定の処理を実行する。具体的には、処理実行部213は、一例として、分散ソルト情報216を送信せずに、単に処理を終了する。処理実行部213は、例えば、クライアント100に対して、認証失敗を通知してから処理を終了するなど、他の「所定の処理」を実行してもよい。
 以下、認証成功した場合の動作を説明する。クライアント100では通信制御部3が、各分散認証装置200から分散ソルト情報216を受信する(ステップA34)。本実施形態では、クライアント100は、この分散ソルト情報216の受信によって、認証の成功を知ることができる。ここまでが、クライアント100が受けるユーザ認証である。
 次に、秘密復元部104が、受信した複数の分散ソルト情報216に対して復元処理を行う(ステップA35)。復元処理の結果、ユーザ登録処理において入力されたソルト情報が復元される。
 次に、暗号化部103が、ステップA30において、入力されたサービスアクセス情報を暗号化する(ステップA36)。具体的には、まず、暗号化部103は、入力されたパスワードと、復元されたソルト情報を鍵導出関数に入力することにより、暗号化に用いる秘密鍵を計算する。暗号化部103は、この鍵導出関数として、SHA-1のような暗号向けハッシュ関数、または、AES(Advanced Encryption Standard)のような共通鍵暗号を用いた方法を用いることができる。暗号化部103は、鍵導出関数に対する入力にサービス名などを加えることにより、サービス毎に異なる鍵となるようにしてもよい。そして、暗号化部103は、計算した秘密鍵を用いて、サービスアクセス情報を暗号化する。
 暗号化部103は、通信制御部3を介して、ユーザID情報、サービス名情報、および暗号化したサービスアクセス情報(暗号化サービスアクセス情報304)を、サービスアクセス情報管理装置300に対して送信する(ステップA37)。
 サービスアクセス情報管理装置300では、管理部302が、受信した暗号化サービスアクセス情報304を、ユーザID情報、およびサービス名情報と対応付けて、記憶装置303に保存する(ステップC50)。サービスアクセス情報管理装置300は、クライアント100がユーザ認証に成功していることを確認してから、暗号化サービスアクセス情報304の保存を行ってもよい。例えば、サービスアクセス情報管理装置300は、分散認証装置200のいずれかとの通信によって、ユーザ認証の結果を確認してもよい。または、暗号化サービスアクセス情報304の登録を依頼する際に、クライアント100によって付加される認証成功を証明する情報に基づいて、サービスアクセス情報管理装置300が通信を介さずに確認する方法であってもよい。ユーザ認証の結果を確認する方法は、上述した方法を含めて、様々なよく知られた一般的な技術を用いることができるので、本実施形態における詳細な説明は省略する。
 以上が、サービス登録処理の動作である。
 <サービス利用処理における動作>
 以下に、図5を参照して、サービス利用処理における動作を説明する。図5は、第2の実施形態におけるサービス利用処理の際に、クライアント100、各分散認証装置200、およびサービスアクセス情報管理装置300が行う動作を示すフローチャートである。
 まず、ユーザは、クライアント100に対して、ユーザID情報、パスワード、およびサービス名情報を入力する。サービス名情報は、ユーザが、例えば、利用したいサービスの名称など、サービスアクセス情報を取得したいサービスの名称を表す情報である。ユーザは、サービス登録処理の際と同様に、ユーザID情報およびパスワードを入力する。クライアント100においては、入力部110が、ユーザID情報、パスワード、およびサービス名情報の入力を受け付ける(ステップA60)。
 サービス登録処理と同様に、クライアント100は、まず、ユーザ認証を受ける。そして、ユーザ認証が成功した場合、クライアント100は、分散ソルト情報に対する復元処理によってソルト情報を復元する。ユーザ認証の各ステップ(ステップA31~A34、およびステップB40~B43)、およびソルト情報の復元処理(ステップA35)は、サービス登録処理と同様であるので、重複する詳細な説明は省略する。
 ソルト情報の復元処理(ステップA35)の後、復号部105が、サービスアクセス情報管理装置300に対して、暗号化サービスアクセス情報304を要求する(ステップA61)。具体的には、復号部105は、ユーザID情報およびサービス名情報をサービスアクセス情報管理装置300に通知することにより、対応する暗号化サービスアクセス情報304の送付を依頼する。
 サービスアクセス情報管理装置300では、管理部302が、クライアント100の要求に基づいて、ユーザID情報およびサービス名情報に対応する暗号化サービスアクセス情報304を、クライアント100に対して送信する(ステップC70)。サービスアクセス情報管理装置300は、クライアント100がユーザ認証に成功していることを確認してから、暗号化サービスアクセス情報304の送信を行ってもよい。ユーザ認証の結果を確認する方法は、サービス登録処理のステップC50と同様であるので、重複する詳細な説明は省略する。または、正当な(認証成功する)クライアント100でなければ復号ができないので、サービスアクセス情報管理装置300は、ユーザ認証の成功を確認せずに、暗号化サービスアクセス情報304の送信を行ってもよい。
 クライアント100では、復号部105が暗号化サービスアクセス情報304を受信する。そして、復号部105は、受信した暗号化サービスアクセス情報304を復号する(ステップA62)。具体的には、復号部105は、サービス登録処理のステップA36と同様に、秘密鍵を計算する。そして、復号部105は、計算した秘密鍵を用いて、暗号化サービスアクセス情報304を復号する。復号した結果として、復号部105は、サービス登録処理において入力したサービスアクセス情報と同じ情報を得ることができる。
 最後に、出力部111が、復号されたサービスアクセス情報を出力する(ステップA63)。ユーザは、出力されたサービスアクセス情報を用いて、所望のサービスを利用することができる。
 以上がサービス利用処理の動作である。
 以上、説明したように、本実施形態には、上述した第1の実施形態と同様の効果に加えて、さらに、マスターパスワードの安全性を向上することができるという効果がある。
 その理由は、ユーザ登録処理の際、クライアント100の秘密分散部102が、マスターパスワードそのものではなく、認証情報生成部101を介して計算したマスターパスワードのハッシュ値を、分散マスター認証情報215の基とするからである。
 また、本実施形態には、サービスアクセス情報を安全に管理することができるという効果もある。
 その理由は、ユーザ登録処理において、クライアント100において、秘密分散部102が、ソルト情報を秘密分散法によって分散した分散ソルト情報216を生成するからである。そして、サービス登録処理において、秘密復元部104が、各分散認証装置200に保存された分散ソルト情報216を収集(取得)し、それらの分散ソルト情報216をソルト情報として復元するからである。すなわち、本実施形態では、オンラインパスワードマネージャを構成するどの情報処理装置から情報漏えいが起きても、その情報は暗号化サービスアクセス情報304の復号に必要なソルト情報の特定に利用できないという効果がある。
 また、本実施形態には、ユーザが1組のユーザID情報とパスワードとを記憶しておけば、様々なサービスを利用することが可能となるという効果がある。
 その理由は、複数の分散認証装置200が、1組のユーザID情報とパスワードとによるユーザ認証が成功した後に、暗号化サービスアクセス情報304を復号する秘密鍵の生成に必要な分散ソルト情報216を、クライアント100に提供するからである。クライアント100は、その分散ソルト情報216を復号したソルト情報に基づいて、暗号化サービスアクセス情報304を復号することにより、様々なサービスに対するサービスアクセス情報を取得することができる。
 また、本実施形態には、クライアント100を容易に提供できるという効果がある。
 その理由は、クライアント100は、パスワードおよびソルト情報のような秘密を要する情報を何も管理(保存)する必要がないからである。したがって、クライアント100の機能は、様々な端末に容易に導入することができるという効果が期待できる。
 なお、本実施形態の変形例としては、以下のようなものが考えられる。
 例えば、クライアント100と、分散認証装置200の1台とが、同じ情報処理装置において実装されてもよい。また、サービスアクセス情報管理装置300と、分散認証装置200の1台とが、同じ情報処理装置において実装されてもよい。
 また、マスター認証情報および認証情報は、第1の実施形態と同様に、入力されたマスターパスワードおよびパスワードの全部または一部がそのまま用いられてもよい。
 また、一部の処理の順番は、上述した通りでなくてもよい。例えば、入力部110は、上述した以外のタイミングで一部の情報を受け付けてもよい。すなわち、入力部110は、ユーザID情報およびパスワード以外の情報を、図4のステップA30、または図5のステップA60ではなく、ユーザ認証の成功が判明した後に、改めて受け付けてもよい。
また、例えば、サービス利用処理において、秘密復元部104は、分散ソルト情報216の復元(図5のステップA35)を、暗号化サービスアクセス情報304を復号する(ステップA62)までのいずれかのタイミングで実行してもよい。
<第3の実施形態>
 次に、上述した第2の実施形態を基本とする第3の実施形態について説明する。以下では、第3の実施形態に係る特徴的な部分を中心に説明し、第2の実施形態と同様な構成を有する第3の実施形態の構成要素には、第2の実施形態で付した参照符号と同一の参照符号を付し、その構成要素について重複する詳細な説明は省略する。
 図6は、本発明の第3の実施形態に係るサービスアクセス情報管理システムの構成を示すブロック図である。図6を参照すると、本実施形態に係るサービスアクセス情報管理システムは、クライアント(第1の情報処理装置)400、および複数の分散認証装置(第2の情報処理装置)500を含む。クライアント400は、第2の実施形態におけるクライアント100を基本とする。分散認証装置500は、第2の実施形態における分散認証装置200を基本とする。
 本実施形態は、サービスアクセス情報を分散して管理する点が、第2の実施形態と異なる。第2の実施形態において、サービスアクセス情報は、暗号技術によって保護されている。しかし、本実施形態では、サービスアクセス情報は、暗号技術に替えて、秘密分散法を適用して分散することにより保護される。本実施形態では、一例として、分散されたサービスアクセス情報が、分散マスター認証情報215と共に、各分散認証装置500に保存される。したがって、本実施形態では、サービスアクセス情報管理装置300に対応する装置を含まない点も、第2の実施形態と異なる。
 本実施形態に係るサービスアクセス情報管理システムは、第2の実施形態と同様に、オンラインパスワードマネージャであるとも言える。本実施形態に係るオンラインパスワードマネージャも、第2の実施形態と同様に、ユーザ登録、サービス登録、およびサービス利用の3つの処理を実行できる。
 クライアント400、および各分散認証装置500は、それぞれインターネットや構内LAN等のネットワーク1000を介して互いに通信可能である。
 クライアント400、および、分散認証装置500は、CPU(図示せず)を用いて実行されるコンピュータ・プログラム(ソフトウェア・プログラム)の制御により動作する一般的な情報処理装置(コンピュータ)によって構成されても良い。または、クライアント400、および、分散認証装置500の各部が、専用のハードウェアデバイス、または論理回路によって構成されても良い。なお、このクライアント400、および、分散認証装置500をコンピュータによって実現したハードウェア構成例については、図10を参照して後述する。
 クライアント400は、それぞれ第2の実施形態を基本とする通信制御部3、認証情報生成部101、秘密分散部402、秘密復元部404、入力部410、および出力部111を含む。認証情報生成部101、および出力部111の構造および機能は、第2の実施形態と同様であるので、重複する説明は省略する。
 入力部410は、ソルト情報の入力を受けない点が、第2の実施形態と異なる。すなわち、入力部410は、ユーザID、マスターパスワード(第2の入力情報)、パスワード(第1の入力情報)、およびサービスアクセス情報(第3の入力情報)を受け付けることができる。秘密分散部402、および秘密復元部404は、ソルト情報に替えて、サービスアクセス情報を秘密分散法の分散処理または復元処理の対象とする点が、第2の実施形態と異なる。また、通信制御部3は、分散ソルト情報216に替えて、分散サービスアクセス情報517を各分散認証装置500に対して送受信する点、および、暗号化サービスアクセス情報304を扱わない点が、第2の実施形態と異なる。
 すなわち、サービス登録処理において、秘密分散部402が、分散処理によって、サービスアクセス情報が分散された情報である分散サービスアクセス情報517として分散する。そして、サービス利用処理において、秘密復元部404が、各分散認証装置500から受信した分散サービスアクセス情報517を復元処理によってサービスアクセス情報として復元する。入力部410、秘密分散部402、秘密復元部404、および通信制御部3の構造及び機能は、上述した点以外は第2の実施形態と同様であるので、重複する詳細な説明は省略する。
 分散認証装置500は、それぞれ第2の実施形態を基本とする通信制御部11、秘密計算部212、処理実行部513、登録部501、および記憶装置14を含む。秘密計算部212の構造および機能は、第2の実施形態と同様であるので、重複する詳細な説明は省略する。
 秘密計算部212以外の各部(通信制御部11、処理実行部513、登録部501、および記憶装置14)は、分散ソルト情報216に替えて、分散サービスアクセス情報517を扱う点が、第2の実施形態と異なる。すなわち、記憶装置14は、分散マスター認証情報215、および分散サービスアクセス情報517を記憶することができる。通信制御部11は、分散ソルト情報216に替えて、分散サービスアクセス情報517をクライアント400との間で送受信する。登録部501は、ユーザ登録処理ではなく、サービス登録処理において分散サービスアクセス情報517を受信し、それを記憶装置14に保存する。処理実行部513は、ユーザ認証が成功した場合における所定の処理の一例として、分散ソルト情報216に替えて、分散サービスアクセス情報517をクライアント400に対して送信する。
 言い換えると、分散サービスアクセス情報517は、第2の実施形態における預かり情報に対応する。本実施形態においても、この預かり情報は、後に、各分散認証装置500が決定した条件およびタイミングにおいて、クライアント400に対して返信される。本実施形態では、一例として、通信制御部3は、認証が成功したと判断された場合に、この預かり情報(分散サービスアクセス情報517)を各分散認証装置500から受信する。
ただし、本実施形態では、各分散認証装置500から受信した複数の預かり情報は、秘密復元部404によってサービスアクセス情報として復元される。そして、秘密復元部404は、復元したサービスアクセス情報を、出力部111を介して出力する。
 次に、上述した構成を備える本実施形態の動作について詳細に説明する。以下では、第2の実施形態と同様の動作については重複する説明を省略し、簡潔に説明する。上述したように、本実施形態に係るオンラインパスワードマネージャも、ユーザ登録処理、サービス登録処理、およびサービス利用処理という3つの処理を行う。以下では、それぞれの処理における動作を順に説明する。
 <ユーザ登録処理における動作>
 以下に、図7を参照して、ユーザ登録処理における動作を説明する。図7は、第3の実施形態におけるユーザ登録処理の際に、クライアント400および各分散認証装置500が行う動作を示すフローチャートである。
 まず、ユーザは、クライアント400に対して、ユーザID情報、およびマスターパスワードを入力する。クライアント400においては、入力部410が、ユーザID情報、およびマスターパスワードの入力を受け付ける(ステップA100)。
 次に、認証情報生成部101が、入力された情報に基づいて、マスター認証情報を生成する。第2の実施形態と同様に、認証情報生成部101が、マスターパスワードのハッシュ値を計算する(ステップA101)。
 次に、秘密分散部402が、生成されたマスター認証情報に対して、秘密分散法による分散処理を行う(ステップA102)。
 次に、通信制御部3が、ユーザID情報、および分散されたハッシュ値(分散マスター認証情報215)を、各分散認証装置500に対して送信(分散)する(ステップA103)。
 各分散認証装置500においては、登録部501が、通信制御部11を介して、ユーザID情報、および分散マスター認証情報215を受信する。各登録部501は、分散マスター認証情報215をユーザID情報と対応付けて、記憶装置14に保存する(ステップB110)。
 以上が、ユーザ登録処理の動作である。
 <サービス登録処理における動作>
 以下に、図8を参照して、サービス登録処理における動作を説明する。図8は、第3の実施形態におけるサービス登録処理の際に、クライアント400、および各分散認証装置500が行う動作を示すフローチャートである。
 まず、ユーザは、クライアント400に対して、ユーザ登録処理において登録したユーザID情報、パスワード、サービス名情報、およびサービスアクセス情報を入力する。この後、クライアント400における入力部410の入力の受け付け(ステップA30)、およびユーザ認証の結果判定までの各ステップ(ステップA31~A33、およびステップB40~B42)は、第2の実施形態と同様であるので、重複する詳細な説明は省略する。
 秘密計算部212によって認証成功と判定された場合(ステップB42のYES)、処理実行部513が、所定の処理を実行する。具体的には、処理実行部513は、一例として、クライアント400に対して、認証結果(成功)を通知する(ステップB130)。
この通知は、少なくとも1台の分散認証装置500が実行すればよい。秘密計算部212によって認証失敗と判定された場合(ステップB42のNO)、処理実行部513は、一例として、認証結果(失敗)を送信せずに、単に処理を終了してもよい。
 以下、認証成功した場合の動作を説明する。クライアント400では、通信制御部3が、少なくとも1台の分散認証装置500から認証結果(成功)の通知を受信する(ステップA120)。本実施形態では、クライアント400は、この認証結果(成功)の通知の受信によって、認証の成功を知ることができる。ここまでが、クライアント400が受けるユーザ認証である。
 次に、秘密分散部402が、入力されたサービスアクセス情報に対して、秘密分散法による分散処理を行う(ステップA121)。
 次に、通信制御部3が、ユーザID情報、サービス名情報、および分散されたサービスアクセス情報(分散サービスアクセス情報517)を、各分散認証装置500に対して送信(分散)する(ステップA122)。
 各分散認証装置500においては、登録部501が、通信制御部11を介して、ユーザID情報、サービス名情報、および分散サービスアクセス情報517を受信する。各登録部501は、分散サービスアクセス情報517をユーザID情報およびサービス名情報と対応付けて、記憶装置14に保存する(ステップB131)。
 以上が、サービス登録処理の動作である。
 <サービス利用処理における動作>
 以下に、図9を参照して、サービス利用処理における動作を説明する。図9は、第3の実施形態におけるサービス利用処理の際に、クライアント400、および各分散認証装置500が行う動作を示すフローチャートである。
 まず、ユーザは、クライアント400に対して、ユーザID情報、パスワード、およびサービス名情報を入力する。この後、クライアント400における入力部410の入力の受け付け(ステップA60)、およびユーザ認証の結果判定までの各ステップ(ステップA31~A33、およびステップB40~B42)は、基本的に第2の実施形態と同様である。ただし、クライアント400から各分散装置500に対して送信する情報として、サービス名情報が加わる(ステップA140)。各分散認証装置500では、サービス名情報も受信する(ステップB150)。第2の実施形態と特に違いがない動作(ステップA60、A31、A32、B41、およびB42)については、重複する詳細な説明は省略する。
 秘密計算部212によって認証成功と判定された場合(ステップB42のYES)、処理実行部513が、所定の処理を実行する。具体的には、処理実行部513は、一例として、クライアント400に対して、ユーザID情報およびサービス名情報に対応する分散サービスアクセス情報517を送信する(ステップB151)。
 クライアント400では、通信制御部3が、各分散認証装置500から分散サービスアクセス情報517を受信する(ステップA141)。
 次に、秘密復元部404が、受信した複数の分散サービスアクセス情報517に対して復元処理を行う(ステップA142)。復元処理の結果、サービス登録処理において入力されたサービスアクセス情報が復元される。
 最後に、出力部111が、復元されたサービスアクセス情報を出力する(ステップA143)。ユーザは、出力されたサービスアクセス情報を用いて、所望のサービスを利用することができる。
 以上がサービス利用処理の動作である。
 以上、説明したように、本実施形態には、上述した第2の実施形態と同様の効果に加えて、さらに、サービスアクセス情報を安全に管理することができるという効果もある。
 その理由は、サービス登録の際、クライアント400において、秘密分散部402が、秘密分散法によって、サービスアクセス情報を分散した分散サービスアクセス情報517を、各分散認証装置500に分散して保存するからである。すなわち、本実施形態では、本システムを構成するどの分散認証装置500から情報漏えいが起きても、その情報はサービスアクセス情報の特定に利用できないという効果があると言える。
 また、本実施形態には、上述した第2の実施形態に比べて、システム構成を簡易にすることができるという効果もある。
 その理由は、本実施形態では、第2の実施形態におけるサービスアクセス情報管理装置300が不要だからである。 なお、本実施形態の変形例としては、以下のようなものが考えられる。
 例えば、クライアント400と、分散認証装置500の1台とが、同じ情報処理装置において実装されてもよい。
 また、マスター認証情報および認証情報は、第1の実施形態と同様に、入力されたマスターパスワードおよびパスワードの全部または一部がそのまま用いられてもよい。
 また、一部の処理の順番は、上述した通りでなくてもよい。例えば、入力部410は、上述した以外のタイミングで一部の情報を受け付けてもよい。すなわち、入力部410は、ユーザID情報およびパスワード以外の情報を、図8のステップA30、または図9のステップA60ではなく、ユーザ認証の成功が判明した後に、改めて受け付けてもよい。
この場合、サービス利用処理(図9)でも、分散認証装置500による認証結果(成功)の通知を行ってもよい。その後に、クライアント400の通信制御部3が、各分散認証装置500に対して、サービス名情報を送信してもよい。
<HW構成説明例>
 なお、上述した各実施形態において図1、図2および図6に示した各部は、それぞれ独立したハードウェア回路で構成されていてもよいし、ソフトウェアプログラムの機能(処理)単位(ソフトウェアモジュール)と捉えることができる。ただし、これらの図面に示した各部の区分けは、説明の便宜上の構成であり、実装に際しては、様々な構成が想定され得る。このような場合のハードウェア環境の一例を、図10を参照して説明する。
 図10は、本発明の各実施形態、および、その変形例に係る認証システムおよびサービスアクセス情報管理システムに適用可能なコンピュータ(情報処理装置)の構成を例示する図である。すなわち、図10は、上述した各実施形態における第1の情報処理装置1、100および400、第2の情報処理装置10、200および500、またはサービスアクセス情報管理装置300の少なくとも何れかを実現可能なコンピュータの構成であって、上述した各実施形態における各機能を実現可能なハードウェア環境を示す。
 図10に示したコンピュータ900は、CPU(Central Processing Unit)901、ROM(Read Only Memory)902、RAM(Random Access Memory)903、通信インタフェース(IF)904、ディスプレイ905、およびハードディスク装置(HDD)906を備え、これらがバス907を介して接続された構成を含む。なお、図10に示したコンピュータが第1の情報処理装置1、100および400、第2の情報処理装置10、200および500、またはサービスアクセス情報管理装置300として機能する場合、ディスプレイ905は常時設けられる必要はない。
 また、通信インタフェース904は、上述した各実施形態において、当該各コンピュータ間における通信を実現する一般的な通信手段である。ハードディスク装置906には、プログラム群906Aと、各種の記憶情報906Bとが格納されている。プログラム群906Aは、例えば、上述した図1、図2および図6に示した各ブロック(各部)に対応する機能を実現するためのコンピュータ・プログラムである。各種の記憶情報906Bは、例えば、図1、図2および図6に示した分散マスター認証情報15および215、分散ソルト情報216、暗号化サービスアクセス情報304、および分散サービスアクセス情報517などである。このようなハードウェア構成において、CPU901は、コンピュータ900の全体の動作を司る。
 そして、上述した各実施形態を例に説明した本発明は、各実施形態の説明において参照したブロック構成図(図1、図2および図6)あるいはフローチャート(図3乃至図5、および図7乃至図9)の機能を実現可能なコンピュータ・プログラムを供給した後、そのコンピュータ・プログラムを、当該ハードウェアのCPU901に読み出して実行することによって達成される。また、このコンピュータ内に供給されたコンピュータ・プログラムは、読み書き可能な一時記憶メモリであるRAM903またはハードディスク装置906などの不揮発性の記憶デバイス(記憶媒体)に格納すれば良い。
 また、上記の場合において、当該各装置内へのコンピュータ・プログラムの供給方法は、フロッピーディスク(登録商標)またはCD-ROM(Compact Disc-ROM)などの各種記録媒体を介して当該装置内にインストールする方法のように、現在では一般的な手順を採用することができる。当該各装置内へのコンピュータ・プログラムの供給方法としては、インターネット等の通信ネットワーク1000を介して外部よりダウンロードする方法も一般的である。そして、このような場合において、本発明は、係るコンピュータ・プログラムを構成するコード、或いは係るコードが記録されたところの、コンピュータ読み取り可能な記憶媒体によって構成されると捉えることができる。
 以上、上述した実施形態を模範的な例として本発明を説明した。しかしながら、本発明は、上述した実施形態には限定されない。即ち、本発明は、本発明のスコープ内において、当業者が理解し得る様々な態様を適用することができる。
 この出願は、2015年8月26日に出願された日本出願特願2015-166696を基礎とする優先権を主張し、その開示の全てをここに取り込む。
 1  第1の情報処理装置
 2、102、402  秘密分散部
 3、11、301  通信制御部
 10  第2の情報処理装置
 12、212  秘密計算部
 13、213、513  処理実行部
 14、303  記憶装置
 15、215  分散マスター認証情報
 20  入力情報
 100、400  クライアント(第1の情報処理装置)
 101  認証情報生成部
 103  暗号化部
 104、404  秘密復元部
 105  復号部
 110、410  入力部
 111  出力部
 200、500  分散認証装置(第2の情報処理装置)
 201、501  登録部
 216  分散ソルト情報
 300  サービスアクセス情報管理装置
 302  管理部
 304  暗号化サービスアクセス情報
 517  分散サービスアクセス情報

Claims (31)

  1.  あらかじめ保存する、認証に際して照合される一方の情報であるマスター認証情報が秘密分散法によって分散された分散マスター認証情報の1つと、
      通信を介して接続される第1の情報処理装置から受信した、前記認証に際して照合される他方の情報である認証情報が秘密分散法によって分散された分散認証情報の1つとに基づいて、
      他の第2の情報処理装置との間における通信を介する秘密計算を実行することによって、前記認証情報が前記マスター認証情報と一致するかどうかを判定する秘密計算手段と、
     前記判定の結果に応じて所定の処理を実行する処理実行手段と
     を含む第2の情報処理装置。
  2.  前記第1の情報処理装置から、受信した前記分散マスター認証情報の1つを記憶装置に保存する登録手段を、さらに含み、
     前記秘密計算手段は、前記記憶装置から読み出した前記分散マスター認証情報の1つに基づいて、前記秘密計算を実行する
     請求項1記載の第2の情報処理装置。
  3.  前記登録手段は、前記第1の情報処理装置から、あらかじめ預かっておく情報である預かり情報を受信し、受信した前記預かり情報を記憶装置に保存し、
     前記処理実行手段は、前記判定の結果が、前記認証情報と前記マスター認証情報とが一致したことを表す認証成功である場合に、前記所定の処理として、前記預かり情報を、前記第1の情報処理装置に対して送信する
     請求項2記載の第2の情報処理装置。
  4.  前記マスター認証情報は、第1の文字列に基づくハッシュ値であり、
     前記認証情報は、第2の文字列に基づくハッシュ値であり、
     前記秘密計算手段は、ハッシュの計算を行う秘密計算と、一致の判定を行う秘密計算とを組み合わせることにより、前記認証情報が前記マスター認証情報と一致するかどうかを判定する
     請求項1乃至3のいずれか1つに記載の第2の情報処理装置。
  5.  前記マスター認証情報は、文字列を含むマスターパスワードであり、
     前記認証情報は前記第1の情報処理装置に対して入力された文字列を含むパスワードである
     請求項1乃至4のいずれか1つに記載の第2の情報処理装置。
  6.  前記預かり情報は、前記第1の情報処理装置における暗号処理に係るソルト情報が秘密分散法によって分散された情報の1つである
     請求項3乃至5のいずれか1つに記載の第2の情報処理装置。
  7.  複数の、請求項1乃至6のいずれか1つに記載の第2の情報処理装置を含むシステムに接続される第1の情報処理装置において、
     入力された第1の入力情報に基づく認証情報を、秘密分散法によって複数の分散認証情報に分散する秘密分散手段と、
     前記複数の第2の情報処理装置に対して、前記各分散認証情報を分散するように送信する通信制御手段と
     を含む第1の情報処理装置。
  8.  入力された第2の入力情報に基づいて前記マスター認証情報を生成し、前記第1の入力情報に基づいて前記認証情報を生成する認証情報生成手段を、さらに含み、
     前記秘密分散手段は、生成された前記マスター認証情報を、秘密分散法によって複数の分散マスター認証情報に分散する処理をさらに行い、
     前記通信制御手段は、前記複数の第2の情報処理装置に対して、前記各分散マスター認証情報を分散するように送信する処理をさらに行う
     請求項7記載の第1の情報処理装置。
  9.  前記認証情報生成手段は、前記第2の入力情報に基づくハッシュ値を前記マスター認証情報として生成し、前記第1の入力情報に基づくハッシュ値を前記認証情報として生成する
     請求項8記載の第1の情報処理装置。
  10.  前記秘密分散手段は、入力された第3の入力情報を、秘密分散法によって複数の前記預かり情報として分散する処理をさらに行い、
     前記通信制御手段は、さらに、前記複数の第2の情報処理装置に対して、前記各預かり情報を分散するように送信し、前記複数の第2の情報処理装置から前記各預かり情報を受信し、
     受信した複数の前記預かり情報を、秘密分散法によって、前記第3の入力情報に復元し、復元した前記第3の入力情報を出力する秘密復元手段を、さらに含む
     請求項7乃至9のいずれか1つに記載の第1の情報処理装置。
  11.  前記復元された第3の入力情報に基づいて暗号鍵を生成し、入力された第4の入力情報を前記暗号鍵を用いて暗号化する暗号化手段を、さらに含み、
     前記通信制御手段は、さらに、前記暗号化された第4の入力情報を、第3の情報処理装置に対して送信し、前記複数の第2の情報処理装置から前記預かり情報を受信した場合に、前記第3の情報処理装置から前記暗号化された第4の入力情報を受信し、
     前記復元された第3の入力情報に基づいて、復号鍵を生成し、受信した前記暗号化された第4の入力情報を、前記復号鍵によって、前記第4の入力情報に復号し、復号した前記第4の入力情報を出力する復号手段を、さらに含む
     請求項10記載の第1の情報処理装置。
  12.  前記第1の入力情報は、認証に際して入力された文字列を含むパスワードである
     請求項7乃至11のいずれか1つに記載の第1の情報処理装置。
  13.  前記第2の入力情報は、認証より前に入力された文字列を含むマスターパスワードである
     請求項8乃至12のいずれか1つに記載の第1の情報処理装置。
  14.  前記第3の入力情報は、サービスにアクセスする際に使用される情報であるサービスアクセス情報である
     請求項10、12、または13のいずれか1つに記載の第1の情報処理装置。
  15.  前記第3の入力情報は、前記暗号鍵および前記復号鍵の生成に用いられるソルト情報であり、
     前記第4の入力情報は、サービスにアクセスする際に使用される情報であるサービスアクセス情報である
     請求項11乃至13のいずれか1つに記載の第1の情報処理装置。
  16.  請求項7乃至15のいずれか1つに記載の第1の情報処理装置と、
     前記第1の情報処理装置と接続される請求項1乃至6のいずれか1つに記載の複数の第2の情報処理装置とを含む認証システム。
  17.  前記第1の情報処理装置として、請求項11または15記載の第1の情報処理装置を含み、
     さらに、前記第3の情報処理装置を含む
     請求項16記載の認証システム。
  18.  第1の情報処理装置に対して入力された第1の入力情報に基づく認証情報を、秘密分散法によって複数の分散認証情報に分散し、
     認証に際して照合される情報であるマスター認証情報が秘密分散法によって分散された情報である各分散マスター認証情報を分散してあらかじめ保存する、複数の第2の情報処理装置に対して、前記第1の情報処理装置から、前記各分散認証情報を分散するように送信し、
     前記第1の情報処理装置から受信した前記分散認証情報と、前記分散マスター認証情報とに基づいて、前記複数の第2の情報処理装置の少なくとも一部の装置間における通信を介する秘密計算を実行することによって、前記認証情報が前記マスター認証情報と一致するかどうかを判定し、
     前記秘密計算を実行した前記複数の第2の情報処理装置の少なくとも1つが、前記判定の結果に応じて所定の処理を実行する
     認証方法。
  19.  前記第1の情報処理装置に対して入力された第2の入力情報に基づいて前記マスター認証情報を、さらに生成し、
     前記マスター認証情報を、秘密分散法によって複数の分散マスター認証情報に、さらに分散し、
     前記複数の第2の情報処理装置に対して、前記第1の情報処理装置から、前記各分散マスター認証情報を分散するように、さらに送信し、
     前記各第2の情報処理装置において、前記第1の情報処理装置から受信した前記分散マスター認証情報を、さらに保存する
     請求項18記載の認証方法。
  20.  前記第2の入力情報に基づくハッシュ値を前記マスター認証情報として生成し、
     前記第1の入力情報に基づくハッシュ値を前記認証情報として生成し、
     ハッシュの計算を行う秘密計算と、一致の判定を行う秘密計算とを組み合わせることにより、前記認証情報が前記マスター認証情報と一致するかどうかを判定する
     請求項19記載の認証方法。
  21.  前記第1の情報処理装置に対して入力された第3の入力情報を、秘密分散法によって複数の預かり情報として、さらに分散し、
     前記複数の第2の情報処理装置に対して、前記第1の情報処理装置から、前記各預かり情報を分散するように、さらに送信し、
     前記各第2の情報処理装置において、前記第1の情報処理装置から受信した前記預かり情報を、さらに保存し、
     前記所定の処理として、前記複数の第2の情報処理装置の少なくとも1つから、保存された前記預かり情報を、前記第1の情報処理装置に対して送信し、
     受信した複数の前記預かり情報を、秘密分散法によって、前記第3の入力情報に、さらに復元し、
     復元した前記第3の入力情報を、さらに出力する
     請求項18乃至20のいずれか1つに記載の認証方法。
  22.  前記復元された第3の入力情報に基づいて暗号鍵を、さらに生成し、
     前記第1の情報処理装置に対して入力された第4の入力情報を前記暗号鍵を用いて、さらに暗号化し、
     前記暗号化された第4の入力情報を、第3の情報処理装置に対して、さらに送信し、
     前記複数の第2の情報処理装置から前記預かり情報を受信した場合に、前記第3の情報処理装置から前記暗号化された第4の入力情報を、さらに受信し、
     前記復元された第3の入力情報に基づいて、復号鍵を、さらに生成し、
     受信した前記暗号化された第4の入力情報を、前記復号鍵によって、前記第4の入力情報に、さらに復号し、
     復号した前記第4の入力情報を、さらに出力する
     請求項21記載の認証方法。
  23.  あらかじめ保存する、認証に際して照合される一方の情報であるマスター認証情報が秘密分散法によって分散された分散マスター認証情報の1つと、
      通信を介して接続される第1の情報処理装置から受信した、前記認証に際して照合される他方の情報である認証情報が秘密分散法によって分散された分散認証情報の1つとに基づいて、
      他の第2の情報処理装置との間における通信を介する秘密計算を実行することによって、前記認証情報が前記マスター認証情報と一致するかどうかを判定する秘密計算処理と、
     前記判定の結果に応じて所定の処理を実行する判定実行処理と
     を第2の情報処理装置であるコンピュータに実行させる第1のコンピュータ・プログラムを記録する記録媒体。
  24.  前記第1の情報処理装置から、受信した前記分散マスター認証情報の1つを記憶装置に保存する登録処理を、さらに含み、
     前記秘密計算処理において、前記記憶装置から読み出した前記分散マスター認証情報の1つに基づいて、前記秘密計算を実行する
     請求項23記載の第1のコンピュータ・プログラムを記録する記録媒体。
  25.  前記第1の情報処理装置から、あらかじめ預かっておく情報である預かり情報を受信し、受信した前記預かり情報を記憶装置に保存する預かり情報登録処理を、さらに含み、
     前記判定実行処理において、前記判定の結果が、前記認証情報と前記マスター認証情報とが一致したことを表す認証成功である場合に、前記所定の処理として、前記預かり情報を、前記第1の情報処理装置に対して送信する
     請求項23または24記載の第1のコンピュータ・プログラムを記録する記録媒体。
  26.  前記マスター認証情報は、第1の文字列に基づくハッシュ値であり、
     前記認証情報は、第2の文字列に基づくハッシュ値であり、
     前記秘密計算処理において、ハッシュの計算を行う秘密計算と、一致の判定を行う秘密計算とを組み合わせることにより、前記認証情報が前記マスター認証情報と一致するかどうかを判定する
     請求項23乃至25のいずれか1つに記載の第1のコンピュータ・プログラムを記録する記録媒体。
  27.  入力された第1の入力情報に基づく認証情報を、秘密分散法によって複数の分散認証情報に分散する秘密分散処理と、
     請求項23乃至26のいずれか1つに記載の第1のコンピュータ・プログラムが実行される、複数の情報処理装置に対して、前記各分散認証情報を分散するように送信する通信制御処理と
     をコンピュータに実行させる第2のコンピュータ・プログラムを記録する記録媒体。
  28.  入力された第2の入力情報に基づいて前記マスター認証情報を生成し、前記第1の入力情報に基づいて前記認証情報を生成する認証情報生成処理と、
     生成された前記マスター認証情報を、秘密分散法によって複数の分散マスター認証情報に分散する処理と、
     前記複数の情報処理装置に対して、前記各分散マスター認証情報を分散するように送信する処理とを、さらにコンピュータに実行させる
     請求項27記載の第2のコンピュータ・プログラムを記録する記録媒体。
  29.  前記認証情報生成処理において、前記第2の入力情報に基づくハッシュ値を前記マスター認証情報として生成し、前記第1の入力情報に基づくハッシュ値を前記認証情報として生成する
     請求項28記載の第2のコンピュータ・プログラムを記録する記録媒体。
  30.  入力された第3の入力情報を、秘密分散法によって複数の前記預かり情報として分散する処理と
     前記複数の情報処理装置に対して、前記各預かり情報を分散するように送信する処理とをさらにコンピュータに実行させ、
     前記複数の情報処理装置から前記各預かり情報を受信した場合に、
     受信した複数の前記預かり情報を、秘密分散法によって、前記第3の入力情報に復元し、復元した前記第3の入力情報を、さらに出力する
     請求項27乃至29のいずれか1つに記載の第2のコンピュータ・プログラムを記録する記録媒体。
  31.  前記復元された第3の入力情報に基づいて暗号鍵を生成し、入力された第4の入力情報を前記暗号鍵を用いて暗号化する暗号化処理と、
     前記暗号化された第4の入力情報を、第3の情報処理装置に対して送信する処理と、
     前記複数の第2の情報処理装置から前記預かり情報を受信した場合に、前記第3の情報処理装置から前記暗号化された第4の入力情報を受信する処理と、
     前記復元された第3の入力情報に基づいて、復号鍵を生成し、受信した前記暗号化された第4の入力情報を、前記復号鍵によって、前記第4の入力情報に復号し、復号した前記第4の入力情報を出力する復号処理とを、さらにコンピュータに時刻させる
     請求項30記載の第2のコンピュータ・プログラムを記録する記録媒体。
PCT/JP2016/003777 2015-08-26 2016-08-18 情報処理装置、認証システム、認証方法、並びにコンピュータ・プログラムを記録する記録媒体 WO2017033442A1 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
US15/753,053 US11050745B2 (en) 2015-08-26 2016-08-18 Information processing apparatus, authentication method, and recording medium for recording computer program
JP2017536609A JP6753403B2 (ja) 2015-08-26 2016-08-18 情報処理装置、認証システム、認証方法、並びにコンピュータ・プログラム

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2015166696 2015-08-26
JP2015-166696 2015-08-26

Publications (1)

Publication Number Publication Date
WO2017033442A1 true WO2017033442A1 (ja) 2017-03-02

Family

ID=58099796

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2016/003777 WO2017033442A1 (ja) 2015-08-26 2016-08-18 情報処理装置、認証システム、認証方法、並びにコンピュータ・プログラムを記録する記録媒体

Country Status (3)

Country Link
US (1) US11050745B2 (ja)
JP (1) JP6753403B2 (ja)
WO (1) WO2017033442A1 (ja)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019012268A1 (en) * 2017-07-10 2019-01-17 Cloud-pin Limited METHOD FOR RECORDING AND AUTHENTICATING A USER OF AN ONLINE SYSTEM
WO2019115697A1 (en) * 2017-12-14 2019-06-20 Robert Bosch Gmbh Method for faster secure multiparty inner product with spdz
WO2019204366A1 (en) 2018-04-16 2019-10-24 Xage Security, Inc. Decentralized information protection for confidentiality and tamper-proofing on distributed database
KR20200030885A (ko) * 2018-09-13 2020-03-23 삼육대학교산학협력단 광학 문자 인식을 이용한 사용자 인증 시스템
CN111133719A (zh) * 2017-09-29 2020-05-08 罗伯特·博世有限公司 用于利用spdz的更快速的安全多方内积计算的方法
CN112769742A (zh) * 2019-11-06 2021-05-07 电科云(北京)科技有限公司 Spdz系列协议中的消息验证方法、装置及存储介质
KR20230046107A (ko) * 2021-09-29 2023-04-05 한국전자통신연구원 분산 아이디 기반 서비스에서의 위임 크리덴셜 발급 장치 및 방법
JP7555349B2 (ja) 2019-03-25 2024-09-24 アイデンティーク プロトコル リミテッド ネットワーク上の複数のノード間でクエリの匿名検証を提供するシステムおよび方法

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105205386A (zh) * 2014-06-25 2015-12-30 腾讯科技(深圳)有限公司 移动终端应用程序密码保护方法和装置
US10862908B2 (en) 2018-08-09 2020-12-08 Hrl Laboratories, Llc System and method for consensus ordering of broadcast messages
US10887092B2 (en) * 2018-08-09 2021-01-05 Hrl Laboratories, Llc Anonymous allocation and majority voting in a compromised environment

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007312128A (ja) * 2006-05-18 2007-11-29 Toshiba Corp 電子データ閲覧システム、装置及びプログラム
WO2015114947A1 (ja) * 2014-01-28 2015-08-06 日本電信電話株式会社 秘密計算方法、秘密計算システム、秘密計算サーバ、登録者端末、利用者端末及びプログラム

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6959394B1 (en) * 2000-09-29 2005-10-25 Intel Corporation Splitting knowledge of a password
CN101375284B (zh) * 2004-10-25 2012-02-22 安全第一公司 安全数据分析方法和系统
US20070283161A1 (en) * 2006-06-06 2007-12-06 Kabushiki Kaisha Toshiba System and method for generating verifiable device user passwords
US8769637B2 (en) * 2007-03-23 2014-07-01 Sap Ag Iterated password hash systems and methods for preserving password entropy
JP2010011109A (ja) 2008-06-27 2010-01-14 Kddi Corp 認証ユニット、認証端末、認証システム、認証方法およびプログラム
US8638926B2 (en) * 2009-02-26 2014-01-28 Red Hat, Inc. Sharing a secret with modular inverses
JP4860779B1 (ja) 2011-07-08 2012-01-25 株式会社野村総合研究所 データ分散保管システム
US8731203B2 (en) * 2012-02-13 2014-05-20 Alephcloud Systems, Inc. Securing a secret of a user
WO2014052474A1 (en) * 2012-09-25 2014-04-03 Google Inc. Securing personal identification numbers for mobile payment applications by combining with random components
US9386018B2 (en) * 2014-04-11 2016-07-05 Hangzhou Dianzi University Distributed cryptography system
US9258117B1 (en) * 2014-06-26 2016-02-09 Amazon Technologies, Inc. Mutual authentication with symmetric secrets and signatures
GB2513260B (en) * 2014-06-27 2018-06-13 PQ Solutions Ltd System and method for quorum-based data recovery
EP4325770A3 (en) * 2017-08-15 2024-04-24 nChain Licensing AG Threshold ecdsa for securing bitcoin wallet
US20200213135A1 (en) * 2018-12-31 2020-07-02 Unbound Tech Ltd System and method for secure manufacturing of articles

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007312128A (ja) * 2006-05-18 2007-11-29 Toshiba Corp 電子データ閲覧システム、装置及びプログラム
WO2015114947A1 (ja) * 2014-01-28 2015-08-06 日本電信電話株式会社 秘密計算方法、秘密計算システム、秘密計算サーバ、登録者端末、利用者端末及びプログラム

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
MASAYUKI FUKUMITSU ET AL.: "A Proposal of a Password Manager Satisfying Security and Usability by Using the Secret Sharing and a Personal Server", CSS2014 COMPUTER SECURITY SYMPOSIUM 2014 RONBUNSHU GODO KAISAI ANTI MALWARE ENGINEERING WORKSHOP (MWS) 2014 IPSJ SYMPOSIUM SERIES, vol. 2014, no. 2, 22 October 2014 (2014-10-22), pages 619 - 626, XP032903587 *

Cited By (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2564442B (en) * 2017-07-10 2022-03-02 Shayype Global Ltd Method of registering and authenticating a user of an online system
US11514153B2 (en) 2017-07-10 2022-11-29 Shayype Global Limited Method of registering and authenticating a user of an online system
WO2019012268A1 (en) * 2017-07-10 2019-01-17 Cloud-pin Limited METHOD FOR RECORDING AND AUTHENTICATING A USER OF AN ONLINE SYSTEM
CN111133719B (zh) * 2017-09-29 2024-01-26 罗伯特·博世有限公司 用于利用spdz的更快速的安全多方内积计算的方法
CN111133719A (zh) * 2017-09-29 2020-05-08 罗伯特·博世有限公司 用于利用spdz的更快速的安全多方内积计算的方法
WO2019115697A1 (en) * 2017-12-14 2019-06-20 Robert Bosch Gmbh Method for faster secure multiparty inner product with spdz
CN111512589B (zh) * 2017-12-14 2023-11-07 罗伯特·博世有限公司 用于利用spdz的快速安全多方内积的方法
CN111512589A (zh) * 2017-12-14 2020-08-07 罗伯特·博世有限公司 用于利用spdz的快速安全多方内积的方法
US11606203B2 (en) 2017-12-14 2023-03-14 Robert Bosch Gmbh Method for faster secure multiparty inner product with SPDZ
EP3782352A4 (en) * 2018-04-16 2021-08-18 Xage Security, Inc. DECENTRALIZED INFORMATION PROTECTION ENABLING CONFIDENTIALITY AND INVIOLABILITY ON A DISTRIBUTED DATABASE
WO2019204366A1 (en) 2018-04-16 2019-10-24 Xage Security, Inc. Decentralized information protection for confidentiality and tamper-proofing on distributed database
KR102146088B1 (ko) * 2018-09-13 2020-08-19 삼육대학교산학협력단 광학 문자 인식을 이용한 사용자 인증 시스템
KR20200030885A (ko) * 2018-09-13 2020-03-23 삼육대학교산학협력단 광학 문자 인식을 이용한 사용자 인증 시스템
JP7555349B2 (ja) 2019-03-25 2024-09-24 アイデンティーク プロトコル リミテッド ネットワーク上の複数のノード間でクエリの匿名検証を提供するシステムおよび方法
CN112769742A (zh) * 2019-11-06 2021-05-07 电科云(北京)科技有限公司 Spdz系列协议中的消息验证方法、装置及存储介质
KR20230046107A (ko) * 2021-09-29 2023-04-05 한국전자통신연구원 분산 아이디 기반 서비스에서의 위임 크리덴셜 발급 장치 및 방법
KR102569132B1 (ko) 2021-09-29 2023-08-24 한국전자통신연구원 분산 아이디 기반 서비스에서의 위임 크리덴셜 발급 장치 및 방법

Also Published As

Publication number Publication date
US11050745B2 (en) 2021-06-29
JP6753403B2 (ja) 2020-09-09
JPWO2017033442A1 (ja) 2018-07-05
US20180241747A1 (en) 2018-08-23

Similar Documents

Publication Publication Date Title
JP6753403B2 (ja) 情報処理装置、認証システム、認証方法、並びにコンピュータ・プログラム
JP6547079B1 (ja) 登録・認可方法、装置及びシステム
WO2021073170A1 (zh) 数据提供和融合的方法及装置
RU2718689C2 (ru) Управление конфиденциальной связью
US20170244687A1 (en) Techniques for confidential delivery of random data over a network
WO2022199290A1 (zh) 多方安全计算
JP7454564B2 (ja) 鍵管理のための方法、ユーザ・デバイス、管理デバイス、記憶媒体及びコンピュータ・プログラム製品
CN111130757A (zh) 一种基于区块链的多云cp-abe访问控制方法
US20110276490A1 (en) Security service level agreements with publicly verifiable proofs of compliance
US20080069341A1 (en) Methods and systems for strong encryption
TW202015378A (zh) 密碼運算、創建工作密鑰的方法、密碼服務平台及設備
JP6950745B2 (ja) 鍵交換装置、鍵交換システム、鍵交換方法、及び鍵交換プログラム
CN110557248B (zh) 基于无证书密码学的签密的密钥更新方法和系统
CN111294349B (zh) 用于物联网设备数据共享的方法及装置
CN110417547B (zh) 基于无证书密码学的保密通信的密钥更新方法和系统
CN110557367B (zh) 基于证书密码学的抗量子计算保密通信的密钥更新方法和系统
Bao et al. An auditable and secure model for permissioned blockchain
CN107104804A (zh) 一种平台完整性验证方法和装置
Hussien et al. Public auditing for secure data storage in cloud through a third party auditor using modern ciphertext
JP2014022920A (ja) 電子署名システム、電子署名方法および電子署名プログラム
Tiwari et al. A novel secure cloud storage architecture combining proof of retrievability and revocation
Reedy et al. A Secure Framework for Ensuring EHR's Integrity Using Fine-Grained Auditing and CP-ABE
Malarvizhi et al. Secure file sharing using cryptographic techniques in cloud
Akshay et al. Dynamic list based data integrity verification in cloud environment
Hahn et al. Verifiable outsourced decryption of encrypted data from heterogeneous trust networks

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 16838793

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2017536609

Country of ref document: JP

Kind code of ref document: A

WWE Wipo information: entry into national phase

Ref document number: 15753053

Country of ref document: US

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 16838793

Country of ref document: EP

Kind code of ref document: A1