WO2015025916A1 - マルチパーティセキュア認証システム、認証サーバ、中間サーバ、マルチパーティセキュア認証方法及びプログラム - Google Patents

マルチパーティセキュア認証システム、認証サーバ、中間サーバ、マルチパーティセキュア認証方法及びプログラム Download PDF

Info

Publication number
WO2015025916A1
WO2015025916A1 PCT/JP2014/071873 JP2014071873W WO2015025916A1 WO 2015025916 A1 WO2015025916 A1 WO 2015025916A1 JP 2014071873 W JP2014071873 W JP 2014071873W WO 2015025916 A1 WO2015025916 A1 WO 2015025916A1
Authority
WO
WIPO (PCT)
Prior art keywords
authentication server
value
server
verification
authentication
Prior art date
Application number
PCT/JP2014/071873
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 US14/910,808 priority Critical patent/US9992190B2/en
Priority to JP2015532894A priority patent/JP6040313B2/ja
Priority to CN201480045247.3A priority patent/CN105474575B/zh
Priority to EP14838104.9A priority patent/EP3021518B1/en
Publication of WO2015025916A1 publication Critical patent/WO2015025916A1/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/083Network architectures or network communication protocols for network security for authentication of entities using passwords
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09CCIPHERING OR DECIPHERING APPARATUS FOR CRYPTOGRAPHIC OR OTHER PURPOSES INVOLVING THE NEED FOR SECRECY
    • G09C1/00Apparatus or methods whereby a given sequence of signs, e.g. an intelligible text, is transformed into an unintelligible sequence of signs by transposing the signs or groups of signs or by replacing them by others according to a predetermined system
    • 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/3226Cryptographic 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 a predetermined code, e.g. password, passphrase or PIN
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/46Secure multiparty computation, e.g. millionaire problem

Definitions

  • This invention relates to a technique in which a plurality of servers simultaneously and securely authenticate users in network authentication.
  • Non-Patent Documents 1 to 3 As a technique for securely authenticating each server simultaneously when a user receives a service across a plurality of servers, the techniques described in Non-Patent Documents 1 to 3 are known (for example, Non-Patent Documents 1 to 3). reference.).
  • the technologies described in Non-Patent Documents 1 to 3 are authentication technologies in a secure storage service, in which a user sets a password and data is distributed and stored in a plurality of servers by a secure method called secret sharing. If the password entered at the time of authentication is correct, the user can restore the correct data, and if the password is incorrect, the restoration fails.
  • the conventional technology is based on the assumption that the user and the storage server are directly connected, and safety cannot be guaranteed when an intermediate server as a gateway exists like a Web server in a Web service or the like. There is also a problem that it cannot be applied to other than storage services.
  • An object of the present invention is to provide a multi-party secure authentication technique capable of guaranteeing safety even when an intermediate server exists.
  • a multi-party secure authentication method includes a password distribution step, a password distribution value encryption step, a password distribution value transfer step, a password distribution value decryption step, and an intermediate server verification.
  • Value generation step, intermediate server verification value encryption step, intermediate server verification value decryption step, intermediate server verification step, authentication server verification value generation step, authentication server verification value encryption step, authentication server verification value decryption step, and authentication server verification step including.
  • n 3, 2k-1 ⁇ n, k ⁇ m, m ⁇ n, and a 1 ,..., Am are m different integers of 1 to n.
  • (K, n) secret sharing is a secret sharing that can be restored if there are k or more of n shared values, and [r (W) ] 1 , ..., [r (W) ] n is restored
  • the user device distributes the input password w ′ into n distributed values [w ′] 1 ,..., [W ′] n .
  • the ciphertext Enc US_i ([w '] i ) is obtained.
  • the authentication server decrypts the ciphertext Enc US_i ([w '] i ) received from the intermediate server using the common key between the user terminal and the authentication server, and distributes the value [w '] get i .
  • ⁇ a_i (W) (i ⁇ 1, ..., m) is a constant that satisfies the following equation:
  • ⁇ ⁇ a_i (W) (i ⁇ 1,..., m) is a constant that satisfies
  • ⁇ a_i (j) (i ⁇ 1, ..., m) is a constant that satisfies
  • ⁇ ⁇ a_i (j) (i ⁇ 1,..., m) is a constant that satisfies
  • Authentication server obtains the following equation verification value q a_i (W).
  • the authentication server uses the common key between the intermediate server and the authentication server to encrypt a ciphertext Enc WS_a_i (q a_i (W) ) obtained by encrypting the verification value q a_i (W). obtain.
  • WS_a_i (q a_i (W) ) is decoded to obtain a verification value q a_i (W) .
  • the intermediate server verification step the intermediate server verifies whether the sum of the verification values q a — 1 (W) ,..., Q a — m (W) is equal to zero.
  • the encrypted ciphertext Enc S_a_iS_a_j (q a_i (a_j) ) is obtained.
  • the authentication server verifies whether or not the sum of verification values q a — 1 (a_i) ,..., Q a — m (a_i) is equal to zero.
  • the multi-party secure authentication method includes a password distribution step, a password distribution value encryption step, a password distribution value transfer step, a first password distribution value decryption step, a second password distribution value decryption step, a first Authentication server verification value generation step, second authentication server verification value generation step, first authentication server verification value encryption step, second authentication server verification value encryption step, first authentication server verification value decryption step, second authentication server verification A value decoding step, a first authentication server verification step, and a second authentication server verification step are included.
  • secret sharing is a secret sharing that can be restored if there are k or more of n sharing values
  • ⁇ ⁇ a_i (j) (i ⁇ 1, ..., m) is a constant that satisfies the following equation.
  • the user device distributes the input password w ′ into n distributed values [w ′] 1 ,..., [W ′] n .
  • phased ciphertext Enc US_i ([w '] i ) give, using the common key between the user device and the intermediate authentication server, variance [w'] encrypt n ciphertext Enc US_n ([w ' ] get n ).
  • the authentication server decrypts and distributes the ciphertext Enc US_i ([w '] i ) received from the intermediate authentication server using a common key between the user terminal and the authentication server. Get the value [w '] i .
  • the intermediate authentication server decrypts the ciphertext Enc US_n ([w ′] n ) using the common key between the user terminal and the intermediate authentication server, and the distributed value [w ′ ] get n .
  • a ciphertext Enc S_a_iS_a_j (q a_i (a_j) ) obtained by encrypting the verification value q a_i (a_j ) is obtained.
  • the intermediate authentication server uses a common key between the a jth authentication server and the intermediate authentication server to verify the verification value q a_m
  • a ciphertext Enc S_a_mS_a_j (q a_m (a_j) ) obtained by encrypting (a_j ) is obtained.
  • the authentication server uses a common key between the a j- th authentication server and the a m- th intermediate authentication server and the authentication server to The ciphertext Enc S_a_iS_a_j (q a_j (a_i) ) received from the j- th authentication server is decrypted to obtain a verification value q a_j (a_i) .
  • the ciphertext Enc S_a_mS_a_j (q a_j (a_m) ) received from the server is decrypted to obtain a verification value q a_j (a_m) .
  • the authentication server verifies whether or not the sum of the verification values q a — 1 (a_i) ,..., Q a — m (a_i) is equal to zero.
  • the intermediate authentication server verifies whether the sum of the verification values q a — 1 (a_m) ,..., Q a — m (a_m) is equal to 0 or not.
  • a plurality of servers can simultaneously securely authenticate users.
  • FIG. 1 is a diagram illustrating a functional configuration of a multi-party secure authentication system according to the first embodiment.
  • FIG. 2 is a diagram illustrating a functional configuration of the user terminal according to the first embodiment.
  • FIG. 3 is a diagram illustrating a functional configuration of the intermediate server according to the first embodiment.
  • FIG. 4 is a diagram illustrating a functional configuration of the authentication server according to the first embodiment.
  • FIG. 5 is a diagram illustrating a process flow of the password registration phase of the multi-party secure authentication method according to the first embodiment.
  • FIG. 6 is a diagram illustrating a processing flow of the random number generation phase of the multi-party secure authentication method according to the first embodiment.
  • FIG. 7 is a diagram illustrating a processing flow of the authentication phase of the multi-party secure authentication method according to the first embodiment.
  • FIG. 8 is a diagram illustrating a processing flow in an authentication phase of the multi-party secure authentication method according to the first embodiment.
  • FIG. 9 is a diagram illustrating a processing flow of the authentication phase of the multi-party secure authentication method according to the first embodiment.
  • FIG. 10 is a diagram illustrating a functional configuration of the multi-party secure authentication system according to the second embodiment.
  • FIG. 11 is a diagram illustrating a functional configuration of a user terminal according to the second embodiment.
  • FIG. 12 is a diagram illustrating a functional configuration of the intermediate server according to the second embodiment.
  • FIG. 13 is a diagram illustrating a functional configuration of the authentication server according to the second embodiment.
  • FIG. 14 is a diagram illustrating a processing flow of a random number generation phase of the multi-party secure authentication method according to the second embodiment.
  • FIG. 15 is a diagram illustrating a processing flow of the authentication phase of the multi-party secure authentication method according to the second embodiment.
  • FIG. 16 is a diagram illustrating a functional configuration of a multi-party secure authentication system according to the third embodiment.
  • FIG. 17 is a diagram illustrating a functional configuration of a user terminal according to the third embodiment.
  • FIG. 18 is a diagram illustrating a functional configuration of the intermediate server according to the third embodiment.
  • FIG. 19 is a diagram illustrating a functional configuration of the authentication server according to the third embodiment.
  • FIG. 19 is a diagram illustrating a functional configuration of the authentication server according to the third embodiment.
  • FIG. 20 is a diagram illustrating a processing flow of a random number generation phase of the multi-party secure authentication method according to the third embodiment.
  • FIG. 21 is a diagram illustrating a processing flow of a random number generation phase of the multi-party secure authentication method according to the second embodiment.
  • (superscript right arrow) represents a vector.
  • -[] (Square brackets) represents the variance of the data in parentheses. For example, [w] is a variance value of w.
  • Enc AB (X) represents a ciphertext obtained by encrypting the data X with the common key between the node A and the node B.
  • Characters throughout are a user terminal 1, an intermediate server 2, and n authentication servers 3 1 ,..., 3 n .
  • n is an integer of 3 or more.
  • the fact that the password of the user terminal 1 using the system is w is registered in the authentication server group 3 1 ,..., 3 n .
  • Some random numbers used together with the authentication are also generated by the user and sent to the authentication servers 3 1 ,..., 3 n .
  • the distributed value to be transmitted is encrypted with a common key with each authentication server 3 1 ,..., 3 n so that the intermediate server 2 in the middle does not impersonate the user terminal 1 by misusing these information. deep.
  • the password itself also uses secret sharing, and only the password sharing value is stored in each authentication server 3 1 ,..., 3 n . Therefore, each authentication server 3 1 ,..., 3 n does not know the password itself.
  • the difference of 0 is derived by collaborative calculation.
  • Each participant is responsible for authentication so that the authority of authentication is not biased to any of the participants constituting the system (specifically, the intermediate server 2 and the authentication servers 3 1 ,..., 3 n ). Perform the calculation.
  • the collaborative calculation is performed in combination with a random number so that the password w registered by the collaborative calculation and the input password w ′ are not known to each participant. Also, the random number is updated at the end of the authentication procedure so that the random number used at this time is not reused in the next authentication.
  • the replay attack is an attack in which the ciphertext that has been successfully authenticated is reused, and the intermediate server 2 impersonates the user device 1 and succeeds in authentication.
  • secret sharing technology In the present invention, a secret sharing technique is used as a component.
  • the secret sharing technique used in the present invention uses (k, n) secret sharing such that 2k-1 ⁇ n.
  • (k, n) Secret sharing is a technology that divides certain data into n pieces, and even if k-1 pieces are collected, nothing is known about the original data, but if more than k pieces are collected, the original data can be restored. is there.
  • the secret sharing technology is composed of the Share algorithm and the Reconst algorithm described below.
  • the Share algorithm is an algorithm that divides data.
  • the divided data is called a share or a variance value.
  • the Share algorithm takes the secret s as input and divides it into n pieces for output. This procedure is described as follows:
  • the Reconst algorithm is an algorithm for restoring data.
  • the Reconst algorithm takes m (k ⁇ m ⁇ n) shares as input and outputs the original secret s.
  • a 1 ,..., a m are m integers different from 1 to n.
  • the multi-party secure authentication system includes a user device 1, an intermediate server 2, and n authentication servers 3 1 ,..., 3 n .
  • the user device 1 includes a control unit 101, a memory 102, a common key storage unit 11, a password distribution unit 12, and a password distribution value encryption unit 13.
  • the user device 1 is, for example, a special configuration in which a special program is read into a known or dedicated computer having a central processing unit (Central Processing Unit, CPU), a main storage device (Random Access Memory, RAM), and the like. Device.
  • the user apparatus 1 executes each process under the control of the control unit 101.
  • the data input to the user device 1 and the data obtained in each process are stored in the memory 102, for example, and the data stored in the memory 102 is read out as needed and used for other processes. .
  • Each storage unit included in the user device 1 includes, for example, a main storage device such as a RAM (Random Access Memory), an auxiliary storage device configured by a semiconductor memory element such as a hard disk, an optical disk, or a flash memory (Flash Memory), or It can be configured with middleware such as a relational database or key-value store.
  • a main storage device such as a RAM (Random Access Memory)
  • auxiliary storage device configured by a semiconductor memory element such as a hard disk, an optical disk, or a flash memory (Flash Memory)
  • middleware such as a relational database or key-value store.
  • the intermediate server 2 includes a control unit 201, a memory 202, a common key storage unit 21, a password distribution value transfer unit 22, an intermediate server verification value decryption unit 23, and an intermediate server verification unit 24.
  • the intermediate server 2 has a special configuration in which a special program is read into a known or dedicated computer having a central processing unit (Central processing unit, CPU), a main storage device (Random access memory, RAM), and the like. Device.
  • the intermediate server 2 executes each process under the control of the control unit 201.
  • Each storage unit included in the intermediate server 2 is, for example, a main storage device such as a RAM (Random Access Memory), an auxiliary storage device configured by a semiconductor memory element such as a hard disk, an optical disk, or a flash memory (Flash Memory), or a relational device. It can be configured with middleware such as a database or key-value store.
  • a main storage device such as a RAM (Random Access Memory), an auxiliary storage device configured by a semiconductor memory element such as a hard disk, an optical disk, or a flash memory (Flash Memory), or a relational device. It can be configured with middleware such as a database or key-value store.
  • the authentication server 3 includes a control unit 301, a memory 302, a random number distribution value generation unit 31, a zero distribution value generation unit 32, a password distribution value decryption unit 33, an intermediate server verification value generation unit 34, an intermediate server verification value encryption unit 35, An authentication server verification value generation unit 36, an authentication server verification value encryption unit 37, an authentication server verification value decryption unit 38, an authentication server verification unit 39, a common key storage unit 41, and a distributed value storage unit 42 are included.
  • the authentication server 3 is, for example, a special program configured by reading a special program into a known or dedicated computer having a central processing unit (Central processing unit, CPU), a main storage device (Random access memory, RAM), and the like. Device.
  • the authentication server 3 executes each process under the control of the control unit 301.
  • the data input to the authentication server 3 and the data obtained in each process are stored in the memory 302, for example, and the data stored in the memory 302 is read out as necessary and used for other processes.
  • Each storage unit included in the authentication server 3 is, for example, a main storage device such as a RAM (Random Access Memory), an auxiliary storage device configured by a semiconductor memory element such as a hard disk, an optical disk, or a flash memory (Flash Memory), or a relational device. It can be configured with middleware such as a database or key-value store.
  • a main storage device such as a RAM (Random Access Memory), an auxiliary storage device configured by a semiconductor memory element such as a hard disk, an optical disk, or a flash memory (Flash Memory), or a relational device. It can be configured with middleware such as a database or key-value store.
  • middleware such as a database or key-value store.
  • FIGS. 5 to 10 an example of the processing flow of the multi-party secure authentication method will be described according to the order of procedures actually performed.
  • the common key storage unit 11 of the user terminal 1 stores a common key with each device with which the user terminal 1 performs encrypted communication. Specifically, it is a common key for the user terminal 1 and each authentication server 3 1 ,..., 3 n , and a total of n common keys are stored.
  • the common key storage unit 21 of the intermediate server 2 stores a common key with each device with which the intermediate server 2 performs encrypted communication. Specifically, it is a common key for the intermediate server 2 and each of the authentication servers 3 1 ,..., 3 n , and a total of n common keys are stored.
  • the common key cryptosystem used in the present invention may be any existing common key cryptosystem, and may be selected in consideration of the safety and processing speed required in the information system to which the present invention is applied.
  • the common key stored in each device is a common key generated according to the selected common key encryption method, and may be shared by a key exchange method allowed by the common key encryption method.
  • the password registration phase is executed when a new user is registered or when a password of a registered user is changed.
  • step S101 the password distribution unit 12 of the user terminal 1 distributes the password w into n distributed values [w] 1 ,..., [W] n .
  • the password w is an arbitrary password entered by operating the user terminal 1 by the user U. That is, the password distribution unit 12 calculates the following formula (3).
  • step S103 the password distributed value encryption unit 13 of the user terminal 1 uses the n ciphertexts Enc US_1 ([w] 1 ),..., Enc US_n ([w] n ) obtained in step S102 as intermediate servers. 2 to send.
  • step S201 the password distribution value transfer unit 22 of the intermediate server 2 receives n ciphertexts Enc US_1 ([w] 1 ),..., Enc US_n ([w] n ) received from the user terminal 1.
  • I 1,..., N
  • the ciphertext Enc US_i ([w] i ) is transmitted to the authentication server 3 i .
  • step S301 the password distribution value decryption unit 33 of the authentication server 3 i receives the ciphertext Enc US_i ([w] i ) transferred from the intermediate server 2.
  • step S302 the authentication server 3 i password variance value decoding unit 33 of by using the common key of the user terminal 1 and the authentication server 3 i, the ciphertext received from the intermediate server 2 Enc US_i ([w] i ) To obtain the variance value [w] i .
  • the variance value [w] i is stored in the variance value storage unit 42.
  • Random number generation phase With reference to FIG. 6, the process of the random number generation phase of the multi-party secure authentication method will be described.
  • the random number generation phase needs to be executed at least before the user who has registered the password authenticates.
  • step S311 the authentication server 3 i random variance value generator 31 of the random number r 1 Restoring, ..., d pieces of variance which is a r d [r 1] i, ..., to produce a [r d] i .
  • the generated variance values [r 1 ] i ,..., [R d ] i are stored in the variance value storage unit 42.
  • d ⁇ 1.
  • step S312 the zero variance value generation unit 32 of the authentication server 3 i generates d variance values [0 1 ] i ,..., [0 d ] i that become 0 when restored.
  • the generated variance values [0 1 ] i ,..., [0 d ] i are stored in the variance value storage unit 42.
  • step S311 to step S312 may be executed in parallel with the processing from step S101 to step S302, or may be performed in advance independently.
  • the authentication phase is executed when a user who has registered a password requests authentication.
  • the authentication phase process need not be performed by all the n authentication servers 3 1 ,..., 3 n , and may be performed only by arbitrarily selected m servers.
  • a 1, ..., a 1 to n phases m different integers a m, m stand authentication server 3 a_1, ..., 3 a_m is assumed to perform the processing of the authentication phase.
  • the authentication server 3 a_i includes the distributed values [r 1 ] a_i ,..., [R d ] a_i stored in the distributed value storage unit 42 to [r (W) ] a_i , [r (1) ] a_i,. [r (m) ] Select a_i .
  • the authentication server 3 a_i uses the distributed values [0 1 ] a_i ,..., [0 d ] a_i stored in the distributed value storage unit 42 to [0 (W) ] a_i, [0 (1) ] a_i , ..., [0 (m) ] Select a_i .
  • step S121 shown in FIG. 7 the user U who has registered the password w operates the user terminal 1 and inputs the password w 'for requesting authentication.
  • step S122 the password distribution unit 12 of the user terminal 1 distributes the password w ′ into n distributed values [w ′] 1 ,..., [W ′] n . That is, the password distribution unit 12 performs the following calculation.
  • a ciphertext Enc US_a_i ([w '] a_i ) encrypted using the common key is obtained.
  • step S124 the password distributed value encryption unit 13 of the user terminal 1 uses the n ciphertexts Enc US_1 ([w ′] 1 ),..., Enc US_n ([w ′] n ) obtained in step S123. Transmit to the intermediate server 2.
  • step S321 the password distribution value decryption unit 33 of the authentication server 3 a_i receives the ciphertext Enc US_a_i ([w ′] a_i ) transferred from the intermediate server 2.
  • step S322 the password distribution value decryption unit 33 of the authentication server 3 a_i uses the ciphertext Enc US_a_i ([w ′] a_i ) received from the intermediate server 2 using the common key of the user terminal 1 and the authentication server 3 a_i. To obtain the variance [w ′] a_i .
  • step S331 shown in FIG. 8 the intermediate server verification value generation unit 34 of the authentication server 3 a_i stores the distributed values [w] a_i , [r (W) ] a_i , [0 ( W)] a_i and output variance of the password variance value decoding unit 33 by using the [w '] a_i, obtains the verification value q a_i (W) by the following equation (5).
  • ⁇ a — i (W) is a known constant that satisfies Equation (6)
  • ⁇ ⁇ a — i (W) is a known constant that satisfies Equation (7).
  • step S332 the authentication server 3 a_i intermediate server verification value encryption section 35 of the by using the common key between the intermediate server 2 and the authentication server 3 a_i, verification value q a_i (W) ciphertext Enc WS_a_i encrypted (q a_i (W) ) is obtained.
  • step S333 the authentication server 3 a_i intermediate server verification value encryption unit 35 of the transmitting ciphertext Enc WS_a_i obtained in step S332 the (q a_i (W)) to the intermediate server 2.
  • step S231 the intermediate server verification value decoding unit 23 of the intermediate server 2, m stand authentication server 3 a_1, ..., 3 m pieces of encrypted text received from a_m Enc WS_a_1 (q a_1 (W )), ..., Enc WS_a_m (q a_m (W) ) is received.
  • the intermediate server verification value decoding unit 23 outputs m verification values q a — 1 (W) ,..., Q a — m (W) to the intermediate server verification unit 24.
  • step S233 the intermediate server verification unit 24 of the intermediate server 2 verifies whether the sum of the verification values q a — 1 (W) ,..., Q a — m (W) is equal to zero. Specifically, the intermediate server verification unit 24 checks whether or not the equation (8) is satisfied.
  • the intermediate server verification unit 24 notifies the user device 1 of the authentication success when the equation (8) is satisfied, and notifies the user device 1 of the authentication failure when the equation (8) is not satisfied.
  • lambda a_i (j) is a known constant that satisfies the equation (10)
  • ⁇ ⁇ a_i ( j) is a known constant that satisfies the equation (11).
  • a j-th authentication server 3 of a_j and a i-th authentication server 3 a_i The ciphertext Enc S_a_iS_a_j (q a_i (a_j) ) obtained by encrypting the verification value q a_i (a_j) is obtained using the common key.
  • the authentication server verification value encryption unit 37 m-1 pieces of ciphertext Enc S_a_iS_a_1 (q a_i (a_1) ), ..., Enc S_a_iS_a_m (q a_i (a_m)) ( provided that, Enc S_a_iS_a_i (q a_i ( a_i) except)).
  • S_a_1S_a_i q a_1 (a_i) ), ..., Enc S_a_mS_a_i (q a_m (a_i) ) (however, except for Enc S_a_iS_a_i (q a_i (a_i) )) is received.
  • the ciphertext Enc S_a_jS_a_i (q a_j (a_i) ) is decrypted using the common key to obtain the verification value q a_i (a_j) .
  • the authentication server verification value decryption unit 38 combines m verification values q a_1 (a_i) ,..., Q a_m together with the verification values q a_i (a_i) generated by the authentication server verification value generation unit 36 in step S341i. (a_i) is output to the authentication server verification unit 39.
  • step S345i the authentication server verification unit 39 of the authentication server 3 a_i verifies whether or not the sum of the verification values q a_1 (a_i) ,..., Q a_m (a_i) is equal to zero. Specifically, the authentication server verification unit 39 checks whether or not the equation (12) is satisfied.
  • the authentication server verification unit 39 notifies the user device 1 of the success of authentication when the equation (12) holds, and notifies the user device 1 of the authentication failure when the equation (12) does not hold.
  • Random number update phase is a process of updating the random number so that the random number is not reused in the next authentication.
  • the random number update phase if there is an unused random number generated by the process of the previous random number generation phase, the random number is set to be used in the next authentication phase process. If there is no unused random number, a new random number is generated in the same manner as the processing contents of the random number generation phase.
  • the random number update phase process may be performed in parallel with the authentication phase process. That is, it is only necessary to check whether there are enough unused random numbers when random numbers are used in the authentication phase.
  • the ciphertext exchanged between the user terminal and the authentication server is known to intermediate servers such as Web servers that exist between the user terminal used by the user and each authentication server. . If the intermediate server succeeds in the authentication, there is a risk that the authentication may succeed by impersonating the user by misusing the ciphertext of the password or random number distributed value used in the authentication procedure.
  • the multi-party secure authentication system of the second embodiment is an improved method for preventing a replay attack by an intermediate server that misuses a transmitted ciphertext.
  • Multi-party secure authentication system user device 4, the intermediate server 5 and n stand authentication server 61, ..., contains a 6 n.
  • the user device 4 includes a control unit 101, a memory 102, a common key storage unit 11, and a password distribution unit 12.
  • the user device 4 according to the second embodiment further includes a password distributed value encryption unit 14 and a random number reception unit 15.
  • the password distributed value encryption unit 14 is different in processing from the password distributed value encryption unit 13 according to the first embodiment.
  • the intermediate server 5 includes a control unit 201, a memory 202, a common key storage unit 21, an intermediate server verification value decryption unit 23, and an intermediate server verification unit 24.
  • the intermediate server 5 according to the second embodiment further includes a password distributed value transfer unit 25 and a random number transfer unit 26.
  • the password distribution value transfer unit 25 is different in processing from the password distribution value transfer unit 22 according to the first embodiment.
  • the authentication server 6 includes a control unit 301, a memory 302, a random number distribution value generation unit 31, a zero distribution value generation unit 32, an intermediate server verification value generation unit 34, and an intermediate server verification.
  • a value encryption unit 35, an authentication server verification value generation unit 36, an authentication server verification value encryption unit 37, an authentication server verification value decryption unit 38, an authentication server verification unit 39, a common key storage unit 41, and a distributed value storage unit 42 are included. .
  • the authentication server 6 further includes a password distributed value decryption unit 43, a random number generation unit 44, a random number encryption unit 45, and a random number verification unit 46.
  • the password distribution value decryption unit 43 is different in processing from the password distribution value decryption unit 33 according to the first embodiment.
  • FIGS. 14 and 15 an example of the processing flow of the multi-party secure authentication method according to the second embodiment will be described according to the order of procedures actually performed.
  • This random number needs to be performed in advance before executing the authentication phase. Since this process is a relatively light process, the process may be performed immediately before the authentication phase is executed. This process does not have to be performed by all n authentication servers 6 1 ,..., 6 n , and only m m selected arbitrarily may be performed. In the following description, a 1, ..., a a m as 1 to n distinct m integers, m stand authentication server 6 a_1, ..., 6 a_m is assumed to perform the processing.
  • step S351 the random number generation unit 44 of the authentication server 6 a_i generates a random number t a_i .
  • step S352 the random number encryption unit 45 of the authentication server 6 a_i encrypts the random number t a_i using the common key between the user device 1 and the a i th authentication server 3 a_i. Enc US_a_i (t a_i ) is obtained.
  • step S353 the authentication server 6 a_i random number encryption unit 45 transmits the ciphertext Enc US_a_i a (t a_i) to the intermediate server 5.
  • the distributed value ta_i is stored in any storage unit such as the memory 102 or the common key storage unit 11.
  • ciphertext was encrypted using a common key with 6 a_i Enc US_a_i (t a_i, [w '] a_i) obtained.
  • step S323 whether the authentication server 3 a_i random number verifying unit 46, ciphertext Enc US_a_i (t a_i, [w '] a_i) a random number t a_i obtained by decoding the same random number t a_i generated in step S351 Confirm whether or not.
  • the random number verification unit 46 notifies the user device 4 of an authentication failure when the random number t a_i obtained by decryption is not equal to the random number t a_i generated in step S351. In other cases, the processing after step S331 in the authentication phase is continued.
  • each authentication server executes a random number generation phase process.
  • the user terminal executes a random number generation phase process.
  • Multi-party secure authentication system user device 7, the intermediate server 8 and n stand authentication server 9 1, ..., including 9 n.
  • the user device 7 includes a control unit 101, a memory 102, a common key storage unit 11, a password distribution unit 12, and a password distribution value encryption unit 13.
  • the user device 7 according to the third embodiment further includes a random number distribution value generation unit 16, a random number distribution value encryption unit 17, a zero distribution value generation unit 18, and a zero distribution value encryption unit 19.
  • the intermediate server 8 includes a control unit 201, a memory 202, a common key storage unit 21, a password distribution value transfer unit 22, an intermediate server verification value decryption unit 23, and an intermediate server verification unit. 24.
  • the intermediate server 8 according to the third embodiment further includes a random number distributed value transfer unit 27 and a zero distributed value transfer unit 28.
  • the authentication server 9 includes a control unit 301, a memory 302, an intermediate server verification value generation unit 34, an intermediate server verification value encryption unit 35, an authentication server verification value generation unit 36, An authentication server verification value encryption unit 37, an authentication server verification value decryption unit 38, an authentication server verification unit 39, a common key storage unit 41, and a distributed value storage unit 42 are included.
  • the authentication server 9 according to the third embodiment further includes a random number distributed value decoding unit 47 and a zero distributed value decoding unit 48.
  • FIGS. 20 and 21 an example of the processing flow of the multi-party secure authentication method according to the third embodiment will be described in the order of procedures actually performed.
  • Random number generation phase Processing of the random number generation phase according to the third embodiment will be described with reference to FIGS.
  • step S111 shown in FIG. 20 the random number distribution value generation unit 16 of the user terminal 7 generates n + 1 random numbers r (W) , r (1) ,..., R (n) .
  • step S112 the random number distribution value generation unit 16 of the user terminal 7 converts each random number r (W) , r (1) ,..., R (n) into n distribution values [r (W) ] 1 , ..., [R (W) ] n , [r (1) ] 1 ,..., [r (1) ] n ,..., [r (n) ] 1 ,..., [r (n) ] n . That is, the random number distribution value generation unit 16 calculates the following equations (13) and (14).
  • step S114 the random number distributed value encryption unit 17 of the user terminal 7 generates the n ciphertexts Enc US_1 ([r (W) ] 1 , [r (1) ] 1 ,. r (n) ] 1 ),..., Enc US_n ([r (W) ] n , [r (1) ] n ,..., [r (n) ] n ) are transmitted to the intermediate server 8.
  • step S313 the random number distributed value decryption unit 47 of the authentication server 9 i transmits the ciphertext Enc US_i ([r (W) ] i , [r (1) ] i ,..., [R ( n) ] i ) is received.
  • step S314 the authentication server 9 i of the random number variance decoding unit 47 by using the common key of the user terminal 7 and the authentication server 9 i, the ciphertext received from the intermediate server 8 Enc US_i ([r (W ) ] i , [r (1) ] i , ..., [r (n) ] i ) and n + 1 variance values [r (W) ] i , [r (1) ] i , ..., [r (n) ] i is obtained.
  • the variance values [r (W) ] i , [r (1) ] i ,..., [R (n) ] i are stored in the variance value storage unit 42.
  • step S115 shown in FIG. 21 the zero dispersion value generator 18 of the user terminal 7, restoring becomes 0 m + 1 set of variance [0 (W)] 1, ..., [0 (W)] n , [0 (1) ] 1 , ..., [0 (1) ] n , ..., [0 (m) ] 1 , ..., [0 (m) ] n .
  • step S117 the zero distributed value encryption unit 19 of the user terminal 7 generates n ciphertexts Enc US_1 ([0 (W) ] 1 , [0 (1) ] 1 ,. 0 (m) ] 1 ),..., Enc US_n ([0 (W) ] n , [0 (1) ] n ,..., [0 (m) ] n ) are transmitted to the intermediate server 8.
  • step S315 the zero distributed value decryption unit 48 of the authentication server 9 i transmits the ciphertext Enc US_i ([0 (W) ] i , [0 (1) ] i ,..., [0 ( m) ] i ) is received.
  • step S316 the zero dispersion value decoding unit 48 of the authentication server 9 i by using the common key of the user terminal 7 and the authentication server 9 i, the ciphertext received from the intermediate server 8 Enc US_i ([0 (W ) ] i , [0 (1) ] i , ..., [0 (m) ] i ) and m + 1 variance values [0 (W) ] i , [0 (1) ] i , ..., [0 (m) ] i is obtained.
  • the variance values [0 (W) ] i , [0 (1) ] i ,..., [0 (m) ] i are stored in the variance value storage unit 42.
  • step S111 to step S316 may be executed in parallel with the processing from step S101 to step S302, or may be performed in advance independently, as in the multi-party secure authentication method of the first embodiment. I do not care.
  • the multi-party secure authentication system of the fourth embodiment differs from the above-described embodiment only in the random number generation phase processing.
  • the configuration method of the fourth embodiment can be applied to the multi-party secure authentication system of the first to third embodiments.
  • n stand authentication server 3 1, ..., ⁇ b 1, ... , b B ⁇ the set of arbitrary n? K + 1 single combination of 3 n and.
  • B is defined by the following equation.
  • C is defined by the following formula.
  • D is defined by the following equation.
  • step S311 shown in FIG. 6 the random number variance value generator 31 of the authentication server 3 i are random or pseudo-random number u (W) 1, ..., generates u (W) B, the i ⁇ b j ⁇ u ( W) b_j ⁇ is given, and this is set to a variance value [r (W) ] i .
  • Random number u (W) 1, ..., u (W) B each authentication server 3 1 generates the user terminal 1, ..., or may be transmitted to 3 n, the authentication server 3 1, ..., 3 n may be generated mutually and sent to each other, or may be generated from a seed of pseudorandom numbers held in advance by the authentication servers 3 1 ,..., 3 n .
  • the authentication server 3 i random variance generator 31 of, j 1, ..., for n, a random number or pseudo-random number u (j) 1, ..., generates a u (j) B, j ⁇ b h Let ⁇ u (j) b_h ⁇ be given and be the variance [r (j) ] i .
  • Random number u (j) 1, ..., u (j) B is the authentication server 3 1 generates the user terminal 1, ..., or may be transmitted to 3 n, the authentication server 3 1, ..., 3 n may be generated mutually and sent to each other, or may be generated from a seed of pseudorandom numbers held in advance by the authentication servers 3 1 ,..., 3 n .
  • the generated variance values [r (W) ] i , [r (1) ] i ,..., [R (n) ] i are stored in the variance value storage unit 42.
  • step S312 shown in FIG. 6 the authentication server 3 i zero dispersion value generator 32 of the random number or pseudo-random number u (W) 1, ..., generates u (W) C, the i ⁇ c j ⁇ u ( W) c_j ⁇ is given, and the variance [0 (W) ] i is calculated by the following equation (15).
  • ⁇ c_1 ,..., ⁇ c_D are known constants.
  • the authentication server 3 i random variance generator 31 of, j 1, ..., the m, a random number or pseudo-random number u (j) 1, ..., generates a u (j) C, i ⁇ c h Is given ⁇ u (j) c_h ⁇ , and the variance [0 (j) ] i is calculated by the following equation (16).
  • the generated variance values [0 (W) ] i , [0 (1) ] i ,..., [0 (m) ] i are stored in the variance value storage unit 42.
  • the multi-party secure authentication system of the fifth embodiment is different from the above-described embodiment only in the process of the random number generation phase.
  • the configuration method of the fourth embodiment can be applied to the multi-party secure authentication system of the first to third embodiments.
  • Random number generation phase Processing in the random number generation phase according to the fifth embodiment will be described.
  • the process of step S311 is the same as that of the fourth embodiment, and only the process of step S312 is different from the fourth embodiment.
  • step S312 the zero variance value generation unit 32 of the authentication server 3 i generates random numbers or pseudo-random numbers u (W) 1 ,..., U (W) C, and ⁇ u (W) c_j ⁇ for i ⁇ c j .
  • the variance [0 (W) ] i is calculated by the following equation (17).
  • the authentication server 3 i random variance generator 31 of, j 1, ..., the m, a random number or pseudo-random number u (j) 1, ..., generates a u (j) C, i ⁇ c h Is given ⁇ u (j) c_h ⁇ , and the variance [0 (j) ] i is calculated by the following equation (18).
  • the multi-party secure authentication system of the sixth embodiment differs from the above-described embodiment only in the random number generation phase processing.
  • the configuration method of the fourth embodiment can be applied to the multi-party secure authentication system of the first to third embodiments.
  • Random number generation phase Processing in the random number generation phase according to the fifth embodiment will be described.
  • the process of step S312 is the same as that of the fourth embodiment, and only the process of step S311 is different from the fourth embodiment.
  • step S311 the random number distribution value generation unit 31 of the authentication server 3 i generates random numbers or pseudo-random numbers u (W) 1 ,..., U (W) B, and ⁇ u (W) b_j ⁇ for i ⁇ b j And the variance [r (W) ] i is calculated by the following equation (19).
  • This method is described in “Ronald Cramer, Ivan Damgard, and Yuval Ishai,“ Share conversion, pseudorandom secret-sharing and applications to secure computation ”, TCC, Vol. 3378 of Lecture Notes in Computer Science, pp. 342-362, 2005. (Reference 1) ”is described in detail.
  • the authentication server 3 i random variance generator 31 of, j 1, ..., the m, a random number or pseudo-random number u (j) 1, ..., generates a u (j) B, i ⁇ b h Is given ⁇ u (j) b_h ⁇ , and the variance [r (j) ] i is calculated by the following equation (20).
  • the multi-party secure authentication system of the seventh embodiment differs from the above-described embodiment only in the random number generation phase processing.
  • the configuration method of the seventh embodiment can be applied to the multi-party secure authentication system of the first to third embodiments.
  • the processing content of the random number generation phase of the seventh embodiment is the same as the processing content of step S311 as in the sixth embodiment, and the processing content of step S312 is the same as in the fifth embodiment.
  • the processing content of step S312 is the same as in the fifth embodiment.
  • the multi-party secure authentication system of the eighth embodiment differs from the above-described embodiment only in the random number generation phase processing.
  • the configuration method of the eighth embodiment can be applied to the multi-party secure authentication system of the first to third embodiments.
  • Random number generation phase Processing in the random number generation phase according to the eighth embodiment will be described.
  • a 1 ,..., A q are q integers different from 1 to n.
  • step S311 shown in FIG. 6, the random number variance value generator 31 of the authentication server 3 a_i generates a random number u i, the random number u i (k, n) n pieces of variance using the secret sharing [u i ] 1 ,..., [u i ] Distribute to n .
  • the encrypted ciphertext Enc S_a_iS_a_j ([u i ] a_j ) is obtained.
  • a vandermonde matrix or a Hyper-Invertible matrix can be used as the matrix A.
  • a vandermonde matrix or a Hyper-Invertible matrix can be used as the matrix A.
  • Hyper-Invertible matrices see Zuzana Beerliova-Trubiniova and Martin Hirt, “Perfectly-secure mpc with linear communi-cation complexity”, TCC, Vol. 4948 of Lecture Notes in Computer Science, pp. 213-230,2008 Please refer to.
  • the random number distribution value generation unit 31 of the authentication server 3 a_i converts each element of the vector ⁇ u ′ into [r (W) ] a_i , [r (1) ] a_i ,..., [R (m) ] a_i It is considered.
  • the step S311 from the first to produce an additional vector ⁇ u ', repeated until obtain a the m + 1 elements.
  • store them for use in the next authentication when there are many, store them for use in the next authentication.
  • step S312 shown in FIG. 6 the zero dispersion value generator 32 of the authentication server 3 a_i generates a random number u i, the random number u i (m-1, n ) n pieces of variance using the secret sharing [ u i ] 1 , ..., [u i ] are distributed over n .
  • the encrypted ciphertext Enc S_a_iS_a_j ([u i ] a_j ) is obtained.
  • Random variance generator 31, j 1, ..., the q, and transmits the ciphertext Enc S_a_iS_a_j ([u i] a_j ) to the authentication server 3 a_j.
  • random variance value generator 31 of the authentication server 3 a_i is a vector ⁇ u 'respectively a value obtained by multiplying the a i to each element of [0 (W)] a_i, [0 (1)] a_i, ..., [0 (m) ]
  • a_i a vector ⁇ u 'respectively a value obtained by multiplying the a i to each element of [0 (W)] a_i, [0 (1)] a_i, ..., [0 (m) ]
  • the multi-party secure authentication system of the ninth embodiment differs from the above-described embodiment only in the random number update phase processing.
  • the configuration method of the ninth embodiment can be applied to the multi-party secure authentication system of the first embodiment to the third embodiment.
  • processing content of the random number update phase of the ninth embodiment is the same as the processing content of the random number generation phase of the fourth embodiment, please refer to the description of the above fourth embodiment.
  • the multi-party secure authentication system of the tenth embodiment differs from the above-described embodiment only in the process of the random number update phase.
  • the configuration method of the tenth embodiment can be applied to the multi-party secure authentication system of the first to third embodiments.
  • processing content of the random number update phase of the tenth embodiment is the same as the processing content of the random number generation phase of the fifth embodiment, please refer to the description of the above fourth embodiment.
  • the multi-party secure authentication system of the eleventh embodiment is different from the above-described embodiment only in the random number update phase processing.
  • the configuration method according to the eleventh embodiment can be applied to the multi-party secure authentication system according to the first to third embodiments.
  • the multi-party secure authentication system of the twelfth embodiment differs from the above-described embodiment only in the random number update phase processing.
  • the configuration method of the twelfth embodiment can be applied to the multi-party secure authentication system of the first embodiment to the third embodiment.
  • the multi-party secure authentication system of the thirteenth embodiment differs from the above-described embodiment only in the random number update phase processing.
  • the configuration method of the thirteenth embodiment can be applied to the multi-party secure authentication system of the first to third embodiments.
  • processing content of the random number update phase of the thirteenth embodiment is the same as the processing content of the random number generation phase of the eighth embodiment, refer to the description of the above eighth embodiment.
  • multi-party secure authentication system user apparatus 1, the intermediate server 2 and n stand authentication server 3 1, ..., although the described example the structure containing 3 n, the intermediate server 2 It is also possible to configure one authentication server 3 as one intermediate authentication server. That is, the multi-party secure authentication system includes, for example, a user device 1, n-1 authentication servers 3 1 ,..., 3 n-1 and one intermediate authentication server 3 n. Can do.
  • the intermediate authentication server 3 n is configured by having both a configuration unit included in the intermediate server 2 and a configuration unit included in the authentication server 3.
  • the data transmitted / received between the intermediate server 2 and the authentication server 3 n can be transferred inside the server via the memory 102, and thus does not necessarily need to be encrypted.
  • the intermediate authentication server 3 n may not include the intermediate server verification value encryption unit 35.
  • the intermediate authentication server 3 n may not include the intermediate server verification value generation unit 34, the intermediate server verification value encryption unit 35, the intermediate server verification value decryption unit 23, and the intermediate server verification unit 24.
  • an intermediate server 2 constitutes the authentication server 3 n as an intermediate authentication server 3 n of one
  • each authentication and the intermediate server 2 server 3 1, ..., a common key with 3 n, the authentication server 3 n And the other authentication servers 3 1 ,..., 3 n ⁇ 1 can be used together, so that the number of common keys in the entire system can be reduced by n.
  • the multi-party secure authentication technology of the present invention can be applied to various application systems that use password authentication.
  • each service provider is used as an authentication server to authenticate the first embodiment or the second embodiment.
  • the service may be configured to provide the service to the user.
  • the external service may be a service performed by a plurality of servers in cooperation, or may be a service that can be implemented by each single server.
  • an application example in which the multi-party secure authentication technology of the third embodiment is used as a single sign-on method is conceivable. If comprised in this way, the user can receive each service of each server with one password. If this invention is used, the risk of leakage due to impersonation in the authentication process by single sign-on can be reduced.
  • the multi-party secure authentication technology of the third embodiment is a storage service using (k, n) secret sharing
  • (k, n) secret sharing is a division method that divides data into n distributed values, and it is impossible to obtain information on the original data with any k-1 distributed values. This is a secret sharing scheme that can completely restore the original data if there are any k distributed values.
  • the servers cooperate with each other, but the servers do not need to communicate directly with each other. Since the multi-party secure authentication technology of the present invention does not require communication between servers, it can be said that this is an application example that can fully enjoy the advantages.
  • the present invention realizes the following four requirements. 1. 1. Users do not need to install multiple passwords or cumbersome certificates. 2. Even an intermediary or a server cannot impersonate. 3. No communication path is required between servers. The response time to the user can be minimized so that the response time can be minimized in the Internet environment.
  • the above requirements 1 and 4 are obvious.
  • the requirement 2 above is that the server has its own data in the single-server model, so there is little merit of fraudulently through authentication from the outside, but there are multiple servers and each has different data In such a case, there is an advantage in browsing data held by other servers from the outside. Especially in secret sharing, this problem is serious because the security effect is lost when two pieces of data are collected.
  • the requirement 3 above means that a linked service can be developed even on servers that do not have a communication path between each other during system construction. For example, an application provider on a cloud service can develop its own service on a plurality of appropriate cloud services. In other words, cloud services do not need to be linked.
  • the password is protected by secret sharing in which neither the server nor the intermediate person knows the password because of requirement 2.
  • the hash value of the password is insufficient because a dictionary attack is possible locally on the server.
  • a well-known secret circuit calculation may be used if communication between servers is allowed (corresponding to the requirement 3), and an encrypted communication path is used if the number of communications is increased. Although it can be set to the same setting as the case where there is no intermediary (corresponding to the above requirement 4), a secret circuit calculation with a low communication count via the intermediary is designed exclusively.
  • the program describing the processing contents can be recorded on a computer-readable recording medium.
  • a computer-readable recording medium any recording medium such as a magnetic recording device, an optical disk, a magneto-optical recording medium, and a semiconductor memory may be used.
  • this program is distributed by selling, transferring, or lending a portable recording medium such as a DVD or CD-ROM in which the program is recorded. Furthermore, the program may be distributed by storing the program in a storage device of the server computer and transferring the program from the server computer to another computer via a network.
  • a computer that executes such a program first stores a program recorded on a portable recording medium or a program transferred from a server computer in its own storage device.
  • the computer reads a program stored in its own recording medium and executes a process according to the read program.
  • the computer may directly read the program from a portable recording medium and execute processing according to the program, and the program is transferred from the server computer to the computer.
  • the processing according to the received program may be executed sequentially.
  • the program is not transferred from the server computer to the computer, and the above-described processing is executed by a so-called ASP (Application Service Provider) type service that realizes a processing function only by an execution instruction and result acquisition. It is good.
  • the program in this embodiment includes information that is used for processing by an electronic computer and that conforms to the program (data that is not a direct command to the computer but has a property that defines the processing of the computer).
  • the present apparatus is configured by executing a predetermined program on a computer.
  • a predetermined program on a computer.
  • at least a part of these processing contents may be realized by hardware.

Landscapes

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

Abstract

 中間サーバが存在する場合であっても複数のサーバが同時にユーザを安全に認証する。利用者装置1がパスワードw'を分散する。利用者装置1が分散値[w']iを暗号化した暗号文EncUS_i([w']i)を得る。中間サーバ2が暗号文EncUS_i([w']i)を認証サーバ3へ送信する。認証サーバ3が暗号文EncUS_i([w']i)を復号して分散値[w']iを得る。認証サーバ3が検証値qa_i (W)を求める。認証サーバ3が、暗号文EncWS_a_i(qa_i (W))を得る。中間サーバ2が暗号文EncWS_a_i(qa_i (W))を復号して検証値qa_i (W)を得る。中間サーバ2が検証値の総和が0と等しいか否かを検証する。認証サーバ3が検証値qa_i (a_j)を求める。認証サーバ3が暗号文EncS_a_iS_a_j(qa_i (a_j))を得る。認証サーバ3が暗号文EncS_a_iS_a_j(qa_j (a_i))を復号して検証値qa_j (a_i)を得る。認証サーバ3が検証値の総和が0と等しいか否かを検証する。

Description

マルチパーティセキュア認証システム、認証サーバ、中間サーバ、マルチパーティセキュア認証方法及びプログラム
 この発明は、ネットワーク上の認証において、複数のサーバが同時にユーザを安全に認証する技術に関する。
 ユーザが複数のサーバにまたがるサービスを受ける際に、各サーバに同時に安全に認証を受ける技術として、非特許文献1~3に記載された技術が知られている(例えば、非特許文献1~3参照。)。非特許文献1~3に記載された技術は、安全なストレージサービスにおける認証技術であり、ユーザがパスワードを設定し、データを秘密分散と呼ばれる安全な方法で複数のサーバに分散して保管する。認証時に入力されたパスワードが正しければユーザは正しいデータを復元でき、パスワードが誤りであれば復元に失敗する。
Ali Bagherzandi, Stanislaw Jarecki, Nitesh Saxena, and Yanbin Lu, "Password-protected secret sharing", ACM Conference on Computer and Communications Security, pp. 433-444, 2011. Jan Camenisch, Anna Lysyanskaya, and Gregory Neven, "Practical yet universally composable two-server password-authenticated secret sharing", ACM Conference on Computer and Communications Security, pp. 525-536, 2012. 尾形わかは、「情報理論的に安全なパスワード付秘密分散法の安全性と効率化」、SCIS 2013
 しかしながら、従来技術では、ユーザとストレージサーバが直結しているということを前提としており、Webサービス等におけるWebサーバのようにゲートウェイとしての中間サーバが存在する場合の安全性は保証できない。また、ストレージサービス以外に応用できないという課題もある。
 この発明の目的は、中間サーバが存在する場合であっても安全性を保証することができるマルチパーティセキュア認証技術を提供することである。
 上記の課題を解決するために、この発明の第一の態様のマルチパーティセキュア認証方法は、パスワード分散ステップ、パスワード分散値暗号化ステップ、パスワード分散値転送ステップ、パスワード分散値復号ステップ、中間サーバ検証値生成ステップ、中間サーバ検証値暗号化ステップ、中間サーバ検証値復号ステップ、中間サーバ検証ステップ、認証サーバ検証値生成ステップ、認証サーバ検証値暗号化ステップ、認証サーバ検証値復号ステップ及び認証サーバ検証ステップを含む。
 以下では、n≧3であり、2k-1≦nであり、k≦mであり、m≦nであり、a1,…,amは1以上n以下の相異なるm個の整数であり、(k,n)秘密分散はn個の分散値のうちk個以上あれば復元することができる秘密分散であり、[r(W)]1,…,[r(W)]nは復元すると乱数r(W)となる(k,n)秘密分散による分散値であり、[r(i)]1,…,[r(i)]n(i=1,…,n)は復元すると乱数r(i)となる(k,n)秘密分散による分散値であり、[0(W)]1,…,[0(W)]nは復元すると0となる(k,n)秘密分散による分散値であり、[0(a_i)]1,…,[0(a_i)]n(i=1,…,m)は復元すると0となる(k,n)秘密分散による分散値であるとする。
 パスワード分散ステップにおいて、利用者装置が、入力されたパスワードw'をn個の分散値[w']1,…,[w']nに分散する。パスワード分散値暗号化ステップにおいて、利用者装置が、i=1,…,nについて、利用者装置とi番目の認証サーバとの共通鍵を用いて、分散値[w']iを暗号化した暗号文EncUS_i([w']i)を得る。パスワード分散値転送ステップにおいて、中間サーバが、i=1,…,nについて、利用者装置から受信した暗号文EncUS_i([w']i)をi番目の認証サーバへ送信する。パスワード分散値復号ステップにおいて、認証サーバが、利用者端末と当該認証サーバとの共通鍵を用いて、中間サーバから受信した暗号文EncUS_i([w']i)を復号して分散値[w']iを得る。中間サーバ検証値生成ステップにおいて、λa_i (W)(i∈1,…,m)は次式を満たす定数であり、
Figure JPOXMLDOC01-appb-M000027
a_i (W)(i∈1,…,m)は次式を満たす定数であり、
Figure JPOXMLDOC01-appb-M000028
λa_i (j)(i∈1,…,m)は次式を満たす定数であり、
Figure JPOXMLDOC01-appb-M000029
a_i (j)(i∈1,…,m)は次式を満たす定数であるとして、
Figure JPOXMLDOC01-appb-M000030
認証サーバが、次式により検証値qa_i (W)を求める。
Figure JPOXMLDOC01-appb-M000031
中間サーバ検証値暗号化ステップにおいて、認証サーバが、中間サーバと当該認証サーバとの共通鍵を用いて、検証値qa_i (W)を暗号化した暗号文EncWS_a_i(qa_i (W))を得る。中間サーバ検証値復号ステップにおいて、中間サーバが、i=1,…,mについて、中間サーバとai番目の認証サーバとの共通鍵を用いて、ai番目の認証サーバから受信した暗号文EncWS_a_i(qa_i (W))を復号して検証値qa_i (W)を得る。中間サーバ検証ステップにおいて、中間サーバが、検証値qa_1 (W),…,qa_m (W)の総和が0と等しいか否かを検証する。認証サーバ検証値生成ステップにおいて、認証サーバが、j=1,…,mについて、次式により検証値qa_i (a_j)を求める。
Figure JPOXMLDOC01-appb-M000032
認証サーバ検証値暗号化ステップにおいて、認証サーバが、j=1,…,mについて、aj番目の認証サーバと当該認証サーバとの共通鍵を用いて、検証値qa_i (a_j)を暗号化した暗号文EncS_a_iS_a_j(qa_i (a_j))を得る。認証サーバ検証値復号ステップにおいて、認証サーバが、j=1,…,mについて、aj番目の認証サーバと当該認証サーバとの共通鍵を用いて、aj番目の認証サーバから受信した暗号文EncS_a_iS_a_j(qa_j (a_i))を復号して検証値qa_j (a_i)を得る。認証サーバ検証ステップにおいて、認証サーバが、検証値qa_1 (a_i),…,qa_m (a_i)の総和が0と等しいか否かを検証する。
 この発明の第二の態様のマルチパーティセキュア認証方法は、パスワード分散ステップ、パスワード分散値暗号化ステップ、パスワード分散値転送ステップ、第一パスワード分散値復号ステップ、第二パスワード分散値復号ステップ、第一認証サーバ検証値生成ステップ、第二認証サーバ検証値生成ステップ、第一認証サーバ検証値暗号化ステップ、第二認証サーバ検証値暗号化ステップ、第一認証サーバ検証値復号ステップ、第二認証サーバ検証値復号ステップ、第一認証サーバ検証ステップ及び第二認証サーバ検証ステップを含む。
 以下では、n≧3であり、2k-1≦nであり、k≦mであり、m≦nであり、a1,…,amはam=nかつそれぞれ1以上n以下の相異なるm個の整数であり、(k,n)秘密分散はn個の分散値のうちk個以上あれば復元することができる秘密分散であり、[r(i)]1,…,[r(i)]n(i=1,…,n)は復元すると乱数r(i)となる(k,n)秘密分散による分散値であり、[0(a_i)]1,…,[0(a_i)]n(i=1,…,m)は復元すると0となる(k,n)秘密分散による分散値であり、
λa_i (j)(i∈1,…,m)は次式を満たす定数であり、
Figure JPOXMLDOC01-appb-M000033
a_i (j)(i∈1,…,m)は次式を満たす定数であるとする。
Figure JPOXMLDOC01-appb-M000034
 パスワード分散ステップにおいて、利用者装置が、入力されたパスワードw'をn個の分散値[w']1,…,[w']nに分散する。パスワード分散値暗号化ステップにおいて、利用者装置が、i=1,…,n-1について、利用者装置とi番目の認証サーバとの共通鍵を用いて、分散値[w']iを暗号化した暗号文EncUS_i([w']i)を得、利用者装置と中間認証サーバとの共通鍵を用いて、分散値[w']nを暗号化した暗号文EncUS_n([w']n)を得る。パスワード分散値転送ステップにおいて、中間認証サーバが、i=1,…,n-1について、利用者装置から受信した暗号文EncUS_i([w']i)をi番目の認証サーバへ送信する。第一パスワード分散値復号ステップにおいて、認証サーバが、利用者端末と当該認証サーバとの共通鍵を用いて、中間認証サーバから受信した暗号文EncUS_i([w']i)を復号して分散値[w']iを得る。第二パスワード分散値復号ステップにおいて、中間認証サーバが、利用者端末と当該中間認証サーバとの共通鍵を用いて、暗号文EncUS_n([w']n)を復号して分散値[w']nを得る。第一認証サーバ検証値生成ステップにおいて、認証サーバが、j=1,…,mについて、次式により検証値qa_i (a_j)を求める。
Figure JPOXMLDOC01-appb-M000035
第二認証サーバ検証値生成ステップにおいて、中間認証サーバが、j=1,…,mについて、次式により検証値qa_m (a_j)を求める。
Figure JPOXMLDOC01-appb-M000036
第一認証サーバ検証値暗号化ステップにおいて、認証サーバが、j=1,…,mについて、aj番目の認証サーバおよびam番目の中間認証サーバと当該認証サーバとの共通鍵を用いて、検証値qa_i (a_j)を暗号化した暗号文EncS_a_iS_a_j(qa_i (a_j))を得る。第二認証サーバ検証値暗号化ステップにおいて、中間認証サーバが、j=1,…,m-1について、aj番目の認証サーバと当該中間認証サーバとの共通鍵を用いて、検証値qa_m (a_j)を暗号化した暗号文EncS_a_mS_a_j(qa_m (a_j))を得る。第一認証サーバ検証値復号ステップにおいて、認証サーバが、j=1,…,mについて、aj番目の認証サーバおよびam番目の中間認証サーバと当該認証サーバとの共通鍵を用いて、aj番目の認証サーバから受信した暗号文EncS_a_iS_a_j(qa_j (a_i))を復号して検証値qa_j (a_i)を得る。第二認証サーバ検証値復号ステップにおいて、中間認証サーバが、j=1,…,m-1について、aj番目の認証サーバと当該中間認証サーバとの共通鍵を用いて、aj番目の認証サーバから受信した暗号文EncS_a_mS_a_j(qa_j (a_m))を復号して検証値qa_j (a_m)を得る。第一認証サーバ検証ステップにおいて、認証サーバが、検証値qa_1 (a_i),…,qa_m (a_i)の総和が0と等しいか否かを検証する。第二認証サーバ検証ステップにおいて、中間認証サーバが、検証値qa_1 (a_m),…,qa_m (a_m)の総和が0と等しいか否かを検証する。
 この発明によれば、中間サーバが存在する場合であっても複数のサーバが同時にユーザを安全に認証することができる。
図1は、第一実施形態に係るマルチパーティセキュア認証システムの機能構成を例示する図である。 図2は、第一実施形態に係る利用者端末の機能構成を例示する図である。 図3は、第一実施形態に係る中間サーバの機能構成を例示する図である。 図4は、第一実施形態に係る認証サーバの機能構成を例示する図である。 図5は、第一実施形態に係るマルチパーティセキュア認証方法のパスワード登録フェーズの処理フローを例示する図である。 図6は、第一実施形態に係るマルチパーティセキュア認証方法の乱数生成フェーズの処理フローを例示する図である。 図7は、第一実施形態に係るマルチパーティセキュア認証方法の認証フェーズの処理フローを例示する図である。 図8は、第一実施形態に係るマルチパーティセキュア認証方法の認証フェーズの処理フローを例示する図である。 図9は、第一実施形態に係るマルチパーティセキュア認証方法の認証フェーズの処理フローを例示する図である。 図10は、第二実施形態に係るマルチパーティセキュア認証システムの機能構成を例示する図である。 図11は、第二実施形態に係る利用者端末の機能構成を例示する図である。 図12は、第二実施形態に係る中間サーバの機能構成を例示する図である。 図13は、第二実施形態に係る認証サーバの機能構成を例示する図である。 図14は、第二実施形態に係るマルチパーティセキュア認証方法の乱数生成フェーズの処理フローを例示する図である。 図15は、第二実施形態に係るマルチパーティセキュア認証方法の認証フェーズの処理フローを例示する図である。 図16は、第三実施形態に係るマルチパーティセキュア認証システムの機能構成を例示する図である。 図17は、第三実施形態に係る利用者端末の機能構成を例示する図である。 図18は、第三実施形態に係る中間サーバの機能構成を例示する図である。 図19は、第三実施形態に係る認証サーバの機能構成を例示する図である。 図20は、第三実施形態に係るマルチパーティセキュア認証方法の乱数生成フェーズの処理フローを例示する図である。 図21は、第二実施形態に係るマルチパーティセキュア認証方法の乱数生成フェーズの処理フローを例示する図である。
 以下、この発明の実施の形態について詳細に説明する。なお、図面中において同じ機能を有する構成部には同じ番号を付し、重複説明を省略する。
[表記方法]
 実施形態の説明に先立ち、この明細書で用いる表記方法および用語を定義する。
・_(アンダースコア)は下付き添字を表す。例えば、xy_zはyzがxに対する上付き添字であり、xy_zはyzがxに対する下付き添字であることを表す。
・^(キャレット)は直後の文字にサーカムフレックスが付されることを表す。例えば、^λは数式内における以下の文字を表している。
Figure JPOXMLDOC01-appb-M000037
(上付き右矢印)はベクトルを表す。
・[](角括弧)は括弧内のデータの分散値を表す。例えば、[w]はwの分散値である。
・EncAB(X)は、ノードAとノードBとの共通鍵によりデータXを暗号化した暗号文を表す。
[基本的な考え方]
 この発明のマルチパーティセキュア認証技術の基本的な考え方を説明する。
 全体を通しての登場人物は、利用者端末1、中間サーバ2及びn台の認証サーバ31,…,3nである。ただし、nは3以上の整数である。
 まず、システムを利用する利用者端末1のパスワードがwであることを認証サーバ群31,…,3nに登録する。認証を実施する際に併せて用いるいくつかの乱数についてもユーザで生成し、各認証サーバ31,…,3nに送る。このとき、間に入る中間サーバ2がこれらの情報を悪用し利用者端末1に成りすまさないよう、送信する分散値等は各認証サーバ31,…,3nとの共通鍵で暗号化しておく。また、パスワード自体も秘密分散を用い、各認証サーバ31,…,3nにはパスワードの分散値のみを保存する。そのため、各認証サーバ31,…,3nは、パスワードそのものはわからない。
 次に、認証の実施手順について述べる。利用者端末1がパスワードw’によって認証を試みてきた場合、登録されている利用者端末1のパスワードwと入力されたパスワードw’とが一致することを確認するために、wとw’との差が0であることを協調計算によって導く。認証の権限がシステムを構成する各参加者(具体的には、中間サーバ2及び認証サーバ31,…,3n)のいずれかに偏ることがないように、各参加者が認証のための計算を行う。協調計算によって登録されたパスワードw及び入力されたパスワードw’が各参加者に知られることがないように、乱数と組み合わせて協調計算を行う。また、このとき用いられる乱数を次回の認証で使い回さないように、認証の手順の最後で乱数を更新する。
 さらに、認証手順において中間サーバ2を介して交わされる暗号文を悪用することによるリプレイ攻撃に対処するために、あらかじめ認証サーバ31,…,3nで乱数を生成し利用者端末1と共有することによって、認証時に送信するパスワードの暗号文を再利用できなくする改良方法について述べる。なお、リプレイ攻撃とは、認証成功した暗号文を再利用して、中間サーバ2が利用者装置1になりすまして認証を成功させてしまう攻撃である。
[秘密分散技術]
 この発明では構成要素として秘密分散技術を用いる。この発明で用いる秘密分散技術では、2k-1<nであるような(k,n)秘密分散を用いる。(k,n)秘密分散は、あるデータをn個に分割し、そのうちk-1個まで集めても元データについては何もわからないが、k個以上集めると元データを復元できるような技術である。
 具体的には、秘密分散技術は、以下に説明するShareアルゴリズムとReconstアルゴリズムとから構成される。
 Shareアルゴリズムはデータを分割するアルゴリズムである。分割されたデータはシェアもしくは分散値と呼ばれる。Shareアルゴリズムは秘密sを入力としてn個に分割して出力する。この手続きを次式のように記述する。
Figure JPOXMLDOC01-appb-M000038
 Reconstアルゴリズムはデータを復元するアルゴリズムである。Reconstアルゴリズムはm個(k≦m≦n)のシェアを入力として元の秘密sを出力する。この発明で利用する秘密分散技術では、mと{a1,…,am}とから決定するλa_i(i=1,…,m)が存在し、次式が成り立つとする。a1,…,amは1以上n以下の相異なるm個の整数である。
Figure JPOXMLDOC01-appb-M000039
[第一実施形態]
 図1を参照して、第一実施形態に係るマルチパーティセキュア認証システムの機能構成の一例を説明する。マルチパーティセキュア認証システムは、利用者装置1、中間サーバ2及びn台の認証サーバ31,…,3nを含む。
 図2を参照して、利用者装置1の機能構成の一例を説明する。利用者装置1は、制御部101、メモリ102、共通鍵記憶部11、パスワード分散部12及びパスワード分散値暗号化部13を含む。利用者装置1は、例えば、中央演算処理装置(Central Processing Unit、CPU)、主記憶装置(Random Access Memory、RAM)などを有する公知又は専用のコンピュータに特別なプログラムが読み込まれて構成された特別な装置である。利用者装置1は、例えば、制御部101の制御のもとで各処理を実行する。利用者装置1に入力されたデータや各処理で得られたデータは、例えば、メモリ102に格納され、メモリ102に格納されたデータは必要に応じて読み出されて他の処理に利用される。利用者装置1が備える各記憶部は、例えば、RAM(Random Access Memory)などの主記憶装置、ハードディスクや光ディスクもしくはフラッシュメモリ(Flash Memory)のような半導体メモリ素子により構成される補助記憶装置、またはリレーショナルデータベースやキーバリューストアなどのミドルウェアにより構成することができる。
 図3を参照して、中間サーバ2の機能構成の一例を説明する。中間サーバ2は、制御部201、メモリ202、共通鍵記憶部21、パスワード分散値転送部22、中間サーバ検証値復号部23及び中間サーバ検証部24を含む。中間サーバ2は、例えば、中央演算処理装置(Central Processing Unit、CPU)、主記憶装置(Random Access Memory、RAM)などを有する公知又は専用のコンピュータに特別なプログラムが読み込まれて構成された特別な装置である。中間サーバ2は、例えば、制御部201の制御のもとで各処理を実行する。利用者装置1に入力されたデータや各処理で得られたデータは、例えば、メモリ202に格納され、メモリ202に格納されたデータは必要に応じて読み出されて他の処理に利用される。中間サーバ2が備える各記憶部は、例えば、RAM(Random Access Memory)などの主記憶装置、ハードディスクや光ディスクもしくはフラッシュメモリ(Flash Memory)のような半導体メモリ素子により構成される補助記憶装置、またはリレーショナルデータベースやキーバリューストアなどのミドルウェアにより構成することができる。
 図4を参照して、認証サーバ3の機能構成の一例を説明する。認証サーバ3は、制御部301、メモリ302、乱数分散値生成部31、ゼロ分散値生成部32、パスワード分散値復号部33、中間サーバ検証値生成部34、中間サーバ検証値暗号化部35、認証サーバ検証値生成部36、認証サーバ検証値暗号化部37、認証サーバ検証値復号部38、認証サーバ検証部39、共通鍵記憶部41及び分散値記憶部42を含む。認証サーバ3は、例えば、中央演算処理装置(Central Processing Unit、CPU)、主記憶装置(Random Access Memory、RAM)などを有する公知又は専用のコンピュータに特別なプログラムが読み込まれて構成された特別な装置である。認証サーバ3は、例えば、制御部301の制御のもとで各処理を実行する。認証サーバ3に入力されたデータや各処理で得られたデータは、例えば、メモリ302に格納され、メモリ302に格納されたデータは必要に応じて読み出されて他の処理に利用される。認証サーバ3が備える各記憶部は、例えば、RAM(Random Access Memory)などの主記憶装置、ハードディスクや光ディスクもしくはフラッシュメモリ(Flash Memory)のような半導体メモリ素子により構成される補助記憶装置、またはリレーショナルデータベースやキーバリューストアなどのミドルウェアにより構成することができる。認証サーバ3が備える各記憶部は、それぞれ論理的に分割されていればよく、一つの物理的な記憶装置に記憶されていてもよい。
 図5~10を参照して、マルチパーティセキュア認証方法の処理フローの一例を、実際に行われる手続きの順に従って説明する。
 利用者端末1の共通鍵記憶部11には、利用者端末1が暗号化通信を行う各装置との共通鍵が記憶されている。具体的には、利用者端末1と各認証サーバ31,…,3nとの共通鍵であり、計n個の共通鍵が記憶されている。
 中間サーバ2の共通鍵記憶部21には、中間サーバ2が暗号化通信を行う各装置との共通鍵が記憶されている。具体的には、中間サーバ2と各認証サーバ31,…,3nとの共通鍵であり、計n個の共通鍵が記憶されている。
 i番目の認証サーバ3iの共通鍵記憶部41には、認証サーバ3iが暗号化通信を行う各装置との共通鍵が記憶されている。具体的には、利用者端末1、中間サーバ2、他のn-1台の認証サーバ3j(j=1,…,n、j≠i)との共通鍵であり、1台の認証サーバ3の共通鍵記憶部41には計n+1個の共通鍵が記憶されている。
 この発明で用いる共通鍵暗号方式は、既存のいかなる共通鍵暗号方式であってもよく、この発明を適用する情報システムにおいて求められる安全性や処理速度などを勘案して選択すればよい。各装置の記憶する共通鍵は、選択された共通鍵暗号方式に則って生成された共通鍵であり、当該共通鍵暗号方式が許容する鍵交換方式により共有すればよい。
<<パスワード登録フェーズ>>
 図5を参照して、マルチパーティセキュア認証方法のパスワード登録フェーズの処理を説明する。パスワード登録フェーズは、新規にユーザを登録する場合または登録済みユーザのパスワードを変更する場合に実行される。
 ステップS101において、利用者端末1のパスワード分散部12は、パスワードwをn個の分散値[w]1,…,[w]nに分散する。パスワードwはユーザUにより利用者端末1を操作して入力された任意のパスワードである。つまり、パスワード分散部12は、以下の式(3)の計算を行う。
Figure JPOXMLDOC01-appb-M000040
 ステップS102において、利用者端末1のパスワード分散値暗号化部13は、i=1,…,nについて、利用者装置1とi番目の認証サーバ3iとの共通鍵を用いて、分散値[w]iを暗号化した暗号文EncUS_i([w]i)を得る。
 ステップS103において、利用者端末1のパスワード分散値暗号化部13は、ステップS102で得たn個の暗号文EncUS_1([w]1),…,EncUS_n([w]n)を中間サーバ2へ送信する。
 ステップS201において、中間サーバ2のパスワード分散値転送部22は、利用者端末1から受信したn個の暗号文EncUS_1([w]1),…,EncUS_n([w]n)を受信し、i=1,…,nについて、暗号文EncUS_i([w]i)を認証サーバ3iへそれぞれ送信する。
 ステップS301において、認証サーバ3iのパスワード分散値復号部33は、中間サーバ2から転送された暗号文EncUS_i([w]i)を受信する。
 ステップS302において、認証サーバ3iのパスワード分散値復号部33は、利用者端末1と認証サーバ3iとの共通鍵を用いて、中間サーバ2から受信した暗号文EncUS_i([w]i)を復号して分散値[w]iを得る。分散値[w]iは、分散値記憶部42へ記憶する。
<<乱数生成フェーズ>>
 図6を参照して、マルチパーティセキュア認証方法の乱数生成フェーズの処理を説明する。乱数生成フェーズは、少なくともパスワードを登録したユーザが認証を行う前に実行されている必要がある。
 ステップS311において、認証サーバ3iの乱数分散値生成部31は、復元すると乱数r1,…,rdとなるd個の分散値[r1]i,…,[rd]iを生成する。生成した分散値[r1]i,…,[rd]iは、分散値記憶部42へ記憶する。ここで、d≧1である。
 ステップS312において、認証サーバ3iのゼロ分散値生成部32は、復元すると0となるd個の分散値[01]i,…,[0d]iを生成する。生成した分散値[01]i,…,[0d]iは、分散値記憶部42へ記憶する。
 ステップS311からステップS312の処理は、ステップS101からステップS302の処理と並行して実行しても構わないし、独立して予め行なっておいても構わない。
<<認証フェーズ>>
 図7~9を参照して、マルチパーティセキュア認証方法の認証フェーズの処理を説明する。認証フェーズは、パスワードを登録しているユーザが認証を求める際に実行される。認証フェーズの処理は、n台の認証サーバ31,…,3nすべてが行う必要はなく、任意に選択したm台のみが実行すればよい。以降の説明では、a1,…,amを1以上n以下の相異なるm個の整数として、m台の認証サーバ3a_1,…,3a_mが認証フェーズの処理を行うものとする。
 認証サーバ3a_iは、分散値記憶部42に記憶されている分散値[r1]a_i,…,[rd]a_iから[r(W)]a_i、[r(1)]a_i,…,[r(m)]a_iを選択する。また、同様に、認証サーバ3a_iは、分散値記憶部42に記憶されている分散値[01]a_i,…,[0d]a_iから[0(W)]a_i,[0(1)]a_i,…,[0(m)]a_iを選択する。
 図7に示すステップS121において、パスワードwを登録したユーザUが利用者端末1を操作して、認証を求めるためのパスワードw’を入力する。
 ステップS122において、利用者端末1のパスワード分散部12は、パスワードw’をn個の分散値[w’]1,…,[w’]nに分散する。つまり、パスワード分散部12は、以下の計算を行う。
Figure JPOXMLDOC01-appb-M000041
 ステップS123において、利用者端末1のパスワード分散値暗号化部13は、i=1,…,mについて、分散値[w']a_iを利用者装置1とai番目の認証サーバ3a_iとの共通鍵を用いて暗号化した暗号文EncUS_a_i([w']a_i)を得る。
 ステップS124において、利用者端末1のパスワード分散値暗号化部13は、ステップS123で得たn個の暗号文EncUS_1([w']1),…,EncUS_n([w']n)を中間サーバ2へ送信する。
 ステップS221において、中間サーバ2のパスワード分散値転送部22は、利用者端末1から受信したn個の暗号文EncUS_1([w']1),…,EncUS_n([w']n)を受信し、i=1,…,mについて、暗号文EncUS_a_i([w']a_i)を認証サーバ3a_iへ送信する。
 ステップS321において、認証サーバ3a_iのパスワード分散値復号部33は、中間サーバ2から転送された暗号文EncUS_a_i([w']a_i)を受信する。
 ステップS322において、認証サーバ3a_iのパスワード分散値復号部33は、中間サーバ2から受信した暗号文EncUS_a_i([w']a_i)を利用者端末1と認証サーバ3a_iとの共通鍵を用いて復号して分散値[w']a_iを得る。
 図8に示すステップS331において、認証サーバ3a_iの中間サーバ検証値生成部34は、分散値記憶部42に記憶されている分散値[w]a_i、[r(W)]a_i、[0(W)]a_i及びパスワード分散値復号部33の出力する分散値[w']a_iを用いて、下記の式(5)により検証値qa_i (W)を求める。
Figure JPOXMLDOC01-appb-M000042
 ここで、λa_i (W)は式(6)を満たす既知の定数であり、^λa_i (W)は式(7)を満たす既知の定数である。
Figure JPOXMLDOC01-appb-M000043
 ステップS332において、認証サーバ3a_iの中間サーバ検証値暗号化部35は、中間サーバ2と認証サーバ3a_iとの共通鍵を用いて、検証値qa_i (W)を暗号化した暗号文EncWS_a_i(qa_i (W))を得る。
 ステップS333において、認証サーバ3a_iの中間サーバ検証値暗号化部35は、ステップS332で得た暗号文EncWS_a_i(qa_i (W))を中間サーバ2へ送信する。
 ステップS231において、中間サーバ2の中間サーバ検証値復号部23は、m台の認証サーバ3a_1,…,3a_mから受信したm個の暗号文EncWS_a_1(qa_1 (W)),…,EncWS_a_m(qa_m (W))を受信する。
 ステップS232において、中間サーバ2の中間サーバ検証値復号部23は、i=1,…,mについて、中間サーバ2とai番目の認証サーバ3a_iとの共通鍵を用いて、暗号文EncWS_a_i(qa_i (W))を復号して検証値qa_i (W)を得る。中間サーバ検証値復号部23は、m個の検証値qa_1 (W),…,qa_m (W)を中間サーバ検証部24へ出力する。
 ステップS233において、中間サーバ2の中間サーバ検証部24は、検証値qa_1 (W),…,qa_m (W)の総和が0と等しいか否かを検証する。中間サーバ検証部24は、具体的には式(8)の等式が成り立つか否かを確認する。
Figure JPOXMLDOC01-appb-M000044
 中間サーバ検証部24は、式(8)が成り立つ場合には、利用者装置1へ認証成功を通知し、式(8)が成り立たない場合には、利用者装置1へ認証失敗を通知する。
 図9に示すステップS341iにおいて、認証サーバ3a_iの認証サーバ検証値生成部36は、j=1,…,mについて、分散値記憶部42に記憶されている分散値[w]a_i、[r(a_j)]a_i、[0(a_j)]a_i及びパスワード分散値復号部33の出力する分散値[w']a_iを用いて、下記の式(9)により検証値qa_i (a_j)を求める。
Figure JPOXMLDOC01-appb-M000045
 ここで、λa_i (j)は式(10)を満たす既知の定数であり、^λa_i (j)は式(11)を満たす既知の定数である。
Figure JPOXMLDOC01-appb-M000046
 ステップS342iにおいて、認証サーバ3a_iの認証サーバ検証値暗号化部37は、j=1,…,m(j≠i)について、aj番目の認証サーバ3a_jとai番目の認証サーバ3a_iとの共通鍵を用いて、検証値qa_i (a_j)を暗号化した暗号文EncS_a_iS_a_j(qa_i (a_j))を得る。結果として、認証サーバ検証値暗号化部37は、m-1個の暗号文EncS_a_iS_a_1(qa_i (a_1)),…,EncS_a_iS_a_m(qa_i (a_m))(ただし、EncS_a_iS_a_i(qa_i (a_i))を除く)を得ることになる。
 ステップS343iにおいて、認証サーバ3a_iの認証サーバ検証値暗号化部37は、j=1,…,m(j≠i)について、ステップS342iで得たm-1個の暗号文EncS_a_iS_a_1(qa_i (a_1)),…,EncS_a_iS_a_m(qa_i (a_m))(ただし、EncS_a_iS_a_i(qa_i (a_i))を除く)を認証サーバ3a_jへそれぞれ送信する。
 ステップS344iにおいて、認証サーバ3a_iの認証サーバ検証値復号部38は、m-1台の認証サーバ3a_j(j=1,…,m(j≠i))からm-1個の暗号文EncS_a_1S_a_i(qa_1 (a_i)),…,EncS_a_mS_a_i(qa_m (a_i))(ただし、EncS_a_iS_a_i(qa_i (a_i))を除く)を受信する。
 ステップS345iにおいて、認証サーバ3a_iの認証サーバ検証値復号部38は、j=1,…,m(j≠i)について、aj番目の認証サーバ3a_jとai番目の認証サーバ3a_iとの共通鍵を用いて、暗号文EncS_a_jS_a_i(qa_j (a_i))を復号して検証値qa_i (a_j)を得る。認証サーバ検証値復号部38は、ステップS341iにおいて認証サーバ検証値生成部36が生成していた検証値qa_i (a_i)と併せて、m個の検証値qa_1 (a_i),…,qa_m (a_i)を認証サーバ検証部39へ出力する。
 ステップS345iにおいて、認証サーバ3a_iの認証サーバ検証部39は、検証値qa_1 (a_i),…,qa_m (a_i)の総和が0と等しいか否かを検証する。認証サーバ検証部39は、具体的には式(12)の等式が成り立つか否かを確認する。
Figure JPOXMLDOC01-appb-M000047
 認証サーバ検証部39は、式(12)が成り立つ場合には、利用者装置1へ認証成功を通知し、式(12)が成り立たない場合には、利用者装置1へ認証失敗を通知する。
<<乱数更新フェーズ>>
 認証フェーズの処理を一回実行する度に、乱数更新フェーズの処理を実行する。乱数更新フェーズは、次回の認証で乱数を使い回さないように乱数を更新する処理である。乱数更新フェーズでは、以前の乱数生成フェーズの処理により生成された乱数のうち、未使用のものがあれば、次回の認証フェーズの処理において、その乱数を使用するように設定する。未使用の乱数がなければ、乱数生成フェーズの処理内容と同様に新たな乱数を生成する。乱数更新フェーズの処理は、認証フェーズの処理と並列に行なっても構わない。すなわち、認証フェーズにおいて乱数を利用した際に未使用の乱数が十分に残されているかを確認し、足りなければ新たな乱数を生成すればよい。
[第二実施形態]
 ユーザの利用する利用者端末と各認証サーバの間に存在するWebサーバ等の中間サーバには、認証の成否に加えて、利用者端末と認証サーバで交わされている暗号文を知られてしまう。中間サーバは認証に成功した際に認証手順で用いられたパスワードや乱数の分散値の暗号文を悪用してユーザに成りすまし、認証を成功させることができてしまう危険性がある。第二実施形態のマルチパーティセキュア認証システムは、送信済みの暗号文を悪用した中間サーバによるリプレイ攻撃を防ぐための改良方式である。
 以降の説明では、第一実施形態と相違する点を中心に説明し、第一実施形態と同様の部分については説明を省略する。
 図10を参照して、第二実施形態に係るマルチパーティセキュア認証システムの機能構成の一例を説明する。マルチパーティセキュア認証システムは、利用者装置4、中間サーバ5及びn台の認証サーバ61,…,6nを含む。
 図11を参照して、利用者装置4の機能構成の一例を説明する。利用者装置4は、第一実施形態に係る利用者装置1と同様に、制御部101、メモリ102、共通鍵記憶部11及びパスワード分散部12を含む。第二実施形態に係る利用者装置4では、さらに、パスワード分散値暗号化部14及び乱数受信部15を含む。パスワード分散値暗号化部14は第一実施形態に係るパスワード分散値暗号化部13とは処理が異なる。
 図12を参照して、中間サーバ5の機能構成の一例を説明する。中間サーバ5は、第一実施形態に係る中間サーバ2と同様に、制御部201、メモリ202、共通鍵記憶部21、中間サーバ検証値復号部23及び中間サーバ検証部24を含む。第二実施形態に係る中間サーバ5では、さらに、パスワード分散値転送部25及び乱数転送部26を含む。パスワード分散値転送部25は第一実施形態に係るパスワード分散値転送部22とは処理が異なる。
 図13を参照して、認証サーバ6の機能構成の一例を説明する。認証サーバ6は、第一実施形態に係る認証サーバ3と同様に、制御部301、メモリ302、乱数分散値生成部31、ゼロ分散値生成部32、中間サーバ検証値生成部34、中間サーバ検証値暗号化部35、認証サーバ検証値生成部36、認証サーバ検証値暗号化部37、認証サーバ検証値復号部38、認証サーバ検証部39、共通鍵記憶部41及び分散値記憶部42を含む。第二実施形態に係る認証サーバ6では、さらに、パスワード分散値復号部43、乱数生成部44、乱数暗号化部45及び乱数検証部46を含む。パスワード分散値復号部43は第一実施形態に係るパスワード分散値復号部33とは処理が異なる。
 図14、15を参照して、第二実施形態に係るマルチパーティセキュア認証方法の処理フローの一例を、実際に行われる手続きの順に従って説明する。
 図14を参照して、リプレイ攻撃を防ぐために利用する乱数の生成手順を説明する。この乱数は認証フェーズを実行する前に予め行なっておく必要がある。この処理は比較的軽い処理であるため、認証フェーズを実行する直前に行うように構成してもよい。この処理は、n台の認証サーバ61,…,6nすべてが行う必要はなく、任意に選択したm台のみが実行すればよい。以降の説明では、a1,…,amを1以上n以下の相異なるm個の整数として、m台の認証サーバ6a_1,…,6a_mが処理を行うものとする。
 ステップS351において、認証サーバ6a_iの乱数生成部44は、乱数ta_iを生成する。
 ステップS352において、認証サーバ6a_iの乱数暗号化部45は、利用者装置1とai番目の認証サーバ3a_iとの共通鍵を用いて、乱数ta_iを暗号化した暗号文EncUS_a_i(ta_i)を得る。
 ステップS353において、認証サーバ6a_iの乱数暗号化部45は、暗号文EncUS_a_i(ta_i)を中間サーバ5へ送信する。
 ステップS251において、中間サーバ5の乱数転送部26は、m台の認証サーバ6a_i(i=1,…,m)からm個の暗号文EncUS_a_i(ta_i)(i=1,…,m)を受信する。受信したm個の暗号文EncUS_a_i(ta_i)(i=1,…,m)は利用者端末4へ送信する。
 ステップS151において、利用者端末6の乱数復号部15は、中間サーバ6からm個の暗号文EncUS_a_i(ta_i)(i=1,…,m)を受信する。
 ステップS152において、乱数復号部15は、i=1,…,mについて、暗号文EncUS_a_i(ta_i)を復号して分散値ta_iを得る。分散値ta_iはメモリ102や共通鍵記憶部11などのいずれかの記憶部に記憶する。
 図15を参照して、リプレイ攻撃を防ぐために改良した認証フェーズの処理を説明する。第一実施形態の認証フェーズとの相違点は、ステップS123及びステップS221の処理が異なることと、ステップS323の処理が追加されたことである。
 ステップS123において、利用者端末4のパスワード分散値暗号化部14は、i=1,…,mについて、分散値[w']a_iを乱数ta_iと共に利用者装置4とai番目の認証サーバ6a_iとの共通鍵を用いて暗号化した暗号文EncUS_a_i(ta_i,[w']a_i)を得る。
 ステップS221において、中間サーバ5のパスワード分散値転送部25は、利用者端末4から受信したm個の暗号文EncUS_a_1(ta_i,[w']a_1),…,EncUS_a_m(ta_i,[w']a_m)を受信し、i=1,…,mについて、暗号文EncUS_a_i(ta_i,[w']a_i)を認証サーバ3a_iへ送信する。
 ステップS323において、認証サーバ3a_iの乱数検証部46は、暗号文EncUS_a_i(ta_i,[w']a_i)を復号して得た乱数ta_iがステップS351で生成した乱数ta_iと等しいか否かを確認する。乱数検証部46は、復号して得た乱数ta_iがステップS351で生成した乱数ta_iと等しくない場合には、利用者装置4へ認証失敗を通知する。その他の場合には、認証フェーズのステップS331以降の処理を続行する。
[第三実施形態]
 第一実施形態のマルチパーティセキュア認証システムは、各認証サーバが乱数生成フェーズの処理を実行した。第三実施形態のマルチパーティセキュア認証システムは、利用者端末が乱数生成フェーズの処理を実行する。以下では、第一実施形態のマルチパーティセキュア認証システムに適用した場合の例を説明するが、第三実施形態の構成方法は、第二実施形態のマルチパーティセキュア認証システムへも同様に適用することができる。
 以降の説明では、第一実施形態と相違する点を中心に説明し、第一実施形態と同様の部分については説明を省略する。
 図16を参照して、第三実施形態に係るマルチパーティセキュア認証システムの機能構成の一例を説明する。マルチパーティセキュア認証システムは、利用者装置7、中間サーバ8及びn台の認証サーバ91,…,9nを含む。
 図17を参照して、利用者装置7の機能構成の一例を説明する。利用者装置7は、第一実施形態に係る利用者装置1と同様に、制御部101、メモリ102、共通鍵記憶部11、パスワード分散部12及びパスワード分散値暗号化部13を含む。第三実施形態に係る利用者装置7では、さらに、乱数分散値生成部16、乱数分散値暗号化部17、ゼロ分散値生成部18及びゼロ分散値暗号化部19を含む。
 図18を参照して、中間サーバ8の機能構成の一例を説明する。中間サーバ8は、第一実施形態に係る中間サーバ2と同様に、制御部201、メモリ202、共通鍵記憶部21、パスワード分散値転送部22、中間サーバ検証値復号部23及び中間サーバ検証部24を含む。第三実施形態に係る中間サーバ8では、さらに、乱数分散値転送部27及びゼロ分散値転送部28を含む。
 図19を参照して、認証サーバ9の機能構成の一例を説明する。認証サーバ9は、第一実施形態に係る認証サーバ3と同様に、制御部301、メモリ302、中間サーバ検証値生成部34、中間サーバ検証値暗号化部35、認証サーバ検証値生成部36、認証サーバ検証値暗号化部37、認証サーバ検証値復号部38、認証サーバ検証部39、共通鍵記憶部41及び分散値記憶部42を含む。第三実施形態に係る認証サーバ9では、さらに、乱数分散値復号部47及びゼロ分散値復号部48を含む。
 図20、21を参照して、第三実施形態に係るマルチパーティセキュア認証方法の処理フローの一例を、実際に行われる手続きの順に従って説明する。
<<乱数生成フェーズ>>
 図20、21を参照して、第三実施形態に係る乱数生成フェーズの処理を説明する。
 図20に示すステップS111において、利用者端末7の乱数分散値生成部16は、n+1個の乱数r(W)、r(1),…,r(n)を生成する。
 ステップS112において、利用者端末7の乱数分散値生成部16は、各乱数r(W)、r(1),…,r(n)をそれぞれn個の分散値[r(W)]1,…,[r(W)]n、[r(1)]1,…,[r(1)]n,…,[r(n)]1,…,[r(n)]nへ分散する。つまり、乱数分散値生成部16は、以下の式(13)(14)の計算を行う。
Figure JPOXMLDOC01-appb-M000048
 ステップS113において、利用者端末7の乱数分散値暗号化部17は、i=1,…,nについて、利用者装置7とi番目の認証サーバ9iとの共通鍵を用いて、分散値[r(W)]i,[r(1)]i,…,[r(n)]iを暗号化した暗号文EncUS_i([r(W)]i,[r(1)]i,…,[r(n)]i)を得る。
 ステップS114において、利用者端末7の乱数分散値暗号化部17は、ステップS113で得たn個の暗号文EncUS_1([r(W)]1,[r(1)]1,…,[r(n)]1),…,EncUS_n([r(W)]n,[r(1)]n,…,[r(n)]n)を中間サーバ8へ送信する。
 ステップS211において、中間サーバ8の乱数分散値転送部27は、利用者端末7から受信したn個の暗号文EncUS_1([r(W)]1,[r(1)]1,…,[r(n)]1),…,EncUS_n([r(W)]n,[r(1)]n,…,[r(n)]n)を受信し、i=1,…,nについて、暗号文EncUS_i([r(W)]i,[r(1)]i,…,[r(n)]i)を認証サーバ9iへそれぞれ送信する。
 ステップS313において、認証サーバ9iの乱数分散値復号部47は、中間サーバ8から転送された暗号文EncUS_i([r(W)]i,[r(1)]i,…,[r(n)]i)を受信する。
 ステップS314において、認証サーバ9iの乱数分散値復号部47は、利用者端末7と認証サーバ9iとの共通鍵を用いて、中間サーバ8から受信した暗号文EncUS_i([r(W)]i,[r(1)]i,…,[r(n)]i)を復号してn+1個の分散値[r(W)]i,[r(1)]i,…,[r(n)]iを得る。分散値[r(W)]i,[r(1)]i,…,[r(n)]iは、分散値記憶部42へ記憶する。
 図21に示すステップS115において、利用者端末7のゼロ分散値生成部18は、復元すると0となるm+1組の分散値[0(W)]1,…,[0(W)]n、[0(1)]1,…,[0(1)]n,…,[0(m)]1,…,[0(m)]nを生成する。
 ステップS116において、利用者端末7のゼロ分散値暗号化部19は、i=1,…,nについて、利用者装置7とi番目の認証サーバ9iとの共通鍵を用いて、分散値[0(W)]i,[0(1)]i,…,[0(m)]iを暗号化した暗号文EncUS_i([0(W)]i,[0(1)]i,…,[0(m)]i)を得る。
 ステップS117において、利用者端末7のゼロ分散値暗号化部19は、ステップS116で得たn個の暗号文EncUS_1([0(W)]1,[0(1)]1,…,[0(m)]1),…,EncUS_n([0(W)]n,[0(1)]n,…,[0(m)]n)を中間サーバ8へ送信する。
 ステップS212において、中間サーバ8のゼロ分散値転送部28は、利用者端末7から受信したn個の暗号文EncUS_1([0(W)]1,[0(1)]1,…,[0(m)]1),…,EncUS_n([0(W)]n,[0(1)]n,…,[0(m)]n)を受信し、i=1,…,nについて、暗号文EncUS_i([0(W)]i,[0(1)]i,…,[0(m)]i)を認証サーバ9iへそれぞれ送信する。
 ステップS315において、認証サーバ9iのゼロ分散値復号部48は、中間サーバ8から転送された暗号文EncUS_i([0(W)]i,[0(1)]i,…,[0(m)]i)を受信する。
 ステップS316において、認証サーバ9iのゼロ分散値復号部48は、利用者端末7と認証サーバ9iとの共通鍵を用いて、中間サーバ8から受信した暗号文EncUS_i([0(W)]i,[0(1)]i,…,[0(m)]i)を復号してm+1個の分散値[0(W)]i,[0(1)]i,…,[0(m)]iを得る。分散値[0(W)]i,[0(1)]i,…,[0(m)]iは、分散値記憶部42へ記憶する。
 ステップS111からステップS316の処理は、第一実施形態のマルチパーティセキュア認証方法と同様に、ステップS101からステップS302の処理と並行して実行しても構わないし、独立して予め行なっておいても構わない。
[第四実施形態]
 第四実施形態のマルチパーティセキュア認証システムは、乱数生成フェーズの処理のみが上述の実施形態とは異なる。第四実施形態の構成方法は、第一実施形態から第三実施形態のマルチパーティセキュア認証システムへ適用することができる。
 以降の説明では、第一実施形態と相違する点を中心に説明し、第一実施形態と同様の部分については説明を省略する。
<<乱数生成フェーズ>>
 第四実施形態に係る乱数生成フェーズの処理を説明する。この実施形態では、n台の認証サーバ31,…,3nのうち任意のn?k+1台の組み合わせの集合を{b1,…,bB}とする。ただし、Bは次式で定義される。
Figure JPOXMLDOC01-appb-M000049
 n台の認証サーバ31,…,3nのうち任意のn?m+2台の組み合わせの集合を{c1,…,cC}とする。ただし、Cは次式で定義される。
Figure JPOXMLDOC01-appb-M000050
 n台の認証サーバ31,…,3nのうち任意のn?m+1台の組み合わせの集合を{d1,…,dD}とする。ただし、Dは次式で定義される。
Figure JPOXMLDOC01-appb-M000051
 図6に示すステップS311において、認証サーバ3iの乱数分散値生成部31は、乱数もしくは疑似乱数u(W) 1,…,u(W) Bを生成し、i∈bjについて{u(W) b_j}を持たせ、これを分散値[r(W)]iとする。乱数u(W) 1,…,u(W) Bは、利用者端末1が生成して各認証サーバ31,…,3nに送信してもよいし、認証サーバ31,…,3nが相互に生成して互いに送りあってもよいし、あらかじめ認証サーバ31,…,3nが保持していた疑似乱数のシードから生成してもよい。
 次に、認証サーバ3iの乱数分散値生成部31は、j=1,…,nについて、乱数もしくは疑似乱数u(j) 1,…,u(j) Bを生成し、j∈bhについて{u(j) b_h}を持たせ、これを分散値[r(j)]iとする。乱数u(j) 1,…,u(j) Bは、利用者端末1が生成して各認証サーバ31,…,3nに送信してもよいし、認証サーバ31,…,3nが相互に生成して互いに送りあってもよいし、あらかじめ認証サーバ31,…,3nが保持していた疑似乱数のシードから生成してもよい。
 生成した分散値[r(W)]i、[r(1)]i,…,[r(n)]iは、分散値記憶部42へ記憶する。
 図6に示すステップS312において、認証サーバ3iのゼロ分散値生成部32は、乱数もしくは疑似乱数u(W) 1,…,u(W) Cを生成し、i∈cjについて{u(W) c_j}を持たせ、以下の式(15)により、分散値[0(W)]iを計算する。
Figure JPOXMLDOC01-appb-M000052
ここで、δc_1,…,δc_Dは既知の定数である。
 次に、認証サーバ3iの乱数分散値生成部31は、j=1,…,mについて、乱数もしくは疑似乱数u(j) 1,…,u(j) Cを生成し、i∈chについて{u(j) c_h}を持たせ、以下の式(16)により、分散値[0(j)]iを計算する。
Figure JPOXMLDOC01-appb-M000053
 生成した分散値[0(W)]i、[0(1)]i,…,[0(m)]iは、分散値記憶部42へ記憶する。
[第五実施形態]
 第五実施形態のマルチパーティセキュア認証システムは、乱数生成フェーズの処理のみが上述の実施形態とは異なる。第四実施形態の構成方法は、第一実施形態から第三実施形態のマルチパーティセキュア認証システムへ適用することができる。
 以降の説明では、第一実施形態と相違する点を中心に説明し、第一実施形態と同様の部分については説明を省略する。
<<乱数生成フェーズ>>
 第五実施形態に係る乱数生成フェーズの処理を説明する。この実施形態の乱数生成フェーズでは、ステップS311の処理は第四実施形態と同様であり、ステップS312の処理のみが第四実施形態と異なる。
 ステップS312において、認証サーバ3iのゼロ分散値生成部32は、乱数もしくは疑似乱数u(W) 1,…,u(W) Cを生成し、i∈cjについて{u(W) c_j}を持たせ、以下の式(17)により、分散値[0(W)]iを計算する。
Figure JPOXMLDOC01-appb-M000054
ここで、fc_jは各u(W) c_j(1≦j≦C)に対しユニークな関数であり、fc_j(0)=1、fc_j(g)=0(gはcjに属さない)が成り立つ。
 次に、認証サーバ3iの乱数分散値生成部31は、j=1,…,mについて、乱数もしくは疑似乱数u(j) 1,…,u(j) Cを生成し、i∈chについて{u(j) c_h}を持たせ、以下の式(18)により、分散値[0(j)]iを計算する。
Figure JPOXMLDOC01-appb-M000055
[第六実施形態]
 第六実施形態のマルチパーティセキュア認証システムは、乱数生成フェーズの処理のみが上述の実施形態とは異なる。第四実施形態の構成方法は、第一実施形態から第三実施形態のマルチパーティセキュア認証システムへ適用することができる。
 以降の説明では、第一実施形態と相違する点を中心に説明し、第一実施形態と同様の部分については説明を省略する。
<<乱数生成フェーズ>>
 第五実施形態に係る乱数生成フェーズの処理を説明する。この実施形態の乱数生成フェーズでは、ステップS312の処理は第四実施形態と同様であり、ステップS311の処理のみが第四実施形態と異なる。
 ステップS311において、認証サーバ3iの乱数分散値生成部31は、乱数もしくは疑似乱数u(W) 1,…,u(W) Bを生成し、i∈bjについて{u(W) b_j}を持たせ、以下の式(19)により、分散値[r(W)]iを計算する。
Figure JPOXMLDOC01-appb-M000056
ここで、fb_jは各u(W) b_j(1≦j≦B)に対しユニークな関数であり、fb_j(0)=1、fb_j(g)=0(gはbjに属さない)が成り立つ。この手法については「Ronald Cramer, Ivan Damgard, and Yuval Ishai, “Share conversion, pseudorandom secret-sharing and applications to secure computation”, TCC, Vol. 3378 of Lecture Notes in Computer Science, pp. 342-362, 2005.(参考文献1)」に詳しく記載されている。
 次に、認証サーバ3iの乱数分散値生成部31は、j=1,…,mについて、乱数もしくは疑似乱数u(j) 1,…,u(j) Bを生成し、i∈bhについて{u(j) b_h}を持たせ、以下の式(20)により、分散値[r(j)]iを計算する。
Figure JPOXMLDOC01-appb-M000057
[第七実施形態]
 第七実施形態のマルチパーティセキュア認証システムは、乱数生成フェーズの処理のみが上述の実施形態とは異なる。第七実施形態の構成方法は、第一実施形態から第三実施形態のマルチパーティセキュア認証システムへ適用することができる。
 第七実施形態の乱数生成フェーズの処理内容は、ステップS311の処理内容が第六実施形態と同様であり、ステップS312の処理内容が第五実施形態と同様である。詳細な処理の手順は、上述の第六実施形態及び第五実施形態の説明を参照されたい。
[第八実施形態]
 第八実施形態のマルチパーティセキュア認証システムは、乱数生成フェーズの処理のみが上述の実施形態とは異なる。第八実施形態の構成方法は、第一実施形態から第三実施形態のマルチパーティセキュア認証システムへ適用することができる。
 以降の説明では、第一実施形態と相違する点を中心に説明し、第一実施形態と同様の部分については説明を省略する。
<<乱数生成フェーズ>>
 第八実施形態に係る乱数生成フェーズの処理を説明する。この実施形態では、n台の認証サーバ31,…,3nのうち、k≦q≦nであるような任意のq台が参加して行うものとする。以下では、a1,…,aqは1以上n以下の相異なるq個の整数である。
 図6に示すステップS311において、認証サーバ3a_iの乱数分散値生成部31は、乱数uiを生成し、乱数uiを(k,n)秘密分散を用いてn個の分散値[ui]1,…,[ui]nに分散する。乱数分散値生成部31は、j=1,…,qについて、分散値[ui]a_jをaj番目の認証サーバ3a_jとai番目の認証サーバ3a_iとの共通鍵を用いて暗号化した暗号文EncS_a_iS_a_j([ui]a_j)を得る。乱数分散値生成部31は、j=1,…,qについて、認証サーバ3a_jへ暗号文EncS_a_iS_a_j([ui]a_j)を送信する。
 次に、認証サーバ3a_iの乱数分散値生成部31は、q-1台の認証サーバ3a_j(j=1,…,q、aj≠ai)からq-1個の暗号文EncS_a_1S_a_i([u1]a_i),…,EncS_a_qS_a_i([uq]a_i)(ただし、EncS_a_iS_a_i([ui]a_i)を除く)を受信し、j=1,…,qについて、暗号文EncS_a_jS_a_i([uj]a_i)をaj番目の認証サーバ3a_jとai番目の認証サーバ3a_iとの共通鍵を用いて復号して分散値[uj]a_iを得る。結果として、乱数分散値生成部31は、自ら生成した分散値[ui]a_iと併せて、q個の分散値[u1]a_i,…,[uq]a_iを得ることになる。
 次に、認証サーバ3a_iの乱数分散値生成部31は、Aをq×(q-k+1)行列とし、[u1]a_i,…,[uq]a_iを列ベクトルuとみなし、ベクトルu’=Auを計算する。
 行列Aは、例えば、vandermonde行列もしくはHyper-Invertible行列を用いることができる。Hyper-Invertible行列についての詳細は「Zuzana Beerliova-Trubiniova and Martin Hirt, “Perfectly-secure mpc with linear communi-cation complexity”, TCC, Vol. 4948 of Lecture Notes in Computer Science, pp. 213-230, 2008」を参照されたい。
 次に、認証サーバ3a_iの乱数分散値生成部31は、ベクトルu’の各要素をそれぞれ[r(W)]a_i,[r(1)]a_i,…,[r(m)]a_iとみなす。なお、q?k+1<m+1のときは、ステップS311を最初から再度実行してベクトルu’を追加で生成し、m+1個の要素を得られるまで繰り返す。逆に、もし多かった場合は、次回の認証に使うように保管しておく。
 図6に示すステップS312において、認証サーバ3a_iのゼロ分散値生成部32は、乱数uiを生成し、乱数uiを(m-1,n)秘密分散を用いてn個の分散値[ui]1,…,[ui]nに分散する。乱数分散値生成部31は、j=1,…,qについて、分散値[ui]a_jをaj番目の認証サーバ3a_jとai番目の認証サーバ3a_iとの共通鍵を用いて暗号化した暗号文EncS_a_iS_a_j([ui]a_j)を得る。乱数分散値生成部31は、j=1,…,qについて、認証サーバ3a_jへ暗号文EncS_a_iS_a_j([ui]a_j)を送信する。
 次に、認証サーバ3a_iの乱数分散値生成部31は、q-1台の認証サーバ3a_j(j=1,…,q、aj≠ai)からq-1個の暗号文EncS_a_1S_a_i([u1]a_i),…,EncS_a_qS_a_i([uq]a_i)(ただし、EncS_a_iS_a_i([ui]a_i)を除く)を受信し、j=1,…,qについて、暗号文EncS_a_jS_a_i([uj]a_i)をaj番目の認証サーバ3a_jとai番目の認証サーバ3a_iとの共通鍵を用いて復号して分散値[uj]a_iを得る。結果として、乱数分散値生成部31は、自ら生成した分散値[ui]a_iと併せて、q個の分散値[u1]a_i,…,[uq]a_iを得ることになる。
 次に、認証サーバ3a_iの乱数分散値生成部31は、Aをq×(q-k+1)行列とし、[u1]a_i,…,[uq]a_iを列ベクトルuとみなし、ベクトルu’=Auを計算する。
 次に、認証サーバ3a_iの乱数分散値生成部31は、ベクトルu’の各要素にaiを乗じた値をそれぞれ[0(W)]a_i,[0(1)]a_i,…,[0(m)]a_iとみなす。なお、q?k+1<m+1のときは、ステップS312を最初から再度実行してベクトルu’を追加で生成し、m+1個の要素を得られるまで繰り返す。逆に、もし多かった場合は、次回の認証に使うように保管しておく。
[第九実施形態]
 第九実施形態のマルチパーティセキュア認証システムは、乱数更新フェーズの処理のみが上述の実施形態とは異なる。第九実施形態の構成方法は、第一実施形態から第三実施形態のマルチパーティセキュア認証システムへ適用することができる。
 第九実施形態の乱数更新フェーズの処理内容は、第四実施形態の乱数生成フェーズの処理内容と同様であるので、上述の第四実施形態の説明を参照されたい。
[第十実施形態]
 第十実施形態のマルチパーティセキュア認証システムは、乱数更新フェーズの処理のみが上述の実施形態とは異なる。第十実施形態の構成方法は、第一実施形態から第三実施形態のマルチパーティセキュア認証システムへ適用することができる。
 第十実施形態の乱数更新フェーズの処理内容は、第五実施形態の乱数生成フェーズの処理内容と同様であるので、上述の第四実施形態の説明を参照されたい。
[第十一実施形態]
 第十一実施形態のマルチパーティセキュア認証システムは、乱数更新フェーズの処理のみが上述の実施形態とは異なる。第十一実施形態の構成方法は、第一実施形態から第三実施形態のマルチパーティセキュア認証システムへ適用することができる。
 第十一実施形態の乱数更新フェーズの処理内容は、第六実施形態の乱数生成フェーズの処理内容と同様であるので、上述の第六実施形態の説明を参照されたい。
[第十二実施形態]
 第十二実施形態のマルチパーティセキュア認証システムは、乱数更新フェーズの処理のみが上述の実施形態とは異なる。第十二実施形態の構成方法は、第一実施形態から第三実施形態のマルチパーティセキュア認証システムへ適用することができる。
 第十二実施形態の乱数更新フェーズの処理内容は、第七実施形態の乱数生成フェーズの処理内容と同様であるので、上述の第六実施形態の説明を参照されたい。
[第十三実施形態]
 第十三実施形態のマルチパーティセキュア認証システムは、乱数更新フェーズの処理のみが上述の実施形態とは異なる。第十三実施形態の構成方法は、第一実施形態から第三実施形態のマルチパーティセキュア認証システムへ適用することができる。
 第十三実施形態の乱数更新フェーズの処理内容は、第八実施形態の乱数生成フェーズの処理内容と同様であるので、上述の第八実施形態の説明を参照されたい。
[変形例]
 上述の各実施形態では、マルチパーティセキュア認証システムが、利用者装置1、中間サーバ2及びn台の認証サーバ31,…,3nを含む構成を例に説明をしたが、中間サーバ2と1台の認証サーバ3を1台の中間認証サーバとして構成することも可能である。すなわち、マルチパーティセキュア認証システムは、例えば、利用者装置1と、n-1台の認証サーバ31,…,3n-1と、1台の中間認証サーバ3nとを含む構成とすることができる。
 中間認証サーバ3nは、中間サーバ2が備える構成部と、認証サーバ3が備える構成部とを併せ持つことで構成される。ただし、上述の実施形態において、中間サーバ2と認証サーバ3nとで送受信したデータは、メモリ102を介してサーバ内部で受け渡すことができるので、必ずしも暗号化する必要はない。具体的には、中間サーバ2と認証サーバ3nとの共通鍵により暗号化される中間サーバ検証値qa_n (W)を暗号化する必要がなくなる。そのため、中間認証サーバ3nは、中間サーバ検証値暗号化部35を備えなくともよい。また、中間認証サーバ3nでの検証は認証サーバ検証値で可能なため、中間サーバ検証値は必要なくなる。そのため、中間認証サーバ3nは、中間サーバ検証値生成部34、中間サーバ検証値暗号化部35、中間サーバ検証値復号部23及び中間サーバ検証部24を備えなくともよい。
 また、中間サーバ2と認証サーバ3nを1台の中間認証サーバ3nとして構成した場合には、中間サーバ2と各認証サーバ31,…,3nとの共通鍵を、認証サーバ3nと他の認証サーバ31,…,3n-1との共通鍵で併用できるため、システム全体での共通鍵の数をn個減らすことができる。
[応用例]
 この発明のマルチパーティセキュア認証技術は、パスワード認証を利用する様々な応用システムに適用することができる。
 例えば、ユーザがWebページを経由して、外部の第三者による情報システムのサービスを受ける際に、各サービスプロバイダを認証サーバとして第一実施形態または第二実施形態の認証を行ってから、各サービスは当該サービスをユーザに提供するように構成してもよい。なお、当該外部サービスは、複数のサーバが連携して行うサービスであってもよいし、それぞれの単一のサーバにより実施できるサービスであってもよい。
 また、例えば、第三実施形態のマルチパーティセキュア認証技術をシングルサインオンの方式として用いる応用例が考えられる。このように構成すれば、ユーザは各サーバのそれぞれのサービスを一つのパスワードで受けることができる。この発明を用いれば、シングルサインオンによる認証の過程における成りすましによる漏洩のリスクを低下させることができる。
 さらに、例えば、第三実施形態のマルチパーティセキュア認証技術を(k,n)秘密分散を用いたストレージサービスとする応用例が考えられる。(k,n)秘密分散とは、データをn個の分散値に分割する分割方法であって、そのうちいずれのk-1個の分散値だけでは元のデータの情報を一切得ることができないが、任意のk個の分散値があれば元のデータを完全に復元することができる秘密分散方式である。(k,n)秘密分散を用いたストレージサービスでは、サーバが連携して行うサービスではあるがサーバ同士が直接通信する必要はない。この発明のマルチパーティセキュア認証技術もサーバ同士の通信が不要であるため、利点を十分に享受することが可能な応用例であると言える。
[発明の効果]
 この発明を用いることで、Webサーバなどの中間サーバを介していても、不正者がユーザになりすまして認証を成功させることはできない。不正者とは中間者やサーバであることも想定される。すなわちパスワードを中間者もサーバも知らないということを含む。
 また、この発明は、Webのサービスモデルが適用できることの他に、以下の四つの要件を実現している。
1.ユーザは複数のパスワードや煩わしい証明書のインストールが必要ないこと
2.中間者やサーバでさえ成りすましができないこと
3.サーバ間には通信路が不要であること
4.ユーザへのレスポンスまでの通信回数が最低限なことからインターネット環境でレスポンスタイムを最低限にできること
 上記1及び4の要件は自明である。上記2の要件は、サーバが単一主体のモデルでは、サーバは自分でデータを持っているため、わざわざ外部から認証を通って不正をするメリットが小さいが、サーバが複数ありそれぞれ異なるデータを持つ場合には、他サーバのもつデータを外部から閲覧することにメリットがある。特に秘密分散においては、データが二つ集まるとセキュリティの効力が失われるため、この問題は重大である。上記3の要件は、システム構築の際にお互いの間に通信路を持たないようなサーバ上であっても連携したサービスを展開できることを意味する。例えば、クラウドサービス上にアプリケーションプロバイダが適当な複数クラウドサービス上に自社サービスを展開できる。言い換えると、クラウドサービス同士が連携している必要がない。
 この発明では、上記1の要件のためにパスワードが一つであり、2の要件のためにサーバも中間者もパスワードを知ることができない秘密分散によってパスワードを保護している。なお、パスワードのハッシュ値などではサーバのローカルで辞書攻撃が可能なため不十分である。また、上記3及び4の要件のため、サーバ間通信を許せばよく知られた秘匿回路計算を用いればよく(上記3の要件に対応)、また通信回数を増やせば暗号化通信路を用いて中間者がいない場合と同等の設定とできる(上記4の要件に対応)ところを、中間者を経由した低通信回数の秘匿回路計算を専用に設計している。
[プログラム、記録媒体]
 この発明は上述の実施形態に限定されるものではなく、この発明の趣旨を逸脱しない範囲で適宜変更が可能であることはいうまでもない。上記実施例において説明した各種の処理は、記載の順に従って時系列に実行されるのみならず、処理を実行する装置の処理能力あるいは必要に応じて並列的にあるいは個別に実行されてもよい。
 また、上記実施形態で説明した各装置における各種の処理機能をコンピュータによって実現する場合、各装置が有すべき機能の処理内容はプログラムによって記述される。そして、このプログラムをコンピュータで実行することにより、上記各装置における各種の処理機能がコンピュータ上で実現される。
 この処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、例えば、磁気記録装置、光ディスク、光磁気記録媒体、半導体メモリ等どのようなものでもよい。
 また、このプログラムの流通は、例えば、そのプログラムを記録したDVD、CD-ROM等の可搬型記録媒体を販売、譲渡、貸与等することによって行う。さらに、このプログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することにより、このプログラムを流通させる構成としてもよい。
 このようなプログラムを実行するコンピュータは、例えば、まず、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、一旦、自己の記憶装置に格納する。そして、処理の実行時、このコンピュータは、自己の記録媒体に格納されたプログラムを読み取り、読み取ったプログラムに従った処理を実行する。また、このプログラムの別の実行形態として、コンピュータが可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することとしてもよく、さらに、このコンピュータにサーバコンピュータからプログラムが転送されるたびに、逐次、受け取ったプログラムに従った処理を実行することとしてもよい。また、サーバコンピュータから、このコンピュータへのプログラムの転送は行わず、その実行指示と結果取得のみによって処理機能を実現する、いわゆるASP(Application Service Provider)型のサービスによって、上述の処理を実行する構成としてもよい。なお、本形態におけるプログラムには、電子計算機による処理の用に供する情報であってプログラムに準ずるもの(コンピュータに対する直接の指令ではないがコンピュータの処理を規定する性質を有するデータ等)を含むものとする。
 また、この形態では、コンピュータ上で所定のプログラムを実行させることにより、本装置を構成することとしたが、これらの処理内容の少なくとも一部をハードウェア的に実現することとしてもよい。

Claims (10)

  1.  n≧3であり、2k-1≦nであり、k≦mであり、m≦nであり、a1,…,amは1以上n以下の相異なるm個の整数であり、(k,n)秘密分散はn個の分散値のうちk個以上あれば復元することができる秘密分散であり、[r(W)]1,…,[r(W)]nは復元すると乱数r(W)となる(k,n)秘密分散による分散値であり、[r(i)]1,…,[r(i)]n(i=1,…,n)は復元すると乱数r(i)となる(k,n)秘密分散による分散値であり、[0(W)]1,…,[0(W)]nは復元すると0となる(k,n)秘密分散による分散値であり、[0(a_i)]1,…,[0(a_i)]n(i=1,…,m)は復元すると0となる(k,n)秘密分散による分散値であり、
     利用者装置、中間サーバ及びn台の認証サーバを含むマルチパーティセキュア認証システムであって、
     上記利用者装置は、
      入力されたパスワードw'をn個の分散値[w']1,…,[w']nに分散するパスワード分散部と、
      i=1,…,nについて、上記利用者装置とi番目の上記認証サーバとの共通鍵を用いて、分散値[w']iを暗号化した暗号文EncUS_i([w']i)を得るパスワード分散値暗号化部と、
     を含み、
     上記中間サーバは、
      i=1,…,nについて、上記利用者装置から受信した上記暗号文EncUS_i([w']i)をi番目の上記認証サーバへ送信するパスワード分散値転送部と、
      i=1,…,mについて、上記中間サーバとai番目の上記認証サーバとの共通鍵を用いて、ai番目の上記認証サーバから受信した暗号文EncWS_a_i(qa_i (W))を復号して検証値qa_i (W)を得る中間サーバ検証値復号部と、
      上記検証値qa_1 (W),…,qa_m (W)の総和が0と等しいか否かを検証する中間サーバ検証部と、
     を含み、
     上記認証サーバは、
      パスワードwをn個に分散した分散値[w]1,…,[w]nのうちi番目の分散値[w]i、i番目の上記分散値[r(W)]i、それぞれi番目の上記分散値[r(1)]i,…,[r(n)]iを記憶する分散値記憶部と、
      上記利用者端末と当該認証サーバとの共通鍵を用いて、上記中間サーバから受信した上記暗号文EncUS_i([w']i)を復号して上記分散値[w']iを得るパスワード分散値復号部と、
     λa_i (W)(i∈1,…,m)は次式を満たす定数であり、
    Figure JPOXMLDOC01-appb-M000001

     ^λa_i (W)(i∈1,…,m)は次式を満たす定数であり、
    Figure JPOXMLDOC01-appb-M000002

     λa_i (j)(i∈1,…,m)は次式を満たす定数であり、
    Figure JPOXMLDOC01-appb-M000003

     ^λa_i (j)(i∈1,…,m)は次式を満たす定数であり、
    Figure JPOXMLDOC01-appb-M000004

      次式により検証値qa_i (W)を求める中間サーバ検証値生成部と、
    Figure JPOXMLDOC01-appb-M000005

      上記中間サーバと当該認証サーバとの共通鍵を用いて、上記検証値qa_i (W)を暗号化した上記暗号文EncWS_a_i(qa_i (W))を得る中間サーバ検証値暗号化部と、
      j=1,…,mについて、次式により検証値qa_i (a_j)を求める認証サーバ検証値生成部と、
    Figure JPOXMLDOC01-appb-M000006

      j=1,…,mについて、aj番目の上記認証サーバと当該認証サーバとの共通鍵を用いて、上記検証値qa_i (a_j)を暗号化した暗号文EncS_a_iS_a_j(qa_i (a_j))を得る認証サーバ検証値暗号化部と、
      j=1,…,mについて、aj番目の上記認証サーバと当該認証サーバとの共通鍵を用いて、aj番目の上記認証サーバから受信した暗号文EncS_a_iS_a_j(qa_j (a_i))を復号して上記検証値qa_j (a_i)を得る認証サーバ検証値復号部と、
      上記検証値qa_1 (a_i),…,qa_m (a_i)の総和が0と等しいか否かを検証する認証サーバ検証部と、
     を含むマルチパーティセキュア認証システム。
  2.  請求項1に記載のマルチパーティセキュア認証システムであって、
     上記認証サーバは、
      乱数ta_iを生成する乱数生成部と、
      上記利用者端末と当該認証サーバとの共通鍵を用いて、上記乱数ta_iを暗号化した暗号文EncUS_a_i(ta_i)を得る乱数暗号化部と、
      上記中間サーバから受信した暗号文EncUS_a_i(ta_i,[w']a_i)を復号して得た乱数ta_iが、上記乱数生成部により生成された上記乱数ta_iと等しいか否かを検証する乱数検証部と、
     をさらに含み、
     上記中間サーバは、
      j=1,…,mについて、aj番目の認証サーバから受信した上記暗号文EncUS_a_j(ta_j)を上記利用者装置へ送信する乱数転送部
     をさらに含み、
     上記利用者端末は、
      i=1,…,mについて、当該利用者端末とai番目の認証サーバとの共通鍵を用いて、上記中間サーバから受信した上記暗号文EncUS_a_i(ta_i)を復号し上記乱数ta_iを得る乱数復号部
     をさらに含み、
     上記パスワード暗号化部は、
      i=1,…,nについて、上記利用者装置とi番目の上記認証サーバとの共通鍵を用いて、分散値[w']iを上記乱数ta_iと共に暗号化した暗号文EncUS_a_i(ta_i,[w']a_i)を得る
     マルチパーティセキュア認証システム。
  3.  請求項1または2に記載のマルチパーティセキュア認証システムであって、
     上記認証サーバは、
      上記分散値[r(W)]i,[r(1)]i,…,[r(n)]iを生成する乱数分散値生成部と、
      上記分散値[0(W)]i,[0(a_1)]i,…,[r(a_m)]iを生成するゼロ分散値生成部と、
     をさらに含むマルチパーティセキュア認証システム。
  4.  請求項1または2に記載のマルチパーティセキュア認証システムであって、
     上記利用者装置は、
      上記乱数r(W),r(1),…,r(n)を生成し、上記乱数r(W),r(1),…,r(n)それぞれをn個に分散して上記分散値[r(W)]1,…,[r(W)]n及び上記分散値[r(i)]1,…,[r(i)]n(i=1,…,n)を生成する乱数分散値生成部と、
      i=1,…,nについて、上記利用者装置とi番目の上記認証サーバとの共通鍵を用いて、分散値[r(W)]i,[r(i)]i,…,[r(n)]iを暗号化した暗号文EncUS_i([r(W)]i,[r(i)]i,…,[r(n)]i)を得る乱数分散値暗号化部と、
      上記分散値[0(W)]1,…,[0(W)]n及び上記分散値[0(a_i)]1,…,[0(a_i)]n(i=1,…,m)を生成するゼロ分散値生成部と、
      i=1,…,mについて、上記利用者装置とai番目の上記認証サーバとの共通鍵を用いて、分散値[0(W)]i,[0(1)]i,…,[0(m)]iを暗号化した暗号文EncUS_i([0(W)]i,[0(a_1)]i,…,[0(a_m)]i)を得る乱数分散値暗号化部と、
     をさらに含み、
     上記中間サーバは、
      i=1,…,nについて、上記利用者装置から受信した上記暗号文EncUS_i([r(W)]i,[r(i)]i,…,[r(n)]i)をi番目の上記認証サーバへ送信する乱数分散値転送部と、
      i=1,…,nについて、上記利用者装置から受信した上記暗号文EncUS_i([0(W)]i,[0(a_1)]i,…,[0(a_m)]i)をi番目の上記認証サーバへ送信するゼロ分散値転送部と、
     を含むマルチパーティセキュア認証システム。
  5.  n≧3であり、2k-1≦nであり、k≦mであり、m≦nであり、a1,…,amはam=nかつそれぞれ1以上n以下の相異なるm個の整数であり、(k,n)秘密分散はn個の分散値のうちk個以上あれば復元することができる秘密分散であり、[r(i)]1,…,[r(i)]n(i=1,…,n)は復元すると乱数r(i)となる(k,n)秘密分散による分散値であり、[0(a_i)]1,…,[0(a_i)]n(i=1,…,m)は復元すると0となる(k,n)秘密分散による分散値であり、
     λa_i (j)(i∈1,…,m)は次式を満たす定数であり、
    Figure JPOXMLDOC01-appb-M000007

     ^λa_i (j)(i∈1,…,m)は次式を満たす定数であり、
    Figure JPOXMLDOC01-appb-M000008

     利用者装置、中間認証サーバ及びn-1台の認証サーバを含むマルチパーティセキュア認証システムであって、
     上記利用者装置は、
      入力されたパスワードw'をn個の分散値[w']1,…,[w']nに分散するパスワード分散部と、
      i=1,…,n-1について、上記利用者装置とi番目の上記認証サーバとの共通鍵を用いて、分散値[w']iを暗号化した暗号文EncUS_i([w']i)を得、上記利用者装置と上記中間認証サーバとの共通鍵を用いて、分散値[w']nを暗号化した暗号文EncUS_n([w']n)を得るパスワード分散値暗号化部と、
     を含み、
     上記中間認証サーバは、
      パスワードwをn個に分散した分散値[w]1,…,[w]nのうちn番目の分散値[w]n、それぞれn番目の上記分散値[r(1)]n,…,[r(n)]nを記憶する分散値記憶部と、
      i=1,…,n-1について、上記利用者装置から受信した上記暗号文EncUS_i([w']i)をi番目の上記認証サーバへ送信するパスワード分散値転送部と、
      上記利用者端末と当該中間認証サーバとの共通鍵を用いて、上記暗号文EncUS_n([w']n)を復号して上記分散値[w']nを得るパスワード分散値復号部と、
      j=1,…,mについて、次式により検証値qa_m (a_j)を求める認証サーバ検証値生成部と、
    Figure JPOXMLDOC01-appb-M000009

      j=1,…,m-1について、aj番目の上記認証サーバと当該中間認証サーバとの共通鍵を用いて、上記検証値qa_m (a_j)を暗号化した暗号文EncS_a_mS_a_j(qa_m (a_j))を得る認証サーバ検証値暗号化部と、
      j=1,…,m-1について、aj番目の上記認証サーバと当該中間認証サーバとの共通鍵を用いて、aj番目の上記認証サーバから受信した暗号文EncS_a_mS_a_j(qa_j (a_m))を復号して上記検証値qa_j (a_m)を得る認証サーバ検証値復号部と、
      上記検証値qa_1 (a_m),…,qa_m (a_m)の総和が0と等しいか否かを検証する認証サーバ検証部と、
     を含み、
     上記認証サーバは、
      i番目の上記分散値[w]i、それぞれi番目の上記分散値[r(1)]i,…,[r(n)]iを記憶する分散値記憶部と、
      上記利用者端末と当該認証サーバとの共通鍵を用いて、上記中間認証サーバから受信した上記暗号文EncUS_i([w']i)を復号して上記分散値[w']iを得るパスワード分散値復号部と、
      j=1,…,mについて、次式により検証値qa_i (a_j)を求める認証サーバ検証値生成部と、
    Figure JPOXMLDOC01-appb-M000010

      j=1,…,mについて、aj番目の上記認証サーバおよびam番目の中間認証サーバと当該認証サーバとの共通鍵を用いて、上記検証値qa_i (a_j)を暗号化した暗号文EncS_a_iS_a_j(qa_i (a_j))を得る認証サーバ検証値暗号化部と、
      j=1,…,mについて、aj番目の上記認証サーバおよびam番目の中間認証サーバと当該認証サーバとの共通鍵を用いて、aj番目の上記認証サーバから受信した暗号文EncS_a_iS_a_j(qa_j (a_i))を復号して上記検証値qa_j (a_i)を得る認証サーバ検証値復号部と、
      上記検証値qa_1 (a_i),…,qa_m (a_i)の総和が0と等しいか否かを検証する認証サーバ検証部と、
     を含むマルチパーティセキュア認証システム。
  6.  n≧3であり、2k-1≦nであり、k≦mであり、m≦nであり、a1,…,amは1以上n以下の相異なるm個の整数であり、(k,n)秘密分散はn個の分散値のうちk個以上あれば復元することができる秘密分散であり、[r(W)]1,…,[r(W)]nは復元すると乱数r(W)となる(k,n)秘密分散による分散値であり、[r(i)]1,…,[r(i)]n(i=1,…,n)は復元すると乱数r(i)となる(k,n)秘密分散による分散値であり、[0(W)]1,…,[0(W)]nは復元すると0となる(k,n)秘密分散による分散値であり、[0(a_i)]1,…,[0(a_i)]n(i=1,…,m)は復元すると0となる(k,n)秘密分散による分散値であり、
     パスワードwをn個に分散した分散値[w]1,…,[w]nのうちi番目の分散値[w]i、i番目の上記分散値[r(W)]i、それぞれi番目の上記分散値[r(1)]i,…,[r(n)]iを記憶する分散値記憶部と、
     利用者端末と当該認証サーバとの共通鍵を用いて、中間サーバから受信した暗号文EncUS_i([w']i)を復号してパスワードw'をn個に分散した分散値[w']iを得るパスワード分散値復号部と、
     λa_i (W)(i∈1,…,m)は次式を満たす定数であり、
    Figure JPOXMLDOC01-appb-M000011

     ^λa_i (W)(i∈1,…,m)は次式を満たす定数であり、
    Figure JPOXMLDOC01-appb-M000012

     λa_i (j)(i∈1,…,m)は次式を満たす定数であり、
    Figure JPOXMLDOC01-appb-M000013

     ^λa_i (j)(i∈1,…,m)は次式を満たす定数であり、
    Figure JPOXMLDOC01-appb-M000014

     次式により検証値qa_i (W)を求める中間サーバ検証値生成部と、
    Figure JPOXMLDOC01-appb-M000015

     上記中間サーバと当該認証サーバとの共通鍵を用いて、上記検証値qa_i (W)を暗号化した暗号文EncWS_a_i(qa_i (W))を得る中間サーバ検証値暗号化部と、
     j=1,…,mについて、次式により検証値qa_i (a_j)を求める認証サーバ検証値生成部と、
    Figure JPOXMLDOC01-appb-M000016

     j=1,…,mについて、aj番目の認証サーバと当該認証サーバとの共通鍵を用いて、上記検証値qa_i (a_j)を暗号化した暗号文EncS_a_iS_a_j(qa_i (a_j))を得る認証サーバ検証値暗号化部と、
     j=1,…,mについて、aj番目の認証サーバと当該認証サーバとの共通鍵を用いて、aj番目の認証サーバから受信した暗号文EncS_a_iS_a_j(qa_j (a_i))を復号して上記検証値qa_j (a_i)を得る認証サーバ検証値復号部と、
     上記検証値qa_1 (a_i),…,qa_m (a_i)の総和が0と等しいか否かを検証する認証サーバ検証部と、
     を含む認証サーバ。
  7.  n≧3であり、2k-1≦nであり、k≦mであり、m≦nであり、a1,…,amは1以上n以下の相異なるm個の整数であり、
     i=1,…,nについて、利用者装置から受信した暗号文EncUS_i([w']i)をi番目の認証サーバへ送信するパスワード分散値転送部と、
     i=1,…,mについて、当該中間サーバとai番目の認証サーバとの共通鍵を用いて、ai番目の認証サーバから受信した暗号文EncWS_a_i(qa_i (W))を復号して検証値qa_i (W)を得る中間サーバ検証値復号部と、
     上記検証値qa_1 (W),…,qa_m (W)の総和が0と等しいか否かを検証する中間サーバ検証部と、
     を含む中間サーバ。
  8.  n≧3であり、2k-1≦nであり、k≦mであり、m≦nであり、a1,…,amは1以上n以下の相異なるm個の整数であり、(k,n)秘密分散はn個の分散値のうちk個以上あれば復元することができる秘密分散であり、[r(W)]1,…,[r(W)]nは復元すると乱数r(W)となる(k,n)秘密分散による分散値であり、[r(i)]1,…,[r(i)]n(i=1,…,n)は復元すると乱数r(i)となる(k,n)秘密分散による分散値であり、[0(W)]1,…,[0(W)]nは復元すると0となる(k,n)秘密分散による分散値であり、[0(a_i)]1,…,[0(a_i)]n(i=1,…,m)は復元すると0となる(k,n)秘密分散による分散値であり、
     利用者装置が、入力されたパスワードw'をn個の分散値[w']1,…,[w']nに分散するパスワード分散ステップと、
     上記利用者装置が、i=1,…,nについて、上記利用者装置とi番目の認証サーバとの共通鍵を用いて、分散値[w']iを暗号化した暗号文EncUS_i([w']i)を得るパスワード分散値暗号化ステップと、
     中間サーバが、i=1,…,nについて、上記利用者装置から受信した上記暗号文EncUS_i([w']i)をi番目の上記認証サーバへ送信するパスワード分散値転送ステップと、
     上記認証サーバが、上記利用者端末と当該認証サーバとの共通鍵を用いて、上記中間サーバから受信した上記暗号文EncUS_i([w']i)を復号して上記分散値[w']iを得るパスワード分散値復号ステップと、
     λa_i (W)(i∈1,…,m)は次式を満たす定数であり、
    Figure JPOXMLDOC01-appb-M000017

     ^λa_i (W)(i∈1,…,m)は次式を満たす定数であり、
    Figure JPOXMLDOC01-appb-M000018

     λa_i (j)(i∈1,…,m)は次式を満たす定数であり、
    Figure JPOXMLDOC01-appb-M000019

     ^λa_i (j)(i∈1,…,m)は次式を満たす定数であり、
    Figure JPOXMLDOC01-appb-M000020

     上記認証サーバが、次式により検証値qa_i (W)を求める中間サーバ検証値生成ステップと、
    Figure JPOXMLDOC01-appb-M000021

     上記認証サーバが、上記中間サーバと当該認証サーバとの共通鍵を用いて、上記検証値qa_i (W)を暗号化した暗号文EncWS_a_i(qa_i (W))を得る中間サーバ検証値暗号化ステップと、
     上記中間サーバが、i=1,…,mについて、上記中間サーバとai番目の上記認証サーバとの共通鍵を用いて、ai番目の上記認証サーバから受信した暗号文EncWS_a_i(qa_i (W))を復号して検証値qa_i (W)を得る中間サーバ検証値復号ステップと、
     上記中間サーバが、上記検証値qa_1 (W),…,qa_m (W)の総和が0と等しいか否かを検証する中間サーバ検証ステップと、
     上記認証サーバが、j=1,…,mについて、次式により検証値qa_i (a_j)を求める認証サーバ検証値生成ステップと、
    Figure JPOXMLDOC01-appb-M000022

     上記認証サーバが、j=1,…,mについて、aj番目の上記認証サーバと当該認証サーバとの共通鍵を用いて、上記検証値qa_i (a_j)を暗号化した暗号文EncS_a_iS_a_j(qa_i (a_j))を得る認証サーバ検証値暗号化ステップと、
     上記認証サーバが、j=1,…,mについて、aj番目の上記認証サーバと当該認証サーバとの共通鍵を用いて、aj番目の上記認証サーバから受信した暗号文EncS_a_iS_a_j(qa_j (a_i))を復号して上記検証値qa_j (a_i)を得る認証サーバ検証値復号ステップと、
     上記認証サーバが、上記検証値qa_1 (a_i),…,qa_m (a_i)の総和が0と等しいか否かを検証する認証サーバ検証ステップと、
     を含むマルチパーティセキュア認証方法。
  9.  n≧3であり、2k-1≦nであり、k≦mであり、m≦nであり、a1,…,amはam=nかつそれぞれ1以上n以下の相異なるm個の整数であり、(k,n)秘密分散はn個の分散値のうちk個以上あれば復元することができる秘密分散であり、[r(i)]1,…,[r(i)]n(i=1,…,n)は復元すると乱数r(i)となる(k,n)秘密分散による分散値であり、[0(a_i)]1,…,[0(a_i)]n(i=1,…,m)は復元すると0となる(k,n)秘密分散による分散値であり、
     λa_i (j)(i∈1,…,m)は次式を満たす定数であり、
    Figure JPOXMLDOC01-appb-M000023

     ^λa_i (j)(i∈1,…,m)は次式を満たす定数であり、
    Figure JPOXMLDOC01-appb-M000024

     利用者装置が、入力されたパスワードw'をn個の分散値[w']1,…,[w']nに分散するパスワード分散ステップと、
     上記利用者装置が、i=1,…,n-1について、上記利用者装置とi番目の認証サーバとの共通鍵を用いて、分散値[w']iを暗号化した暗号文EncUS_i([w']i)を得、上記利用者装置と中間認証サーバとの共通鍵を用いて、分散値[w']nを暗号化した暗号文EncUS_n([w']n)を得るパスワード分散値暗号化ステップと、
     上記中間認証サーバが、i=1,…,n-1について、上記利用者装置から受信した上記暗号文EncUS_i([w']i)をi番目の上記認証サーバへ送信するパスワード分散値転送ステップと、
     上記認証サーバが、上記利用者端末と当該認証サーバとの共通鍵を用いて、上記中間認証サーバから受信した上記暗号文EncUS_i([w']i)を復号して上記分散値[w']iを得る第一パスワード分散値復号ステップと、
     上記中間認証サーバが、上記利用者端末と当該中間認証サーバとの共通鍵を用いて、上記暗号文EncUS_n([w']n)を復号して上記分散値[w']nを得る第二パスワード分散値復号ステップと、
     上記認証サーバが、j=1,…,mについて、次式により検証値qa_i (a_j)を求める第一認証サーバ検証値生成ステップと、
    Figure JPOXMLDOC01-appb-M000025

     上記中間認証サーバが、j=1,…,mについて、次式により検証値qa_m (a_j)を求める第二認証サーバ検証値生成ステップと、
    Figure JPOXMLDOC01-appb-M000026

     上記認証サーバが、j=1,…,mについて、aj番目の上記認証サーバおよびam番目の中間認証サーバと当該認証サーバとの共通鍵を用いて、上記検証値qa_i (a_j)を暗号化した暗号文EncS_a_iS_a_j(qa_i (a_j))を得る第一認証サーバ検証値暗号化ステップと、
     上記中間認証サーバが、j=1,…,m-1について、aj番目の上記認証サーバと当該中間認証サーバとの共通鍵を用いて、上記検証値qa_m (a_j)を暗号化した暗号文EncS_a_mS_a_j(qa_m (a_j))を得る第二認証サーバ検証値暗号化ステップと、
     上記認証サーバが、j=1,…,mについて、aj番目の上記認証サーバおよびam番目の中間認証サーバと当該認証サーバとの共通鍵を用いて、aj番目の上記認証サーバから受信した暗号文EncS_a_iS_a_j(qa_j (a_i))を復号して上記検証値qa_j (a_i)を得る第一認証サーバ検証値復号ステップと、
     上記中間認証サーバが、j=1,…,m-1について、aj番目の上記認証サーバと当該中間認証サーバとの共通鍵を用いて、aj番目の上記認証サーバから受信した暗号文EncS_a_mS_a_j(qa_j (a_m))を復号して上記検証値qa_j (a_m)を得る第二認証サーバ検証値復号ステップと、
     上記認証サーバが、上記検証値qa_1 (a_i),…,qa_m (a_i)の総和が0と等しいか否かを検証する第一認証サーバ検証ステップと、
     上記中間認証サーバが、上記検証値qa_1 (a_m),…,qa_m (a_m)の総和が0と等しいか否かを検証する第二認証サーバ検証ステップと、
     を含むマルチパーティセキュア認証方法。
  10.  請求項6に記載の認証サーバまたは請求項7に記載の中間サーバとしてコンピュータを機能させるためのプログラム。
PCT/JP2014/071873 2013-08-22 2014-08-21 マルチパーティセキュア認証システム、認証サーバ、中間サーバ、マルチパーティセキュア認証方法及びプログラム WO2015025916A1 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
US14/910,808 US9992190B2 (en) 2013-08-22 2014-08-21 Multi-party secure authentication system, authentication server, intermediate server, multi-party secure authentication method, and program
JP2015532894A JP6040313B2 (ja) 2013-08-22 2014-08-21 マルチパーティセキュア認証システム、認証サーバ、マルチパーティセキュア認証方法及びプログラム
CN201480045247.3A CN105474575B (zh) 2013-08-22 2014-08-21 多方安全认证系统、认证服务器、中间服务器、多方安全认证方法以及程序
EP14838104.9A EP3021518B1 (en) 2013-08-22 2014-08-21 Multi-party secure authentication system, authentication server, intermediate server, multi-party secure authentication method, and program

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2013172032 2013-08-22
JP2013-172032 2013-08-22

Publications (1)

Publication Number Publication Date
WO2015025916A1 true WO2015025916A1 (ja) 2015-02-26

Family

ID=52483687

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2014/071873 WO2015025916A1 (ja) 2013-08-22 2014-08-21 マルチパーティセキュア認証システム、認証サーバ、中間サーバ、マルチパーティセキュア認証方法及びプログラム

Country Status (5)

Country Link
US (1) US9992190B2 (ja)
EP (1) EP3021518B1 (ja)
JP (1) JP6040313B2 (ja)
CN (1) CN105474575B (ja)
WO (1) WO2015025916A1 (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10091190B2 (en) 2015-12-11 2018-10-02 International Business Machines Corporation Server-assisted authentication
KR20210102291A (ko) * 2020-02-06 2021-08-19 구글 엘엘씨 암호화된 네트워크 값 집계
KR20210107750A (ko) * 2020-02-06 2021-09-01 구글 엘엘씨 다중 집계 서버를 사용하여 데이터 조작 방지

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101730757B1 (ko) 2013-04-12 2017-04-26 엔이씨 유럽 리미티드 사용자에 의해 디바이스에 액세스하기 위한 방법 및 시스템
US10795658B2 (en) * 2017-03-20 2020-10-06 Fujitsu Limited Updatable random functions
CN107888382B (zh) * 2017-11-24 2019-11-19 中钞信用卡产业发展有限公司杭州区块链技术研究院 一种基于区块链的数字身份验证的方法、装置和系统
CN109255247B (zh) * 2018-08-14 2020-08-14 阿里巴巴集团控股有限公司 多方安全计算方法及装置、电子设备
CN111914264A (zh) * 2019-05-08 2020-11-10 华控清交信息科技(北京)有限公司 索引创建方法及装置、数据验证方法及装置
CN111967038B (zh) * 2019-09-30 2023-12-15 华控清交信息科技(北京)有限公司 数据处理系统、方法、设备、编辑器及存储介质
CN112866247A (zh) * 2021-01-18 2021-05-28 杭州中网智慧科技有限公司 一种身份认证方法和装置

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3604737B2 (ja) * 1994-07-29 2004-12-22 キヤノン株式会社 複数の情報処理装置を有する通信システムにおける秘密情報処理方法及びその通信システム
EP0695056B1 (en) * 1994-07-29 2005-05-11 Canon Kabushiki Kaisha A method for sharing secret information, generating a digital signature, and performing certification in a communication system that has a plurality of information processing apparatuses and a communication system that employs such a method
JP2002543460A (ja) * 1999-04-27 2002-12-17 ミスチェンコ、ヴァレンティン・アレクサンドロヴィッチ 情報を暗号化する方法およびその方法を実現するための装置
US6959394B1 (en) * 2000-09-29 2005-10-25 Intel Corporation Splitting knowledge of a password
US9219708B2 (en) * 2001-03-22 2015-12-22 DialwareInc. Method and system for remotely authenticating identification devices
US20030221102A1 (en) * 2002-05-24 2003-11-27 Jakobsson Bjorn Markus Method and apparatus for performing multi-server threshold password-authenticated key exchange
CN1679066B (zh) * 2002-07-12 2011-08-31 塞弗奈特公司 加密密钥服务器
JP4389145B2 (ja) * 2002-07-30 2009-12-24 富士ゼロックス株式会社 クライアントサーバシステムおよびその装置
JP4292835B2 (ja) * 2003-03-13 2009-07-08 沖電気工業株式会社 秘密再構成方法、分散秘密再構成装置、及び秘密再構成システム
US20060149962A1 (en) * 2003-07-11 2006-07-06 Ingrian Networks, Inc. Network attached encryption
US8171101B2 (en) * 2005-09-30 2012-05-01 Cleversafe, Inc. Smart access to a dispersed data storage network
IL174619A (en) * 2006-03-29 2013-12-31 Nds Ltd Password protection
US20070266236A1 (en) * 2006-05-09 2007-11-15 Colditz Nathan Von Secure network and method of operation
GB2446199A (en) * 2006-12-01 2008-08-06 David Irvine Secure, decentralised and anonymous peer-to-peer network
CN101939946B (zh) 2008-01-07 2013-04-24 安全第一公司 使用多因素或密钥式分散对数据进行保护的系统和方法
JP2010061261A (ja) * 2008-09-02 2010-03-18 Fujitsu Ltd 認証システムおよび認証方法
US9270655B1 (en) * 2011-09-30 2016-02-23 Emc Corporation Configurable one-time authentication tokens with improved resilience to attacks
JP5814880B2 (ja) * 2012-07-31 2015-11-17 三菱電機株式会社 暗号システム、暗号方法、暗号プログラム及び復号装置

Non-Patent Citations (9)

* Cited by examiner, † Cited by third party
Title
ALI BAGHERZANDI; STANISLAW JARECKI; NITESH SAXENA; YANBIN LU: "Password-protected secret sharing", ACM CONFERENCE ON COMPUTER AND COMMUNICATIONS SECURITY, 2011, pages 433 - 444, XP058006072, DOI: doi:10.1145/2046707.2046758
GENBU MOROHASHI ET AL.: "Jitsuyoteki na Himitsu Bunsan/ Multi Party Keisan System no Tameno Ninsho Hoshiki", 2013 NEN SYMPOSIUM ON CRYPTOGRAPHY AND INFORMATION SECURITY, 22 January 2013 (2013-01-22), pages 3C1 - 2, XP008183366 *
J. CAMENISCH ET AL.: "Practical Yet Universally Composable Two-Server Password-Authenticated Secret Sharing", CRYPTOLOGY EPRINT ARCHIVE, December 2012 (2012-12-01), XP061007071, Retrieved from the Internet <URL:http://eprint.iacr.org/2012/717/20121227:172803> [retrieved on 20141031] *
JAN CAMENISCH; ANNA LYSYANSKAYA; GREGORY NEVEN: "Practical yet universally composable two-server password-authenticated secret sharing", ACM CONFERENCE ON COMPUTER AND COMMUNICATIONS SECURITY, 2012, pages 525 - 536
RONALD CRAMER; IVAN DAMGARD; YUVAL ISHAI: "Share conversion, pseudorandom secret-sharing and applications to secure computation", TCC, vol. 3378, 2005, pages 342 - 362, XP047029379
RYO KIKUCHI ET AL.: "Unconditionally Secure Password-Based Authentication for Multiparty Systems", COMPUTER SECURITY SYMPOSIUM 2013 RONBUNSHU, 14 October 2013 (2013-10-14), pages 435 - 442, XP055308461 *
WAKAHA OGATA ET AL.: "Joho Rironteki ni Anzen na Password Tsuki Himitsu Bunsanho no Anzensei to Koritsuka", 2013 NEN SYMPOSIUM ON CRYPTOGRAPHY AND INFORMATION SECURITY, 22 January 2013 (2013-01-22), pages 1F1 - 2, XP008183365 *
WAKAHA OGATA: "Improvement of IT-secure password-protected secret sharing", SCIS, 2013
ZUZANA BEERLIOVA-TRUBINIOVA; MARTIN HIRT: "Perfectly-secure mpc with linear communication complexity", TCC, vol. 4948, 2008, pages 213 - 230, XP047029740, DOI: doi:10.1007/978-3-540-78524-8_13

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10091190B2 (en) 2015-12-11 2018-10-02 International Business Machines Corporation Server-assisted authentication
KR20210102291A (ko) * 2020-02-06 2021-08-19 구글 엘엘씨 암호화된 네트워크 값 집계
KR20210107750A (ko) * 2020-02-06 2021-09-01 구글 엘엘씨 다중 집계 서버를 사용하여 데이터 조작 방지
KR102582514B1 (ko) 2020-02-06 2023-09-26 구글 엘엘씨 암호화된 네트워크 값 집계
KR102588555B1 (ko) 2020-02-06 2023-10-12 구글 엘엘씨 다중 집계 서버를 사용하여 데이터 조작 방지
US11917078B2 (en) 2020-02-06 2024-02-27 Google Llc Preventing data manipulation using multiple aggregation servers
US12021972B2 (en) 2020-02-06 2024-06-25 Google Llc Aggregating encrypted network values

Also Published As

Publication number Publication date
US20160197906A1 (en) 2016-07-07
CN105474575B (zh) 2018-12-14
JPWO2015025916A1 (ja) 2017-03-02
EP3021518A4 (en) 2017-03-15
EP3021518A1 (en) 2016-05-18
JP6040313B2 (ja) 2016-12-07
CN105474575A (zh) 2016-04-06
EP3021518B1 (en) 2018-04-18
US9992190B2 (en) 2018-06-05

Similar Documents

Publication Publication Date Title
JP6040313B2 (ja) マルチパーティセキュア認証システム、認証サーバ、マルチパーティセキュア認証方法及びプログラム
CN101981890B (zh) 安全工作组管理和通信的系统和方法
US7690026B2 (en) Distributed single sign-on service
JP6321049B2 (ja) 秘密計算方法、秘密計算システム
US10187373B1 (en) Hierarchical, deterministic, one-time login tokens
KR101982237B1 (ko) 클라우드 컴퓨팅 환경에서의 속성 기반 암호화를 이용한 데이터 공유 방법 및 시스템
US10887110B2 (en) Method for digital signing with multiple devices operating multiparty computation with a split key
JP2023500570A (ja) コールドウォレットを用いたデジタルシグニチャ生成
US10187360B2 (en) Method, system, server, client, and application for sharing digital content between communication devices within an internet network
Tiwari et al. ACDAS: Authenticated controlled data access and sharing scheme for cloud storage
Khan et al. A brief review on cloud computing authentication frameworks
WO2016199507A1 (ja) 鍵交換方法、鍵交換システム、鍵配送装置、通信装置、およびプログラム
KR102269753B1 (ko) 컨소시엄 블록체인 네트워크에서의 프라이빗 키를 백업 및 복원하는 방법 및 장치
Srisakthi et al. Towards the design of a secure and fault tolerant cloud storage in a multi-cloud environment
Esiner et al. Layered security for storage at the edge: On decentralized multi-factor access control
Yasmin et al. Decentralized Entrance Power with Secret Endorsement of Data Stored in Clouds
KR20210020851A (ko) 컨소시엄 블록체인 네트워크에서의 프라이빗 키를 백업 및 복원하는 방법 및 장치
KR20210127063A (ko) 분산 서비스 환경에서의 사용자 개인키 백업 및 복원 프레임워크
CN116318647B (zh) 一种具有同态特性的cp-abe外包解密方法和装置
Tbatou et al. A Novel Architecture of a Strong and Mutual Authentication Protocol for Distributed Systems.
Wu et al. A lightweight authentication and key agreement scheme for mobile satellite communication systems
Krishna et al. SSH-DAuth: secret sharing based decentralized OAuth using decentralized identifier
Danda et al. SSH-DAuth: Secret Sharing based Decentralized OAuth using Decentralized Identifier
Vijayan et al. Review on Fuzzy Authorization for Cloud Storage
Ahammad et al. Key based secured cryptosystems used for online data sharing on the cloud

Legal Events

Date Code Title Description
WWE Wipo information: entry into national phase

Ref document number: 201480045247.3

Country of ref document: CN

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

Ref document number: 14838104

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2015532894

Country of ref document: JP

Kind code of ref document: A

WWE Wipo information: entry into national phase

Ref document number: 14910808

Country of ref document: US

WWE Wipo information: entry into national phase

Ref document number: 2014838104

Country of ref document: EP

NENP Non-entry into the national phase

Ref country code: DE