The present invention relates to a method of secure data exchange, and more particularly to an encryption key exchange between two cryptographic units.
Two mutually exclusive classes of cryptographic methods and protocols are well known to those familiar with cryptography, symmetric cryptography, and public-key cryptography (or named asymmetric cryptography). In symmetric cryptographic protocols, the same key and cryptographic method are used both for encrypting a plaintext into cyphertext and for decrypting a cyphertext to recover the plaintext. It is readily apparent that the security of a symmetric cryptographic protocol can never exceed the security of the single key used for both encryption and decryption.
For symmetric cryptographic protocols, there are three well-known key management problems. First, a key may be compromised, which permits an eavesdropper who obtains the key either to read all the cyphertext or even to broadcast bogus cyphertext. The only way to alleviate this problem is to change the key frequently. A second problem for symmetric cryptography key management is that it requires a large number of keys if each pair of individuals in a group is to communicate with each other using a different key. Forty-five unique keys are required if a group of 10 individuals are to communicate. Fifty-five unique keys are required for communication among a group of 11 individuals. The final problem for key management in symmetric cryptographic protocols is that, since the keys are more valuable than the encrypted message, the keys must be exchanged by a secure communication.
Whether used with a symmetric cryptographic protocol or with a public-key cryptographic protocol, an encryption key should not be used indefinitely. First, the longer time a key is used for, the more likely it will be comprised by theft, luck, extortion, bribery or cryptanalysis. Longer use of a key aids an eavesdropper because it provides more cyphertext encoded with the same key to which cryptanalytic methods may be applied. Second, usually the longer time a key is used for, the greater loss the key must compromise on.
The primary objective of the present invention is to provide a method of secure data exchange, which is secure against cryptanalysis. The method is based on the exchange of cryptographic keys between two cryptographic units. Because a new key replaces a previous key during every session, an eavesdropper steals too little cyphertext to complete cryptanalysis.
Another objective of the present invention is to provide a cryptographic key exchange protocol that is simpler than the present protocols.
In order to achieve the objective, the present invention discloses a method of secure data exchange occurring in a system that includes a server and at least a client. An initial key is either pre-configured by factories and permanently stored in the client (or named as an endpoint) or obtained from the server through a manual login. After starting to first connect to the server, the client sends a reset message to the sever using the initial key. Once receiving the message, the server verifies the received messages and also uses the initial key to decrypt them. If the verification of the messages is approved, the server generates a first key and sends a key exchange message that includes the first key and is encrypted by the initial key to the client. Afterward, the client replaces the initial key with the first key in response to the received key exchange message, and meanwhile returns a key confirmation message. If the key confirmation message is approved, the server sends a downloading message to allow the client to retrieve corresponding information. After the information is successfully downloaded, the client sends a finish message to notify the server to await the coming of a next session.
When the next session starts, the client sends a key validation message encrypted by the first key. If the key validation message is approved, the server grants the request of the client to send another key exchange message with a second key. Conversely, the initial key is still used to request the approval of the server.
The invention will be described according to the appended drawings in which:
In an automatic provisioning system (APS), clients can obtain all configuration data from an automatic provisioning server, and all communication including the configuration data between them is encrypted and secure against any eavesdropper. Two entities are involved in the system, one being a key distribution server (KDS) which holds all client's profiles and cryptographic information, such as key information, and the other being the endpoints (EPs) maintained by the clients. Furthermore, the KDS can be integrated into the automatic provisioning server.
The KDS, acting as a powerful server, holds clients' personal data and execute complicated encryption and decryption processes. Generally speaking, the computational capability and storage capacity of EPs are limited by themselves. Therefore, the present invention discloses that a method improves the security of data exchange between the two entities regardless of the enhancement of the EPs' performance.
The following notations are used to explain the key distribution mechanism of a KDS in response to the requirement of an EP:
S(i) denotes the states of the i-th endpoint (EPi) monitored by the KDS;
K(i) denotes the key held by the EPi;
RK(i) denotes an initial key stored in the EPi;
AK(i) denotes a current active key held by the KDS;
CK(i) denotes a next key designated by the KDS; and
MAC(i) denotes the MAC (Media Access Control) address of the EPi.
There are four states of the EPi monitored by the KDS. First, an inactive state means the EPi is not recognized by the KDS; an exchanging state means a key exchange occurs between them; an idle state means the EPi is recognized by the KDS and awaits the coming of a next event initialized by either itself or the KDS; finally, a downloading state means the KDS allows the EPi to download data from somewhere that is authorized. In summary, the definitions of all messages occurring between the EPs and KDS are summarized in Table 1.
When the next session starts, the client sends a key validation message KEY_VALIDATE, encrypted by the first key CK(i). If the key validation message is approved, the KDS grants the request of the EPi to send another key exchange message with a second key in place of the first key.
After the communication between the EPi and KDS continues for several sessions, the EPi sends a key validation message encrypted by the current key K(i) to the KDS, as shown in
Please refer to
Referring to
As shown in the last case of
The packet structures of all aforesaid messages are summarized in Table 2. Each packet data includes a message ID, field 1 and field 2. All main data including cryptographic keys, address information, timestamp data, etc., are stored in Field 1, and one-way hash values are stored in Field 2.
In Table 3, the uppermost row shows four states, and the leftmost column shows various messages and their corresponding checked results. For example, supposing that the reset message of RESET is correct after the KDS verifies it, if the current EPi is at downloading state, then it is changed into exchanging state and sends a key exchange message KEY_EXCHANGE to the KDS. In addition to the application of the APS, the present invention can also be applied to any data exchange system in secure demand.
The above-described embodiments of the present invention are intended to be illustrative only. Numerous alternative embodiments may be devised by persons skilled in the art without departing from the scope of the following claims.