Encrypted communication method, program, and communication device
Patent Information
- Application Number
- JP2025545515
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Filing Date
- 2025-06-30
- Publication Date
- 2026-08-19
AI Technical Summary
It is difficult for prior art to quickly switch from encryption methods that have been discovered to be vulnerable to available encryption methods, especially when existing classic encryption systems are theoretically permeated after the emergence of large-scale quantum computers.
By prestoring random number seeds in the communication device, a new encryption key is generated, and when the encryption method is updated, a new encryption key is generated and used as an encryption communication key with other devices.
It realizes a encryption method that quickly switches to a secure without distributing new keys through the network, improves communication security and avoids security risks in network transmission.
Abstract
Description
Encryption communication method, program, and communication device
[0001] The present disclosure relates to an encrypted communication method, a program, and a communication device.
[0002] Patent Document 1 discloses an information processing device or a signature generation device for realizing a public key authentication method or an electronic signature method using a multi-order, multivariate simultaneous equation for which no efficient means (trapdoor) for solving is known.
[0003] JP 2013-48350 A
[0004] The present disclosure provides an encrypted communication method and the like that makes it easy to quickly switch from an encryption method in which a vulnerability has been discovered to an encryption method that can be used.
[0005] A cryptographic communication method according to one aspect of the present disclosure generates a first cryptographic key using a random number seed stored in advance when the cryptographic method is updated, and uses the generated first cryptographic key to perform cryptographic communication with a communication device using the cryptographic method that can be used with the communication device to obtain a random number to share with the communication device, and the obtained random number is used as a second cryptographic key for cryptographic communication with the communication device.
[0006] Furthermore, a program according to one aspect of the present disclosure causes one or more processors to execute the cryptographic communication method.
[0007] Also, a communication device according to one aspect of the present disclosure includes an encryption key generation unit and a communication unit. When an encryption method is updated, the encryption key generation unit generates a first encryption key using a pre-stored random number seed. The communication unit acquires a random number to be shared with a communication device by using the first encryption key generated by the encryption key generation unit to perform encrypted communication with the communication device using an encryption method that can be used with the communication device. The random number acquired by the communication unit is used as a second encryption key for encrypted communication with the communication device.
[0008] The present disclosure has the advantage that it is easy to quickly switch from an encryption method in which a vulnerability has been discovered to an encryption method that can be used.
[0009] FIG. 1 is a block diagram showing an example of an overall configuration including a communication device according to an embodiment. FIG. 2 is a block diagram showing an example of a functional configuration of a management server according to an embodiment. FIG. 3 is a diagram showing an example of a random number seed. FIG. 4 is a diagram showing an example of encryption method information. FIG. 5 is a block diagram showing an example of a functional configuration of a communication device according to an embodiment. FIG. 6 is a diagram showing an example of an encryption key. FIG. 7 is a diagram showing an example of a list of encryption methods. FIG. 8 is a sequence diagram showing a first operation example of an overall configuration including a communication device according to an embodiment. FIG. 9 is a sequence diagram showing a second operation example of an overall configuration including a communication device according to an embodiment. FIG. 10 is a diagram showing an example of updated encryption method information. FIG. 11 is a sequence diagram showing a third operation example of an overall configuration including a communication device according to an embodiment. FIG. 12 is a sequence diagram showing an example of encrypted communication by a communication device according to an embodiment. FIG. 13 is a sequence diagram showing an operation example of an overall configuration including a communication device according to a first modification of the embodiment. FIG. 14 is a sequence diagram showing an operation example of an overall configuration including a communication device according to a second modification of the embodiment. FIG. 15 is a sequence diagram showing another operation example of an overall configuration including a communication device according to the second modification of the embodiment. Fig. 16 is a sequence diagram showing an example of operation of the entire configuration including a communication device according to a third modified example of the embodiment. Fig. 17 is a diagram showing an example of an encryption key generated for each encryption method. Fig. 18 is a sequence diagram showing another example of operation of the entire configuration including a communication device according to the third modified example of the embodiment. Fig. 19 is a block diagram showing an example of the functional configuration of a communication device according to a fourth modified example of the embodiment. Fig. 20 is a diagram showing an example of a random number seed for each encryption key and parameter.
[0010] (Knowledge forming the basis of the present disclosure) In recent years, with the advent of quantum computers, the development of quantum computers has been actively pursued. On the other hand, it is known that the large scale of quantum computers will theoretically compromise currently used cryptographic methods (hereinafter also referred to as "classical cryptographic methods"). In light of this situation, post-quantum cryptographic methods have been proposed, which are new cryptographic methods that can withstand the computational performance of large-scale quantum computers.
[0011] However, even post-quantum cryptography methods have not been fully evaluated for their security, and even after they are adopted in communications devices, vulnerabilities may be discovered in the post-quantum cryptography methods. If a vulnerability is discovered in the cryptography method used by the communications device, the device will need to immediately switch to another cryptography method to ensure the security of communications.
[0012] However, if a vulnerability is discovered in the encryption method being used, the security of communications is no longer guaranteed, and a new encryption key cannot be distributed to the communication device via the network, which poses a problem: the communication device cannot quickly switch from the encryption method it is currently using to a usable encryption method.
[0013] In view of the above, the present disclosure aims to provide an encryption communication method and the like that allows a communication device to easily switch quickly from an encryption method in which a vulnerability has been discovered to an encryption method that can be used by generating a new encryption key using a random number seed that is stored in advance.
[0014] More specifically, in the cryptographic communication method according to the first aspect of the present disclosure, when the encryption method is updated, a first encryption key is generated using a random number seed stored in advance, and the generated first encryption key is used to perform cryptographic communication using an encryption method that can be used with the communication device to communicate with, thereby obtaining a random number to be shared with the communication device, and the obtained random number is used as a second encryption key for cryptographic communication with the communication device.
[0015] This has the advantage that when the encryption method is updated, an encryption key is generated based on a random number seed that is stored in advance, so there is no need to distribute a new encryption key to communication devices over the network, and it is easy to quickly switch from an encryption method in which a vulnerability has been discovered to an encryption method that can be used.
[0016] Also, for example, in the cryptographic communication method according to the second aspect of the present disclosure, in the first aspect, if there are multiple usable cryptographic methods, an encryption method that can be used by the communication device is selected from the multiple encryption methods, and cryptographic communication is performed using the selected encryption method.
[0017] This has the advantage that encrypted communication is performed by selecting an encryption method that can be used by the communication device with which communication is being performed, so that encrypted communication is not performed using an encryption method that is not supported by the communication device with which communication is being performed, making it easier to establish encrypted communication with the communication device with which communication is being performed.
[0018] Also, for example, in the cryptographic communication method according to the third aspect of the present disclosure, in the first or second aspect, the cryptographic communication method is a post-quantum cryptography method.
[0019] This has the advantage that it is more difficult to decipher than when encrypted communication is performed using classical encryption methods, making it easier to ensure the confidentiality of data being sent and received.
[0020] Also, for example, in the cryptographic communication method according to the fourth aspect of the present disclosure, in any one of the first to third aspects, when cryptographic method information indicating that the available cryptographic methods have been updated is obtained from a management server that manages the available cryptographic methods, the available cryptographic methods are updated based on the obtained cryptographic method information.
[0021] This has the advantage that the available encryption methods are updated, making it easier to quickly switch to an available encryption method if, for example, a vulnerability is discovered in the encryption method that was being used.
[0022] Also, for example, in the encrypted communication method according to the fifth aspect of the present disclosure, in the fourth aspect, the updated usable encryption methods are transmitted to other communication devices.
[0023] This has the advantage that the encryption methods that can be used by other communication devices can be updated without going through the management server, so that the encryption methods that can be used can be updated even in situations where other communication devices cannot communicate with the management server.
[0024] Also, for example, in the cryptographic communication method according to the sixth aspect of the present disclosure, in any one of the first to fifth aspects, parameters of a cryptographic method that can be used are generated using a pre-stored random number seed that is different from the random number seed.
[0025] This has the advantage that by separating the random number seed for generating the encryption key from the random number seed for generating parameters, the number of times the random number seed for generating the encryption key, in other words the algorithm for generating the encryption key, is used can be reduced as much as possible, making it easier to ensure the confidentiality of the process of generating the encryption key.
[0026] Furthermore, for example, a program according to a seventh aspect of the present disclosure causes one or more processors to execute the cryptographic communication method according to any one of the first to sixth aspects.
[0027] This has the advantage that it is possible to achieve the same effect as the above-mentioned encrypted communication method.
[0028] Also, for example, a communication device according to an eighth aspect of the present disclosure includes an encryption key generation unit and a communication unit. When the encryption method is updated, the encryption key generation unit generates a first encryption key using a pre-stored random number seed. The communication unit acquires a random number to be shared with a communication device by using the first encryption key generated by the encryption key generation unit to perform encrypted communication with the communication device using an encryption method that can be used with the communication device. The random number acquired by the communication unit is used as a second encryption key for encrypted communication with the communication device.
[0029] This has the advantage that it is possible to achieve the same effect as the above-mentioned encrypted communication method.
[0030] Furthermore, these comprehensive or specific aspects may be realized in a system, an apparatus, a method, an integrated circuit, a computer program, or a non-transitory recording medium such as a computer-readable CD-ROM, or may be realized in any combination of a system, an apparatus, a method, an integrated circuit, a computer program, and a recording medium.
[0031] Hereinafter, embodiments will be described in detail with reference to the drawings. Note that the embodiments described below are all comprehensive or specific examples. The numerical values, shapes, materials, components, component placement and connection configurations, steps, or step order shown in the following embodiments are merely examples and are not intended to limit the present disclosure. Furthermore, among the components in the following embodiments, components not recited in independent claims will be described as optional components. Note that each figure is a schematic diagram and is not necessarily an exact illustration. Furthermore, in each figure, substantially identical components are assigned the same reference numerals, and duplicated descriptions may be omitted or simplified.
[0032] (Embodiment) [1. Overview] First, an overview of an encrypted communication method according to an embodiment will be described using Fig. 1. Fig. 1 is a block diagram showing an example of the functional configuration of an overall configuration including a communication device 200 according to an embodiment. As shown in Fig. 1, in the embodiment, encrypted communication (encrypted communication) is performed between two communication devices 200. Hereinafter, one of the two communication devices 200 will be referred to as a "first communication device 200A" and the other communication device 200 will be referred to as a "second communication device 200B."
[0033] The management server 100 manages available algorithms (encryption methods). A usable algorithm is an algorithm for which no vulnerabilities have been found. The management server 100 also transmits different random number seeds to the first communication device 200A and the second communication device 200B. In the embodiment, the management server 100 transmits random number seeds to two communication devices 200. However, if three or more communication devices 200 exist, the management server 100 may transmit random number seeds to three or more communication devices 200.
[0034] Here, the management server 100 transmits a random number seed to each of the first communication device 200A and the second communication device 200B, for example, before the available algorithms are updated. Therefore, the first communication device 200A and the second communication device 200B are each assigned a random number seed before the available algorithms are updated.
[0035] The first communication device 200A and the second communication device 200B each store a random number seed and a list of supported algorithms (usable encryption methods). The first communication device 200A stores a random number seed "0x12345..." and a list of supported algorithms including algorithm A, algorithm B, and algorithm C. The second communication device 200B stores a random number seed "0x23546..." and a list of supported algorithms including algorithm A, algorithm B, and algorithm C.
[0036] 1, if a vulnerability is discovered in algorithm B and it becomes unusable, management server 100 transmits information indicating that algorithm B is an unusable algorithm to first communication device 200A and second communication device 200B. Then, first communication device 200A and second communication device 200B each delete algorithm B from their lists of supported algorithms and generate an encryption key based on a random number seed stored in advance. A specific method for generating an encryption key based on a random number seed will be described later.
[0037] As described above, in the communication device 200 (encryption communication method) according to the embodiment, when the encryption method (supported algorithm) is updated, an encryption key is generated based on a random number seed stored in advance, which eliminates the need to distribute a new encryption key over the network to the communication device 200. Therefore, the communication device 200 (encryption communication method) according to the embodiment has the advantage that when the encryption method is updated, it is easy to quickly switch from an encryption method in which a vulnerability has been discovered to a usable encryption method.
[0038] [2. Configuration] Next, the overall configuration including the communication devices according to the embodiment will be described. As already mentioned, in the embodiment, communication is performed between two communication devices 200 (first communication device 200A and second communication device 200B) via a network such as the Internet. The communication devices 200 are realized by information terminals such as personal computers, smartphones, or tablet terminals. Furthermore, both of the two communication devices 200 are configured to be able to communicate with the management server 100 via a network such as the Internet.
[0039] 2 is a block diagram showing an example of the functional configuration of the management server 100 according to an embodiment. The management server 100 includes a processor and a memory, and realizes its functions by the processor executing a program stored in the memory. As shown in FIG. 2, the management server 100 includes a random number seed generation unit 101, a cryptographic method information management unit 102, and a communication unit 103.
[0040] The random number seed generation unit 101 generates a random number seed to be stored in advance in each communication device 200. Fig. 3 is a diagram showing an example of a random number seed. As shown in Fig. 3, the random number seed generation unit 101 generates, for example, a 16-bit random number seed. The random number seed generation unit 101 generates the random number seed by, for example, executing an appropriate generation algorithm. In this embodiment, the random number seed generation unit 101 generates a different random number seed for each communication device 200.
[0041] The cryptographic information management unit 102 manages cryptographic information related to one or more available cryptographic methods. Fig. 4 shows an example of the cryptographic information. As shown in Fig. 4, the cryptographic information includes one or more available cryptographic methods and parameters used for each cryptographic method.
[0042] In the example shown in Figure 4, the one or more encryption methods include the quantum-safe encryption method "CRYSTALS Kyber" ("Kyber" in Figure 4), "Classic McEliece", and "SIKE (Supersingular Isogeny Key Encapsulation)".
[0043] For information on "CRYSTALS Kyber," please refer to "CRYSTALS-Kyber Algorithm Specifications And Supporting Documentation (version 3.01), Roberto Avanzi et al., January 31, 2021." For information on "Classic McEliece," please refer to "Classic McEliece: conservative code-based cryptography: cryptosystem specification, October 23, 2022." For information on "SIKE," please refer to "Supersingular Isogeny Key Encapsulation, David Jao et al., University of Waterloo and evolutionQ, Inc., August 23, 2019." Note that the one or more cryptographic methods are not limited to the above cryptographic methods and may include other cryptographic methods.
[0044] The parameters used in each cryptographic method include, for example, the length of the cryptographic key, and are parameters used to generate the cryptographic key, encrypt data using the cryptographic key, or decrypt encrypted data. For example, if a vulnerability is discovered in a given cryptographic method, updating the parameters used in that cryptographic method may eliminate the vulnerability and ensure the security of that cryptographic method.
[0045] The cryptographic information management unit 102 updates the cryptographic information stored in the memory, for example, when it receives an input to update the cryptographic information. Here, updating the cryptographic information means, for example, deleting a cryptographic method or updating parameters used in a cryptographic method. The cryptographic information is updated, for example, when a vulnerability is found in one or more cryptographic methods.
[0046] The communication unit 103 transmits the random number seed generated by the random number seed generation unit 101 to one or more communication devices 200 that are the transmission targets. The transmission of the random number seed to each communication device 200 is basically performed only when the use of each communication device 200 is started. In the embodiment, the communication unit 103 transmits different random number seeds to the first communication device 200A and the second communication device 200B.
[0047] Furthermore, the communication unit 103 transmits the cryptographic method information managed by the cryptographic method information management unit 102 to one or more communication devices 200 that are the transmission targets. The transmission of cryptographic method information to each communication device 200 is basically performed when the use of each communication device 200 is started and when the cryptographic method information is updated. In this embodiment, the communication unit 103 transmits cryptographic method information to the first communication device 200A and the second communication device 200B, or updated cryptographic method information when the cryptographic method information is updated. Note that the cryptographic method information transmitted by the communication unit 103 to each communication device 200 may be, for example, information indicating that a vulnerability has been discovered in a given cryptographic method, information indicating updated parameters of a given cryptographic method, or information indicating a new cryptographic method.
[0048] Fig. 5 is a block diagram showing an example of the functional configuration of a communication device 200 according to an embodiment. In this embodiment, it is assumed that the first communication device 200A and the second communication device 200B both have the configuration of the communication device 200 shown in Fig. 5. The communication device 200 includes a processor and a memory, and realizes its functions by the processor executing a program stored in the memory. As shown in Fig. 5, the communication device 200 includes a random number seed storage unit 201, an encryption key generation unit 202, an encryption key storage unit 203, a correspondence method storage unit 204, and a communication unit 205.
[0049] The random number seed storage unit 201 stores the random number seed received from the management server 100 by the communication unit 205 .
[0050] When performing encrypted communication with another communication device 200, the encryption key generation unit 202 generates an encryption key according to the encryption method to be used, using a random number seed stored in the random number seed storage unit 201. In the embodiment, the encryption keys generated by the encryption key generation unit 202 are public keys and private keys, as described below, but are not limited to this. Fig. 6 is a diagram showing an example of an encryption key. As shown in Fig. 6, the encryption key generation unit 202 generates an encryption key having, for example, a bit string of 16 bits or more. The encryption key generation unit 202 generates an encryption key for each encryption method, for example, by executing an appropriate encryption key generation algorithm for each encryption method.
[0051] The encryption key storage unit 203 stores the encryption keys generated by the encryption key generation unit 202 for each encryption method.
[0052] The supported method storage unit 204 stores a list of encryption methods (hereinafter simply referred to as "encryption method list") that the communication device 200 is compatible with (i.e., that the communication device 200 can use). Fig. 7 is a diagram showing an example of the encryption method list. In the example shown in Fig. 7, the encryption method list includes "CRYSTALS Kyber" ("Kyber" in Fig. 7), which is a post-quantum encryption method, and "SIKE".
[0053] In this embodiment, the supported method storage unit 204 stores a list of encryption methods based on encryption method information received from the management server 100 via the communication unit 205. The supported method storage unit 204 also updates the stored list of encryption methods based on updated encryption method information received from the management server 100 via the communication unit 205. For example, if the updated encryption method information indicates that a vulnerability has been discovered in one of the encryption methods, the supported method storage unit 204 updates the list of encryption methods by deleting that encryption method from the list of encryption methods. Also, for example, if a new encryption method that can be used is added as a result of an update to the communications device 200, the supported method storage unit 204 updates the list of encryption methods by adding that encryption method to the list of encryption methods.
[0054] The communication unit 205 receives a random number seed and encryption method information from the management server 100. When performing encrypted communication with another communication device 200, the communication unit 205 also transmits and receives various data necessary for the encrypted communication to and from the other communication device 200.
[0055] [3. Operation] An example of operation of the entire configuration including the communication device 200 according to the embodiment will be described below.
[0056] 8 is a sequence diagram showing a first operation example of the overall configuration including the communication device 200 according to the embodiment. The first operation example is executed, for example, when starting to use each communication device 200. In the following, the description will be given assuming that the use of the first communication device 200A and the second communication device 200B is started.
[0057] First, the management server 100 generates a random number seed (S101). Here, the management server 100 generates a random number seed for the first communication device 200A and a random number seed for the second communication device 200B. Then, the management server 100 transmits the generated random number seed for the first communication device 200A and the encryption method information it manages to the first communication device 200A (S102).
[0058] When the first communication device 200A receives the random number seed and the encryption method information, it stores the received random number seed in the random number seed storage unit 201 (S103). Furthermore, the first communication device 200A stores a list of encryption methods supported by the first communication device 200A in the supported method storage unit 204 based on the received encryption method information (S104). Note that steps S103 and S104 may be executed in the reverse order or in parallel.
[0059] Next, the management server 100 transmits the generated random number seed for the second communication device 200B and the managed encryption method information to the second communication device 200B (S105). Note that steps S102 and S105 may be executed in the reverse order or in parallel.
[0060] When the second communication device 200B receives the random number seed and the encryption method information, it stores the received random number seed in the random number seed storage unit 201 (S106). Furthermore, the second communication device 200B stores a list of encryption methods supported by the second communication device 200B in the supported method storage unit 204 based on the received encryption method information (S107). Note that steps S106 and S107 may be executed in the reverse order or in parallel.
[0061] 9 is a sequence diagram showing a second operation example of the overall configuration including the communications device 200 according to the embodiment. The second operation example is executed, for example, when the management server 100 receives an input to update the encryption method information.
[0062] First, the management server 100 updates the cryptographic method information (S201), and then transmits the updated cryptographic method information to the first communication device 200A (S202).
[0063] When the first communication device 200A receives the updated encryption method information, it updates the list of encryption methods supported by the first communication device 200A based on the received encryption method information, and stores the updated list of encryption methods in the supported method storage unit 204 (S203).
[0064] Next, the management server 100 transmits the updated encryption method information to the second communication device 200B (S204). Note that steps S202 and S204 may be executed in the reverse order or in parallel.
[0065] When the second communication device 200B receives the updated encryption method information, it updates the list of encryption methods supported by the second communication device 200B based on the received encryption method information, and stores the updated list of encryption methods in the supported method storage unit 204 (S205).
[0066] FIG. 10 is a diagram showing an example of updated cryptographic method information. In FIG. 10, area A1 surrounded by a dashed line shows the parameters of the updated cryptographic method, area A2 shows the deleted cryptographic method, and area A3 shows the added cryptographic method. In the example shown in FIG. 10, a vulnerability was discovered in the quantum-safe cryptographic method "CRYTALS Kyber" ("Kyber" in FIG. 10), so the parameters of "CRYTALS Kyber" are updated to remove the vulnerability. In the example shown in FIG. 10, a vulnerability was discovered in the quantum-safe cryptographic method "SIKE", so "SIKE" is deleted, making "SIKE" unusable. In the example shown in FIG. 10, a quantum-safe cryptographic method "Classic McEliece" is added, making "Classic McEliece" newly usable.
[0067] [3-3. Third Operation Example] Fig. 11 is a sequence diagram showing a third operation example of the overall configuration including the communication device 200 according to the embodiment. The third operation example is executed, for example, after the encryption method information has been updated, when encrypted communication, such as transmitting and receiving data, is performed between two communication devices 200. In the example shown in Fig. 11, communication is performed between the first communication device 200A and the second communication device 200B. In addition, in the example shown in Fig. 11, communication is performed between the first communication device 200A and the second communication device 200B, with the second communication device 200B as the starting point, but the first communication device 200A may also be the starting point.
[0068] First, the second communication device 200B transmits a list of encryption methods supported by the second communication device 200B to the first communication device 200A (S301). Upon receiving the list of encryption methods, the first communication device 200A compares the received list of encryption methods with the list of encryption methods supported by the first communication device 200A and selects one of the encryption methods supported by both the first communication device 200A and the second communication device 200B (S302). The first communication device 200A then transmits the selected encryption method (i.e., the encryption method to be used) to the second communication device 200B (S303).
[0069] The first communication device 200A generates an encryption key corresponding to the selected encryption method using the random number seed stored in the random number seed storage unit 201 (i.e., the random number seed for the first communication device 200A) (S304). The second communication device 200B generates an encryption key corresponding to the selected encryption method using the random number seed stored in the random number seed storage unit 201 (i.e., the random number seed for the second communication device 200B) (S305). Thereafter, the first communication device 200A and the second communication device 200B execute setup processing and encrypted communication using the encryption keys they have generated (S306). Note that step S305 may be included in the setup processing in step S306.
[0070] FIG. 12 is a sequence diagram showing an example of encrypted communication by communication device 200 according to an embodiment. Steps S306A to S306F enclosed by dashed lines in FIG. 12 correspond to the setup process. Note that the setup process may include processes other than steps S306A to S306F. In the example shown in FIG. 12, encrypted communication is described as being performed between first communication device 200A and second communication device 200B. Furthermore, in the example shown in FIG. 12, encrypted communication is performed between first communication device 200A and second communication device 200B, with second communication device 200B as the originating point, but first communication device 200A may also be the originating point.
[0071] First, the second communication device 200B generates a private key and a public key (i.e., an encryption key) corresponding to the encryption method to be used, using the random number seed stored in the random number seed storage unit 201 (i.e., the random number seed for the second communication device 200B) (S306A). Step S306A is one process of the encrypted communication method according to the embodiment. Step S306A is performed by the encryption key generation unit 202 of the communication device 200 according to the embodiment. In other words, in the encrypted communication method, when the encryption method is updated, the encryption key generation unit 202 generates a first encryption key (here, a public key) using a pre-stored random number seed (here, the random number seed for the second communication device 200B). Step S306A corresponds to step S305 in FIG. 11 .
[0072] Next, the second communication device 200B transmits the generated public key (first encryption key) to the first communication device 200A (S306B). Upon receiving the public key, the first communication device 200A generates a random number using the random number seed stored in the random number seed storage unit 201 (i.e., the random number seed for the first communication device 200A) (S306C). The first communication device 200A then encrypts the generated random number with the received public key (S306D). Thereafter, the first communication device 200A transmits the encrypted random number (encrypted random number) to the second communication device 200B (S306E). Upon receiving the encrypted random number, the second communication device 200B decrypts the received encrypted random number with the private key that pairs with the public key (S306F). As a result, the second communication device 200B obtains the random number generated by the first communication device 200A, i.e., the random number shared by the first communication device 200A and the second communication device 200B. Steps S306B and S306E are executed by encrypted communication using an encryption method (here, a post-quantum encryption method) that can be used by both the first communication device 200A and the second communication device 200B.
[0073] The processing of steps S306B and S306E is one process of the encrypted communication method according to the embodiment. Furthermore, the execution entity of steps S306A and S306F is the communication unit 205 of the communication device 200 according to the embodiment. In other words, in the encrypted communication method, the communication unit 205 uses the generated public key (first encryption key) to perform encrypted communication using an encryption method that can be used with the communication device 200 (here, the first communication device 200A) that is the communication target, thereby acquiring a random number to be shared with the communication device 200.
[0074] Thereafter, when the second communication device 200B transmits data to the first communication device 200A by encrypted communication, the second communication device 200B encrypts the data using the shared random number as a common key (second encryption key) (S306G). Then, the second communication device 200B transmits the encrypted data (encrypted data) to the first communication device 200A (S306H). Upon receiving the encrypted data, the first communication device 200A decrypts the encrypted data using the shared random number as a common key (S306I). This makes it possible to transmit data from the second communication device 200B to the first communication device 200A by encrypted communication. In other words, the random number (shared random number) acquired by the communication unit 205 is used as a common key (second encryption key) for encrypted communication with the communication device 200 (here, the first communication device 200A).
[0075] [4. Advantages] Advantages of the communication device and the encrypted communication method according to the embodiments will be described below. As described above, in the communication device (encrypted communication method) according to the embodiments, when the encryption method is updated, an encryption key (second encryption key) is generated, which is a random number shared with the communication device with which communication is to be performed, based on a pre-stored random number seed. Therefore, in the communication device (encrypted communication method) according to the embodiments, the communication device autonomously generates a new encryption key, eliminating the need for the management server to distribute a new encryption key to the communication device over the network. Therefore, the communication device 200 (encrypted communication method) according to the embodiments has the advantage that, when the encryption method is updated, there is no need to consider the security of communications on the network, and it is easy to quickly switch from an encryption method in which a vulnerability has been discovered to a usable encryption method.
[0076] Other Embodiments Although the embodiments have been described above, the present disclosure is not limited to the above-described embodiments.
[0077] 13 is a sequence diagram showing an example of the operation of the entire configuration including a communications device 200 according to a first modification of the embodiment. In the first modification, even when the management server 100 updates the cryptographic information, the management server 100 does not transmit the updated cryptographic information to each communications device 200. On the other hand, in the first modification, the communications device 200 (here, the first communications device 200A) acquires the updated cryptographic information in response to an inquiry to the management server 100 about updating the cryptographic information. This will be explained in detail below.
[0078] First, the management server 100 updates the cryptographic information (S201), as in the second operation example of the embodiment. The communication device 200 (here, the first communication device 200A) periodically inquires of the management server 100 whether the cryptographic information has been updated (S206). Upon receiving the inquiry, the management server 100 executes a process to check whether the cryptographic information has been updated, and if there has been no update (S207: No), the process ends. On the other hand, if there has been an update (S207: Yes), the management server 100 transmits the updated cryptographic information to the communication device 200 (here, the first communication device 200A) that originated the inquiry (S208).
[0079] When the first communication device 200A receives the updated cryptographic method information, it updates the list of cryptographic methods supported by the first communication device 200A based on the received cryptographic method information, and stores the updated list of cryptographic methods in the supported method storage unit 204 (S209). As described above, the communication device 200 may update the list of cryptographic methods based on the cryptographic method information by independently inquiring of the management server 100 about whether the cryptographic method information has been updated.
[0080] 14 is a sequence diagram showing an example of the operation of the entire configuration including a communications device 200 according to a second modification of the embodiment. The second modification differs from the first modification in that a communications device 200 (here, first communications device 200A) that has updated its list of encryption methods transmits the updated encryption method information to another communications device 200 (here, second communications device 200B). This will be described in detail below.
[0081] The first communication device 200A transmits the updated encryption method information to the second communication device 200B (S401). Step S401 may be performed before or after starting encrypted communication with the second communication device 200B. Upon receiving the updated encryption method information, the second communication device 200B updates the list of encryption methods supported by the second communication device 200B based on the received encryption method information, and stores the updated list of encryption methods in the supported method storage unit 204 (S402).
[0082] Note that a communications device 200 (here, second communications device 200B) may acquire updated cryptographic information in response to an inquiry about updating of cryptographic information from another communications device 200 (here, first communications device 200A), as shown in Fig. 15. Fig. 15 is a sequence diagram showing another example of the operation of the overall configuration including communications device 200 according to the second modification of the embodiment.
[0083] The second communication device 200B periodically inquires of the first communication device 200A about whether the cryptographic information has been updated (S403). Upon receiving the inquiry, the first communication device 200A executes a process to check whether the cryptographic information has been updated, and if there has been no update (S404: No), the process ends. On the other hand, if there has been an update (S404: Yes), the first communication device 200A transmits the updated cryptographic information to the second communication device 200B (S401), similar to the operation shown in FIG. 14 .
[0084] 14, when the second communication device 200B receives the updated cryptographic method information, it updates the list of cryptographic methods supported by the second communication device 200B based on the received cryptographic method information and stores the updated list of cryptographic methods in the supported method storage unit 204 (S402). As described above, even if the communication device 200 cannot communicate with the management server 100, for example, it is possible for the communication device 200 to obtain updated cryptographic method information from another communication device 200.
[0085] <Third Modification> Fig. 16 is a sequence diagram showing an example of the operation of the entire configuration including communication device 200 according to a third modification of the embodiment. In the embodiment, communication device 200 generates an encryption key each time it performs encrypted communication with another communication device 200. On the other hand, in the third modification, communication device 200 (here, first communication device 200A) generates encryption keys (public key and private key) in advance and performs encrypted communication using the generated encryption key, i.e., the third modification differs from the embodiment in that encryption keys are not generated each time encrypted communication is performed. This will be described in detail below.
[0086] The first communication device 200A generates encryption keys (public key and private key) for each of some or all of the encryption methods supported by the first communication device 200A using the random number seeds stored in the random number seed storage unit 201 (i.e., random number seeds for the first communication device 200A) (S501). The first communication device 200A then stores the generated encryption keys in the encryption key storage unit 203 for each encryption method (S502). In the third modified example, encrypted communication is performed with another communication device 200 using the generated encryption keys, and therefore steps S304 and S305 (or step S306A) of the third operation example of the embodiment are unnecessary.
[0087] Fig. 17 is a diagram showing an example of encryption keys generated for each encryption method. In the example shown in Fig. 17, an encryption key for "CRYSTALS Kyber" ("Kyber" in Fig. 17), a post-quantum encryption method included in the list of encryption methods supported by first communication device 200A, and an encryption key for "SIKE" have been generated. As described above, communication device 200 can reuse encryption keys generated in advance, which eliminates the need to generate an encryption key each time encrypted communication is performed with another communication device 200, and has the advantage of making it easier to reduce the processing load required for encrypted communication.
[0088] It should be noted that communications device 200 (here, first communications device 200A) may generate an encryption key in response to an update to the encryption method, as shown in Fig. 18. Fig. 18 is a sequence diagram showing another example of the operation of the overall configuration including communications device 200 according to the third modified example of the embodiment. Note that steps S201 and S206 to S209 shown in Fig. 18 are the same as the operation shown in Fig. 13, and therefore will not be described here.
[0089] When the first communication device 200A updates the list of encryption methods supported by the first communication device 200A, it generates encryption keys for some or all of the encryption methods in the updated list using random number seeds (S501), similar to the operation shown in Fig. 16. Then, the first communication device 200A stores the generated encryption keys for each encryption method in the encryption key storage unit 203 (S502), similar to the operation shown in Fig. 16.
[0090] <Fourth Modification> Fig. 19 is a block diagram showing an example of the functional configuration of a communications device 200' according to a fourth modification of the embodiment. As shown in Fig. 19, communications device 200' according to the fourth modification differs from communications device 200 according to the embodiment in that it further includes a parameter generating unit 206 and a parameter storing unit 207.
[0091] The parameter generation unit 206 generates parameters for an encryption method according to the encryption method to be used, using a random number seed that is different from the random number seed used to generate an encryption key and is stored in the random number seed storage unit 201. In other words, in the encrypted communication method, the parameter generation unit 206 generates parameters for an encryption method that can be used using a pre-stored random number seed that is different from the random number seed (the random number seed for generating an encryption key).
[0092] The parameter storage unit 207 stores the parameters generated by the parameter generation unit 206 for each encryption method.
[0093] 20 is a diagram showing an example of random number seeds for each encryption key and parameter. In the example shown in Fig. 20, the random number seed storage unit 201 stores a random number seed for the "encryption key," a random number seed for "parameter 1," a random number seed for "parameter 2," and a random number seed for "encrypted communication." As described above, by separating the random number seeds for generating encryption keys from the random number seeds for generating parameters, it is possible to minimize the number of times the random number seeds for generating encryption keys, in other words, the number of times the algorithm for generating encryption keys is used, which has the advantage of making it easier to ensure the confidentiality of the encryption key generation process.
[0094] <Other Modifications> In the above embodiment, the communications device 200 stores the random number seed by acquiring the random number seed generated by the management server 100 from the management server 100, but this is not limited to this. For example, the communications device 200 may store the random number seed by acquiring the random number seed from an external storage medium such as a USB (Universal Serial Bus) or a device different from the management server 100. Furthermore, for example, the communications device 200 may store the random number seed by having the random number seed written when the communications device 200 is manufactured in a factory or the like.
[0095] In the above-described embodiment, the processing performed by a specific processing unit may be performed by another processing unit. The order of multiple processing operations may be changed, or multiple processing operations may be performed in parallel.
[0096] In the above-described embodiments, each component may be realized by executing a software program suitable for that component, or by a program execution unit such as a CPU (Central Processing Unit) or a processor reading and executing a software program recorded on a recording medium such as a hard disk or semiconductor memory.
[0097] Furthermore, each component may be realized by hardware. For example, each component may be a circuit (or integrated circuit). These circuits may form a single circuit as a whole, or each may be a separate circuit. Furthermore, each of these circuits may be a general-purpose circuit or a dedicated circuit.
[0098] Furthermore, the general or specific aspects of the present disclosure may be realized as an apparatus, a method, an integrated circuit, a computer program, or a computer-readable recording medium such as a CD-ROM, etc. Furthermore, the general or specific aspects of the present disclosure may be realized as any combination of an apparatus, a method, an integrated circuit, a computer program, and a recording medium.
[0099] For example, the present disclosure may be realized as a cryptographic communication method executed by a computer, or as a program for causing a computer to execute the cryptographic communication method. The present disclosure may also be realized as a computer-readable non-transitory recording medium on which such a program is recorded.
[0100] In addition, this disclosure also includes forms obtained by applying various modifications to each embodiment that a person skilled in the art would think of, or forms realized by arbitrarily combining the components and functions of each embodiment within the scope that does not deviate from the intent of this disclosure.
[0101] The present disclosure is useful when performing encrypted communication between multiple communication devices.
[0102] 100 Management server 101 Random number seed generation unit 102 Encryption method information management unit 103 Communication unit 200, 200' Communication device 201 Random number seed storage unit 202 Encryption key generation unit 203 Encryption key storage unit 204 Supported method storage unit 205 Communication unit 206 Parameter generation unit 207 Parameter storage unit 200A First communication device 200B Second communication device A1, A2, A3 Area
Claims
1. An encrypted communication method used in communication devices, When the encryption method is updated, a first encryption key is generated using a random number seed that is stored in advance and is different for each communication device. Using the generated first encryption key, encrypted communication is performed with other communication devices using the encryption scheme available to the communication target, thereby obtaining a random number to be shared with the other communication devices from the other communication devices. The obtained random number is used as a common second encryption key for encrypted communication with the other communication devices. A method of encrypted communication.
2. If multiple encryption methods are available, select an encryption method from among the multiple encryption methods that can be used by the other communication device, and perform encrypted communication using the selected encryption method. The encrypted communication method according to claim 1.
3. The aforementioned encryption method is a quantum-resistant cryptography method. The encrypted communication method according to claim 1 or 2.
4. When encryption method information indicating that an available encryption method has been updated is obtained from the management server that manages the available encryption methods, the available encryption methods are updated based on the obtained encryption method information. The encrypted communication method according to claim 1 or 2.
5. The updated, usable encryption scheme is transmitted to other communication devices. The encrypted communication method according to claim 4.
6. The parameters of the encryption scheme are generated using a different random seed from the previously stored random seed. The encrypted communication method according to claim 1 or 2.
7. One or more processors, The encrypted communication method described in claim 1 or 2 is executed. program.
8. When the encryption method is updated, the encryption key generation unit generates a first encryption key using a random number seed that is different for each communication device and is stored in advance, A communication unit that obtains a random number to be shared with the other communication device by using the first encryption key generated by the encryption key generation unit to perform encrypted communication with the other communication device using the encryption scheme usable with the other communication device, The random number acquired by the communication unit is used as a common second encryption key for encrypted communication with the other communication devices. Communication equipment.