Key exchange device, key exchange system, key exchange method, and key exchange program for exchanging a key with another device
A key exchange device is provided that includes: a shared secret key storage in which shared secret information mk i k which is information different from a secret key of the key exchange device is stored; an authentication information addition unit that generates authentication information σ i , by which authentication is performed and falsification is detected, for key exchange information e i , which is output to the outside, by using the shared secret information mk i k ; and an authentication information verification unit that receives key exchange information e s and authentication information σ s corresponding to the key exchange information e s from the outside, verifies the authentication information σ s using the shared secret information mk i k , and, if the authentication information σ s is not successfully verified, stops a key exchange, and the shared secret information mk i k is a value that is used in a generation process in a key exchange.
1. A key exchange device comprising:
processing circuitry and a memory, wherein
on an assumption that i≠s, j is the number of times a key exchange is performed, and k is any one of integers greater than or equal to 0 and less than j,
in the memory shared secret information mk i k which is information different from a secret key of the key exchange device is stored;
the processing circuitry is configured to:
generates authentication information σ i , by which authentication is performed and falsification is detected, for key exchange information e i , which is output to an outside, by using the shared secret information mk i k ; and
receive key exchange information e s and authentication information σ s corresponding to the key exchange information e s from the outside, verify the authentication information σ s using the shared secret information mk i k , and, if the authentication information σ s is not successfully verified, stop a key exchange,
the shared secret information mk i k is a value that is used in a generation process in a key exchange,
in the memory a secret key of the key exchange device is stored, and
the processing circuitry is configured to obtain shared secret information mk i i using related information x, which is generated in a course of a key exchange, the secret key, and the shared secret information mk i k .
2. The key exchange device according to claim 1 , wherein
the shared secret information is a MAC key or an AES key, and
when receiving the key exchange information e s from the outside and outputting the key exchange information e i to the outside, the key exchange device performs processing based on a KY protocol.
3. A key exchange system comprising:
a key exchange server device comprising processing circuitry and memory; and
n key exchange devices i each comprising processing circuitry and memory, wherein
on an assumption that i ≠s, i=1, 2, . . . , n, j is the number of times a key exchange is performed, and k is any one of integers greater than or equal to 0 and less than j,
in the memory of the key exchange device i shared secret information mk i k which is information different from a secret key of the key exchange device i is stored,
the processing circuitry of the key exchange device i is configured to:
generate authentication information σ i , by which authentication is performed and falsification is detected, for key exchange information e 1 , which is output to an outside, by using the shared secret information mk i k , and
receive key exchange information e s_i and authentication information σ s_i corresponding to the key exchange information e s_i from the outside, verify the authentication information σ s_i using the shared secret information mk i k , and, if the authentication information σ s_i is not successfully verified, stop a key exchange, and
in the memory of the key exchange device i a secret key of the key exchange device i is stored, and
the processing circuitry of the key exchange device i is configured to obtain shared secret information mk i j using related information x, which is generated in a course of a key exchange, the secret key, and the shared secret information mk i k , and
in the memory of the key exchange server shared secret information mk 1 k , . . . , mk n k which is information different from a secret key of the key exchange server device is stored,
the processing circuitry of the key exchange server is configured to:
generates authentication information σ s_1 , . . . , σ s_n , by which authentication is performed and falsification is detected, for key exchange information e s_1 , . . . , e s_n , which is output to the outside, by using the shared secret information mk 1 k , mk n k , and
receives key exchange information e l , . . . , e n and authentication information σ l , . . . , σ n corresponding to the key exchange information e 1 , . . . , e n from the outside, verify the authentication information σ 1 , . . . , σ n using the shared secret information mk i k , mk n k , and, if certain authentication information is not successfully verified, stops a key exchange which is performed between the key exchange server device and a key exchange device whose authentication information has not been successfully verified.
4. The key exchange system according to claim 3 , wherein
the shared secret information is a MAC key or an AES key, and
when receiving the key exchange information e 1 , . . . , e n from the outside and outputting the key exchange information e s 1 , . . . , e s n to the outside, the key exchange system performs processing based on a KY protocol.
5. A key exchange method that uses a key exchange device that includes processing circuitry and memory,
on an assumption that i≠s, j is the number of times a key exchange is performed, k is any one of integers greater than or equal to 0 and less than j, and, in the memory of the key exchange device, shared secret information mk i k which is information different from a secret key of the key exchange device is stored,
the key exchange method comprising:
an authentication information addition step in which the processing circuitry of the key exchange device generates authentication information σ i , by which authentication is performed and falsification is detected, for key exchange information e i , which is output to an outside, by using the shared secret information mk i k ; and
an authentication information verification step in which the processing circuitry of the key exchange device receives key exchange information e s and authentication information σ s corresponding to the key exchange information e s from the outside, verifies the authentication information σ s using the shared secret information mk i k , and, if the authentication information σ s is not successfully verified, stops a key exchange, wherein
the shared secret information mk i k is a value that is used in a generation process in a key exchange,
in the memory a secret key of the key exchange device is stored, and
the key exchange method comprises a shared secret key sharing step in which the processing circuitry of the key exchange device obtains shared secret information mk i j using related information x, which is generated in a course of a key exchange, the secret key, and the shared secret information mk i k .
6. A key exchange method that uses a key exchange server device that includes processing circuitry and memory and n key exchange devices i that each include processing circuitry and memory,
on an assumption that i≠s, i=1, 2, . . . , n, j is the number of times a key exchange is performed, k is any one of integers greater than or equal to 0 and less than j, in the memory shared secret key storage of each key exchange device i, shared secret information mk i k which is information different from a secret key of the key exchange device i is stored, and, in the memory of the key exchange server device, shared secret information mk i k , mk n k which is information different from a secret key of the key exchange server device is stored,
the key exchange method comprising:
an initial shared secret key sharing step in which the processing circuitry of the key exchange server device and the processing circuitry of the n key exchange devices i share the shared secret information mk i k ;
an authentication information addition step in which the processing circuitry of the key exchange device i generates authentication information σ i , by which authentication is performed and falsification is detected, for key exchange information e i which is output to an outside, by using the shared secret information mk i k ;
a second authentication information verification step in which the processing circuitry of the key exchange server device receives key exchange information e l , . . . , e n and authentication information σ l , . . . , σ n corresponding to the key exchange information e l , . . . , e n from the outside, verifies the authentication information σ l , . . . , σ n using the shared secret information mk i k , , mk n k , and, if certain authentication information is not successfully verified, stops a key exchange which is performed between the key exchange server device and a key exchange device whose authentication information has not been successfully verified;
a second authentication information addition step in which the processing circuitry of the key exchange server device generates authentication information σ s_1 , . . . , σ s_n , by which authentication is performed and falsification is detected, for key exchange information e s_1 , . . . , e s_n , which is output to the outside, by using the shared secret information mk i k , mk n k ; and
an authentication information verification step in which the processing circuitry of the key exchange device i receives key exchange information e s_i and authentication information σ s_i corresponding to the key exchange information e s_i from the outside, verifies the authentication information σ s_i using the shared secret information mk i k , and, if the authentication information σ s_i , is not successfully verified, stops a key exchange, wherein
the shared secret information mk i k is a value that is used in a generation process in a key exchange,
in the memory of the key exchange device i a secret key of the key exchange device i is stored, and
the key exchange method comprises a shared secret key sharing step in which the processing circuitry of the key exchange device i obtains shared secret information mk i j using related information x, which is generated in a course of a key exchange, the secret key, and the shared secret information mk i k .
7. A non-transitory computer-readable recording medium having recorded thereon a key exchange program for making a computer function as the key exchange device according to claim 1 .
8. A non-transitory computer-readable recording medium having recorded thereon a key exchange program for making a computer function as the key exchange device according to claim 2 .