Communication apparatus and communication method

A communication apparatus includes an encryption key generation unit that generates encryption key information at constant encryption key generation intervals, a common key generation unit that generates common key information uniquely with respect to a generation time at common key generation intervals set longer than the encryption key generation intervals, a common key application unit that performs encryption or decryption of the encryption key information by using the common key information, and an encryption key distribution unit that makes a request to a data transmitting/receiving unit to distribute the encryption key information to a plurality of communication apparatuses to be communicated simultaneously at encryption key distribution intervals set shorter than the encryption key generation intervals to perform communication with higher security.

FIELD

The embodiments discussed herein are directed to a communication apparatus including a security function using an encryption key, and a communication method.

BACKGROUND

A communication apparatus generally performs encryption communication, updates an encryption key used for the encryption communication periodically, and notifies other communication nodes of the encryption key periodically to ensure communication security. However, if communication parties cannot be successfully notified of the encryption key notified periodically for some reason or a temporal shift in update timing of the encryption key arises between communication nodes, the communication apparatus may receive encrypted data encrypted by using an old encryption key before the update from communication parties. In such a case, there is a problem that the communication apparatus is temporarily disabled to perform communication due to a mismatch of the encryption keys between communication apparatus nodes that transmit/receive encrypted data.

To solve the problem, a conventional communication apparatus includes a new key memory that holds a newly distributed encryption key as a new key, an old key memory that holds an encryption key distributed last time as an old key, and a switching unit that switches to encryption communication by the old key held in the old key memory after unsuccessful encryption communication by the new key (see, for example, Japanese Laid-open Patent Publication No. 2007-267301).

The conventional communication apparatus encrypts an encryption key by using a common key shared by each communication node in common and distributes the encrypted encryption key to other communication nodes, but the common key is fixed and if the common key should be deciphered, the encryption key is deciphered, even if the encryption key is updated, after each update and the conventional communication has a subject of causing grave flaws of security.

SUMMARY

According to an aspect of an embodiment of the invention, a communication apparatus includes a data transmitting/receiving unit that transmits data to and receives data from another communication apparatus; a plain text data processing unit that edits plain text data; an encryption key generation unit that generates encryption key information at constant encryption key generation intervals; a common key generation unit that generates common key information to perform encryption or decryption on the encryption key information generated by the encryption key generation unit uniquely with respect to a generation time as the common key information common among communication apparatuses at common key generation intervals set longer than the encryption key generation intervals; a common key application unit that performs the encryption of the encryption key information generated by the encryption key generation unit or the decryption of the encryption key information received from another communication apparatus using the common key information generated by the common key generation unit; and an encryption key distribution unit that makes a request to the data transmitting/receiving unit to distribute the encryption key information encrypted by the common key application unit to all communication apparatuses to be communicated at encryption key distribution intervals set shorter than the encryption key generation intervals.

DESCRIPTION OF EMBODIMENTS

[a] First Embodiment

A communication apparatus according to a first embodiment of the present invention will be described with reference toFIGS. 1 to 10.FIG. 1is a block diagram illustrating the configuration of a communication apparatus according to the first embodiment of the present invention,FIG. 2illustrates data layout examples and a data transition example of the communication apparatus illustrated inFIG. 1,FIG. 3is a network block diagram of the communication apparatus illustrated inFIG. 1,FIGS. 4A and 4Bare flowcharts to generate encryption key information and common key information of the communication apparatus illustrated inFIG. 1,FIG. 5is a flowchart of current key distribution of the communication apparatus illustrated inFIG. 1,FIG. 6is a distribution flowchart of a current key of the communication apparatus illustrated inFIG. 1,FIG. 7is a flowchart of reception of transmission data by the communication apparatus illustrated inFIG. 1,FIG. 8is an explanatory view of decryption of transmission data by the communication apparatus illustrated inFIG. 1,FIG. 9is a processing flowchart when a time lag of updating the current key of the communication apparatus illustrated inFIG. 1occurs, andFIG. 10is a processing flowchart when the time lag of updating a common key of the communication apparatus illustrated inFIG. 1occurs.

InFIG. 1, a communication unit100as a communication apparatus according to the present embodiment includes a data transmitting/receiving unit1that transmits/receives data to/from a plurality of other communication units100xincluding a function similar to that of the communication unit100, a plain text data processing unit2that edits plain text, an encryption key generation unit3that generates encryption key information at constant encryption key generation intervals, an encryption key management unit31that holds encryption key information generated by the encryption key generation unit3in encryption key information31aas the latest encryption key information and holds encryption key information one generation before the latest encryption key information in the encryption key information31aas old encryption key information, a common key generation unit4that generates common key information to perform encryption or decryption on encryption key information generated by the encryption key generation unit3uniquely with respect to a generation time as the common key information common among communication nodes at common key generation intervals set longer than the encryption key generation intervals, a common key management unit41that holds common key information generated by the common key generation unit4in common key information41aas the latest common key information and holds common key information one generation before the latest common key information in the common key information41aas old common key information, a common key application unit5that performs encryption of encryption key information generated by the encryption key generation unit3or decryption of encryption key information received from the other communication units100xusing common key information generated by the common key generation unit4, an encryption key distribution unit6that makes a request to the data transmitting/receiving unit1to distribute encryption key information encrypted by the common key application unit5to all the plurality of communication units100xto be communicated at encryption key distribution intervals set shorter than the encryption key generation intervals, a decryption unit7that decrypts the encrypted data received by the data transmitting/receiving unit1into the plain text data by using the latest encryption key information and makes a request to the plain text data processing unit2to process the plain text data, a normal decryption determination unit8that determines whether the encrypted data received by the data transmitting/receiving unit1is successfully decrypted by the decryption unit7by using the latest encryption key information within a fixed time from the distribution of the latest encryption key information by the encryption key distribution unit6, an old key use instruction unit9that issues instructions to the decryption unit7to decrypt the encrypted data again by using the old encryption key information when the normal decryption determination unit8determines that the encrypted data is not successfully decrypted, a remote party key management unit10that registers and manages encryption key information of the other communication units100xin remote party key information10a, an encryption unit11that encrypts plain text data corresponding to encrypted data received from the other communication units100x, and a fixed key application unit12that encrypts or decrypts data that is not registered in the remote party key information10aand transmitted/received by using fixed key information broadcast to/from the other communication units100x.

The normal decryption determination unit8further determines whether the encryption key information received by the data transmitting/receiving unit1is successfully decrypted by the common key application unit5by using the latest common key information within a fixed time from the distribution of the latest encryption key information by the encryption key distribution unit6.

The old key use instruction unit9further issues instructions to the common key application unit5to decrypt the encryption key information again by using the old common key information when the normal decryption determination unit8determines that the encryption key information is not successfully decrypted.

The encryption key information31acan include, as illustrated in (a) ofFIG. 2, an old key item, a current key item, and a next update key item. The old key item indicates an old key, which is the encryption key information used one generation before and prior to the update. The current key item indicates a current key, which is the encryption key information currently being used. The next update key item indicates a next update key, which is the encryption key information to be updated next time.

The common key information41acan include, as illustrated in (b) ofFIG. 2, an old common key item, a current common key item, and a next update common key item. The old key item indicates an old common key, which is the common key information used one generation before and prior to the update. The current common key item indicates a current common key, which is the common key information currently being used. The next update common key item indicates a next update common key, which is the common key information to be updated next time.

The remote party key information10acan include, as illustrated in (c) ofFIG. 2, a remote party number item and a remote party key item. The remote party number item indicates an identification number that identifies the other communication unit100x, which is a remote party of data communication. The remote party key item indicates the encryption key information distributed from the other communication unit100x.

The network configuration in the present embodiment includes, as illustrated inFIG. 3, communication units100,100x, and100ythat performs radio communication, a server200that controls and manages the communication units100,100x, and100y, and a gateway300that performs radio communication with the communication units100,100x, and100yand relays intercommunication between the communication units100,100x, and100yand the server200.

The communication unit100xis intended for steady communication with the communication unit100and there is a plurality of communication units100xto realize intercommunication, so-called ad hoc communication by mutually distributing encryption key information of both periodically. The communication unit100yis not intended for steady communication with the communication unit100and there is a plurality of communication units100yand though encryption key information is not mutually distributed with the communication unit100, ad hoc communication is performed with other communication units, for example, between the communication units100y. Thus, the communication units100,100x, and100yautonomously construct a radio ad hoc network by multi-hop communication realized by interconnection of radio communication.

An operation of a communication apparatus in the present embodiment based on the above configuration will be described. First, a management operation of the common key information41aby the common key management unit41will be described. A communication unit A as the communication unit100determines, as illustrated inFIG. 4A, whether a T0 time has passed since the last update (S1). The T0 time can be set, for example, in units of several hours such as 6 hours and 12 hours.

If the T0 time has passed since the last update based on the determination in S1, the common key generation unit4uniquely generates the latest common key as the latest common key information based on the generation time (S2). The common key generation unit4can generate the latest common key by using, for example, Greenwich Mean Time (GMT) as the generation time.

Since the latest common key is uniquely decided based on the generation time, the common key generation unit4can update the latest common key of the communication units100,100x, and100ysimultaneously without needing a procedure for distribution. The common key management unit41sets the latest common key to the common key information41aas the next update common key (S2).

After the setting, the common key management unit41makes a copy of the current common key set to the common key information41aas a current common key copy and temporarily stores the copy (S3). After the storage, the common key management unit41sets the next update common key set in S2as the current common key of the common key information41a(S4).

After the setting, the common key management unit41sets the current common key copy as the next update common key of the common key information41a(S5). After the setting, the common key management unit41sets the current common key copy as the old common key of the common key information41a(S6). If the T0 time has not passed since the last update based on the determination in S1, the common key generation unit4does not perform processing in S2to S6.

Thus, the common key management unit41manages the next update common key by associating with the current common key and therefore, the next update common key backs up the current common key so that an irregular state in which the current common key is used while being updated can be avoided with the next update common key.

Next, a management operation of the encryption key information31aby the encryption key management unit31will be described. The communication unit A determines, as illustrated inFIG. 4B, whether a T1 time has passed since the last update (S11). The T1 time can be set, for example, in units of several tens of minutes such as 10 minutes and 20 minutes.

If the T1 time has passed since the last update based on the determination in S11, the encryption key generation unit3generates the latest key as the latest encryption key information (S12). The encryption key generation unit3generates the latest key that is different each time by using, for example, a random number. The encryption key management unit31sets the latest key to the encryption key information31aas the next update key (S12).

After the setting, the encryption key management unit31makes a copy of the current key set to the encryption key information31aas a current key copy and temporarily stores the copy (S13). After the storage, the encryption key management unit31sets the next update key set in S12as the current key of the encryption key information31a(S14).

After the setting, the encryption key management unit31sets the current key copy as the next update key of the encryption key information31a(S15). After the setting, the encryption key management unit31sets the current key copy as the old key of the encryption key information31a(S16). If the T1 time has not passed since the last update based on the determination in S11, the encryption key generation unit3does not perform processing in S12to S16.

Thus, the encryption key management unit31manages the next update key by associating with the current key and therefore, the next update key backs up the current key so that an irregular state in which the current key is used while being updated can be avoided with the next update key. Regarding the data transition managed by the encryption key management unit31when the next update key is generated, as illustrated in (d) ofFIG. 2, the next update key makes a transition to the current key and the current key makes a transition to the old key like Pattern1, Pattern2, Pattern3, . . . Regarding management of the common key information41aby the common key management unit41, the above data transition occurs as illustrated in (d) ofFIG. 2by replacing the next update key with the next update common key, the current key with the current common key, and the old key with the old common key.

Next, a distribution operation of the current key will be described. The communication unit A transmits, as illustrated inFIG. 5, the current key updated/generated as the encryption key information31ato a communication unit B, which is one of the communication units100x. For the transmission, the encryption key distribution unit6of the communication unit A first determines whether a notification time has been reached based on whether a T2 time has passed after the past notification (S21). The T2 time is set further shorter than the T1 time and can be set, for example, in units of several minutes such as 1 minute and 5 minutes.

The common key application unit5encrypts the current key by using the latest common key (S22). The data transmitting/receiving unit1transmits the encrypted current key as data for encryption key distribution to the communication units100xby broadcasting (S23). The operation of the communication unit B that has receiving the transmission by broadcasting will be described below.

The data transmitting/receiving unit1of the communication unit B receives data from the communication unit A and determines whether the data is data for encryption key distribution (S31). If the data is data for encryption key distribution based on the determination, the common key application unit5decrypts the data for encryption key distribution by using the latest common key (S32).

The normal decryption determination unit8determines whether the decryption has been performed successfully (S33). If the decryption is successful based on the determination, the remote party key management unit10picks up the current key of the communication unit A from the data for encryption key distribution (S34). The remote party key management unit10registers the current key of the communication unit A in the remote party key information10a(S35).

If the decryption is not successful based on the determination in S33, the old key use instruction unit9issues instructions to the common key application unit5to decrypt the data for encryption key distribution by using the old common key (S36). The common key application unit5decrypts the data for encryption key distribution by using the old common key (S36).

The normal decryption determination unit8determines whether the decryption has been performed successfully (S37). If the decryption is successful based on the determination, like in S34, the remote party key management unit10picks up the current key of the communication unit A and, like in S35, registers the current key of the communication unit A in the remote party key information10a. If the decryption is not successful based on the determination in S37, the normal decryption determination unit8discards the data for encryption key distribution (S38).

Thus, the communication unit A can periodically distribute, as illustrated inFIG. 6, the updated current key to, for example, the communication unit B, which is one of transmission destinations of broadcasting. InFIG. 6, X0to X4illustrate the current key transmitted as the data for encryption key distribution and encrypted by the current common key. Time zones A, B, and C inFIG. 6illustrate time zones corresponding to common keys A, B, and C as the current common keys updated in accordance with the time.

First, the communication unit A updates/generates the current key X0in the time zone A and transmits the current key X0every T2 time by broadcasting. When the T1 time passes after the update of the current key X0, the communication unit A updates/generates the new current key X1and transmits the current key X1every T2 time by broadcasting. The communication unit A updates/generates the current keys X2, X3, and X4every T1 time and repeats similar processing hereinafter.

When the T0 time passes after the occurrence of the time zone A, the current common key is updated with the common key B and the period of the time zone B is entered and thus, the communication unit A transmits the current key by broadcasting after being encrypted by using the common key B. When the T0 time passes after the occurrence of the time zone B, the period of the time zone C is entered and the communication unit A repeats similar processing hereinafter.

Like the communication unit A, the communication unit B can also distribute the current key updated periodically to, for example, the communication unit A, which is one of transmission destinations, by broadcasting. Thus, the communication unit A and the communication unit B can perform bi-directional encryption communication by mutually distributing and updating the current keys periodically.

Next, when the communication unit100receives transmission data from the other communication unit100x,the communication unit100decrypts the transmission data by using the current key distributed to the other communication unit100x. Regarding the decryption, as illustrated inFIG. 7, the data transmitting/receiving unit1of the communication unit100first determines whether the transmission data is addressed to the local unit (S401).

If the transmission data is data addressed to the local unit based on the determination, the decryption unit7decrypts the transmission data based on the encryption key information31aby using the current key (S402). The decryption unit7acquires, as illustrated inFIG. 8, plain text data DT2and hash DT3from transmission data DT1, which is the transmission data, by the decryption in S402.

The normal decryption determination unit8acquires, as illustrated inFIGS. 7 and 8, the hash DT3contained in the decrypted transmission data (S403). The normal decryption determination unit8also calculates hash DT4based on the plain text data DT2(S404). The normal decryption determination unit8compares and determines whether the hash DT3and the hash DT4match (S405).

If the hash DT3and the hash DT4match based on the comparison and determination in S405, the decryption unit7outputs the plain text data DT2obtained by removing the hash DT3from the transmission data DT1to the plain text data processing unit2(S406). The plain text data processing unit2accepts the plain text data DT2to perform subsequent data processing.

Thus, the normal decryption determination unit8determines whether decryption by the decryption unit7is successful by using a hash calculation and therefore, the result of the decryption can be verified accurately at high speed and, as a result, processing loads on the verification can be suppressed.

If the transmission data received in S401is not addressed to the local unit based on the determination, as illustrated inFIG. 7, the fixed key application unit12decrypts the transmission data by using a fixed key as the fixed key information (S407).

If the hash DT3and the hash DT4do not match in S405, the decryption unit7determines whether the transmission data is addressed to the local unit (S408). If the transmission data is data addressed to the local unit based on the determination, the encryption key distribution unit6determines whether the old key is valid based on whether an old key validity term T3indicating the term of validity after the distribution of the current key is valid (S409). The old key validity term T3arises after the update of the current key and can be set, for example, in units of several minutes.

As illustrated inFIGS. 7 and 8, the decryption unit7restores the transmission data decrypted into the plain text data DT2and the hash DT3to the transmission data DT1before the decryption, that is, performs the encryption (S410). The decryption unit7decrypts the restored transmission data DT1again based on the encryption key information31aby using the old key (S411). The decryption unit7acquires plain text data DT21and hash DT31from transmission data DT1by the decryption in S411.

The normal decryption determination unit8acquires, as illustrated inFIGS. 7 and 8, the hash DT31contained in the decrypted transmission data (S412). The normal decryption determination unit8also calculates hash DT41based on the plain text data DT21(S413). The normal decryption determination unit8compares and determines whether the hash DT31and the hash DT41match (S414).

If the hash DT31and the hash DT41match based on the comparison and determination in S414, the decryption unit7outputs the plain text data DT21obtained by removing the hash DT31from the transmission data DT1to the plain text data processing unit2(S415). Then, the plain text data processing unit2accepts the plain text data DT21to perform subsequent data processing.

A case when the communication unit A distributes, as illustrated inFIG. 9, the current key X0, X1, . . . to the communication unit B every T2 time will be described by assuming that synchronization of the current common key is maintained. If, for example, transmission data DATA1encrypted by using the current key X0one generation before is received due to a failure of the first distribution of the current key X1for some reason, the communication unit A can successfully decrypt the transmission data DATA1by using the current key X0if in the period of T3. The communication unit A can normally perform data communication even in a period D in which a shift of the current key arises before the communication unit B successfully receives the current key X1.

Thus, even if encrypted data encrypted by using an old current key before the update is received from another communication node depending on update timing based on transmitting/receiving of the current key, the decryption unit7can decrypt the encrypted data by using the old key held in the encryption key information31awithout discarding the encrypted data so that data reachability can be improved by avoiding an interruption of communication due to a mismatch of encryption key information.

The decryption unit7performs the encryption to restore the transmission data DT1before the decryption in S410, but by including, for example, a buffer area to store the transmission data DT1, the encryption can be replaced by temporarily saving and holding the transmission data DT1in the buffer area before the decryption.

If the remote party key management unit10receives the current key of the other communication unit100xfrom the other communication unit100x, the remote party key management unit10decrypts the current key by using the current common key and registers the decrypted current key in the remote party key information10aas the remote party key for each of the communication units100x.Regarding reception of the current key, the communication unit100performs processing similar to the processing inFIG. 7according to a sequence obtained by removing the determination whether addressed to the local unit in S401and S408after replacing the current key with the current common key, the old key with the old common key, and the transmission data with the distributed current key inFIG. 7.

A case when the communication unit A receives the current key X0, X1, . . . distributed, as illustrated inFIG. 10, from the communication unit B every T2 time will be described. Even if, for example, the current key X0encrypted by using a common key A one generation before is received due to the delay of the last distribution of the current key X0, the communication unit A can successfully decrypt the current key X0by using the common key A if in the period of T3.

Thanks to the decryption, the communication unit A can normally perform data communication without causing a period in which a shift of the current key with the communication unit B occurs like the period D even if a delay arises. Therefore, even if a current key encrypted by using an old common key before the update is received from another communication node for some reason, the decryption unit7can decrypt the current key by using the old common key without discarding the current key so that data reachability can further be improved by avoiding an interruption of communication due to a mismatch of the current keys.

It is necessary for the fixed key application unit12to broadcast data to communication parties including the communication units100ythat are excluded from steady communication with the communication unit100and to which the current key is not mutually distributed, the fixed key application unit12can use the fixed key for broadcasting. The fixed key can be included in the communication units100,100x, and100yin common without being updated. The hardware configuration of the communication unit100according to the present embodiment includes a CPU, memory, a storage apparatus, a radio communication apparatus, and a bus that connected each of the above units.

[b] Other Embodiments

As another embodiment of the present embodiment, while the encryption key information31astores and manages two encryption keys of a current key and an old key in the first embodiment, a plurality of encryption keys up to one generation before may be stored as the old keys. In this case, the old key use instruction unit9can select one suitable encryption key from the plurality of old keys and transmission data can successfully be processed particularly when the transmission data encrypted by using a current key prior to one generation before is received due to a communication delay so that communication reachability can further be improved. A communication unit in each of the above embodiments can widely be applied to any network constructed by radio ad hoc communication without being limited by uses.

According to an embodiment, an encryption key generation unit generates encryption key information at constant encryption key generation intervals, a common key generation unit generates common key information uniquely with respect to a generation time at common key generation intervals set longer than the encryption key generation intervals, a common key application unit performs encryption or decryption of the encryption key information by using the common key information, and a encryption key distribution unit makes a request to a data transmitting/receiving unit to distribute the encryption key information to all the plurality of communication nodes to be communicated at encryption key distribution intervals set shorter than the encryption key generation intervals and therefore, not only the encryption key information, but also the common key information is updated periodically so that communication can be performed with higher security.

According to the embodiment, an encryption key management unit holds the encryption key information generated by the encryption key generation unit as latest encryption key information and holds the encryption key information at least one generation before the latest encryption key information as old encryption key information, decryption unit decrypts received encrypted data into plain text data by using the latest encryption key information and makes a request to a plain text data processing unit to process the plain text data, a normal decryption determination unit determines whether the received encrypted data is successfully decrypted by using the latest encryption key information within a fixed time from distribution of the latest encryption key information by the encryption key distribution unit, and if the encrypted data is not successfully decrypted, an old key use instruction unit issues instructions to the decryption unit to decrypt the encrypted data again by using the old encryption key information and therefore, even if encrypted data encrypted by using old encryption key information before the update is received from another communication node depending on update timing of the encryption key information, the encrypted data can be decrypted by using the old encryption key information without discarding the encrypted data so that data reachability can be improved by avoiding an interruption of communication due to a mismatch of encryption key information.

According to the embodiment, a common key management unit holds the common key information as latest common key information and holds the common key information at least one generation before the latest common key information as old common key information, the normal decryption determination unit further determines whether the encryption key information received by the data transmitting/receiving unit is successfully decrypted by using the latest common key information within the fixed time from the distribution of the latest encryption key information, and if the encryption key information is not successfully decrypted, the old key use instruction unit further issues instructions to the common key application unit to decrypt the encryption key information again by using the old common key information and therefore, even if encryption key information encrypted by using old common key information before the update is received from another communication node depending on update timing of the common key information, the encryption key information can be decrypted by using the old common key information without discarding the encryption key information so that data reachability can further be improved by avoiding an interruption of communication due to a mismatch of encryption key information.

According to the embodiment, the normal decryption determination unit uses a hash calculation to determine whether the plain text data is successfully decrypted by using the latest encryption key information and therefore, the result of the decryption using the latest encryption key information can be verified accurately at high speed so that processing loads on the verification of result can be suppressed.

According to the embodiment, the normal decryption determination unit uses a hash calculation to determine whether the plain text data is successfully decrypted by using the latest common key information and therefore, the result of the decryption using the latest common key information can be verified accurately at high speed so that processing loads on the verification of result can be suppressed.