Key exchange system and key exchange method
The key exchange system updates cryptographic algorithms in one device while maintaining encrypted communication by using separate key exchange and provisioning modules, synchronizing with the partner to ensure continuous communication.
Patent Information
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2024-09-04
- Publication Date
- 2026-03-12
AI Technical Summary
Conventional cryptographic systems like TLS and IKE do not allow for updating cryptographic algorithms during encrypted communication without shutting down the entire system, and require both communication partners to have the same updated software to use the new algorithm.
A key exchange system with separate key exchange and key provisioning modules allows for updating cryptographic algorithms in one device while maintaining encrypted communication, and synchronizes the update with the communication partner by constructing new key exchange units using a cryptographic method management device.
Enables updating encryption algorithms without stopping the entire system and synchronizing with the communication partner, ensuring continuous encrypted communication.
Smart Images

Figure JP2024031748_12032026_PF_FP_ABST
Abstract
Description
Key exchange system and key exchange method
[0001] The present invention relates to a system and method for exchanging keys in cryptographic communication using a common key.
[0002] Non-Patent Documents 1 and 2 are known as conventional techniques for reaching an agreement with a communication partner to use a pre-prepared encryption algorithm and selecting which algorithm to use. This can be achieved using Transport Layer Security (TLS) or Internet Key Exchange (IKE), and can also be realized using Elastic Key Control technology.
[0003] Douglas Stebila, Scott Fluhrer, Shay Gueron, "Hybrid key exchange in TLS 1.3 draft-ietf-tls-hybrid-design-09", [online], [Retrieved July 23, 2024], Internet <URL: https: / / datatracker.ietf.org / doc / draft-ietf-tls-hybrid-design / 09 / >. P. Kampanakis, Amazon Web Services, G. Ravago, "Post-quantum Hybrid Key Exchange with ML-KEM in the Internet Key Exchange Protocol Version 2 (IKEv2)" [online], [Retrieved July 23, 2024], Internet <URL: https: / / www.ietf.org / archive / id / draft-kampanakis-ml-kem-ikev2-01.html>.
[0004] Common methods for updating software include over-the-air (OTA) for a single location and adding new modules. However, conventional cryptographic systems such as TLS and IKE do not have the functionality to update the cryptographic algorithms used in key exchange. With conventional technologies, the system must be shut down when updating cryptographic software, which means that encrypted communications must also be stopped before using the cryptographic algorithms added by updating the cryptographic software.
[0005] Furthermore, in order to use a cryptographic algorithm added as a result of updating cryptographic software in a key exchange protocol with a communication partner, the communication partner must also be able to use the same cryptographic algorithm through updating its cryptographic software, etc. However, conventional technology does not provide a method for enabling the use of an added cryptographic algorithm when the communication partner cannot use it.
[0006] Therefore, in a running system, it is difficult to add a cryptographic algorithm while continuing encrypted communication without stopping the entire system, and further to switch to a new cryptographic algorithm in synchronization with the communication partner.
[0007] An object of the present invention is to provide a key exchange system and a key exchange method that can update an encryption algorithm for key exchange while continuing encrypted communication without stopping the entire system, and can switch the encryption algorithm in synchronization with the communication partner.
[0008] According to one aspect of the present invention, to solve the above problems, a key exchange system includes a plurality of communication devices and performs key exchange in cryptographic communication using a common key. Each communication device includes a key exchange unit that performs key exchange with a communication partner using cryptographic software including a cryptographic algorithm, a cryptographic communication unit that performs cryptographic communication with the communication partner using the common key, a key provisioning unit that supplies the common key to the cryptographic communication unit, and a key provisioning control unit that acquires cryptographic software for renewal and constructs a new key exchange unit including the new cryptographic software. After constructing a new key exchange unit, the key provisioning unit of one communication device requests the key provisioning unit of the other communication device to construct a new key exchange unit including the renewed cryptographic software. Upon receiving the request for construction of the new key exchange unit, the key provisioning unit of the other communication device instructs the key provisioning control unit to construct a new key exchange unit in the communication device of the other communication device. The key provisioning unit of the one communication device synchronizes with the key provisioning unit of the other communication device and switches the key exchange unit that was previously used to the new key exchange unit.
[0009] According to the present invention, it is possible to update the encryption algorithm for key exchange while continuing encrypted communication without stopping the entire system, and to switch in synchronization with the other party.
[0010] 1 is a diagram showing an example of the configuration of a key exchange system according to a first embodiment; FIG. 2 is a diagram showing an example of a processing flow of the key exchange system according to the first embodiment; FIG. 3 is a diagram showing an example of the configuration of a computer to which the present technique is applied.
[0011] Hereinafter, an embodiment of the present invention will be described. In the drawings used in the following description, components having the same functions and steps performing the same processes are denoted by the same reference numerals, and redundant description will be omitted.
[0012] <Key Points of First Embodiment> The encryption algorithm for key exchange is updated, and the communication partner with whom encrypted communication is performed is also made to update its encryption algorithm for key exchange so that it can be used in key exchange with the communication partner.
[0013] The software updates required to update the encryption algorithm can be performed without shutting down the system, allowing encrypted communication to continue.
[0014] In order to prevent the interruption of key supply to the encryption communication function, the function (key exchange module) that exchanges keys with the communication partner using the encryption library is separated from the function (key supply module) that supplies the common key generated by the key exchange to the encryption communication function.
[0015] The key supply module initiates synchronization of cryptographic algorithm updates, and after confirming that the updates are complete, performs key updates using the new cryptographic algorithm. If the cryptographic algorithm update is not complete during key updates, a key exchange is performed using the cryptographic algorithm before the update, and then the key is updated. This makes it possible to use keys that use the new cryptographic algorithm without interrupting the key update.
[0016] First Embodiment FIG. 1 shows an example of the configuration of a key exchange system according to a first embodiment, and FIG. 2 shows an example of the processing flow thereof.
[0017] The key exchange system includes multiple communication devices and a cryptographic method management device 200. Here, it is assumed that communication devices 100A and 100B perform cryptographic communication using a common key. The communication devices 100A and 100B perform key exchange in the cryptographic communication. The communication devices 100A and 100B and the cryptographic method management device 200 are connected to each other via communication lines so that they can communicate with each other.
[0018] The cryptographic method management device 200 stores a master library of cryptographic methods, and transmits cryptographic software and update data for the cryptographic software in response to requests from the communication devices 100A and 100B.
[0019] Communication devices 100A and 100B each include a key supply unit 110A and 110B that function as the aforementioned key supply module, one or more key exchange units 120-mA and 120-mB (m=1, 2, ...) that function as the aforementioned key exchange modules, cryptographic communication units 140A and 140B, and key supply control units 150A and 150B that function as key supply control modules.
[0020] During encrypted communication, one communication device (here, communication device 100A) requests the other communication device (here, communication device 100B) to update its cryptographic software. Upon receiving notification from communication device 100B that the cryptographic software has been updated, communication device 100A synchronizes with communication device 100B, switches its cryptographic software to the updated version, and continues the encrypted communication.
[0021] The communication devices 100A and 100B are special devices configured by loading special programs into a publicly known or dedicated computer having, for example, a central processing unit (CPU) and a main memory (RAM). The communication device 100 executes each process under the control of the central processing unit. Data input to the communication device 100 and data obtained from each process are stored in the main memory, for example. The data stored in the main memory is read by the central processing unit as needed and used for other processes. At least a portion of each processing unit in the communication device 100 may be configured with hardware such as an integrated circuit. Each storage unit included in the communication device 100 may be configured with, for example, a main storage unit such as a random access memory (RAM), or middleware such as a relational database or key-value store. However, each storage unit does not necessarily have to be included within the communication device 100 itself. It may be configured with an auxiliary storage unit implemented by a semiconductor memory element such as a hard disk, optical disk, or flash memory, and may be configured external to the communication device 100.
[0022] The following describes each unit of the communication device 100A, but each unit of the communication device 100B has the same function.
[0023] <Key Supply Unit 110A> The key supply unit 110A obtains a common key to be supplied to the encryption function from the key exchange unit 120-mA, and supplies it to the encryption communication unit 140A.
[0024] Key supply unit 110A instructs key supply control unit 150A to establish and delete key exchange unit 120-mA, and switches key exchange unit 120-mA from which a common key is obtained.
[0025] The key supply unit 110A requests the other party with whom it is performing encrypted communication to update the cryptographic software that includes the cryptographic algorithm of the key exchange unit 120-mB, and starts operation of the updated cryptographic software. Specifically, this is done as follows.
[0026] (i) The key supply unit 110A notifies the key supply unit 110A of the communication partner that the cryptographic software has been updated and that the cryptographic algorithm will be switched to the newly added cryptographic algorithm, and the timing of switching to the new key exchange unit 120-mA is synchronized.
[0027] (ii) If the communication partner has not updated its cryptographic software to the new one, the key supply unit 110A requests the communication partner's key supply unit 110B to update its cryptographic software. Upon receiving this request, the communication partner's key supply unit 110B instructs the key supply control unit 150B to update its cryptographic software.
[0028] <Key exchange unit 120-mA> The key exchange unit 120-mA exchanges keys with the communication partner using cryptographic software including a cryptographic algorithm, and outputs the acquired common key to the key supply unit 110A. There may be multiple key exchange units 120-mA. Furthermore, one of the multiple key exchange units 120-mA may store a common key that has been shared in advance with the communication partner.
[0029] <Encryption Communication Unit 140A> The encryption communication unit 140A performs encryption communication with the communication partner using a common key.
[0030] <Key Supply Control Unit 150A> The key supply control unit 150A constructs a new key exchange module including the updated cryptographic software in accordance with instructions from the key supply unit 110A.
[0031] When constructing a new key exchange module, the cryptographic software of the originally constructed key exchange module may be updated, or a new key exchange module may be constructed using updated cryptographic software. However, if the cryptographic software of the originally constructed key exchange module is updated, key exchange cannot be performed while the cryptographic software is being updated, so the key supply unit 110A supplies a pre-shared common key. Furthermore, if the key supply control unit 150A constructs a new key exchange module using updated cryptographic software, the old key exchange module including the pre-update cryptographic software remains, so the key supply control unit 150A may be configured to delete the old key exchange module including the pre-update cryptographic software in accordance with an instruction from the key supply unit 110A.
[0032] The key supply control unit 150A may obtain cryptographic software from a predetermined master library of the cryptographic method management device 200, or may use cryptographic software stored by an administrator.
[0033] The key supply unit 110A, the key supply control unit 150A, and the key exchange unit 120-mA can each realize their functions on a container or a VM (Virtual Machine). For example, when a container is used, when the key supply control unit 150A constructs the key exchange unit 120-mA including cryptographic software, it can be realized by issuing an instruction to a container orchestrator such as Kubernetes (registered trademark) to start the container including the cryptographic software.
[0034] The prerequisites and processing flow for key exchange will be explained below.
[0035] (Prerequisites) First, the prerequisites for key exchange will be described.
[0036] The key supply control unit 150A can obtain cryptographic software by, for example, obtaining it from a predetermined master library stored in the cryptographic method management device 200, or by using cryptographic software saved by an administrator.
[0037] Key supply unit 110A periodically obtains a common key from key exchange unit 120-mA and supplies it to encryption communication unit 140A. Encryption communication unit 140A performs encryption communication using the common key that has been supplied.
[0038] In response to a request from key provider 110A, key exchanger 120-mA exchanges keys with key exchanger 120-mB of the communication partner and passes the common key to key provider 110A.
[0039] Based on the above assumptions, the following processing is carried out (see FIG. 2).
[0040] (Processing flow) The key supply unit 110A outputs a control signal instructing the updating of the cryptographic algorithm for key exchange, as well as information on how to obtain the cryptographic algorithm (such as network information for accessing the cryptographic software for updating) and information on the key exchange unit 120-1B (such as network information for communicating with the key exchange unit 120-1B of the communication partner) to the key supply control unit 150A (S11).
[0041] The key supply control unit 150A receives a control signal instructing the updating of the cryptographic algorithm for key exchange, as well as information on the method for obtaining the cryptographic algorithm and the key exchange unit 120-1B. In accordance with the control signal, the key supply control unit 150A obtains the cryptographic software for the update from the master library stored in the cryptographic method management device 200, constructs a new key exchange unit 120-2A including the cryptographic software for the update, and outputs a control signal to the key supply unit 110A informing it that the new unit has been constructed (S13).
[0042] When key provider 110A receives the control signal informing it that new key exchange unit 120-2A has been constructed, it transmits a control signal to key provider 110B of the other party requesting construction of new key exchange unit 120-2B including the updated cryptographic software (S15). Key provider 110A may also transmit information such as a method for obtaining the algorithm together with the control signal.
[0043] When key provider 110B of the communication partner receives the control signal requesting the construction of new key exchange unit 120-2B, it checks whether or not new key exchange unit 120-2B exists (S17).
[0044] If new key exchange section 120-2B already exists, key provision section 110B of the communication partner transmits a control signal to key provision section 110A notifying that construction has been completed (S21).
[0045] If there is no new key exchange unit 120-2B, communication device 100B of the communication partner performs the same processes as S11 and S13 described above to construct a new key exchange unit 120-2B (S19).
[0046] If new key exchange unit 120-2B has been successfully constructed ("YES" in S20, "normal processing"), communication device 100B, the other party of communication, transmits a control signal notifying key supply unit 110A that the construction has been completed (S21). For example, if a method for obtaining a cryptographic algorithm (such as network information for accessing the cryptographic software to be updated) has been received together with a control signal requesting the construction of new key exchange unit 120-2B, communication device 100B accesses cryptographic method management device 200 based on this network information, downloads the cryptographic software to be updated, and constructs new key exchange unit 120-2B including the updated cryptographic software.
[0047] If new key exchange unit 120-2B cannot be constructed normally ("NO" in S20, "abnormal processing"), communication device 100B of the communication partner sends a control signal (also called an "abnormal notification") notifying key supply unit 110A that new key exchange unit 120-2B does not exist (S22), and stops processing or issues an alert. When key supply unit 110A receives the control signal notifying that new key exchange unit 120-2B does not exist from key supply unit 110B of the communication partner, it notifies key supply control unit 150A of this fact.
[0048] When key provision unit 110A receives a control signal indicating that establishment is complete, it synchronizes with key provision unit 110B of the communication partner, adjusts the timing for switching key exchange unit 120 for acquiring keys, and simultaneously switches key exchange units 120-1A and 120-1B to key exchange units 120-2A and 120-2B with the communication partner (S23). Before key exchange, key provision unit 110A transmits NW information of new key exchange unit 120-2A to be switched to key provision unit 110B of the communication partner, and receives NW information of new key exchange unit 120-2B of the communication partner from key provision unit 110B of the communication partner. Key provision unit 110A outputs the received NW information to key exchange unit 120-2A, and upon receiving the NW information, key exchange unit 120-2A stores it and uses it during key exchange.
[0049] After the key exchange unit switching is complete, key supply unit 110A outputs a control signal to key supply control unit 150A to instruct the deletion (undeployment) of old key exchange unit 120-1A (S25).
[0050] When the key supply control unit 150A receives a control signal instructing the deletion (undeployment) of the old key exchange unit 120-1A, it deletes the old key exchange unit 120-1A in accordance with the control signal and outputs a control signal to the key supply unit 110A informing it of the deletion (S27).
[0051] <Effects> With the above configuration, the encryption algorithm for key exchange can be updated while continuing encrypted communication without stopping the entire system, and the algorithm can be switched in synchronization with the other party.
[0052] <Variation> After switching to new key exchange unit 120-2A, instead of immediately deleting old key exchange unit 120-1A, key supply unit 110A may notify the other party that the old key exchange unit 120-1A will not be used, and may then issue an instruction to key supply control unit 150A to delete the old key exchange unit 120-1A.
[0053] The timing for deleting old key exchange unit 120-1A may be the same as when key supply unit 110A switches to new key exchange unit 120-2A, or a method may be used in which old key exchange unit 120-1A is deleted when new key exchange unit 120-2A is created and the stored key is used until the timing for switching to new key exchange unit 120-2A. In this case, communication devices 100A and 100B each include key exchange units 120-0A and 120-0B in which a pre-shared common key is stored.
[0054] In this embodiment, a new key exchange unit is constructed, but the cryptographic software of the originally constructed key exchange unit 120-1A may also be updated. In this case, while key exchange unit 120-1A is stopped, key supply unit 110A supplies the key previously stored in key exchange unit 120-0A to cryptographic communication unit 140A. At that time, key supply unit 110A synchronizes the timing of switching to the stored key with key supply unit 110B of the communication partner.
[0055] From the viewpoint of security, the keys stored in key exchange unit 120-0A may be deleted at the timing of switching to key exchange unit 120-2A that uses the updated new encryption algorithm, or immediately after the switching.
[0056] From the viewpoint of security, immediately after switching to key exchange section 120-2A that uses the updated new encryption algorithm, new key exchange section 120-2A may be used to supply a key to encryption communication section 140A.
[0057] Furthermore, a device (terminal) for using the device, system, or method of the present invention via a network (telecommunications line) may also be included. The "device (terminal) for use" may be equipped with functions (e.g., control function, decryption function, restoration function, input / output function, etc.) necessary to obtain the effects of implementing the device, system, or method of the present invention. Note that a configuration including a device (terminal) for using the device or method of the present invention via a network (telecommunications line) is also referred to as a key exchange system.
[0058] <Hardware, Programs, and Recording Media> The functions realized by the components described in this specification may be implemented in circuitry or processing circuitry, including general-purpose processors, application-specific processors, integrated circuits, ASICs (Application Specific Integrated Circuits), a CPU (a Central Processing Unit), conventional circuits, and / or combinations thereof, programmed to realize the described functions. A processor includes transistors and other circuits and is considered to be circuitry or processing circuitry. A processor may also be a programmed processor that executes a program stored in a memory.
[0059] In this specification, a circuitry, unit, or means is hardware that is programmed to realize or performs the described functions, which may be any hardware disclosed herein or any hardware known to be programmed to realize or perform the described functions.
[0060] If the hardware is a processor considered to be a type of circuitry, the circuitry, means, or unit is a combination of the hardware and software used to configure the hardware and / or processor.
[0061] The various processes described above can be implemented by loading a program that executes each step of the above method into the recording unit 2020 of the computer 2000 shown in Figure 3, and operating the control unit 2010, input unit 2030, output unit 2040, display unit 2050, etc.
[0062] The program describing the processing contents can be recorded on a computer-readable recording medium, which may be, for example, a magnetic recording device, an optical disk, a magneto-optical recording medium, a semiconductor memory, or any other suitable recording medium.
[0063] The program may be distributed by, for example, selling, transferring, lending, etc. portable recording media such as DVDs and CD-ROMs on which the program is recorded. Furthermore, the program may be stored in a storage device of a server computer, and then transferred from the server computer to other computers via a network, thereby distributing the program.
[0064] A computer that executes such a program may first temporarily store the program recorded on a portable recording medium or transferred from a server computer in its own storage device. Then, when executing a process, the computer reads the program stored on its own recording medium and executes the process in accordance with the read program. Alternatively, the computer may read the program directly from a portable recording medium and execute the process in accordance with the program. Furthermore, the computer may execute the process in accordance with the program each time a program is transferred from a server computer to the computer. Alternatively, the server computer may not transfer the program to the computer, but may instead execute the process through a so-called ASP (Application Service Provider) service, which realizes the processing function by issuing an execution instruction and obtaining the results. Furthermore, the server computer may execute the process at the terminal using a so-called SaaS (Software as a Service) service, which allows users to use part of a server computer along with the program. In this embodiment, the program includes information used for processing by an electronic computer that is equivalent to a program (such as data that is not a direct instruction to a computer but has properties that dictate computer processing).
[0065] Furthermore, in this embodiment, the device is configured by executing a predetermined program on a computer, but at least a part of the processing contents may be realized by hardware.
[0066] <Other Modifications> The present invention is not limited to the above-described embodiments and modifications. For example, the various processes described above may not only be executed in chronological order as described, but may also be executed in parallel or individually depending on the processing capacity of the device that executes the processes or as needed. Other modifications are possible as long as they do not deviate from the spirit of the present invention.
Claims
1. A key exchange system including a plurality of communication devices that performs key exchange in cryptographic communication using a common key, wherein each communication device includes: a key exchange unit that performs key exchange with a communication partner using cryptographic software including a cryptographic algorithm; a cryptographic communication unit that performs cryptographic communication with the communication partner using a common key; a key supply unit that supplies the common key to said cryptographic communication unit; and a key supply control unit that obtains cryptographic software for renewal and constructs a new key exchange unit including said cryptographic software for renewal, wherein after constructing the new key exchange unit, the key supply unit of one communication device requests the key supply unit of the communication partner to construct a new key exchange unit including the renewed cryptographic software, and upon receiving the request to construct a new key exchange unit, the key supply unit of the communication partner instructs the key supply control unit to construct a new key exchange unit in the communication device of the communication partner, and the key supply unit of one communication device synchronizes with the key supply unit of the communication device of the communication partner and switches the key exchange unit that was being used until then to the new key exchange unit.
2. A key exchange system according to claim 1, wherein each of said communications devices includes a plurality of key exchange units, at least one of which stores a common key shared in advance, and when a new key exchange unit is established between a communications device and a communications device of a communication partner, said key supply control unit deletes the key exchange unit that was previously in use, and the key supply unit supplies the common key stored in said key exchange unit to the encryption communications unit from the time the key exchange unit that was previously in use is deleted until the key exchange unit is switched to the new key exchange unit.
3. A key exchange system according to claim 1, wherein immediately after switching to a new key exchange unit, the new key exchange unit exchanges keys with the communication partner, and the key supply unit supplies a new common key to the encryption communication unit.
4. A key exchange method for performing key exchange in encrypted communication using a common key using multiple communication devices, wherein each communication device includes: a key exchange unit that performs key exchange with a communication partner using cryptographic software including a cryptographic algorithm; a cryptographic communication unit that performs cryptographic communication with the communication partner using a common key; a key supply unit that supplies the common key to said cryptographic communication unit; and a key supply control unit that obtains cryptographic software for renewal and constructs a new key exchange unit including said cryptographic software for renewal, the key exchange method including the steps of: after constructing the new key exchange unit, the key supply unit of one communication device requests the key supply unit of the communication partner to construct a new key exchange unit including the renewed cryptographic software; upon receiving the request to construct a new key exchange unit, the key supply unit of the communication partner instructs the key supply control unit to construct a new key exchange unit in the communication device of the communication partner; and the key exchange unit of one communication device synchronizes with the key exchange unit of the communication device of the communication partner and switches the key exchange unit that has been used until then to the new key exchange unit.
Citation Information
Patent Citations
Encryption protocol executing device, encryption protocol executing method, and program
JP2009194601A
Protocol customize system of storage medium, storage medium, parameter generation device, and method and program of customizing protocol of storage medium
JP2010044602A