This invention relates to a technique for a plurality of servers to simultaneously authenticate a user securely in authentication on a network.
As a technique for a user to be securely authenticated simultaneously by each server when the user receives a service in which a plurality of servers are involved, techniques described in Non-patent literatures 1 to 3 are known (see, for example, Non-patent literatures 1 to 3). The techniques described in Non-patent literatures 1 to 3 are authentication techniques in a secure storage service, in which a user sets a password, and data is dispersed and stored in a plurality of servers by a secure method called secret sharing. If a password inputted at the time of authentication is correct, the user can reconstruct correct data. If the password is wrong, the user fails in reconstruction.
In prior-art techniques, however, it is assumed that a user is directly connected to a storage server, and it is not possible to ensure security in the case where an intermediate server as a gateway exists like a Web server in a Web service and the like. Further, there is also a problem that the prior-art techniques cannot be applied to services other than a storage service.
An object of the present invention is to provide a multi-party secure authentication technique capable of ensuring security even in the case where an intermediate server exists.
In order to solve the above problem, a multi-party secure authentication method of a first aspect of this invention comprises a password dispersing step, a dispersed password value encrypting step, a dispersed password value transferring step, a dispersed password value decrypting step, an intermediate server's verification value generating step, an intermediate server's verification value encrypting step, an intermediate server's verification value decrypting step, an intermediate server's verifying step, an authentication server's verification value generating step, an authentication server's verification value encrypting step, an authentication server's verification value decrypting step and an authentication server's verifying step.
It is assumed below that: n≥3 is satisfied; 2k−1≤n is satisfied; k≤m is satisfied; m≤n is satisfied; a1, . . . , am are m different integers each of which is equal to or larger than 1 and equal to or smaller than n; (k, n) secret sharing is secret sharing in which reconstruction is possible if there are k or more dispersed values among n dispersed values; [r(W)]1, . . . , [r(W)]n are such dispersed values by the (k, n) secret sharing that a random number r(W) is obtained when [r(W)]1, . . . , [r(W)]n are reconstructed; [r(i)]1, . . . , [r(i)]n (i=1, . . . , n) are such dispersed values by the (k, n) secret sharing that a random number r(i) is obtained when [r(i)]1, . . . , [r(i)]n are reconstructed; [0(W)]1, . . . , [0(W)]n are such dispersed values by the (k, n) secret sharing that 0 is obtained when [0(W)]1, . . . , [0(W)]n are reconstructed; and [0(a_i)]1, . . . , [0(a_i)]n (i=1, . . . , m) are such dispersed value by the (k, n) secret sharing that 0 is obtained when [0(a_i)]1, . . . , [0(a_i)] are reconstructed.
At the password dispersing step, a user apparatus disperses an inputted password w′ into n dispersed values [w′]1, . . . , [w′]n. At the dispersed password value encrypting step, the user apparatus obtains a ciphertext EncUS_i([w′]i), which is obtained by encrypting a dispersed value [w′]i, using a common key between the user apparatus and an i-th authentication server, for i=1, . . . , n. At the dispersed password value transferring step, an intermediate server transmits the ciphertext EncUS_i([w′]i) received from the user apparatus to the i-th authentication server, for i=1, . . . , n. At the dispersed password value decrypting step, the authentication server decrypts the ciphertext EncUS_i([w′]i) received from the intermediate server to obtain the dispersed value [w′]i, using a common key between the user apparatus and the authentication server. At the intermediate server's verification value generating step, on the assumption that: λa_i(W) (i∈1, . . . , m) indicates a constant satisfying the following formula:
^λa_i(W) (i∈1, . . . , m) indicates a constant satisfying the following formula:
λa_i(j)(i∈1, . . . , m) indicates a constant satisfying the following formula:
and ^λa_i(j)(i∈1, . . . , m) indicates a constant satisfying the following formula:
the authentication server determines a verification value qa_i(W) by the following formula:
qa
At the intermediate server's verification value encrypting step, the authentication server obtains a ciphertext EncWS_a_i(qa_i(W)), which is obtained by encrypting the verification value qa_i(W), using a common key between the intermediate server and the authentication server. At the intermediate server's verification value decrypting step, the intermediate server decrypts the ciphertext EncWS_a_i(qa_i(W)) received from an ai-th one of the authentication servers to obtain a verification value qa_i(W), using a common key between the intermediate server and the ai-th authentication server, for i=1, . . . , m. At the intermediate server's verifying step, the intermediate server verifies whether a sum total of the verification values qa_1(W), . . . , qa_m(W) is equal to 0 or not. At the authentication server's verification value generating step, the authentication server determines a verification value qa_i(a_j), for j=1, . . . , m, by the following formula:
qa
At the authentication server's verification value encrypting step, the authentication server obtains a ciphertext EncS_a_iS_a_j(qa_i(a_j)), which is obtained by encrypting the verification value qa_i(a_j), using a common key between an aj-th one of the authentication servers and the authentication server, for j=1, . . . , m. At the authentication server's verification value decrypting step, the authentication server decrypts the ciphertext EncS_a_iS_a_j(qa_j(a_i)) received from the aj-th authentication server to obtain the verification value qa_j(a_i), using the common key between the aj-th authentication server and the authentication server, for j=1, . . . , m. At the authentication server's verifying step, the authentication server verifies whether a sum total of the verification values qa_1(W), . . . , qa_m(W) is equal to 0 or not.
A multi-party secure authentication method of a second aspect of this invention comprises a password dispersing step, a dispersed password value encrypting step, a dispersed password value transferring step, a first dispersed password value decrypting step, a second dispersed password value decrypting step, a first authentication server's verification value generating step, a second authentication server's verification value generating step, a first authentication server's verification value encrypting step, a second authentication server's verification value encrypting step, a first authentication server's verification value decrypting step, a second authentication server's verification value decrypting step, a first authentication server's verifying step, and a second authentication server's verifying step.
It is assumed below that: n≥3 is satisfied; 2k−1≤n is satisfied; k≤m is satisfied; m≤n is satisfied; a1, . . . , am are m different integers each of which is equal to or larger than 1 and equal to or smaller than n, where am=n is satisfied; (k, n) secret sharing is secret sharing in which reconstruction is possible if there are k or more dispersed values among n dispersed values; [r(i)]1, . . . , [r(i)]n (i=1, . . . , n) are such dispersed values by the (k, n) secret sharing that a random number r(i) is obtained when [r(i)]1, . . . , [r(i)]n are reconstructed; and [0(a_i)]1, . . . , [0(a_i)]n (i=1, . . . , m) are such dispersed values by the (k, n) secret sharing that 0 is obtained when [0(a_i)]1, . . . , [0(a_i)]n are reconstructed;
λa_i(j)(i∈1, . . . , m) indicates a constant satisfying the following formula:
and ^λa_i(j)(i∈1, . . . , m) indicates a constant satisfying the following formula:
At the password dispersing step, a user apparatus disperses an inputted password w′ into n dispersed values [w′]1, . . . , [w′]n. At the dispersed password value encrypting step, the user apparatus obtains a ciphertext EncUS_i([w′]i), which is obtained by encrypting a dispersed value [w′]i, using a common key between the user apparatus and an i-th authentication server, and obtains a ciphertext EncUS_n([w′]n), which is obtained by encrypting a dispersed value [w′]n, using a common key between the user apparatus and an intermediate authentication server, for i=1, . . . , n−1. At the dispersed password value transferring step, an intermediate authentication server transmits the ciphertext EncUS_i([w′]i) received from the user apparatus to the i-th authentication server, for i=1, . . . , n−1. At the first dispersed password value decrypting step, the authentication server decrypts the ciphertext EncUS_i([w′]i) received from the intermediate authentication server to obtain the dispersed value [w′]i, using a common key between the user apparatus and the authentication server. At the second dispersed password value decrypting step, the intermediate authentication server decrypts the ciphertext EncUS_n([w′]n) to obtain the dispersed value [w′]i, using a common key between the user apparatus and the intermediate authentication server. At the first authentication server's verification value generating step, the authentication server determines a verification value qa_i(a_j), for j=1, . . . , m, by the following formula:
qa
At the second authentication server's verification value generating step, the intermediate authentication server determines a verification value qa_m(a_j), for j=1, . . . , m, by the following formula:
qa
At the first authentication server's verification value encrypting step, the authentication server obtains a ciphertext EncS_a_iS_a_j(qa_i(a_j)), which is obtained by encrypting the verification value qa_i(a_j), using a common key between an aj-th one of the authentication servers or the intermediate authentication server, and the authentication server, for j=1, . . . , m. At the second authentication server's verification value encrypting step, the intermediate authentication server obtains a ciphertext EncS_a_mS_a_j(qa_m(a_j)), which is obtained by encrypting the verification value qa_m(a_j), using a common key between the aj-th authentication server and the intermediate authentication server, for j=1, . . . , m−1. At the first authentication server's verification value decrypting step, the authentication server decrypts a ciphertext EncS_a_iS_a_j(qa_j(a_i)) received from the aj-th authentication server to obtain the verification value qa_j(a_i), using the common key between the aj-th authentication server or the intermediate authentication server, and the authentication server, for j=1, . . . , m. At the second authentication server's verification value decrypting step, the intermediate authentication server decrypts the ciphertext EncS_a_mS_a_j(qa_j(a_m)) received from the aj-th authentication server to obtain the verification value qa_j(a_m), using the common key between the aj-th authentication server and the intermediate authentication server, for j=1, . . . , m. At the first authentication server's verifying step, the authentication server verifies whether a sum total of the verification values qa_1(a_i), . . . , qa_m(a_i) is equal to 0 or not. At the second authentication server's verifying step, the intermediate authentication server verifies whether a sum total of the verification values qa_1(a_m), . . . , qa_m(a_m) is equal to 0 or not.
According to this invention, even when an intermediate server exists, a plurality of servers can simultaneously authenticate a user securely.
Embodiments of the present invention will be described in detail below. In the drawings, the same reference numerals will be given to components having the same function, and repeated description will be omitted.
[Way of Notation]
Prior to description of the embodiments, the way of notation and terms used in this specification will be defined.
[Basic Way of Thinking]
A basic way of thinking about the multi-party secure authentication technique of this invention will be described.
Dramatis personae appearing through the whole technique are a user apparatus 1, an intermediate server 2 and n authentication servers 31, . . . , 3n, where n is an integer equal to or larger than 3.
First, it is registered with the group of the authentication servers 31, . . . , 3n that a password of the user apparatus 1 which uses a system is w. The user also generates some random numbers to be used together with the password at the time of performing authentication, and transmits the random numbers to the authentication servers 31, . . . , 3n, respectively. At this time, dispersed values and the like to be transmitted are encrypted with a common key between the user apparatus 1 and each of the authentication servers 31, . . . , 3n so that the intermediate server 2 which intervenes misuses the information to impersonate the user apparatus 1. Further, as for the password itself, only dispersed values of the password are stored into the authentication servers 31, . . . , 3n, respectively, using secret sharing. Therefore, each of the authentication servers 31, . . . , 3n does not know the password itself.
Next, a procedure for performing authentication will be described. When the user apparatus 1 attempts authentication with a password w′, it is derived by cooperative computation that difference between w and w′ is 0 in order to confirm that the registered password w of the user apparatus 1 and the inputted password w′ correspond to each other. In order to prevent too much authority of authentication from being given to any of participants constituting the system (specifically, the intermediate server 2 and the authentication servers 31, . . . , 3n), each of the participants performs calculation for the authentication. In order to prevent the registered password w and the inputted password w′ from being known to each participant by the cooperative computation, the cooperative computation is performed in combination with random numbers. Further, in order not to reuse the random numbers used here for the next authentication, the random numbers are updated at the end of the authentication procedure.
Moreover, an improved method will be described in which, in order to cope with a replay attack performed by misusing ciphertexts exchanged via the intermediate server 2 in the authentication procedure, random numbers are generated by the authentication servers 31, . . . , 3n in advance and shared with the user apparatus 1 to disable reuse of a ciphertext of a password transmitted at the time of authentication. The replay attack is such an attack that, by reusing ciphertexts for which authentication is successful, the intermediate server 2 personates the user apparatus 1 and causes authentication to be successful.
[Secret Sharing Technique]
In this invention, a secret sharing technique is used as a constituent feature. In the secret sharing technique used in this invention, such (k, n) secret sharing that 2k−1<n is satisfied is used. The (k, n) secret sharing is a technique in which, when certain data is divided into n pieces, nothing is known about the original data even if up to k−1 pieces are collected, but the original data can be reconstructed if k or more pieces are collected.
Specifically, the secret sharing technique is configured with a Share algorithm and a Reconst algorithm described below.
The Share algorithm is an algorithm for dividing data. The divided pieces of data are called shares or dispersed values. With a secret s as an input, the Share algorithm divides the secret s into n pieces and output the n pieces. The procedures are written like the following formula:
[Formula 12]
([s]1, . . . ,[s]n)←Share(s) (1)
The Reconst algorithm is an algorithm for reconstructing data. With m (k≤m≤n) shares as an input, the Reconst algorithm outputs an original secret s. In the secret sharing technique used in this invention, it is assumed that λa_i (i=1, . . . , m) determined from m and {a1, . . . , am} exists, and the following formula is satisfied, wherein a1, . . . , am are m different integers each of which is equal to or larger than 1 and equal to or smaller than n.
[Formula 13]
s=Σi=1mλa
[FIRST EMBODIMENT]
An example of a functional configuration of a multi-party secure authentication system according to a first embodiment will be described with reference to
An example of a functional configuration of the user apparatus 1 will be described with reference to
An example of a functional configuration of the intermediate server 2 will be described with reference to
An example of a functional configuration of the authentication server 3 will be described with reference to
An example of a process flow for a multi-party secure authentication method will be described according to order of the procedure performed actually, with reference to
In the common key storing part 11 of the user apparatus 1, a common key between the user apparatus 1 and each apparatus with which the user apparatus 1 performs encrypted communication is stored. Specifically, a total of n common keys, which are common keys between the user apparatus 1 and the authentication servers 31, . . . , 3n, are stored.
In the common key storing part 21 of the intermediate server 2, a common key between the intermediate server 2 and each apparatus with which the intermediate server 2 performs encrypted communication is stored. Specifically, a total of n common keys, which are common keys between the intermediate server 2 and the authentication servers 31, . . . , 3n, are stored.
In the common key storing part 41 of the i-th authentication server 3i, a common key between the authentication server 3i and each apparatus with which the authentication server 3i performs encrypted communication is stored. Specifically, a total of n+1 common keys, which are common keys between the authentication server 3i and the user apparatus 1, the intermediate server 2 and the other n−1 authentication servers 3j (j=1, . . . , n; j≠i) are stored in the common key storing part 41 of one authentication server 3.
A common key encryption system used in this invention may be any existing common encryption method. The common key encryption system can be selected in consideration of security and processing speed required by an information system to which this invention is applied. The common key stored in each apparatus is a common key generated in accordance with the selected common key encryption system and can be shared according to a key exchange system permitted by the common key encryption system.
<<Password Registration Phase>>
A process of a password registration phase of the multi-party secure authentication method will be described with reference to
At step S101, the password dispersing part 12 of the user apparatus 1 disperses a password w into n dispersed values [w]1, . . . , [w]n. The password w is an arbitrary password inputted by a user U operating the user apparatus 1. That is, the password dispersing part 12 performs calculation of the following formula (3):
[Formula 14]
([w]1, . . . ,[w]n)→Share(w) (3)
At step S102, the dispersed password value encrypting part 13 of the user apparatus 1 obtains a ciphertext EncUS_i([w]i), which is an encrypted dispersed value [w]i, using a common key between the user apparatus 1 and the i-th authentication server 3i, for i=1, . . . , n.
At step S103, the dispersed password value encrypting part 13 of the user apparatus 1 transmits the n pieces of ciphertexts EncUS_1([w]1), . . . , EncUS_n([w]n) obtained at step S102 to the intermediate server 2.
At step S201, the dispersed password value transferring part 22 of the intermediate server 2 receives the n pieces of the ciphertext EncUS_1([w]1), . . . , EncUS_n([w]n) received from the user apparatus 1, and transmits each piece of the ciphertext EncUS_i([w]i) to the authentication server 3i, for i=1, . . . , n.
At step S301, the dispersed password value decrypting part 33 of the authentication server 3i receives the ciphertext EncUS_i([w]i) transferred from the intermediate server 2.
At step S302, the dispersed password value decrypting part 33 of the authentication server 3i decrypts the ciphertext EncUS_i([w]i) received from the intermediate server 2 to obtain the dispersed value [w]i, using the common key between the user apparatus 1 and the authentication server 3i. The dispersed value [w]i is stored into the dispersed value storing part 42.
<<Random Number Generation Phase>>
A process of a random number generation phase of the multi-party secure authentication method will be described with reference to
At step S311, the dispersed random-number value generating part 31 of the authentication server 3i generates d dispersed values [r1]i, . . . , [rd]i which become random numbers r1, . . . , rd when reconstructed. The generated dispersed values [r1]i, . . . , [rd]i are stored into the dispersed value storing part 42. Here, d≥1 is satisfied.
At step S312, the zero dispersion value generating part 32 of the authentication server 3i generates d dispersed value [01]i, . . . , [0d]i which become 0 when reconstructed. The generated dispersed values [01]i, . . . , [0d]i are stored into the dispersed value storing part 42.
The process from step S311 to step S312 may be executed in parallel with the process from step S101 to step S302 or executed separately in advance.
<<Authentication Phase>>
A process of an authentication phase of the multi-party secure authentication method will be described with reference to
The authentication server 3a_i selects [r(W)]a_i, [r(1)]a_i, . . . , [r(m)]a_i from dispersed values [r1]a_i, . . . , [rd]a_i stored in the dispersed value storing part 42. Further, similarly, the authentication server 3a_i selects [0(W)]a_i, [0(1)]a_i, . . . , [0(m)]a_i from dispersed values [01]a_i, . . . , [0d]a_i stored in the dispersed value storing part 42.
At step S121 shown in
At step S122, the password dispersing part 12 of the user apparatus 1 disperses the password w′ into n dispersed values [w′]1, . . . , [w′]n. That is, the password dispersing part 12 performs the following calculation.
[Formula 15]
([w′]1, . . . ,[w′]n)←Share(w′) (4)
At step S123, the dispersed password value encrypting part 13 of the user apparatus 1 obtains a ciphertext EncUS_a_i([w′]a_i), which is obtained by encrypting a dispersed value [w′]a_i with the use of a common key between the user apparatus 1 and the ai-th authentication server 3a_i, for i=1, . . . , m.
At step S124, the dispersed password value encrypting part 13 of the user apparatus 1 transmits the n pieces of ciphertexts EncUS_1([w′]1), . . . , EncUS_n([w′]n) obtained at step S123 to the intermediate server 2.
At step S221, the dispersed password value transferring part 22 of the intermediate server 2 receives the n pieces of ciphertexts EncUS_1([w′]1), . . . , EncUS_n([w′]n) received from the user apparatus 1, and transmits the ciphertext EncUS_a_i([w′]a_i) to the authentication server 3a_i, for i=1, . . . , m.
At step S321, the dispersed password value decrypting part 33 of the authentication server 3a_i receives the ciphertext EncUS_a_i([w′]a_i) transferred from the intermediate server 2.
At step S322, the dispersed password value decrypting part 33 of the authentication server 3a_i decrypts the ciphertext EncUS_a_i([w′]a_i) received from the intermediate server 2 to obtain the dispersed value [w′]a_i, using the common key between the user apparatus 1 and the authentication server 3a_i.
At step S331 shown in
[Formula 16]
qa
Here, λa_i(W) is a known constant satisfying the formula (6), and ^λa_i(W) is a constant satisfying the formula (7).
At step S332, the intermediate server's verification value encrypting part 35 of the authentication server 3a_i obtains a ciphertext EncWS_a_i(qa_i(W)), which is obtained by encrypting the verification value qa_i(W), using a common key between the intermediate server 2 and the authentication server 3a_i.
At step S333, the intermediate server's verification value encrypting part 35 of the authentication server 3a_i transmits the ciphertext EncWS_a_i(qa_i(W)) obtained at step S332 to the intermediate server 2.
At step S231, the intermediate server's verification value decrypting part 23 of the intermediate server 2 receives m pieces of ciphertexts EncWS_a_1(qa_1(W)), . . . , EncWS_a_m(qa_m(W)) received from the m authentication servers 3a_1, . . . , 3a_m.
At step S232, the intermediate server's verification value decrypting part 23 of the intermediate server 2 decrypts the ciphertext EncWS_a_i(qa_i(W)) to obtain a verification value qa_i(W), using a common key between the intermediate server 2 and the ai-th authentication 3a_i, for i=1, . . . , m. The intermediate server's verification value decrypting part 23 outputs the m dispersed values qa_1(W), . . . , qa_m(W) to the intermediate server's verifying part 24.
At step S233, the intermediate server's verifying part 24 of the intermediate server 2 verifies whether a sum total of the verification values qa_1(W), . . . , qa_m(W) is equal to 0 or not. Specifically, the intermediate server's verifying part 24 confirms whether the equation of the formula (8) is satisfied or not.
If the formula (8) is satisfied, the intermediate server's verifying part 24 notifies the user apparatus 1 that authentication is successful. If the formula (8) is not satisfied, the intermediate server's verifying part 24 notifies the user apparatus 1 that authentication is failed.
At step S341i shown in
[Formula 19]
qa
Here, λa_i(j) is a known constant satisfying the formula (10), and ^λa_i(j) is a constant satisfying the formula (11).
At step S342i, the authentication server's verification value encrypting part 37 of the authentication server 3a_i obtains a ciphertext EncS_a_iS_a_j(qa_i(a_j)), which is obtained by encrypting the verification value qa_i(a_j), using a common key between the aj-th authentication server 3a_j and the ai-th authentication server 3a_i, for j=1, . . . , m(j≠i). As a result, the authentication server's verification value encrypting part 37 obtains m−1 pieces of ciphertexts EncS_a_iS_a_1(qa_i(a_1)), . . . , EncS_a_iS_a_m(qa_i(a_m)) (excluding EncS_a_iS_a_i(qa_i(a_i))).
At step S343i, the authentication server's verification value encrypting part 37 of the authentication server 3a_i transmits the m−1 pieces of ciphertexts EncS_a_iS_a_1(qa_i(a_1)), . . . , EncS_a_iS_a_m(qa_i(a_m)) obtained at step S342i (excluding EncS_a_iS_i(qa_i(a_i)) to the authentication server 3a_j, respectively, for j=1, . . . , m(j≠i).
At step S344i, the authentication server's verification value decrypting part 38 of the authentication server 3a_i receives m−1 pieces of ciphertexts EncS_a_iS_a_i(qa_1(a_i)), . . . , EncS_a_mS_a_i(qa_m(a_i)) (excluding EncS_a_iS_a_i(qa_i(a_i))) from m−1 authentication servers 3a_j (j=1, . . . , m(j≠i)).
At step S345i, the authentication server's verification value decrypting part 38 of the authentication server 3a_i decrypts the ciphertext EncS_a_jS_a_i(qa_j(a_i)) to obtain the verification value qa_i(a_j), using the common key between the aj-th authentication server 3a_j and the ai-th authentication server 3a_i, for j=1, . . . , m(j≠i). The authentication server's verification value decrypting part 38 outputs the m verification values qa_1(a_i), . . . , qa_m(a_i) to the authentication server's verifying part 39 together with a verification value qa_i(a_i) generated by the authentication server's verification value generating part at step S341i.
At step S345i, the authentication server's verifying part 39 of the authentication server 3a_i verifies whether a sum total of the verification values qa_1(a_i), . . . , qa_m(a_i) is equal to 0 or not. Specifically, the authentication server's verifying part 39 confirms whether the equation of the formula (12) is satisfied or not.
If the formula (12) is satisfied, the authentication server's verifying part 39 notifies the user apparatus 1 that authentication is successful. If the formula (12) is not satisfied, the authentication server's verifying part 39 notifies the user apparatus 1 that authentication is failed.
<<Random Number Update Phase>>
Each time the process of the authentication phase is executed once, a process of a random number update phase is executed. The random number update phase is a process for updating random numbers so that the random numbers are not reused at the next authentication. In the random number update phase, if there are unused random numbers among random numbers generated by the process of the random number generation phase performed previously, the random numbers are set to be used in the next process of the authentication phase. If there are not any unused random numbers, new random numbers are generated similarly to the content of the process of the random number generation phase. The process of the random number update phase may be executed in parallel with the process of the authentication phase. That is, it is confirmed whether a sufficient number of unused random numbers remain at the time of using random numbers on the authentication phase, and new random numbers can be generated if there are not a sufficient number of unused random numbers.
[SECOND EMBODIMENT]
An intermediate server such as a Web server, which exists between a user apparatus that a user uses and each authentication server, can know ciphertext exchanged between the user apparatus and the authentication server in addition to whether authentication is successful or not. There is a danger that the intermediate server can misuse ciphertexts of dispersed values of a password and random numbers used in the authentication procedure when authentication is successful, impersonate the user and cause authentication to be successful. A multi-party secure authentication system of a second embodiment is an improved system for preventing a replay attack by an intermediate server misusing transmitted ciphertexts.
In the following description, points different from the first embodiment will be mainly described. As for parts similar to the first embodiment, description thereof will be omitted.
An example of a functional configuration of the multi-party secure authentication system according to the second embodiment will be described with reference to
An example of a functional configuration of the user apparatus 4 will be described with reference to
An example of a functional configuration of the intermediate server 5 will be described with reference to
An example of a functional configuration of the authentication server 6 will be described with reference to
An example of a process flow for a multi-party secure authentication method according to the second embodiment will be described according to order of the procedure performed actually, with reference to
A procedure for generating random numbers used for preventing a replay attack will be described with reference to
At step S351, the random number generating part 44 of the authentication server 6a_i generates a random number ta_i.
At step S352, the random number encrypting part 45 of the authentication server 6a_i obtains a ciphertext EncUS_a_i(ta_i), which is obtained by encrypting the random numbers ta_i, using a common key between the user apparatus 4 and the ai-th authentication server 6a_i.
At step S353, the random number encrypting part 45 of the authentication server 6a_i transmits the ciphertext EncUS_a_i(ta_i) to the intermediate server 5.
At step S251, the random number transferring part 26 of the intermediate server 5 receives m pieces of ciphertexts EncUS_a_i(ta_i) (i=1, . . . , m) from the m authentication server 6a_i (i=1, . . . , m). The received m pieces of ciphertexts EncUS_a_i(ta_i) (i=1, . . . , m) are transmitted to the user apparatus 4.
At step S151, the random number decrypting part 15 of the user apparatus 6 receives the m pieces of ciphertexts EncUS_a_i(ta_i) (i=1, . . . , m) from the intermediate server 5.
At step S152, the random number decrypting part 15 decrypts the ciphertext EncUS_a_i(ta_i) to obtain the dispersed value ta_i for i=1, . . . , m. The dispersed value ta_i is stored into any storing part such as the memory 102 and the common key storing part 11.
The process of the authentication phase improved to prevent a replay attack will be described with reference to
At step S123, the dispersed password value encrypting part 14 of the user apparatus 4 obtains a ciphertext EncUS_a_i(ta_i, [w′]a_i), which is obtained by encrypting the dispersed value [w′]a_i together with the random number ta_i with the use of a common key between the user apparatus 4 and the ai-th authentication server 6a_i, for i=1, . . . , m.
At step S221, the dispersed password value transferring part 25 of the intermediate server 5 receives the m pieces of ciphertexts EncUS_a_1(ta_i, [w′]a_1), . . . , EncUS_a_m(ta_i, [w′]a_m) received from the user apparatus 4, and transmits the ciphertext EncUS_a_i(ta_i, [w′]a_i) to the authentication server 6a_i, for i=1, . . . , m.
At step S323, the random number verifying part 46 of the authentication server 6a_i confirms whether a random number ta_i obtained by decrypting the ciphertext EncUS_a_i(ta_i, [w′]a_i) is equal to the random numbers ta_i generated at step S351. If the random number ta_i obtained by decryption is not equal to the random numbers ta_i generated at step S351, the random number verifying part 46 notifies the user apparatus 4 that authentication is failed. Otherwise, the process at and after step S331 of the authentication phase is continued.
[THIRD EMBODIMENT]
In the multi-party secure authentication system of the first embodiment, each authentication server executes the process of the random number generation phase. In a multi-party secure authentication system of a third embodiment, a user apparatus executes the process of the random number generation phase. Though an example of applying a method of configuration of the third embodiment to the multi-party secure authentication system of the first embodiment will be described below, the method of the configuration of the third embodiment can be similarly applied to the multi-party secure authentication system of the second embodiment.
In the following description, points different from the first embodiment will be mainly described. As for parts similar to the first embodiment, description thereof will be omitted.
An example of a functional configuration of the multi-party secure authentication system according to the third embodiment will be described with reference to
An example of a functional configuration of the user apparatus 7 will be described with reference to
An example of a functional configuration of the intermediate server 8 will be described with reference to
An example of a functional configuration of the authentication server 9 will be described with reference to
An example of a process flow for a multi-party secure authentication method according to the third embodiment will be described according to order of the procedure performed actually, with reference to
<<Random Number Generation Phase>>
A process of the random number generation phase according to the third embodiment will be described with reference to
At step S111 shown in
At step S112, the dispersed random-number value generating part 16 of the user apparatus 7 disperses the random numbers r(W); r(1), . . . , r(n) into n dispersed values, that is, [r(W)]1, . . . , [r(W)]n, [r(1)]1, . . . , [r(1)]n, . . . , [r(n)]1, . . . , [r(n)]n, respectively. That is, the dispersed random-number value generating part 16 performs calculation of the following formulas (13) and (14).
[Formula 22]
([r(W)]1, . . . ,[r(W)]n)←Share(r(W)) (13)
([r(i)]1, . . . ,[r(i)]n)←Share(r(i)) for 1≤i≤n (14)
At step S113, the dispersed random-number value encrypting part 17 of the user apparatus 7 obtains a ciphertext EncUS_i([r(W)]i, [r(1)]i, . . . , [r(n)]i), which is obtained by encrypting the dispersed values [r(W)]i, [r(1)]i, . . . , [r(n)]i, using a common key between the user apparatus 7 and the i-th authentication server 9i, for i=1, . . . , n.
At step S114, the dispersed random-number value encrypting part 17 of the user apparatus 7 transmits the n pieces of ciphertexts EncUS_1([r(W)]1, [r(1)]1, . . . , [r(n)]1), . . . , EncUS_n([r(W)]n, [r(1)]n, . . . , [r(n)]n) obtained at step S113 to the intermediate server 8.
At step S211, the dispersed random-number value transferring part 27 of the intermediate server 8 receives the n pieces of ciphertexts EncUS_1([r(W)]1, [r(1)]1, . . . , [r(n)]1), . . . , EncUS_n([r(W)]n, [r(1)]n, . . . , [r(n)]n) received from the user apparatus 7, and, for i=1, . . . , n, transmits the pieces of ciphertexts EncUS_i([r(W)]i, [r(1)]i, . . . , [r(n)]i) to the authentication server 9i, respectively.
At step S313, the dispersed random-number value decrypting part 47 of the authentication server 9i receives the ciphertext EncUS_i([r(W)]i, [r(1)]i, . . . , [r(n)]i) transferred from the intermediate server 8.
At step S314, the dispersed random-number value decrypting part 47 of the authentication server 9i decrypts the ciphertext EncUS_i([r(W)]i, [r(1)]i, . . . , [r(n)]i) received from the intermediate server 8 to obtain n+1 dispersed values [r(W)]i, [r(1)]i, . . . , [r(n)]i, using the common key between the user apparatus 7 and the authentication server 9i. The dispersed values [r(W)]i, [r(1)]i, . . . , [r(n)]i are stored into the dispersed value storing part 42.
At step S115 shown in
At step S116, the zero dispersion value encrypting part 19 of the user apparatus 7 obtains a ciphertext EncUS_i([0(W)]i, [0(1)]i, . . . , [0(m)]i), which is obtained by encrypting the dispersed values [0(W)]i, [0(1)]i, . . . , [0(m)]i, using a common key between the user apparatus 7 and the i-th authentication server 9i, for i=1, . . . , n.
At step S117, the zero dispersion value encrypting part 19 of the user apparatus 7 transmits the n pieces of ciphertexts EncUS_1([0(W)]1, [0(1)]1, . . . , [0(m)]1), . . . , EncUS_n([0(W)]n, [0(1)]n, . . . , [0(m)]n) obtained at step S116 to the intermediate server 8.
At step S212, the zero dispersion value transferring part 28 of the intermediate server 8 receives the n pieces of ciphertexts EncUS_1([0(W)]1, [0(1)]1, . . . , [0(m)]1), . . . , EncUS_n([0(W)]n, [0(1)]n, . . . , [0(m)]n) received from the user apparatus 7, and transmits the pieces of the ciphertext EncUS_i([0(W)]i, [0(1)]i, . . . , [0(m)]i) to the authentication server 9i, respectively, for i=1, . . . , n.
At step S315, the zero dispersion value decrypting part 48 of the authentication server 9i receives the ciphertext EncUS_i([0(W)]i, [0(1)]i, . . . , [0(m)]i) transferred from the intermediate server 8.
At step S316, the zero dispersion value decrypting part 48 of the authentication server 9i decrypts the ciphertext EncUS_i([0(W)]i, [0(1)]i, . . . , [0(m)]i) received from the intermediate server 8 to obtain m+1 dispersed values [0(W)]i, [0(1)]i, . . . , [0(m)]i, using the common key between the user apparatus 7 and the authentication server 9i. The dispersed values [0(W)]i, [0(1)]i, . . . , [0(m)]i are stored into the dispersed value storing part 42.
Similarly to the multi-party secure authentication method of the first embodiment, the process from step S111 to step S316 may be executed in parallel with the process from step S101 to step S302 or executed separately in advance.
[FOURTH EMBODIMENT]
A multi-party secure authentication system of a fourth embodiment is different from the embodiments described above only in the process of the random number generation phase. A method of configuration of the fourth embodiment can be applied to the multi-party secure authentication systems of the first to third embodiments.
In the following description, points different from the first embodiment will be mainly described. As for parts similar to the first embodiment, description thereof will be omitted.
<<Random Number Generation Phase>>
The process of the random number generation phase according to the fourth embodiment will be described. In this embodiment, it is assumed that a set of combinations of arbitrary n−k+1 authentication servers among the n authentication servers 31, . . . , 3n is indicated by {b1, . . . , bB}, where B is defined by the following formula:
A set of combinations of arbitrary n−m+2 authentication servers among the n authentication servers 31, . . . , 3n is indicated by {c1, . . . , cC}, where C is defined by the following formula:
A set of combinations of arbitrary n−m+1 authentication servers among the n authentication servers 31, . . . , 3n is indicated by {d1, . . . , dD}, where D is defined by the following formula:
At step S311 shown in
Next, for j=1, . . . , n, the dispersed random-number value generating part 31 of the authentication server 3i generates random numbers or pseudorandom numbers u(j)1, . . . , u(j)B, and holds {u(j)b_h} where j∈bh to obtain dispersed values [r(W)]i. The random numbers u(j)1, . . . , u(j)B may be generated by the user apparatus 1 and transmitted to the authentication servers 31, . . . , 3n, or may be mutually generated and mutually transmitted by the authentication servers 31, . . . , 3n, or may be generated from seeds of pseudorandom numbers held by the authentication servers 31, . . . , 3n in advance.
The generated dispersed values [r(W)]i, [r(1)]i, . . . , [r(n)]i are stored into the dispersed value storing part 42.
At step S312 shown in
Here, δc_1, . . . , δc_D are known constants.
Next, for j=1, . . . , m, the dispersed random-number value generating part 31 of the authentication server 3i generates random numbers or pseudorandom numbers u(j)1, . . . , u(j)C, holds {u(j)c_h} where i∈ch, and calculates a dispersed value [0(j)]i by the following formula (16).
The generated dispersed values [0(W)]i, [0(1)]i, . . . , [0(m)]i are stored into the dispersed value storing part 42.
[FIFTH EMBODIMENT]
A multi-party secure authentication system of a fifth embodiment is different from the embodiments described above only in the process of the random number generation phase. A method of configuration of the fifth embodiment can be applied to the multi-party secure authentication systems of the first to third embodiments.
In the following description, points different from the first embodiment will be mainly described. As for parts similar to the first embodiment, description thereof will be omitted.
<<Random Number Generation Phase>>
The process of the random number generation phase according to the fifth embodiment will be described. In the random number generation phase of this embodiment, the process of step S311 is similar to that of the fourth embodiment, and only the process of step S312 is different from that of the fourth embodiment.
At step S312, the zero dispersion value generating part 32 of the authentication server 3i generates random numbers or pseudorandom numbers u(W)1, . . . , u(W)C, holds {u(W)c_j} where i∈cj, and calculates a dispersed value [0(W)]i by the following formula (17).
Here, fc_j is a unique function for each u(W)c_j(1≤j≤C), and fc_j(0)=1 and fc_j(g)=0 (where g does not belong to cj) are satisfied.
Next, for j=1, . . . , m, the dispersed random-number value generating part 31 of the authentication server 3i generates random numbers or pseudorandom numbers u(j)1, . . . , u(j)C, holds {u(j)c_h} where i∈ch, and calculates a dispersed value [0(j)]i by the following formula (18).
[SIXTH EMBODIMENT]
A multi-party secure authentication system of a sixth embodiment is different from the embodiments described above only in the process of the random number generation phase. A method of configuration of the sixth embodiment can be applied to the multi-party secure authentication systems of the first to third embodiments.
In the following description, points different from the first embodiment will be mainly described. As for parts similar to the first embodiment, description thereof will be omitted.
<<Random Number Generation Phase>>
The process of the random number generation phase according to the sixth embodiment will be described. In the random number generation phase of this embodiment, the process of step S312 is similar to that of the fourth embodiment, and only the process of step S311 is different from that of the fourth embodiment.
At step S311, the dispersed random-number value generating part 31 of the authentication server 3i generates random numbers or pseudorandom numbers u(W)1, . . . , u(W)B, holds {u(W)b_j} where i∈bj, and calculates a dispersed value [r(W)]i by the following formula (19).
Here, fb_j is a unique function for each u(W)b_j(1≤j≤B), and fb_j(0)=1 and fb_j(g)=0 (where g does not belong to bj) are satisfied. This method is described in detail 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. (Non-patent literature 1)”.
Next, for j=1, . . . , m, the dispersed random-number value generating part 31 of the authentication server 3i generates random numbers or pseudorandom numbers u(j)1, . . . , u(j)B, holds {u(j)b_h} where i∈bh, and calculates a dispersed value [r(j)]i by the following formula (20).
[SEVENTH EMBODIMENT]
A multi-party secure authentication system of a seventh embodiment is different from the embodiments described above only in the process of the random number generation phase. A method of configuration of the seventh embodiment can be applied to the multi-party secure authentication systems of the first to third embodiments.
As for the content of the process of the random number generation phase of the seventh embodiment, the content of the process of step S311 is similar to that of the sixth embodiment, and the content of the process of step S312 is similar to that of the fifth embodiment. See the description of the sixth and fifth embodiments above for detailed process procedures.
[EIGHTH EMBODIMENT]
A multi-party secure authentication system of an eighth embodiment is different from the embodiments described above only in the process of the random number generation phase. A method of configuration of the eighth embodiment can be applied to the multi-party secure authentication systems of the first to third embodiments.
In the following description, points different from the first embodiment will be mainly described. As for parts similar to the first embodiment, description thereof will be omitted.
<<Random Number Generation Phase>>
The process of the random number generation phase according to the eighth embodiment will be described. In this embodiment, it is assumed that such arbitrary q authentication servers that k≤q≤n is satisfied, among the n authentication servers 31, . . . , 3n participate to perform the process. In the following description, a1, . . . , aq are different q integers each of which is equal to or larger than 1 and equal to or smaller than n.
At S311 shown in
Next, the dispersed random-number value generating part 31 of the authentication server 3a_i receives q−1 pieces of ciphertexts EncS_a_1S_a_i([u1]a_i), . . . , EncS_a_qS_a_i([uq]a_i) (excluding EncS_a_iS_a_i([ui]a_i)) from q−1 authentication server 3a_j (j=1, . . . , q; aj≠ai); and, for j=1, . . . , q, decrypts the ciphertext EncS_a_jS_a_i([uj]a_i) to obtain a dispersed value [uj]a_i, using the common key between the aj-th authentication server 3a_j and the ai-th authentication server 3a_i. As a result, the dispersed random-number value generating part 31 obtains q dispersed values [u1]a_i, . . . , [uq]a_i together with the dispersed value [ui]a_i generated by the dispersed random-number value generating part 31 itself.
Next, the dispersed random-number value generating part 31 of the authentication server 3a_i calculates a vector →u′=A →u, assuming A as a q×(q−k+1) matrix and regarding [U1]a_i, . . . , [uq]a_i as a column vector →u.
As the matrix A, for example, a vandermonde matrix or a Hyper-Invertible matrix can be used. See “Zuzana Beerliova-Trubiniova and Martin Hirt, “Perfectly-secure mpc with linear communication complexity”, TCC, Vol. 4948 of Lecture Notes in Computer Science, pp. 213-230, 2008” for details of the Hyper-Invertible matrix.
Next, the dispersed random-number value generating part 31 of the authentication server 3a_i regards the elements of the vector →u′ as [r(W)]a_i, [r(1)]a_i, . . . , [r(m)]a_i, respectively. When q−k+1<m+1 is satisfied, step S311 is executed again from the beginning to generate the vector →u′ additionally, and this is repeated until m+1 elements are obtained. On the contrary, if more than m+1 elements are obtained, the excessive elements are stored to be used for the next authentication.
At step S312 shown in
Next, the dispersed random-number value generating part 31 of the authentication server 3a_i receives q−1 pieces of ciphertexts EncS_a_1S_a_i([u1]a_i), . . . , EncS_a_qS_a_i([uq]a_i) (excluding EncS_a_iS_a_i([ui]a_i)) from q−1 authentication server 3a_j (j=1, . . . , q; aj≠ai); and, for j=1, . . . , q, decrypts the ciphertext EncS_a_jS_a_i([uj]a_i) to obtain a dispersed value [uj]a_i, using the common key between the aj-th authentication server 3a_j and the ai-th authentication server 3a_i. As a result, the dispersed random-number value generating part 31 obtains q dispersed values [u1]a_i, . . . , [uq]a_i together with the dispersed value [ui]a_i generated by the dispersed random-number value generating part 31 itself.
Next, the dispersed random-number value generating part 31 of the authentication server 3a_i calculates a vector →u′=A →u, assuming A as a q×(q−k+1) matrix and regarding [u1]a_i, . . . , [uq]a_i as a column vector →u.
Next, the dispersed random-number value generating part 31 of the authentication server 3a_i regards values obtained by multiplying the elements of the vector →u′ by ai as [0(W)]a_i, [0(1)]a_i, . . . , [0(m)]a_i, respectively. When q−k+1<m+1 is satisfied, step S311 is executed again from the beginning to generate the vector →u′ additionally, and this is repeated until m+1 elements are obtained. On the contrary, if more than m+1 elements are obtained, the excessive elements are stored to be used for the next authentication.
[NINTH EMBODIMENT]
A multi-party secure authentication system of a ninth embodiment is different from the embodiments described above only in the process of the random number update phase. A method of configuration of the ninth embodiment can be applied to the multi-party secure authentication systems of the first to third embodiments.
Since the content of the process of the random number update phase of the ninth embodiment is similar to the content of the process of the random number generation phase of the fourth embodiment, see the description of the fourth embodiment described above.
[TENTH EMBODIMENT]
A multi-party secure authentication system of a tenth embodiment is different from the embodiments described above only in the process of the random number update phase. A method of configuration of the tenth embodiment can be applied to the multi-party secure authentication systems of the first to third embodiments.
Since the content of the process of the random number update phase of the tenth embodiment is similar to the content of the process of the random number generation phase of the fifth embodiment, see the description of the fifth embodiment described above.
[ELEVENTH EMBODIMENT]
A multi-party secure authentication system of an eleventh embodiment is different from the embodiments described above only in the process of the random number update phase. A method of configuration of the eleventh embodiment can be applied to the multi-party secure authentication systems of the first to third embodiments.
Since the content of the process of the random number update phase of the eleventh embodiment is similar to the content of the process of the random number generation phase of the sixth embodiment, see the description of the sixth embodiment described above.
[TWELFTH EMBODIMENT]
A multi-party secure authentication system of a twelfth embodiment is different from the embodiments described above only in the process of the random number update phase. A method of configuration of the twelfth embodiment can be applied to the multi-party secure authentication systems of the first to third embodiments.
Since the content of the process of the random number update phase of the twelfth embodiment is similar to the content of the process of the random number generation phase of the seventh embodiment, see the description of the seventh embodiment described above.
[THIRTEENTH EMBODIMENT]
A multi-party secure authentication system of a thirteenth embodiment is different from the embodiments described above only in the process of the random number update phase. A method of configuration of the thirteenth embodiment can be applied to the multi-party secure authentication systems of the first to third embodiments.
Since the content of the process of the random number update phase of the thirteenth embodiment is similar to the content of the process of the random number generation phase of the eighth embodiment, see the description of the eighth embodiment described above.
[MODIFICATION]
Though, in each embodiment described above, description has been made on a configuration in which a multi-party secure authentication system comprises the user apparatus 1, the intermediate server 2 and n authentication servers 31, . . . , 3n as an example, it is also possible to configure the intermediate server 2 and one authentication server 3 as one intermediate authentication server. That is, the multi-party secure authentication system can be configured to comprise, for example, the user apparatus 1, n−1 authentication servers 31, . . . , 3n-1, and one intermediate authentication server 3n.
The intermediate authentication server 3n is configured, comprising both of the component parts the intermediate server 2 is provided with and the component parts the authentication server 3 is provided with. However, since data transmitted and received between the intermediate server 2 and the authentication server 3 in the embodiments described above can be handed over inside the server via the memory 102, it is not necessarily required to encrypt the data. Specifically, it becomes unnecessary to encrypt an intermediate server verification value qa_n(W) which is encrypted by a common key between the intermediate server 2 and the authentication server 3. Therefore, the intermediate authentication server 3n does not have to be provided with the intermediate server's verification value encrypting part 35. Further, since it is possible to perform verification at the intermediate authentication server 3n with an authentication server verification value, the intermediate server verification value becomes unnecessary. Therefore, the intermediate authentication server 3n may not be provided with the intermediate server's verification value generating part 34, the intermediate server's verification value encrypting part 35, the intermediate server's verification value decrypting part 23 and the intermediate server's verifying part 24.
Further, in the case where the intermediate server 2 and the authentication server 3 are configured as one intermediate authentication server 3n, a common key between the authentication server 3n and other authentication servers 31, . . . , 3n-1 can be used also as a common key between the intermediate server 2 and each of the authentication servers 31, . . . , 3n, and, therefore, the number of common keys in the whole system can be reduced by n.
[APPLICATION EXAMPLE]
The multi-party secure authentication technique of the present invention can be applied to various application systems using password authentication.
For example, it is also possible to make a configuration in which, when a user receives a service of an information system by an external third party via a Web page, each service may provide the service for the user after the authentication of the first or second embodiment is performed with each service provider as an authentication server. The external service may be a service provided by a plurality of servers in cooperation with one another or may be a service provided by each single server.
Further, an application example is conceivable in which the multi-party secure authentication technique of the third embodiment is used as a single sign-on system. By making a such a configuration, a user can receive each service of each server with one password. By using this invention, it is possible to reduce the risk of leakage due to impersonation in the process of authentication by single sign-on.
Moreover, an application example is conceivable in which, for example, the multi-party secure authentication technique of the third embodiment is used for a storage service using (k, n) secret sharing. The (k, n) secret sharing is a division method of dividing data into n dispersed values, and it is a secret sharing system in which, though information about original data cannot be obtained at all with any k−1 dispersed values among the n dispersed values, the original data can be completely reconstructed if there are arbitrary k dispersed values. Though the storage service using the (k, n) secret sharing is a service provided by servers in cooperation with one another, it is not necessary for the servers to directly communicate with one another. The multi-party secure authentication technique of this invention also does not require communication among servers, the application example can be said to be such that the advantage can be sufficiently enjoyed.
[EFFECTS OF THE INVENTION]
By using this invention, it is possible to prevent an unauthorized person to personate a user and cause authentication to be successful even via an intermediate server such as a Web server. It is also assumed that the authorized person is an intermediate party or a server. That is, it is included that neither an intermediate party nor a server knows a password.
Further, this invention realizes the following four requirements in addition to the advantage that a Web service model is applicable.
The above requirements 1 and 4 are self-evident. As for the requirement 2, though the merit of taking the trouble to pass through authentication from the outside in order to do wrong is small in the case of a model where a server is a single entity, because the server itself has data, there is a merit in reading data held by other servers from the outside in the case where there are a plurality of servers each of which has different data. Especially in secret sharing, this problem is serious, because the effect of security is lost when two or more pieces of data are collected. The requirement 3 means that, even on servers which do not have communication channels among them at the time of constructing a system, a service by the servers in cooperation with one another can be developed. For example, an application provider can develop the provider's services on a plurality of suitable cloud services. In other words, it is not necessary for the cloud services to be in cooperation with one another.
In this invention, one password is required for the above requirement 1, and, for the requirement 2, the password is protected by such secret sharing that neither a server nor an intermediate party can know the password. A hash value of a password is not sufficient because a local dictionary attack at a server is possible. Further, for the above requirements 3 and 4, secrecy circuit calculation with a small number of communications via an intermediate party is dedicatedly designed, though well-known secrecy circuit calculation can be used if communication among servers is permitted (for the above requirement 3), and, settings equal to those in the case where there is no intermediate party can be made with the use of an encrypted communication channel if the number of communications is increased, (for the above requirement 4).
[PROGRAM AND RECORDING MEDIUM]
This invention is not limited to the embodiments described above, and it goes without saying that modifications can be made appropriately within a range not departing from the spirit of this invention. The various processes described in the above embodiments are not only executed in a time series according to the order of description but may be executed in parallel or separately according to the processing capacity of apparatuses which execute the processes or as necessary.
Further, in the case where the various processing functions in each apparatus described in the above embodiments are realized by a computer, the content of the processes of the functions which each apparatus is to be provided with is written by a program. By executing this program on the computer, the various processing functions on each apparatus is realized on the computer.
The program in which the content of the processes is written can be recorded in a computer-readable recording medium. As the computer readable recording medium, any recording medium is possible such as a magnetic recording device, an optical disk, a magneto-optical recording medium and a semiconductor memory.
Further, distribution of this program is performed, for example, by selling, transferring or lending a portable recording medium, such as a DVD and a CD-ROM, in which the program is recorded. Moreover, a configuration is also possible in which this program is stored in a storage device of a server computer and distributed by transferring the program from the server computer to other computers via a network.
For example, the computer which executes such a program first stores the program recorded in the portable recording medium or the program transferred from the server computer into its storage device once. Then, at the time of executing a process, this computer reads the program stored in its recording medium and executes a process in accordance with the read program. Further, as another embodiment of this program, the computer may read the program directly from the portable recording medium and execute a process in accordance with the program. Furthermore, each time a program is transferred from the server computer to this computer, this computer may sequentially execute a process in accordance with the received program. Further, such a configuration is also possible that the program is not transferred from the server computer to this computer, but the above-described processes are executed by a so-called ASP (Application Service Provider) type service in which processing functions are realized only by an instruction to execute the program and acquisition of a result. It is assumed that the program in the present embodiments includes information which is provided for processing by an electronic computer and is equivalent to a program (such as data which is not a direct command to a computer but has a nature of specifying processing of the computer).
While the inventive device is configured by causing a computer to execute a predetermined program in the embodiments described above, at least some of the processes may be implemented by hardware.
Number | Date | Country | Kind |
---|---|---|---|
2013-172032 | Aug 2013 | JP | national |
Filing Document | Filing Date | Country | Kind |
---|---|---|---|
PCT/JP2014/071873 | 8/21/2014 | WO | 00 |
Publishing Document | Publishing Date | Country | Kind |
---|---|---|---|
WO2015/025916 | 2/26/2015 | WO | A |
Number | Name | Date | Kind |
---|---|---|---|
5708714 | Lopez | Jan 1998 | A |
6959394 | Brickell | Oct 2005 | B1 |
7392385 | Yoshimura | Jun 2008 | B2 |
8171101 | Gladwin | May 2012 | B2 |
9219708 | Anati | Dec 2015 | B2 |
9270655 | Juels | Feb 2016 | B1 |
9413531 | Takashima | Aug 2016 | B2 |
20030221102 | Jakobsson | Nov 2003 | A1 |
20060149962 | Fountain | Jul 2006 | A1 |
20070266236 | Colditz | Nov 2007 | A1 |
20080080709 | Michtchenko | Apr 2008 | A1 |
20090019540 | Itsik | Jan 2009 | A1 |
20090177894 | Orsini et al. | Jul 2009 | A1 |
20100058449 | Kamakura | Mar 2010 | A1 |
20100064354 | Irvine | Mar 2010 | A1 |
20130275773 | Orsini et al. | Oct 2013 | A1 |
20150295908 | O'Hare et al. | Oct 2015 | A1 |
Entry |
---|
3-partySetting.pdf; bagherzandi.pdf; Fingerprint based—Bennett etal.pdf; JanCamenisch.pdf; RonCramer.pdf; Zuzana.pdf. |
14/910,808—NPL search results.pdf, 14/910,808—Search strategy.pdf, 14/910,808—patent search results.pdf, 14/910,808—potential search references.pdf. |
Gembu Morohashi, et al., “Secure Authentication Protocol for Practical Multi-Party Computation / Secret Sharing Scheme Systems,” The 30th Symposium on Cryptography and Information Security, 2013,10 pages (with partial English translation). |
Wakaha Ogata, “Improvement of IT-secure password-protected secret sharing,” The 30th Symposium on Cryptography and Information Security, Jan. 22, 2013, 9 pages (with partial English translation). |
Jan Camenisch, et al., “Practical Yet Universally Composable Two-Server Password-Authenticated Secret Sharing,” ACM Conference on Computer and Communications Security, 2012, 27 pages. |
Ryo Kikuchi, et al., “Unconditionally Secure Password-Based Authentication for Multiparty Systems,” Computer Security Symposium, 2013, 11 pages. |
Ali Bagherzandi, et al., “Password-Protected Secret Sharing,” ACM Conference on Computer and Communications Security, 2011, 11 pages. |
Ronald Cramer, et al., “Share conversion, pseudorandom secret-sharing and applications to secure distributed computing,” TCC, vol. 3378 of Lecture Notes in Computer Science, 2005, 21 pages. |
Zuzana Beerliova-Trubiniova, et al., “Perfectly-Secure MPC with Linear Communication Complexity,” TCC, vol. 4948 of Lecture Notes in Computer Science, 2008, 18 pages. |
International Search Report dated Nov. 11, 2014 in PCT/JP14/71873 filed Aug. 21, 2014. |
Extended European Search Report dated Feb. 13, 2017 in Patent Application No. 14838104.9. |
Ryo Kikuchi, et al., “Practical Password-Based Authentication Protocol for Secret Sharing Based Multiparty Computation” Network and Parallel Computing, Springer International Publishing, XP047326753, Nov. 20, 2015, pp. 179-196. |
Japanese Office Action dated Aug. 9, 2016 in Patent Application No. 2015-532894 (with English language translation). |
Number | Date | Country | |
---|---|---|---|
20160197906 A1 | Jul 2016 | US |