Information
-
Patent Application
-
20040105542
-
Publication Number
20040105542
-
Date Filed
November 25, 200321 years ago
-
Date Published
June 03, 200420 years ago
-
CPC
-
US Classifications
-
International Classifications
Abstract
In a system for performing encryption communications using a common key updated at a predetermined timing between a key transmitting device and a key receiving device, a common key encryption communication system comprising: a key transmitting device including first retaining unit for retaining a most-updated encryption key and a one-generation-anterior encryption key as the above common keys, and first setting unit for setting a one-generation-anterior encryption key for transmission and a most-updated encryption key and a one-generation-anterior encryption key for receipt, respectively; and the above key receiving device including second retaining unit for retaining a most-updated encryption key and a one-generation-anterior encryption key as the above common keys, and second setting unit for setting a most-updated encryption key for transmission, and a most-updated encryption key and a one-generation-anterior key for receipt, respectively.
Description
BACKGROUND OF THE INVENTION
[0001] The present invention relates to a sharing method of a common key in the case of using an encryption system using the common key.
[0002] With developments of networks, traffics flowing on the networks are diversified. The traffic contains secret information, etc. that should not be known by others, and an encryption communication technology by IPsec, etc. is established as a means for secreting it.
[0003] In a communication system utilizing VPN (Virtual Private Network) especially, IPsec (IP security protocol) as an encryption communication system, it is prescribed that communication target terminals should mutually exchange encryption keys by utilizing IKE (Internet Key Exchange) protocol before starting the encryption communications, and that data should be encrypted/decrypted by use of this at the time of communications.
[0004] There is an anxiety that a content of the aforementioned encryption key might be decrypted by a malicious interceptor if the same key content has been utilized for a long time, and hence it is prescribed that an effective period is set in each individual key and it can not be utilized for the communications beyond this period. Therefore, the terminal in the midst of the IPsec-based VPN communications acquires an encryption key afresh by effecting the key exchange procedure once again before an expiration of the effective period concerned and periodically updates it, thereby ensuring a solidity of the encryption communications.
[0005] In a series of key exchange mechanisms described above, the encryption key retained by each terminal (an end point of the communications) is subjected to a next key exchange before an expiration of what is now in the process of communications, and it is changed over to a new key just when this key exchange is completed, thereby enabling the encryption communications to continue.
[0006] It is considered that the aforementioned mechanism has no problem in one-to-one communications, however, in a case where a multiplicity of clients perform the encryption communications with one server, it is considered that a problem is a load caused by the key exchange of the server. For solving this, there is considered, for instance, a method of distributing the key to the client from the server, however, in the case of periodically updating the key by this method, there is such a problem is that the communications are interrupted during the key distribution and in case a message for distributing the key is discarded. Namely, a recovery procedure in the event of a loss of the key when distributing the key, is not considered, which might be an anxious item on the occasion of using the VPN in combination with mobile communications.
[0007] Note that there is known what enables the exchange of the encryption keys during one session while utilizing a standard protocol as on the Internet, etc., and ensures confidentiality/secrecy of the communication data (refer to, e.g., patent document 1: Japanese Patent Application Laid-Open Publication No.2002-217896).
SUMMARY OF THE INVENTION
[0008] An object of the present invention lies in providing a technology for continuing, in case one of two devices that perform common key encryption communications distributes an encryption key to the other, the communications in the midst of a distribution procedure and even in a case where the encryption key (a key distribution message) is discarded.
[0009] The present invention is, for solving the above problems, a system for performing encryption communications using a common key updated at a predetermined timing between a key transmitting device and a key receiving device, the system comprising: a key transmitting device including first retaining for retaining a most-updated encryption key and a one-generation-anterior encryption key as the above common keys, and first setting unit setting a one-generation-anterior encryption key for transmission and a most-updated encryption key and a one-generation-anterior encryption key for receipt, respectively; and the above key receiving device including second retaining unit retaining a most-updated encryption key and a one-generation-anterior encryption key as the above common keys, and second setting unit setting a most-updated encryption key for transmission, and a most-updated encryption key and a one-generation-anterior key for receipt, respectively.
[0010] According to the present invention, each of the key transmitting device and the key receiving device retains two generations of encryption keys such as the most-updated encryption key and the one-generation-anterior encryption key as the common keys, and hence, in a case where the key transmitting device distributes the encryption keys, etc. to the key receiving device, the communications can continue in the midst of a distribution procedure and even in case the encryption key (a key distribution message) is discarded. Note that the key transmitting device is not limited to an HA on Mobile IP. For example, it may be an information processing terminal such as a server, etc. on the Internet. Further, the key receiving device is not limited to an MN on Mobile IP. For instance, it may be an information processing terminal communicable with the server, etc. on the Internet.
[0011] In the above common key encryption communication system, for example, the above key transmitting device further includes acquisition unit acquiring the encryption key, the above first retaining unit updates and retains the above most-updated encryption key as the one-generation-anterior encryption key and the encryption key acquired by the above acquisition unit as the most-updated encryption key, respectively, and the above first setting unit re-sets the one-generation-anterior encryption key for transmission, and the most-updated encryption key and the one-generation-anterior encryption key for receipt respectively on the basis of the retained key after being updated by the above first retaining unit.
[0012] If done in this way, the encryption key can be updated in the key transmitting device.
[0013] In the above common key encryption communication system, for example, the above key transmitting device includes generation unit generating the encryption key, and the above acquisition unit acquires the encryption key generated by the above generation unit.
[0014] If done in this way, the key transmitting device can acquire a self-generated key. Further, the key transmitting device may request an external key generation unit to generate a key and may acquire this key, or, the key may be read from a self-or externally-possessed key database, etc.
[0015] In the above common key encryption communication system, for instance, the above key transmitting device further includes first transmitting unit transmitting the encryption key acquired by the above acquisition unit to the key receiving device. A variety of timings can be considered as this transmission timing. For example, it may be transmitted in the case of receiving a predetermined message from the key receiving device, or it may be transmitted at a predetermined timing in a way that holds a self-timer.
[0016] If done in this way, there is reduced a load required for key sharing in one (the key transmitting device)-to-many (the key receiving devices) common key encryption communications.
[0017] In the above common key encryption communication system, for example, the above key receiving device further includes second receiving unit receiving he encryption key transmitted from the above key transmitting device, in case the above second receiving unit receives the encryption key, the above second retaining unit respectively updates and retains the above most-updated encryption key as the one-generation-anterior encryption key and the encryption key received by the above second receiving unit as the most-updated encryption key, and the above second setting unit respectively re-sets the most-updated encryption key for transmission, and the most-updated encryption key and the one-generation-anterior encryption key for receipt on the basis of the retained key after being updated by the above second retaining unit.
[0018] If done in this way, the encryption key can be updated in the key receiving device.
[0019] In the above common key encryption communication system, for example, the above key receiving device includes second transmitting unit transmitting a predetermined message to the key transmitting device, and the above key receiving device includes first receiving unit receiving the predetermined message transmitted from the above key receiving device.
[0020] If done in this way, the key transmitting device, as triggered by a receipt of the predetermined message, can generate the key, can distribute the key, and so on.
[0021] In the above common key encryption communication system, for instance, the above first and second retaining unit respectively retain the initialization key.
[0022] If done in this way, when starting up the key receiving device (which is a state where none of the two generations of keys is set), and even in case a response from the key transmitting device to a key update request from the key receiving device is not obtained (which is a state where the two generations of keys of the key transmitting device are lost due to a fault, etc. in the key transmitting device), the encryption by the initialization key thereof becomes possible, and therefore the encryption communications can continue.
[0023] In the above common key encryption communication system, for example, the above key receiving device transmits a key initialization request message as the above predetermined message at a predetermined timing, in case the above key transmitting device receives the key initialization request message transmitted from the above key receiving device, the above acquisition unit acquires the encryption key, and the above first retaining unit respectively updates and retains the common initialization key as the one-generation-anterior encryption key and the encryption key acquired by the above acquisition unit as the most-updated encryption key.
[0024] If done in this way, the key transmitting device can initialize the self-encryption-key in accordance with the initialization request message from the key receiving device.
[0025] In the above common key encryption communication system, for instance, the above key receiving device transmits a key update request message as the above predetermined message at a predetermined timing, in case the above key transmitting device receives a key update request message transmitted from the above key receiving device, the above acquisition unit acquires the encryption key, and the above first retaining unit respectively updates and retains the above common initialization key as the one-generation-anterior encryption key and the encryption key acquired by the above acquisition unit as the most-updated encryption key.
[0026] If done in this way, the key transmitting device can update the self-encryption-key in accordance with the key update request message from the key receiving device.
[0027] In the above common key encryption communication system, for instance, the above key receiving device includes unit determining a key update timing, and said second transmitting unit, in the case of reaching the key update timing, transmits the key update request message to the key transmitting device.
[0028] If done in this way, the key receiving device can transmit the key update request message at the predetermined timing (e.g., periodically).
[0029] In the above common key encryption communication system, for example, the above key transmitting device includes unit determining a key update timing, and said first transmitting unit, in the case of reaching the key update timing, transmits the encryption key acquired by the above acquisition unit to the key receiving device.
[0030] If done in this way, the key transmitting device can transmit the encryption key by a self-judgement irrespective of the request from the key receiving device.
[0031] In the above common key encryption communication system, for instance, the above key receiving device transmits a key resending request message as the above predetermined message at a predetermined timing, and, in case the above key transmitting device receives a key resending request message transmitted from the above key receiving device, the first transmitting unit transmits the encryption key acquired by the above acquisition unit to the key receiving device.
[0032] If done in this way, the key transmitting device can transmit the encryption key in accordance with the key resending request message from the key receiving device.
[0033] In the above common key encryption communication system, for example, the above first transmitting unit, in a state where the above first and second retaining unit retain none of the keys, transmits the encryption key acquired by the above acquisition unit to the key receiving device. In this case, it follows that the communications are performed by use of the initialization key.
[0034] The present invention can be specified as a key transmitting device as follows. In a key transmitting device performing encryption communications using a common key updated at a predetermined timing with a key receiving device, a key transmitting device comprises retaining unit retaining a most-updated encryption key and a one-generation-anterior encryption key as the above common keys, and setting unit respectively setting a one-generation-anterior encryption key for transmission, and a most-updated encryption key and a one-generation-anterior encryption key for receipt.
[0035] Note that the key transmitting device is not limited to the HA on Mobile IP. For example, it may be the information processing terminal such as the server, etc. on the Internet.
[0036] Further, the present invention can be specified as a key receiving device as follows. In a key receiving device performing encryption communications using a common key updated at a predetermined timing with a key transmitting device, a key receiving device comprises retaining unit retaining a most-updated encryption key and a one-generation-anterior encryption key as the above common keys, and setting unit respectively setting a most-updated encryption key for transmission, and a most-updated encryption key and a one-generation-anterior encryption key for receipt.
[0037] Note that the key receiving device is not limited to the MN on Mobile IP. For example, it may be the information processing terminal communicable with the server, etc. on the Internet.
[0038] Moreover, the present invention can be specified as an invention of method as follows. In a method of performing encryption communications using a common key updated at a predetermined timing between a key transmitting device and a key receiving device, a common key encryption communication method is characterized in that the key transmitting device retains a most-updated encryption key and a one-generation-anterior encryption key as the above common keys, sets respectively the one-generation-anterior encryption key for transmission and for receipt, and the above key receiving device retains the most-updated encryption key and the one-generation-anterior encryption key as the above common keys, and sets respectively the most-updated encryption key for transmission and the most-updated encryption key and the one-generation-anterior encryption key for receipt.
DESCRIPTION OF THE DRAWINGS
[0039]
FIG. 1 is a diagram for explaining an outline of architecture of a common key encryption communication system in an embodiment of the present invention.
[0040]
FIG. 2 is a diagram for explaining an example of architecture of a key transmitting device (HA).
[0041]
FIG. 3 is a diagram for explaining an example of architecture of a key receiving device (MN).
[0042]
FIG. 4 a sequence diagram for explaining a procedure of distributing a dynamic key (common key) when starting up the key receiving device (MN).
[0043]
FIG. 5 is sequence diagram in which an attention is directed to the key receiving device (MN).
[0044]
FIG. 6 is a sequence diagram in which the attention is directed to the key transmitting device (HA).
[0045]
FIG. 7 is a sequence diagram in which the attention is directed to the key receiving device (MN).
[0046]
FIG. 8 a sequence diagram for explaining a procedure of distributing the dynamic key (common key) by a key update request message from the key receiving device (MN).
[0047]
FIG. 9 a sequence diagram in which the attention is directed to the key receiving device (MN).
[0048]
FIG. 10 a sequence diagram in which the attention is directed to the key transmitting device (HA).
[0049]
FIG. 11 a sequence diagram for explaining a procedure of distributing the dynamic key (common key) by a key resending request message from the key receiving device (MN).
[0050]
FIG. 12 a sequence diagram in which the attention is directed to the key receiving device (MN).
[0051]
FIG. 13 a sequence diagram in which the attention is directed to the key transmitting device (HA).
[0052]
FIG. 14 a sequence diagram for explaining a procedure of distributing the dynamic key (common key) by the key transmitting side device (HA) judging key updating.
[0053]
FIG. 15 a sequence diagram in which the attention is directed to the key transmitting device (HA).
[0054]
FIG. 16 a sequence diagram explaining a state where the key is updated in only the key transmitting device (HA).
[0055]
FIG. 17 a flowchart for explaining an outline of processes in the key transmitting device (HA).
[0056]
FIG. 18 a flowchart for explaining an outline of processes in the key receiving device (MN).
[0057]
FIG. 19 a flowchart for explaining an outline of processes in the key transmitting device (HA).
[0058]
FIG. 20 a flowchart for explaining an outline of processes in the key receiving device (MN).
[0059]
FIG. 21 a diagram for explaining an example of a key-SPI mapping table.
[0060]
FIG. 22 a sequence diagram for explaining a procedure of distributing the dynamic key (common key) when starting up the key receiving device (MN).
[0061]
FIG. 23 a sequence diagram in which the attention is directed to the key transmitting device (HA).
[0062]
FIG. 24 a sequence diagram in which the attention is directed to the key transmitting device (HA).
[0063]
FIG. 25 a sequence diagram for explaining a procedure of distributing the dynamic key (common key) by a key resending request message from the key receiving device (MN).
[0064]
FIG. 26 a sequence diagram in which the attention is directed to the key receiving device (MN).
[0065]
FIG. 27 a sequence diagram in which the attention is directed to the key transmitting device (HA).
[0066]
FIG. 28 a flowchart for explaining an outline of processes in the key transmitting device (HA).
DETAILED DESCRIPTION OF THE INVENTION
[0067] Hereinafter, a common key encryption communication system as an embodiment of the present invention will be explained referring to the drawings. FIG. 1 is a diagram for explaining an outline of architecture of the common key encryption communication system.
[0068] As shown in FIG. 1, the common key encryption communication system includes a key transmitting device and a key receiving device, wherein encryption communications by a common key updated at a predetermined timing are performed between the two devices. A key distribution is conducted by the key transmitting device. Therefore, in one (the key transmitting device)-to-many (the key receiving devices) common key encryption communications, a load required for key sharing is reduced.
[0069] Hitherto, each of the key transmitting device and the key receiving device managed only one receipt key, and therefore, during a period till a key receiving side receives a key distribution message containing a generated key and sets it after the key transmitting side has generated the key and has set it for itself, the encryption communications become impossible due to a key discordance. For solving it, in the common key encryption communication system in the present embodiment, the both sides hold and manage two generations of keys for receipt (an N-th key and an (N−1)th key), the key (the (N−1)th key) one generation before is set (used) as an encryption key (for transmission) on the key transmitting side, and the updated key (the N-th key) is set (used) as an encryption key (for transmission) on the key receiving side. Further, the both sides set both of the updated key/one-generation-anterior key (the N-th key and the (N−1)th key) as decryption keys (for receipt), whereby decryption can be effected on any side.
[0070] In the present embodiment, the communications based on Mobile IPv6 shall be performed between the key transmitting device and the key receiving device.
[0071] To begin with, an outline of Mobile IPv6 will be explained. Mobile IPv6 provides a mechanism for continuing the communications using the same IP address even when a MN (mobile node) as a mobile terminal moves to a network segment different from an initial network segment (which is called a home network). Therefore, a HA (home agent) such as a router, etc. is provided in the initial network segment.
[0072] The MN, upon detecting that the MN has moved to the network segment different from the initial network segment, generates an address (a temporary address which is also called a care-of address) on the mobile destination network, and registers it in the HA. Concretely, the MN transmits a registration request (BU (Binding Update) to the HA. The HA is thereby notified of a new care-of address (contained as a source address).
[0073] The HA, upon receiving the registration request (BU) from the MN, registers the care-of address. Together with this, the HA transmits a registration reply (BA: binding acknowledgement) to the MN as a registration request sender. Hereafter, the HA, in the case of receiving a packet addressed to the registered MN, encapsulates this packet (wherein the care-of address is a destination address) and forwards it to the mobile destination network segment through tunneling. This enables the communications to continue by the same IP address even when the MN moves to the network segment different from the initial network segment.
[0074] Next, architectures of the key transmitting device and of the key receiving device will be explained referring to the drawings. In the present embodiment, the above HA (home agent) corresponds to a key transmitting device 100, and the MN (mobile node) corresponds to a key receiving device 200, respectively. FIG. 2 is a diagram for explaining an example of architecture of the key transmitting device (HA). FIG. 3 is a diagram for explaining an example of architecture of the key receiving device (MN).
[0075] As shown in FIG. 2, the key transmitting side device (HA) 100 includes a packet transmitting/receiving unit 101, a key generation/management unit 102, an encryption/decryption unit 103, and, a protocol control unit 104, etc. Further, in the case of updating/initializing the key by use of an SPI value, the key generation/management unit retains an SPI-key mapping table (see FIG. 21).
[0076] The packet transmitting/receiving unit 101 is connected to a network of Mobile IPv6, receives a self-addressed packet (for instance, a packet containing a predetermined message) from the key receiving device (MN) 200, etc. and sends a packet addressed to the key receiving device (MN) 200 to the network. This packet transmitting/receiving unit 101 can receive the predetermined message (such as a key initialization request message, a key update request message, or, a key resending request message, etc.) from the key receiving device (MN) 200, and hence, a request being given from the key receiving device (MN) 200, the key can be forcibly updated. Moreover, the updated key can be transmitted to the key receiving device (MN) 200.
[0077] The key generation/management unit 102 generates (or requests an external key generation unit to generate the encryption key and obtains this, or reads the encryption key from a key database, etc.) the encryption key. The key generation/management unit 102 retains and manages the encryption key thus generated, etc. (the most-updated encryption key), the encryption key generated, etc. at a timing just anterior thereto (the one-generation-anterior encryption key), and, a preset key for initialization.
[0078] These keys are updated as will be described later on, however, in this case also, the key generation/management unit 102 retains and manages the updated (generated, etc.) encryption key (the most-updated encryption key), the encryption key updated (generated, etc.) at a timing just anterior thereto (the one-generation-anterior encryption key), and, a preset (or pre-distributed) key for initialization. This key generation/management unit 102, in case the request is given with a fixed period or from the key receiving device (MN) 200, enables the key to be dynamically generated and updated.
[0079] Further, this key generation/management unit 102 manages two generations of keys for receipt, whereby the packet, even when encrypted by the key receiving device (MN) 200 with any one of the one-generation-anterior key and the most-updated key, can be decrypted. Moreover, this key generation/management unit 102 manages and sets one key for transmission, whereby the key transmitting device (HA) 100 can encrypt a packet with the one-generation-anterior key and can transmit it.
[0080] Further, this key generation/management unit 102 manages and sets one key for initialization, whereby the encrypted dynamic key initialization request message can be decrypted with this key. Further, the key transmitting device (HA) 100 recognizes that it has been encrypted with this key, thereby enabling the initialization of the dynamic key.
[0081] The key generated with the Nth key is hereinafter called the Nth key. Namely, the key transmitted to the key receiving device (MN) 200 from the key transmitting device (HA) 100 by the first key distribution, is a first key. The key generation/management unit 102 retains and manages two generations of keys and the initialization key for every key receiving device (MN) 200 (in case there are a plurality of MNs). The key generation/management unit 102 normally sets the one-generation-anterior encryption key for transmission and the most-updated encryption key and the one-generation-anterior encryption key for receipt, respectively.
[0082] The encryption/decryption unit 103, in case the received packet from the key receiving device (MN) 200 is encrypted, serves to decrypt this received packet with (any one of) the encryption keys for receipt, and to encrypt a transmitted packet to the key receiving device (MN) 200 with the encryption key for transmission. The encryption/decryption unit 103, on the occasion of decryption or encryption, refers to the key generation/key management unit 102 and uses a proper encryption key.
[0083] The protocol control unit 104 serves to judge a content of the received packet from the key receiving device (MN) 200 that has been decrypted by the encryption/decryption unit 103, and to create the key distribution message to be transmitted to the key receiving device (MN) 200.
[0084] As shown in FIG. 3, the key receiving device (MN) 200 includes a packet transmitting/receiving unit 201, a key management unit 202, an encryption/decryption unit 203, a protocol control unit 204, etc.
[0085] The packet transmitting/receiving unit 201 is connected to a network of Mobile IPv6, receives a self-addressed packet from the key transmitting device (HA) 100, etc. and sends a packet addressed to the key transmitting device (HA) 100 to the network. This packet transmitting/receiving unit 201 receives the key distribution message, whereby the key distribution from the key transmitting device (HA) 100 becomes possible.
[0086] The key management unit 202 retains and manages the encryption keys (the most-updated key and the one-generation-anterior encryption key) contained in the key distribution message distributed from the key transmitting device (HA) 100, and, the preset key for initialization (any key is common to the key transmitting device (HA) 100).
[0087] The key management unit 202 normally sets the most-updated encryption key for transmission, and the most-updated encryption key and the one-generation-anterior encryption key for receipt, respectively. These keys are updated as will be described later on, however, in this case also, the key management unit 202 retains and manages the updated (generated, etc.) encryption key (the most-updated encryption key), the encryption key updated (generated, etc.) at a timing just anterior thereto (the one-generation-anterior encryption key), and, a preset (or pre-distributed) key for initialization.
[0088] Further, this key management unit 202 manages two generations of keys for receipt, whereby the packet, even when encrypted by the key transmitting device (HA) 100 with either the most-updated key or the one-generation-anterior key, can be decrypted. Moreover, this key management unit 202 manages/sets one key for transmission, whereby the key receiving device (MN) 200 can encrypt a packet with the most-updated key and can transmit it.
[0089] Further, this key management unit 202 manages/sets one key for initialization, whereby the dynamic key initialization request message can be also encrypted, and the key transmitting side device recognizes that it has been encrypted with this key, thereby enabling the initialization.
[0090] The encryption/decryption unit 203, in case the received packet from the key transmitting device (HA) 100 is encrypted, serves to decrypt this received packet with (any one of) the encryption keys for receipt, and to encrypt a transmitted packet to the key transmitting device (HA) 100 with the encryption key for transmission. The encryption/decryption unit 203, on the occasion of decryption or encryption, refers to the key management unit 202 and uses a proper encryption key.
[0091] The protocol control unit 204 serves to create the predetermined message (the key initialization message, the key update message, the key resending request message, etc.) from the key transmitting device (HA) 100 that has been decrypted by the encryption/decryption unit 203. This protocol control unit 204 generates the key update request message or a message corresponding thereto, whereby the key receiving device (MN) 200 can, if an intention or a key distribution message of the key receiving side device (MN) 200 is discarded, make a request for the most-updated key. Further, the protocol control unit 204 generates the key initialization request message or a message corresponding thereto, whereby in case the initialization of both keys is needed due to a fault, etc. of the key receiving device (MN) 200, it is possible to request the key transmitting side device for this.
[0092] Next, operations of the encryption communications in the common key encryption communication system having the aforementioned architecture, will be explained referring to the drawings.
[0093] To start with, there will be explained such a process the key transmitting device (HA) 100 updates the encryption key and distributes it to the key receiving device (MN) 200 by the predetermined message from the key receiving device (MN) 200. Herein, it is assumed that the predetermined message be transmitted together with the registration request (BU) form the key receiving device (MN) 200 and that the key distribution message be transmitted together with the registration reply (BA) from the key transmitting device (HA).
[0094] (1) Example (Part 1) of the Operation in a Case Where the Predetermined Message from the Key Receiving Device (MN) 200 is the Key Initialization Message
[0095]
FIG. 4 is a sequence diagram for explaining a procedure of distributing a dynamic key (common key) when starting up the key receiving device (MN). FIGS. 5 and 7 are sequence diagrams in which an attention is directed to the key receiving device (MN). FIG. 6 is a sequence diagram in which the attention is directed to the key transmitting device (HA). FIG. 17 is a flowchart for explaining an outline of processes in the key transmitting device (HA). FIG. 18 is a flowchart for explaining an outline of processes in the key receiving device (MN).
[0096] Herein, it is assumed that the dynamic keys (the Nth key, the (N−1)th key) be retained (set) in neither the key receiving device (MN) 200 nor the key transmitting device (HA) 100 when starting up the key receiving device (MN) 200, but only the initialization key be retained (set) in both of them.
[0097] The key receiving device (MN) 200, upon a start-up, performs initial setting. Herein, the initialization keys are set as both of the encryption key (for transmission) and the decryption key (for receipt). Next, as shown in FIGS. 4 and 5, the receiving device (MN) 200, assuming that there occurs such an event that the key should be initialized (S100), creates the BU containing the key initialization request message. In the present embodiment, Mobile IPv6 is used, and hence, for example, the protocol control unit 204 creates an IP packet in which the key initialization request message and the BU are set (or placed) in an extension header field (or a payload field) (S101).
[0098] This BU (IP packet) is, as will be described later on, encrypted by the encryption/decryption unit 203, and therefore the protocol control unit 204 applies an AH (authentication header) or an ESP (encapsulating security payload) to this BU (IP packet) so that the receiving side (HA) can recognize the key used for the encryption (i.e., so that the decryption can be done on the receiving side). Note that there is a necessity of separately encrypting the key to be distributed in a way of being contained in the BA (the key used for the AH can be also diverted) in the case of applying only the AH.
[0099] The AH or the ESP contains a field for SPI (security parameters index), and hence the protocol control unit 204 sets, in this field, data for designating the key used for the encryption thereof. Herein, as will hereinafter be described, the BU (IP packet) is encrypted with the key (the initialization key) for transmission, so that data for designating the initialization key is set as the data for designating the key used for the encryption thereof. The protocol control unit 204 transfers the created BU (IP packet) to the encryption/decryption unit 203 (S102).
[0100] The encryption/decryption unit 203 encrypts the BU (IP packet) from the protocol control unit 204 (S104) by referring to the key management unit 202 (by use of the key (initialization key) for transmission) (S103). The encryption by the encryption/decryption unit 203 is conducted as follows. For instance, in a case where the key initialization request message and the BU are placed in the extension header of the IP packet of IPv6, the encryption/decryption unit 203 encrypts both of an IP header and a data field, and adds a new IP header thereto (tunnel mode). On the other hand, in a case where the key initialization request message and the BU are placed in the payload of the IP packet, the encryption/decryption unit 203 encrypts the data field excluding the IP header (transport mode). Alternatively, both of the IP header and the data field are encrypted, and a new IP header is added thereto. The encryption/decryption unit 203 transfers the encrypted BU (IP packet) to the packet transmitting/receiving unit 201 (S105).
[0101] The packet transmitting/receiving unit 201 transmits the BU (IP packet) from the encryption/decryption unit 203 to the key transmitting device (HA) 100 (S106).
[0102] As shown in FIGS. 6 and 17, the key transmitting device (HA) 100 receives the BU (IP packet containing the key initialization request message) from the key receiving device (MN) 200 (S107). The packet transmitting/receiving unit 101, if this received packet has been encrypted, transfers it to the encryption/decryption unit 103 (S108). The encryption/decryption unit 103 refers to the SPI value of the received packet and the generation/management unit 102, decrypts the packet with the key (which is herein the initialization key) designated by this SPI value (S109) and, after the process of the registration request (BU) transfers it to the protocol control unit 104 (S110).
[0103] The protocol control unit 104 judges a content of the packet from the encryption/decryption unit 103 (S111) and, if it is the key initialization request message, notifies the key generation/management unit 102 of this (S112).
[0104] The key generation/management unit 102 generates a new key (S113) (or the new key is obtained by some unit. For instance, an external key generation unit is requested to generate the key, and a message containing this key is obtained, or, the key is read from a self-possessed or externally-possessed key database, etc.). The key generation management unit 102 initializes the key setting (S114).
[0105] Concretely, the initialization key is set as the encryption key (for transmission), and the new key and the initialization key are set as the decryption keys (for receipt), respectively (see FIG. 1). Then, the key generation/management unit 102, after setting these keys, transfers the generated new key to the protocol control unit 104 (S115). Herein, if the initialization key is set as the one-generation-anterior key, the same processes as of the dynamic key distribution of the second time onward become possible.
[0106] The protocol control unit 104 creates the registration reply (BA) containing the key distribution message (S116). In the present embodiment, Mobile IPv6 is used, and hence, for example, the protocol control unit 104 creates the BA (IP packet) in which the key distribution message (containing the new key) and the BA are set (or placed) in an extension header field (or a payload field).
[0107] This BA (IP packet) is, as will be described later on, encrypted by the encryption/decryption unit 103, and therefore the protocol control unit 104 applies the AH (authentication header) or the ESP (encapsulating security payload) to this BA (IP packet) so that the receiving side can recognize the key used for the encryption (i.e., so that the decryption can be done on the receiving side). Note that there is a necessity of separately encrypting the key to be distributed in a way of being contained in the BA (the key used for the AH can be also diverted) in the case of applying only the AH.
[0108] The AH or the ESP contains a field for SPI (security parameters index), and hence data for designating the key used for the encryption thereof is set in this field. Herein, as will hereinafter be described, the BA (IP packet) is encrypted with the key (the initialization key) for transmission, so that data for designating the initialization key is set as the data for designating the key used for the encryption thereof. The protocol control unit 104 transfers the created BA (IP packet) to the encryption/decryption unit 103 (S117).
[0109] The encryption/decryption unit 103 encrypts the BA (IP packet) (S119) by referring to the key generation/management unit 102 (by use of the key (initialization key) for transmission) (S118). The encryption by the encryption/decryption unit is conducted as follows. For instance, in a case where the key distribution message and the BA are placed in the extension header of the IP packet of IPv6, the encryption/decryption unit encrypts both of an IP header and a data field, and adds a new IP header thereto (tunnel mode).
[0110] On the other hand, in a case where the key distribution message and the BA are placed in the payload of the IP packet, the encryption/decryption unit encrypts the data field excluding the IP header (transport mode).
[0111] Alternatively, both of the IP header and the data field are encrypted, and a new IP header is added thereto. The encryption/decryption unit transfers the encrypted BA (IP packet) to the packet transmitting/receiving unit 101 (S120).
[0112] The packet transmitting/receiving unit 101 transmits the BA (IP packet) from the encryption/decryption unit 103 to the key receiving device (MN) 200 (S121).
[0113] As shown in FIGS. 7 and 18, the key receiving device (MN) 200 receives the BA (IP packet) from the key transmitting device (HA) 100 (S122). The packet transmitting/receiving unit 201, if this received packet has been encrypted, transfers it to the encryption/decryption unit 203 (S123). The encryption/decryption unit 203 refers to the SPI value of the received packet and the key management unit 202 (S124), decrypts the packet with the key (which is herein the initialization key) designated by this SPI value (S125) and transfers it to the protocol control unit 204 (S126).
[0114] The protocol control unit 204 judges a content of the packet from the encryption/decryption unit 203 (S127) extracts, if it is the key distribution message, the key (the new key generated in the HA), and transfers the extracted key to the key management unit 202 (S128).
[0115] The key management unit 202 sets the extracted new key afresh (in addition to the initialization key) as the decryption key (for receipt) (S129). Further, the key management unit sets the extracted new key afresh as the encryption key (for transmission), and deletes the initialization key that has been set for transmission (the initialization key itself is not deleted). Herein, if the initialization key is set as the one-generation-anterior key, the same processes as of the dynamic key distribution of the second time onward become possible.
[0116] (2) Example (Part 2) of the Operation in a Case Where the Predetermined Message from the Key Receiving Device (MN) 200 is the Key Initialization Message
[0117]
FIG. 4 is the sequence diagram for explaining the procedure of distributing the dynamic key (common key) when starting up the key receiving device (MN). FIGS. 5 and 7 are the sequence diagrams in which the attention is directed to the key receiving device (MN). FIG. 6 is the sequence diagram in which the attention is directed to the key transmitting device (HA). FIG. 17 is the flowchart for explaining the outline of processes in the key transmitting device (HA). FIG. 18 is the flowchart for explaining the outline of processes in the key receiving device (MN).
[0118] Herein, each of the key transmitting device (HA) 100 and the key receiving device (MN) 200 retains and manages the most-updated key (the Nth key) and the one-generation-anterior key (the(N−1)th key) (see FIG. 1). Then, the one-generation-anterior key (the (N−1)th key) is so set as to be usable as the encryption key (for transmission) of the key transmitting device (HA) 100, and the most-updated key (the Nth key) is so set as to be usable as the encryption key (for transmission) of the key receiving device (MN), respectively. Further, two pieces of the most-updated key (the Nth key) and the one-generation-anterior key (the (N−1)th key) are so set as to be usable as the decryption keys (for receipt) of both of the key transmitting device (HA) 100 and the key receiving device (MN) 200 (see FIG. 1).
[0119] For the key initialization requested by the key receiving device (MN) 200, there is a restart of the key receiving device (MN) 200, and so on. As shown in FIGS. 4 and 5, the key receiving device (MN) 200, in case the key initialization is determined inside the key receiving device (MN) 200 (S100), creates the key initialization request message. In the present embodiment, Mobile IPv6 is used, and hence, for example, the protocol control unit 204 creates the IP packet in which the key initialization request message and the BU are set (or placed) in the extension header field (or the payload field) (S101).
[0120] This BU (IP packet) is, as will be described later on, encrypted by the encryption/decryption unit 203, and therefore the protocol control unit 204 applies the AH (authentication header) or the ESP (encapsulating security payload) to this BU (IP packet) so that the receiving side (HA) can recognize the key used for the encryption (i.e., so that the decryption can be done on the receiving side). Note that there is the necessity of separately encrypting the key to be distributed in a way of being contained in the BA (the key used for the AH can be also diverted) in the case of applying only the AH.
[0121] The AH or the ESP contains the field for the SPI (security parameters index), and hence the data for designating the key used for the encryption thereof is set in this field. Herein, as will hereinafter be described, the IP packet is encrypted with the key (the Nth key) for transmission, so that the data for designating the Nth key is set as the data for designating the key used for the encryption thereof. The protocol control unit 204 transfers the created BU (IP packet containing the key initialization request message) to the encryption/decryption unit 203 (S102).
[0122] The encryption/decryption unit 203 encrypts the BU (IP packet) from the protocol control unit 204 (S104) by referring to the key management unit 202 (by use of the key (the Nth key) for transmission) (S103). A method of this encryption has already been mentioned. The encryption/decryption unit 203 transfers the encrypted BU (IP packet) to the packet transmitting/receiving unit 201 (S105).
[0123] The packet transmitting/receiving unit 201 transmits the BU (IP packet) from the encryption/decryption unit 203 to the key transmitting device (HA) 100 (S106).
[0124] As shown in FIGS. 6 and 17, the key transmitting device (HA) 100 receives the BU (IP packet containing the key initialization request message) from the key receiving device (MN) 200 (S107), generates the key and initializes the setting.
[0125] Concretely, the packet transmitting/receiving unit 101, if this received packet has been encrypted, transfers it to the encryption/decryption unit 103 (S108) The encryption/decryption unit 103 refers to the SPI value of the received packet and the generation/management unit 102, decrypts the packet with the key (which is herein the Nth key) designated by this SPI value (S109) and, after the process of the registration request (BU), transfers it to the protocol control unit 104 (S110).
[0126] The protocol control unit 104 judges a content of the packet from the encryption/decryption unit 103 (S111) and, if it is the key initialization request message, notifies the key generation/management unit 102 of this (S112).
[0127] The key generation/management unit 102 generates a new key (an (N+1)th key) (S113) (or the new key is obtained by some means. For instance, the external key generation unit is requested to generate the key, and a message containing this key is obtained, or, the key is read from the self-possessed or externally-possessed key database, etc.). The key generation/management unit 102 initializes the key setting (S114). Concretely, the key generation/management unit 102 newly sets the (N+1)th key and the initialization key as the decryption keys (for receipt), and deletes the (N−1)th key.
[0128] Further, the key generation/management unit 102 sets afresh the initialization key as the encryption key (for transmission), and deletes the (N−1)th key. Note that the initialization key is dealt with as the (N−1)th key, and the initialization key is deleted when updating the key next time. Then, the key generation/management unit 102, after updating the key setting, transfers the created new key (the (N+1)th key) to the protocol control unit 104 (S115).
[0129] The protocol control unit 104 creates the registration reply (BA) containing the key distribution message (S116). In the present embodiment, Mobile IPv6 is used, and hence, for example, the protocol control unit 104 creates the BA (IP packet) in which the key distribution message (containing the new key) and the BA are set (or placed) in an extension header field (or a payload field).
[0130] This BA (IP packet) is, as will be described later on, encrypted by the encryption/decryption unit 103, and therefore the protocol control unit 104 applies the AH (authentication header) or the ESP (encapsulating security payload) to this BA (IP packet) so that the receiving side can recognize the key used for the encryption (i.e., so that the decryption can be done on the receiving side). Note that there is a necessity of separately encrypting the key to be distributed in a way of being contained in the BA (the key used for the AH can be also diverted) in the case of applying only the AH. The AH or the ESP contains the field for SPI (security parameters index), and hence the data for designating the key used for the encryption thereof is set in this field.
[0131] Herein, as will hereinafter be described, the IP packet is encrypted with the key (the initialization key) for transmission, so that the data for designating the initialization key is set as the data for designating the key used for the encryption thereof. The protocol control unit 104 transfers the created BA (IP packet) to the encryption/decryption unit 103 (S117).
[0132] The encryption/decryption unit 103 encrypts the BA (IP packet) (S119) by referring to the key generation/management unit 102 (by use of the key (the initialization key) for transmission) (S118). The method of this encryption has already been mentioned. The encryption/decryption unit 103 transfers the encrypted IP packet to the packet transmitting/receiving unit 101 (S120).
[0133] The packet transmitting/receiving unit 101 transmits the IP packet from the encryption/decryption unit 103 to the key receiving device (MN) 200 (S121).
[0134] As shown in FIGS. 7 and 18, the key receiving device (MN) 200 receives the BA (IP packet to which the key distribution message is added) from the key transmitting device (HA) 100 (S122). The packet transmitting/receiving unit 201, if the received packet has been encrypted, transfers it to the encryption/decryption unit 203 (S123). The encryption/decryption unit 203 refers to the SPI value of the received packet and the key management unit 202 (S124), decrypts the packet with the key (which is herein the initialization key) designated by this SPI value (S125) and transfers it to the protocol control unit 204 (S126).
[0135] The protocol control unit 204 judges a content of the packet from the encryption/decryption unit 203 (S127) extracts, if it is the key distribution message, the key (the new (N+1)th key generated in the HA), and transfers the extracted key to the key management unit 202 (S128).
[0136] The key management unit 202 sets the extracted new key afresh (in addition to the initialization key) as the decryption key (for receipt) (S129). Further, the key management unit 202 sets the extracted new key afresh as the encryption key (for transmission), and deletes the initialization key that has been set for transmission (the initialization key itself is not deleted).
[0137] (3) Example of the Operation in a Case Where the Predetermined Message from the Key Receiving Device (MN) 200 is the Key Update Request Message
[0138]
FIG. 8 is a sequence diagram for explaining a procedure of distributing the dynamic key (common key) FIGS. 9 and 7 are sequence diagrams in which the attention is directed to the key receiving device (MN). FIG. 10 is a sequence diagram in which the attention is directed to the key transmitting device (HA). FIG. 17 is the flowchart for explaining the outline of processes in the key transmitting device (HA). FIGS. 18 and 20 are flowcharts for explaining the outline of processes in the key receiving device (MN).
[0139] Herein, each of the key transmitting device (HA) 100 and the key receiving device (MN) 200 retains and manages the most-updated key (the Nth key) and the one-generation-anterior key (the(N−1)th key) (see FIG. 1). Then, the one-generation-anterior key (the (N−1) th key) is so set as to be usable as the encryption key (for transmission) of the key transmitting device (HA) 100, and the most-updated key (the Nth key) is so set as to be usable as the encryption key (for transmission) of the key receiving device (MN), respectively.
[0140] Further, two pieces of the most-updated key (the Nth key) and the one-generation-anterior key (the (N−1) th key) are so set as to be usable as the decryption keys (for receipt) of both of the key transmitting device (HA) 100 and the key receiving device (MN) 200 (see FIG. 1). Further, it is assumed that the (N+1)th key be generated in the key transmitting device (HA) 100, and this key be distributed to the key receiving device (MN) 200 (see FIGS. 8 and 9).
[0141] In this example, the key receiving device (MN) 200 judges the updating of the key, and hence it is assumed that a key update timer be built in the key management unit 201 of the key receiving device (MN) 200, and the key distribution message be transmitted together with the BA message of Mobile IPv6. This key update timer enables the key update request message to be transmitted based on a self key update policy.
[0142] As shown in FIGS. 8, 9 and 20, the key receiving device (MN) 200, in case the key updating is determined inside the key receiving device (MN) 200 (S200) (which is herein a case where the key update timer expires in the key management unit 201), creates the key update request message. Upon the expiration of the key update timer in the key management unit 201, the protocol control unit 204 is notified of this (S201).
[0143] From this, the protocol control unit 204 detects a BU transmission (S202). In the present embodiment, since Mobile IPv6 is used, for instance, the protocol control unit 204 creates an IP packet in which the key update request message and the BU are set (or placed) in an extension header field (or a payload field) (S203).
[0144] This BU (IP packet) is, as will be described later on, encrypted by the encryption/decryption unit 203, and therefore the protocol control unit 204 applies the AH (authentication header) or the ESP (encapsulating security payload) to this BU (IP packet) so that the receiving side can recognize the key used for the encryption (i.e., so that the decryption can be done on the receiving side). Note that there is a necessity of separately encrypting the key to be distributed in a way of being contained in the BA (the key used for the AH can be also diverted) in the case of applying only the AH.
[0145] The AH or the ESP contains the field for SPI (security parameters index), and hence the data for designating the key used for the encryption thereof is set in this field. Herein, as will hereinafter be described, the IP packet is encrypted with the key (the Nth key) for transmission, so that the data for designating the Nth key is set as the data for designating the key used for the encryption thereof. The protocol control unit 204 transfers the created BU (IP packet containing the key update request message) to the encryption/decryption unit 203 (S204).
[0146] The encryption/decryption unit 203 encrypts the BU (IP packet) from the protocol control unit 204 (S206) by referring to the key management unit 202 (by use of the key (Nth key) for transmission) (S205). The method of this encryption has already been mentioned. The encryption/decryption unit 203 transfers the encrypted BU (IP packet) to the packet transmitting/receiving unit 201 (S207).
[0147] The packet transmitting/receiving unit 201 transmits the BU (IP packet) from the encryption/decryption unit 203 to the key transmitting device (HA) 100 (S208)
[0148] As shown in FIGS. 10 and 17, the key transmitting device (HA) 100 receives the BU (IP packet containing the key update request message) from the key receiving device (MN) 200 (S209), and generates and updates the key.
[0149] Concretely, the packet transmitting/receiving unit 101, if this received packet has been encrypted, transfers it to the encryption/decryption unit 103 (S210). The encryption/decryption unit 103 refers to the SPI value of the received packet and the generation/management unit 102 (S211), decrypts the packet with the key (which is herein the Nth key) designated by this SPI value (S212) and, after the process of the registration request (BU) transfers it to the protocol control unit 104 (S213).
[0150] The protocol control unit 104 judges a content of the packet from the encryption/decryption unit 103 (S214) and, if it is the key update request message, notifies the key generation/management unit 102 of this (S215).
[0151] The key generation/management unit 102 generates a new key (an (N+1)th key) (S216) (or the new key is obtained by some means. For instance, the external key generation unit is requested to generate the key, and a message containing this key is obtained, or, the key is read from the self-possessed or externally-possessed key database, etc.). The key generation/management unit 102 sets the key (S217). Concretely, the (N+1)th key is set afresh as the decryption key (for receipt), and the (N−1)th key is deleted. Further, the Nth key is set afresh as the encryption key (for transmission), and the (N−1)th key is deleted. Then, the key generation/management unit 102, after updating the key setting, transfers the created new key (the (N+1)th key) to the protocol control unit 104 (S218).
[0152] The protocol control unit 104 creates the registration reply (BA) containing the key distribution message (S219). In the present embodiment, Mobile IPv6 is used, and hence, for example, the protocol control unit 104 creates the BA (IP packet) in which the key distribution message (containing the new key) and the BA are set (or placed) in an extension header field (or a payload field).
[0153] This IP packet is, as will be described later on, encrypted by the encryption/decryption unit 103, and therefore the protocol control unit 104 applies the AH (authentication header) or the ESP (encapsulating security payload) to this BA (IP packet) so that the receiving side can recognize the key used for the encryption (i.e., so that the decryption can be done on the receiving side). Note that there is a necessity of separately encrypting the key to be distributed in a way of being contained in the BA (the key used for the AH can be also diverted) in the case of applying only the AH. The AH or the ESP contains the field for SPI (security parameters index), and hence the data for designating the key used for the encryption thereof is set in this field.
[0154] Herein, as will hereinafter be described, the IP packet is encrypted with the key (the (N−1)th key) for transmission, so that the data for designating the (N−1)th key is set as the data for designating the key used for the encryption thereof. The protocol control unit 104 transfers the created BA (IP packet) to the encryption/decryption unit 103 (S220).
[0155] The encryption/decryption unit 103 encrypts the BA (IP packet) (S222) by referring to the key generation/management unit 102 (by use of the key (N−1)th key) for transmission) (S221). The method of this encryption has already been mentioned. The encryption/decryption unit 103 transfers the encrypted IP packet to the packet transmitting/receiving unit 101 (S223).
[0156] The packet transmitting/receiving unit 101 transmits the IP packet (IP packet containing the key distribution message) from the encryption/decryption unit 103 to the key receiving device (MN)(S224).
[0157] As shown in FIGS. 7 and 18, the key receiving device (MN) 200 receives the BA (IP packet to which the key distribution message is added) from the key transmitting device (HA) 100 (S122). The key receiving device (MN) 200 sets the key contained in this IP packet as an encryption key (for transmission)/decryption key (for receipt) (S129).
[0158] Concretely, the packet transmitting/receiving unit 201, if the received packet has been encrypted, transfers it to the encryption/decryption unit 203 (S123). The encryption/decryption unit 203 refers to the SPI value of the received packet and the key management unit 202 (S124), decrypts the packet with the key (which is herein the (N−1)th key) designated by this SPI value (S125) and transfers it to the protocol control unit 204 (S126).
[0159] The protocol control unit 204 judges a content of the packet from the encryption/decryption unit 203 (S127) extracts, if it is the key distribution message, the key (the new (N+1)th key generated in the HA), and transfers the extracted key to the key management unit 202 (S128).
[0160] The key management unit 202 sets the extracted new key afresh as the decryption key (for receipt) (S129). Further, the key management unit 202 sets the extracted new key afresh as the encryption key (for transmission) and deletes the key that has been set for transmission.
[0161] (4). Example of Operation of MN in a Case Where the Key Distribution Message is Discarded
[0162]
FIG. 11 is a sequence diagram for explaining a procedure of distributing the dynamic key (common key) by the key resending request message from the key receiving device (MN). FIGS. 12 and 7 are sequence diagrams in which the attention is directed to the key receiving device (MN). FIG. 13 is a sequence diagram in which the attention is directed to the key transmitting device (HA). FIG. 17 is the flowchart for explaining the outline of processes in the key transmitting device (HA). FIG. 18 is the flowchart for explaining the outline of processes in the key receiving device (MN).
[0163] Herein, in the aforementioned example (3) of the operation in the case where the predetermined message from the key receiving device (MN) 200 is the key update request message, it is assumed that the BA (IP packet) including the key distribution message (containing the (N+1) th key) from the key transmitting device (HA) 100 be discarded midway without arriving at the key receiving device (MN) 200 (see FIGS. 11, 12 and 13). In this case, it comes to a state wherein the key to be dynamically updated by only the key transmitting side device (HA) 100, is updated (see FIG. 16).
[0164] As shown in FIGS. 11 and 12, the key receiving device (MN) 200, upon sensing that the BA (IP packet) for the BU (IP packet) transmitted to the key transmitting device (HA) 100 is not received (for example, the BA is not received within a fixed period after transmitting the BU) (S300), creates the BU (IP packet containing the key resending request message) for resending in the same way as the aforementioned key update request message, etc. with the protocol control unit 204 (S301), and transfers this to the encryption/decryption unit 203 (S302).
[0165] The encryption/decryption unit 203 encrypts the BU (IP packet) from the protocol control unit 204 (S303) by referring to the key management unit 202 (by use of the key (Nth key) for transmission) (S304). The method of this encryption has already been mentioned. The encryption/decryption unit 203 transfers the encrypted BU (IP packet) to the packet transmitting/receiving unit 201 (S305).
[0166] The packet transmitting/receiving unit 201 transmits the BU (IP packet) from the encryption/decryption unit 203 to the key transmitting device (HA) 100 (S306).
[0167] As shown in FIGS. 13 and 17, the key transmitting device (HA) 100 receives the BU (IP packet containing the key resending request message) from the key receiving device (MN) 200 (S307), and resends the key.
[0168] Concretely, the packet transmitting/receiving unit 101, if this received packet has been encrypted, transfers it to the encryption/decryption unit 103 (S308). The encryption/decryption unit 103 refers to the SPI value of the received packet and the generation/management unit 102 (S309), decrypts the packet with the key (which is herein the Nth key) designated by this SPI value (S310) and, after the process of the registration request (BU) transfers it to the protocol control unit 104 (S311).
[0169] The protocol control unit 104 judges a content of the packet from the encryption/decryption unit 103 (S312) and, if it is the key resending request message, notifies the key generation/management unit 102 of this (S313).
[0170] The key generation/management unit 102 transfers the most-updated key (the (N+1)th key) distributed last time but discarded midway without generating a new key, to the protocol control unit 104 (S314).
[0171] The protocol control unit 104 creates the key distribution message in the same way as the above (S315). The protocol control unit 104 transfers the created BA (IP packet) to the encryption/decryption unit 103 (S316).
[0172] The encryption/decryption unit 103 encrypts the BA (IP packet) (S318) by referring to the key generation/management unit 102 (by use of the key (Nth key) for transmission) (S317). The method of this encryption has already been mentioned. The encryption/decryption unit 102 transfers the encrypted BA (IP packet) to the packet transmitting/receiving unit 101 (S319).
[0173] The packet transmitting/receiving unit 101 transmits the BA (IP packet) from the encryption/decryption unit to the key receiving device (MN) 200 (S320).
[0174] As shown in FIGS. 7 and 18, the key receiving device (MN) 200 receives the BA (IP packet to which the key distribution message is added) from the key transmitting device (HA) 100 (S122). The key receiving device. (MN) 200 sets the key contained in the IP packet as the encryption key (for transmission)/decryption key (for receipt) in the same way as the above (S123˜S129).
[0175] As described above, in the present example of the operation, the key transmitting side device (HA) 100 uses the one-generation-anterior dynamic key as the encryption key (for transmission), whereby the communications become possible even if the dynamic key distribution message (which is also called the key distribution message) is discarded.
[0176] (5) Example of Key Initialization Procedure at the Time of a Fault, etc. in Key Transmitting Side Device (HA)
[0177] The following is a key initialization procedure at the time of a fault, etc. in the key transmitting device (HA) 100. Herein, in the above-mentioned example (3) of the operation in the case where the predetermined message from the key receiving device (MN) 200 is the key update request message, it is assumed that all the to-be-dynamically-updated keys (the Nth key and the (N−1)th key) of the key transmitting device (HA) be lost due to the fault, etc. in the key transmitting device (HA) 100, and that only the key for initialization be set.
[0178] The key receiving device (MN) 100, upon detecting that the BA (IP packet) for the BU (IP packet containing the key update request message) transmitted to the key transmitting device (HA) 100 is not received either after the fixed period, as it is considered that there is the fault, etc. in the key transmitting device (HA) 100, resends the BU (IP packet containing the key update request message).
[0179] The key receiving device (MN) 200, upon detecting that the BA for the resent BU (IP packet) is not received either after the fixed period, initializes the setting of the key to be dynamically updated, generates the BU containing the key initialization request message as shown in FIG. 5 (S101˜S105), and transmits it to the key transmitting device (HA) 100 (S106).
[0180] The key transmitting device (HA) 100, as shown in FIGS. 6 and 17, upon detecting that the BU from the key receiving device (MN) contains the key initialization request (S107˜S111), in the same way as the above, executes the process when receiving the key initialization message (S113˜S115), adds the key distribution message containing the most-updated key to the BA (S116), and transmits it to the key receiving device (MN) (S117˜S121).
[0181] As shown in FIGS. 7 and 18, the key receiving device (MN), upon receiving the BA to which the key distribution message has been added (S122), sets the key contained therein as the encryption key (for transmission)/decryption key (for receipt) (S123˜S129). This is the same as what has already been stated.
[0182] As described above, according to the present example of the operation, the key receiving device (MN) 200 resends the key update request message or the massage corresponding thereto, thereby enabling a return to the normal state (a state where the most-updated key is set for transmission and receipt of the key receiving device (MN) 200). Further, in case the key distribution message does not reach the key receiving device as a reply even by resending the key update request message, the key receiving device (MN) 200 performs initialization by transmitting the key initialization request message to the key transmitting device (HA) 100.
[0183] As described above, in the present example of the operation, in case there occurs discordance between the dynamic keys of the key receiving side device and the key transmitting side device due to the fault, etc. in the key receiving side device, the key receiving side device transmits the dynamic key initialization message or the message corresponding thereto, thereby enabling both of the dynamic keys to be initialized.
[0184] (6) Example of the Operation of HA in a Case Where the Key Transmitting Side Device (HA) Judges the Key Updating
[0185]
FIG. 14 is a sequence diagram for explaining a procedure in which the key transmitting side device (HA) judges the key updating and distributes the dynamic key (common key). FIG. 7 is the sequence diagram in which the attention is directed to the key receiving device (MN). FIG. 15 is a sequence diagram in which the attention is directed to the key transmitting device (HA). FIG. 18 is the flowchart for explaining the outline of processes in the key receiving device (MN). FIG. 19 is the flowchart for explaining the outline of processes in the key transmitting device (HA).
[0186] Herein, it is assumed that a key update timer be built in the key generation/management unit 102 of the key transmitting device (HA) 100 in order for the key transmitting device (HA) 100 to judge the key updating (timing), and that the key distribution message be transmitted together with the BA message of Mobile IPv6. This key update timer enables the key to be updated with a fixed period. Further, it is assumed that the key transmitting device (HA) 100 retains the (N−1)th key and the Nth key, and that the (N+1)th key be generated in the key transmitting device (HA) 100 and be distributed to the key receiving device (MN) 200.
[0187] As shown in FIGS. 14 and 15, when the key update timer of the key transmitting device (HA) 100 expires in the key generation/management unit 102 (S400), the protocol control unit 104 is notified of this (S401), and the protocol control unit 104 retains this for every key receiving device (MN) 200. For instance, the protocol control unit 104 sets ON a key update timer expiration flag for the key receiving device (MN) 200 concerned (S412).
[0188] The key transmitting device (HA) 100, upon receiving the BU (this contains none of the predetermined messages) from the key receiving device (MN) 200, executes the BU processing (S402), and judges by referring to the protocol control unit 104 whether the key update timer of the key receiving device (MN) 200 as a BU sender expires or not. If the key update timer concerned expires (for example, if the key update timer expiration flag for the key receiving device (MN) 200 concerned is set ON), the protocol control unit 104, on the occasion of creating the BA, requests the key generation/management unit 102 to update the key.
[0189] The key generation/management unit 102 generates the new key (the (N+1)th key) (S403) (or, the new key is obtained by some means. For instance, the external key generation unit is requested to generate the key, and this is obtained, or, the key is read from the self-possessed or externally-possessed key database, etc.). The key generation/management unit 102 updates the key setting (S404). Concretely, the (N+1)th key is set afresh as the decryption key (for receipt), and the (N−1)th key is deleted. Further, the Nth key is set afresh as the encryption key (for transmission), and the (N−1)th key is deleted. Then, the key generation/management unit 102, after updating the key setting, transfers the created new key (the (N+1)th key) to the protocol control unit 104 (S405).
[0190] The protocol control unit 104 creates the registration reply (BA) containing the key distribution message (S406). In the present embodiment, Mobile IPv6 is used, and hence, for example, the protocol control unit 104 creates the BA (IP packet) in which the key distribution message (containing the new key) and the BA are set (or placed) in an extension header field (or a payload field).
[0191] This BA (IP packet) is, as will be described later on, encrypted by the encryption/decryption unit 103, and accordingly the protocol control unit 104 applies the AH (authentication header) or the ESP (encapsulating security payload) to this BA (IP packet) so that the receiving side can recognize the key used for the encryption (i.e., so that the decryption can be done on the receiving side). Note that there is a necessity of separately encrypting the key to be distributed in a way of being contained in the BA (the key used for the AH can be also diverted) in the case of applying only the AH.
[0192] The AH or the ESP contains the field for SPI (security parameters index), and hence the data for designating the key used for the encryption thereof is set in this field. Herein, as will hereinafter be described, the IP packet is encrypted with the key (the (N−1)th key) for transmission, so that the data for designating the (N−1)th key is set as the data for designating the key used for the encryption thereof. The protocol control unit 104 transfers the created BA (IP packet) to the encryption/decryption unit 103 (S407).
[0193] The encryption/decryption unit 103 encrypts the BA (IP packet) (S409) by referring to the key generation/management unit 102 (by use of the key (N−1) th key) for transmission) (S408). The method of this encryption has already been mentioned. The encryption/decryption unit 103 transfers the encrypted IP packet to the packet transmitting/receiving unit 101 (S410).
[0194] The packet transmitting/receiving unit 101 transmits the IP packet (IP packet containing the key distribution message) from the encryption/decryption unit 103 to the key receiving device (MN)(S411). Note that upon a completion of the transmission of the BA, the key update timer expiration flag for the key receiving device (MN) 200 concerned is set OFF.
[0195] As shown in FIGS. 7 and 18, the key receiving device (MN) 200 receives the BA (IP packet to which the key distribution message is added) from the key transmitting device (HA) 100 (S122). The key receiving device (MN) 200 sets the key contained in this IP packet as an encryption key (for transmission)/decryption key (for receipt) (S129).
[0196] Concretely, the packet transmitting/receiving unit 201, if the received packet has been encrypted, transfers it to the encryption/decryption unit 203 (S123). The encryption/decryption unit 203 refers to the SPI value of the received packet and the key management unit 202 (S124), decrypts the packet with the key (which is herein the (N−1)th key) designated by this SPI value (S125) and transfers it to the protocol control unit 204 (S126).
[0197] The protocol control unit 204 judges a content of the packet from the encryption/decryption unit 203 (S127), extracts, if it is the key distribution message, the key (the new (N+1)th key generated in the HA), and transfers the extracted key to the key management unit 202 (S128).
[0198] The key management unit 202 sets the extracted new key afresh as the decryption key (for receipt) (S129). Further, the key management unit 202 sets the extracted new key afresh as the encryption key (for transmission) and deletes the key that has been set for transmission.
[0199] Next, other embodiment will be explained.
[0200] Herein, the encryption communications based on IPsec are performed, wherein the key initialization/key updating is judged from the SPI value without using the predetermined messages unlike the embodiment described above. The key transmitting device (HA) 100 retains a key-SPI mapping table (see FIG. 21), and collates the SPI value contained in the BU (IP packet containing none of the predetermined messages) from the key receiving device (MN) 200 with that table, and thereby judges which key the received packet has been encrypted with. Other configurations are the same as those in the aforementioned embodiment, and their explanations are omitted accordingly.
[0201] (7) Example (Part 1) of the Operation in a Case Where the BU from the Key Receiving Device (MN) 200 is Encrypted with the Initialization Key
[0202]
FIG. 22 is a sequence diagram for explaining a procedure of distributing the dynamic key (common key) when starting up the key receiving device (MN). FIGS. 5 and 7 are sequence diagrams in which the attention is directed to the key receiving device (MN). FIG. 23 is a sequence diagram in which the attention is directed to the key transmitting device (HA). FIG. 28 is a flowchart for explaining an outline of processes in the key transmitting device (HA).
[0203] Herein, it is assumed that the dynamic keys (the Nth key, the (N−1)th key) be retained (set) in neither the key receiving device (MN) 200 nor the key transmitting device (HA) 100 when starting up the key receiving device (MN) 200, but only the initialization key be retained (set) in both of them.
[0204] The key receiving device (MN) 200, upon a start-up, performs initial setting. Herein, the initialization keys are set as both of the encryption key (for transmission) and the decryption key) for receipt). Next, as shown in FIGS. 22 and 5, the receiving device (MN) 200, assuming that there occurs such an event that the key should be initialized (S500), creates the BU. Herein, unlike the embodiment described above, the BU does not contain the key initialization request message. In the present embodiment, Mobile IPv6 is used, and hence, for example, the protocol control unit 204 creates the IP packet in which the BU is set (or placed) in the extension header field (or the payload field) (S501).
[0205] This BU (IP packet) is, as will be described later on, encrypted by the encryption/decryption unit 203, and therefore the protocol control unit 204 applies the AH (authentication header) or the ESP (encapsulating security payload) to this BU (IP packet) so that the receiving side (HA) can recognize the key used for the encryption (i.e., so that the decryption can be done on the receiving side). Note that there is a necessity of separately encrypting the key to be distributed in a way of being contained in the BA (the key used for the AH can be also diverted) in the case of applying only the AH.
[0206] The AH or the ESP contains a field for SPI (security parameters index), and hence the protocol control unit 204 sets, in this field, data for designating the key used for the encryption thereof. Herein, as will hereinafter be described, the BU (IP packet) is encrypted with the key (the initialization key) for transmission, so that data for designating the initialization key is set as the data for designating the key used for the encryption thereof. The protocol control unit 204 transfers the created BU (IP packet) to the encryption/decryption unit 203 (S502).
[0207] The encryption/decryption unit 203 encrypts the BU (IP packet) from the protocol control unit 204 (S504) by referring to the key management unit 202 (by use of the key (initialization key) for transmission) (S503). The encryption by the encryption/decryption unit 203 is conducted as follows.
[0208] For instance, in a case where the key initialization request message and the BU are placed in the extension header of the IP packet of IPv6, the encryption/decryption unit 203 encrypts both of an IP header and a data field, and adds a new IP header thereto (tunnel mode). On the other hand, in a case where the key initialization request message and the BU are placed in the payload of the IP packet, the encryption/decryption unit 203 encrypts the data field excluding the IP header (transport mode).
[0209] Alternatively, both of the IP header and the data field are encrypted, and a new IP header is added thereto. The encryption/decryption unit 203 transfers the encrypted BU (IP packet) to the packet transmitting/receiving unit 201 (S505).
[0210] The packet transmitting/receiving unit 201 transmits the BU (IP packet) from the encryption/decryption unit 203 to the key transmitting device (HA) 100 (S506).
[0211] As shown in FIGS. 23 and 28, the key transmitting device (HA) 100, when receiving the BU (IP packet containing the key initialization request message) from the key receiving device (MN) 200 (S507), extracts an SPI value from this received packet (S508). Alternatively, the encryption/decryption unit may extract this SPI value. The packet transmitting/receiving unit 101, if this received packet has been encrypted, transfers it to the encryption/decryption unit 103 (S509).
[0212] The encryption/decryption unit 103 refers to the SPI value of the received packet and the generation/management unit 102, decrypts the packet with the key (which is herein the initialization key) designated by this SPI value (S510) and, after the process of the registration request (BU), transfers the decrypted packet and the SPI value to the protocol control unit 104 (S511).
[0213] The protocol control unit 104 refers to the key generation/management unit 102 (S512) and collates the key-SPI value table with the extracted SPI value, thereby judging which key the packet from the encryption/decryption unit 103 is encrypted with (S513) Then, the protocol control unit 104, if judging this to be such an implication that it has been encrypted by use of the initialization key, notifies the key generation/management unit 102 of this (S514).
[0214] The key generation/management unit 102 generates a new key (S515) (or the new key is obtained by some means. For instance, an external key generation unit is requested to generate the key, and a message containing this key is obtained, or, the key is read from a self-possessed or externally-possessed key database, etc.). The key generation management unit 102 initializes the key setting and also initializes the key-SPI mapping table (S516, S517).
[0215] Concretely, the initialization key is set as the encryption key (for transmission), and the new key and the initialization key are set as the decryption keys (for receipt), respectively (see FIG. 1). Then, the key generation/management unit 102, after setting these keys, transfers the generated new key to the protocol control unit 104 (S518). Herein, if the initialization key is set as the one-generation-anterior key, the same processes as of the dynamic key distribution of the second time onward become possible.
[0216] The protocol control unit 104 creates the registration reply (BA) containing the key distribution message (S519). In the present embodiment, Mobile IPv6 is used, and hence, for example, the protocol control unit 104 creates the BA (IP packet) in which the key distribution message (containing the new key) and the BA are set (or placed) in an extension header field (or a payload field).
[0217] This BA (IP packet) is, as will be described later on, encrypted by the encryption/decryption unit 103, and therefore the protocol control unit 104 applies the AH (authentication header) or the ESP (encapsulating security payload) to this BA (IP packet) so that the receiving side can recognize the key used for the encryption (i.e., so that the decryption can be done on the receiving side). Note that there is a necessity of separately encrypting the key to be distributed in a way of being contained in the BA (the key used for the AH can be also diverted) in the case of applying only the AH. The AH or the ESP contains a field for SPI (security parameters index), and hence data for designating the key used for the encryption thereof is set in this field.
[0218] Herein, as will hereinafter be described, the BA (IP packet) is encrypted with the key (the initialization key) for transmission, so that data for designating the initialization key is set as the data for designating the key used for the encryption thereof. The protocol control unit 104 transfers the created BA (IP packet) to the encryption/decryption unit 103 (S520).
[0219] The encryption/decryption unit 103 encrypts the BA (IP packet) (S522) by referring to the key generation/management unit 102 (by use of the key (initialization key) for transmission) (S521). The encryption by the encryption/decryption unit is conducted as follows. For instance, in a case where the key distribution message and the BA are placed in the extension header of the IP packet of IPv6, the encryption/decryption unit encrypts both of an IP header and a data field, and adds a new IP header thereto (tunnel mode).
[0220] On the other hand, in a case where the key distribution message and the BA are placed in the payload of the IP packet, the encryption/decryption unit encrypts the data field excluding the IP header (transport mode). Alternatively, both of the IP header and the data field are encrypted, and a new IP header is added thereto. The encryption/decryption unit transfers the encrypted BA (IP packet) to the packet transmitting/receiving unit 101 (S523).
[0221] As shown in FIGS. 7 and 18, the key receiving device (MN) 200 receives the BA (IP packet) from the key transmitting device (HA) 100 (S122). The packet transmitting/receiving unit 201, if this received packet has been encrypted, transfers it to the encryption/decryption unit 203 (S123). The encryption/decryption unit 203 refers to the SPI value of the received packet and the key management unit 202 (S124), decrypts the packet with the key (which is herein the initialization key) designated by this SPI value (S125) and transfers it to the protocol control unit 204 (S126).
[0222] The protocol control unit 204 judges a content of the packet from the encryption/decryption unit 203 (S127), extracts, if it is the key distribution message, the key (the new key generated in the HA), and transfers the extracted key to the key management unit 202 (S128).
[0223] The key management unit 202 sets the extracted new key afresh (in addition to the initialization key) as the decryption key (for receipt) (S129). Further, the key management unit sets the extracted new key afresh as the encryption key (for transmission), and deletes the initialization key that has been set for transmission (the initialization key itself is not deleted). Herein, if the initialization key is set as the one-generation-anterior key, the same processes as of the dynamic key distribution of the second time onward become possible.
[0224] (8) Example (Part 2) of the Operation in a Case Where the BU from the Key Receiving Device (MN) 200 is Encrypted with the Key Initialization Key
[0225]
FIG. 22 is the sequence diagram for explaining the procedure of distributing the dynamic key (common key) when starting up the key receiving device (MN). FIGS. 5 and 7 are the sequence diagrams in which the attention is directed to the key receiving device (MN). FIG. 23 is the sequence diagram in which the attention is directed to the key transmitting device (HA). FIG. 28 is the flowchart for explaining the outline of processes in the key transmitting device (HA).
[0226] Herein, each of the key transmitting device (HA) 100 and the key receiving device (MN) 200 retains and manages the most-updated key (the Nth key) and the one-generation-anterior key (the (N−1)th key) (see FIG. 1). Then, the one-generation-anterior key (the (N−1)th key) is so set as to be usable as the encryption key (for transmission) of the key transmitting device (HA) 100, and the most-updated key (the Nth key) is so set as to be usable as the encryption key (for transmission) of the key receiving device (MN), respectively. Further, two pieces of the most-updated key (the Nth key) and the one-generation-anterior key (the (N−1)th key) are so set as to be usable as the decryption keys (for receipt) of both of the key transmitting device (HA) 100 and the key receiving device (MN) 200 (see FIG. 1).
[0227] For the key initialization requested by the key receiving device (MN) 200, there is a restart of the key receiving device (MN) 200, and so on. As shown in FIGS. 22 and 5, the key receiving device (MN) 200, in case the key initialization is determined inside the key receiving device (MN) 200 (S500), creates the BU. Herein, unlike the embodiment described above, the BU does not contain the key initialization request message. In the present embodiment, Mobile IPv6 is used, and hence, for example, the protocol control unit 204 creates the IP packet in which the BU is set (or placed) in the extension header field (or the payload field) (S501).
[0228] This BU (IP packet) is, as will be described later on, encrypted by the encryption/decryption unit 203, and therefore the protocol control unit 204 applies the AH (authentication header) or the ESP (encapsulating security payload) to this BU (IP packet) so that the receiving side (HA) can recognize the key used for the encryption (i.e., so that the decryption can be done on the receiving side). Note that there is the necessity of separately encrypting the key to be distributed in a way of being contained in the BA (the key used for the AH can be also diverted) in the case of applying only the AH.
[0229] The AH or the ESP contains the field for the SPI (security parameters index), and hence the data for designating the key used for the encryption thereof is set in this field. Herein, as will hereinafter be described, the IP packet is encrypted with the key (the Nth key) for transmission, so that the data for designating the Nth key is set as the data for designating the key used for the encryption thereof. The protocol control unit 204 transfers the created BU (IP packet containing the key initialization request message) to the encryption/decryption unit 203 (S502).
[0230] The encryption/decryption unit 203 encrypts the BU (IP packet) from the protocol control unit 204 (S504) by referring to the key management unit 202 (by use of the key (the Nth key) for transmission) (S503). The method of this encryption has already been mentioned. The encryption/decryption unit 203 transfers the encrypted BU (IP packet) to the packet transmitting/receiving unit 201 (S505).
[0231] The packet transmitting/receiving unit 201 transmits the BU (IP packet) from the encryption/decryption unit 203 to the key transmitting device (HA) 100 (S506).
[0232] As shown in FIGS. 23 and 28, the key transmitting device (HA) 100 receives the BU (IP packet containing the key initialization request message) from the key receiving device (MN) 200 (S507), and extracts an SPI value from this received packet (S508). Alternatively, the encryption/decryption unit may also extract this SPI value. Then, the key generation and the initialization of the setting are conducted.
[0233] Concretely, the packet transmitting/receiving unit 101, if this received packet has been encrypted, transfers it to the encryption/decryption unit 103 (S509). The encryption/decryption unit 103 refers to the SPI value of the received packet and the generation/management unit 102, decrypts the packet with the key (which is herein the Nth key) designated by this SPI value (S510) and, after the process of the registration request (BU), transfers the decrypted packet and the SPI value to the protocol control unit 104 (S511).
[0234] The protocol control unit 104 refers to the key generation/management unit 102 (S512) and collates the key-SPI value table with the extracted SPI value, thereby judging which key the packet from the encryption/decryption unit 103 is encrypted with (S513) Then, the protocol control unit 104, if judging this to be such an implication that it has been encrypted by use of the initialization key, notifies the key generation/management unit 102 of this (S514).
[0235] The key generation/management unit 102 generates the new key (the (N+1)th key) (S515) (or the new key is obtained by some means. For instance, an external key generation unit is requested to generate the key, and a message containing this key is obtained, or, the key is read from a self-possessed or externally-possessed key database, etc.). The key generation management unit 102 initializes the key setting and also initializes the key-SPI mapping table (S516, S517). Concretely, the key generation/management unit 102 newly sets the (N+1)th key and the initialization key as the decryption keys (for receipt), and deletes the (N−1)th key. Further, the key generation/management unit 102 sets afresh the initialization key as the encryption key (for transmission), and deletes the (N−1)th key. Note that the initialization key is dealt with as the (N−1)th key, and the initialization key is deleted when updating the key next time. Then, the key generation/management unit 102, after updating the key setting, transfers the created new key (the (N+1)th key) to the protocol control unit 104 (S518).
[0236] The protocol control unit 104 creates the registration reply (BA) containing the key distribution message (S519). In the present embodiment, Mobile IPv6 is used, and hence, for example, the protocol control unit 104 creates the BA (IP packet) in which the key distribution message (containing the new key) and the BA are set (or placed) in an extension header field (or a payload field).
[0237] This BA (IP packet) is, as will be described later on, encrypted by the encryption/decryption unit 103, and therefore the protocol control unit 104 applies the AH (authentication header) or the ESP (encapsulating security payload) to this BA (IP packet) so that the receiving side can recognize the key used for the encryption (i.e., so that the decryption can be done on the receiving side). Note that there is a necessity of separately encrypting the key to be distributed in a way of being contained in the BA (the key used for the AH can be also diverted) in the case of applying only the AH. The AH or the ESP contains the field for SPI (security parameters index), and hence the data for designating the key used for the encryption thereof is set in this field.
[0238] Herein, as will hereinafter be described, the IP packet is encrypted with the key (the initialization key) for transmission, so that the data for designating the initialization key is set as the data for designating the key used for the encryption thereof. The protocol control unit 104 transfers the created BA (IP packet) to the encryption/decryption unit 103 (S520).
[0239] The encryption/decryption unit 103 encrypts the BA (IP packet) (S522) by referring to the key generation/management unit 102 (by use of the key (the initialization key) for transmission) (S521). The method of this encryption has already been mentioned. The encryption/decryption unit 103 transfers the encrypted IP packet to the packet transmitting/receiving unit 101 (S523).
[0240] The packet transmitting/receiving unit 101 transmits the IP packet from the encryption/decryption unit 103 to the key receiving device (MN) 200 (S523).
[0241] As shown in FIGS. 7 and 18, the key receiving device (MN) 200 receives the BA (IP packet to which the key distribution message is added) from the key transmitting device (HA) 100 (S122). The packet transmitting/receiving unit 201, if the received packet has been encrypted, transfers it to the encryption/decryption unit 203 (S123). The encryption/decryption unit 203 refers to the SPI value of the received packet and the key management unit 202 (S124), decrypts the packet with the key (which is herein the initialization key) designated by this SPI value (S125) and transfers it to the protocol control unit 204 (S126).
[0242] The protocol control unit 204 judges a content of the packet from the encryption/decryption unit 203 (S127), extracts, if it is the key distribution message, the key (the new (N+1)th key generated in the HA), and transfers the extracted key to the key management unit 202 (S128).
[0243] The key management unit 202 sets the extracted new key afresh (in addition to the initialization key) as the decryption key (for receipt) (S129) Further, the key management unit 202 sets the extracted new key afresh as the encryption key (for transmission), and deletes the initialization key that has been set for transmission (the initialization key itself is not deleted).
[0244] (9) Example of the Operation of HA in a Case Where the Key Transmitting Side Device (HA) Judges the Updating of the Key
[0245]
FIG. 14 is a sequence diagram for explaining the procedure in which the key transmitting side device (HA) judges the key updating and distributes the dynamic key (common key). FIG. 7 is the sequence diagram in which the attention is directed to the key receiving device (MN). FIG. 15 is the sequence diagram in which the attention is directed to the key transmitting device (HA). FIG. 18 is the flowchart for explaining the outline of processes in the key receiving device (MN). FIG. 19 is the flowchart for explaining the outline of processes in the key transmitting device (HA). FIG. 28 is a flowchart for explaining the outline of processes in the key transmitting device (HA).
[0246] Herein, it is assumed that the key update timer be built in the key generation/management unit 102 of the key transmitting device (HA) 100 in order for the key transmitting device (HA) 100 to judge the key updating (timing), and that the key distribution message be transmitted together with the BA message of Mobile IPv6. This key update timer enables the key to be updated with a fixed period. Further, it is assumed that the key transmitting device (HA) 100 retains the (N−1)th key and the Nth key, and that the (N+1)th key be generated in the key transmitting device (HA) 100 and be distributed to the key receiving device (MN) 200.
[0247] As shown in FIG. 24, when the key update timer of the key transmitting device (HA) 100 expires in the key generation/management unit 102 (S600), the protocol control unit 104 is notified of this (S601), and the protocol control unit 104 retains this for every key receiving device (MN) 200. For instance, the protocol control unit 104 sets ON a key update timer expiration flag for the key receiving device (MN) 200 concerned.
[0248] The key transmitting device (HA) 100, upon receiving the BU (this contains none of the predetermined messages) from the key receiving device (MN) 200, executes the BU processing (S602), and extracts an SPI value from the received packet (S613). Then, the encryption/decryption unit 103 refers to the SPI value of he received packet and to the key generation/management unit 102, and decrypts the packet with the key (which is herein the Nth key) designated by this SPI value (S614).
[0249] The protocol control unit 104 collates the SPI value with the key-SPI value table by referring to the key generation/management unit 102, thereby judging which key the received packet is encrypted with (S615). Then, the protocol control unit 104, if judging this to be such an implication that it has been encrypted by use of the Nth key (S616), judges whether the key update timer of the key receiving device (MN) 200 as a BU sender thereof expires or not (S617).
[0250] If the key update timer concerned expires (S617: Yes) (for example, if the key update timer expiration flag for the key receiving device (MN) 200 concerned is set ON), the protocol control unit 104, on the occasion of creating the BA, requests the key generation/management unit 102 to update the key.
[0251] The key generation/management unit 102 generates the new key (the (N+1)th key) (S603) (or, the new key is obtained by some means. For instance, the external key generation unit is requested to generate the key, and this is obtained, or, the key is read from the self-possessed or externally-possessed key database, etc.). The key generation/management unit 102 updates the key setting, and also updates the key-SPI mapping able (S604, S605).
[0252] Concretely, the (N+1)th key is set afresh as the decryption key (for receipt), and the (N−1)th key is deleted. Further, the Nth key is set afresh as the encryption key (for transmission), and the (N−1)th key is deleted. Then, the key generation/management unit 102, after updating the key setting, transfers the created new key (the (N+1)th key) to the protocol control unit 104 (S606).
[0253] The protocol control unit 104 creates the registration reply (BA) containing the key distribution message (S607). In the present embodiment, Mobile IPv6 is used, and hence, for example, the protocol control unit 104 creates the BA (IP packet) in which the key distribution message (containing the new key) and the BA are set (or placed) in an extension header field (or a payload field).
[0254] This BA (IP packet) is, as will be described later on, encrypted by the encryption/decryption unit 103, and accordingly the protocol control unit 104 applies the AH (authentication header) or the ESP (encapsulating security payload) to this BA (IP packet) so that the receiving side can recognize the key used for the encryption (i.e., so that the decryption can be done on the receiving side). Note that there is a necessity of separately encrypting the key to be distributed in a way of being contained in the BA (the key used for the AH can be also diverted) in the case of applying only the AH.
[0255] Herein, as will hereinafter be described, the IP packet is encrypted with the key (the (N−1)th key) for transmission, so that the data for designating the (N−1) th key is set as the data for designating the key used for the encryption thereof. The protocol control unit 104 transfers the created BA (IP packet) to the encryption/decryption unit 103 (S608).
[0256] The encryption/decryption unit 103 encrypts the BA (IP packet) (S610) by referring to the key generation/management unit 102 (by use of the key (N−1)th key) for transmission) (S609). The method of this encryption has already been mentioned. The encryption/decryption unit 103 transfers the encrypted IP packet to the packet transmitting/receiving unit 101 (S611).
[0257] The packet transmitting/receiving unit 101 transmits the IP packet (IP packet containing the key distribution message) from the encryption/decryption unit 103 to the key receiving device (MN)(S612). Note that upon a completion of the transmission of the BA, the key update timer expiration flag for the key receiving device (MN) 200 concerned is set OFF.
[0258] As shown in FIGS. 7 and 18, the key receiving device (MN) 200 receives the BA (IP packet to which the key distribution message is added) from the key transmitting device (HA) 100 (S122) The key receiving device (MN) 200 sets the key contained in this IP packet as an encryption key (for transmission)/decryption key (for receipt) (S129).
[0259] Concretely, the packet transmitting/receiving unit 201, if the received packet has been encrypted, transfers it to the encryption/decryption unit 203 (S123). The encryption/decryption unit 203 refers to the SPI value of the received packet and the key management unit 202 (S124), decrypts the packet with the key (which is herein the (N−1)th key) designated by this SPI value (S125) and transfers it to the protocol control unit 204 (S126).
[0260] The protocol control unit 204 judges a content of the packet from the encryption/decryption unit 203 (S127), extracts, if it is the key distribution message, the key (the new (N+1)th key generated in the HA), and transfers the extracted key to the key management unit 202 (S128)
[0261] The key management unit 202 sets the extracted new key afresh as the decryption key (for receipt) (S129). Further, the key management unit 202 sets the extracted new key afresh as the encryption key (for transmission) and deletes the key that has been set for transmission.
[0262] (10) Example of the Operation of MN in a Case Where the Key Distribution Message is Discarded
[0263]
FIG. 25 is a sequence diagram for explaining a procedure of distributing the dynamic key (common key) by the key resending request message from the key receiving device (MN). FIGS. 26 and 7 are sequence diagrams in which the attention is directed to the key receiving device (MN) FIG. 27 is a sequence diagram in which the attention is directed to the key transmitting device (HA).
[0264] Herein, it is assumed that the BA (IP packet) including the key distribution message (containing the (N+1)th key) from the key transmitting device (HA) 100 be discarded midway without arriving at the key receiving device (MN) 200 (see FIGS. 22 and 26). In this case, it comes to a state wherein the key to be dynamically updated by only the key transmitting side device (HA) 100, is updated (see FIG. 16). FIG. 28 is a flowchart for explaining an outline of processes in the key transmitting device (HA).
[0265] As shown in FIGS. 25 and 26, the key receiving device (MN) 200, upon sensing that the BA (IP packet) for the BU (IP packet) transmitted to the key transmitting device (HA) 100 is not received (for example, the BA is not received within a fixed period after transmitting the BU) (S700), creates the BU (IP packet containing the key resending request message) for resending in the same way as the aforementioned key update request message, etc. with the protocol control unit 204 (S701), and transfers this to the encryption/decryption unit 203 (S702).
[0266] The encryption/decryption unit 203 encrypts the BU (IP packet) from the protocol control unit 204 (S704) by referring to the key management unit 202 (by use of the key (Nth key) for transmission) (S703). The method of this encryption has already been mentioned. The encryption/decryption unit 203 transfers the encrypted BU (IP packet) to the packet transmitting/receiving unit 201 (S705).
[0267] The packet transmitting/receiving unit 201 transmits the BU (IP packet)from the encryption/decryption unit 203 to the key transmitting device (HA) 100 (S706).
[0268] As shown in FIG. 27, the key transmitting device (HA) 100, upon receiving the BU (that does not contain the key resending request message) from the key receiving device (MN) 200 (S707), extracts an SPI value from this received packet (S708). Alternatively, the encryption/decryption unit may also extract this SPI value.
[0269] Concretely, the packet transmitting/receiving unit 101, if this received packet has been encrypted, transfers it to the encryption/decryption unit 103 (S709). The encryption/decryption unit 103 refers to the SPI value of the received packet and the generation/management unit 102 (S710), decrypts the packet with the key (which is herein the Nth key) designated by this SPI value (S711) and, after the process of the registration request (BU) transfers the decrypted packet and the SPI value to the protocol control unit 104 (S712).
[0270] The protocol control unit 104 refers to the key generation/management unit 102 (S713) and collates the key-SPI value table with the extracted SPI value, thereby judging which key the packet from the encryption/decryption unit 103 is encrypted with (S714) Then, the protocol control unit 104, if it is the Nth key, can judge that the key receiving device (MN) 200 does not receive the (N+1)th key (the most-updated key) (which corresponds to a receipt of the key resending request message), and notifies the key generation/management unit 102 of this (S715).
[0271] The key generation/management unit 102 transfers the most-updated key (the (N+1)th key) distributed last time but discarded midway without generating a new key, to the protocol control unit 104 (S716).
[0272] The protocol control unit 104 creates the key distribution message in the same way as the above (S717) The protocol control unit 104 transfers the created BA (IP packet) to the encryption/decryption unit 103 (S718).
[0273] The encryption/decryption unit 103 encrypts the BA (IP packet) (S720) by referring to the key generation/management unit 102 (by use of the key (Nth key) for transmission) (S719). The method of this encryption has already been mentioned. The encryption/decryption unit 102 transfers the encrypted BA (IP packet) to the packet transmitting/receiving unit 101 (S721).
[0274] The packet transmitting/receiving unit 101 transmits the BA (IP packet) from the encryption/decryption unit to the key receiving device (MN) 200 (S722).
[0275] As shown in FIGS. 7 and 18, the key receiving device (MN) 200 receives the BA (IP packet to which the key distribution message is added) from the key transmitting device (HA) 100 (S122). The key receiving device (MN) 200 sets the key contained in the IP packet as the encryption key (for transmission)/decryption key (for receipt) in the same way as the above (S123˜S129).
[0276] As described above, in the present example of the operation, the key transmitting side device (HA) 100 uses the one-generation-anterior dynamic key as the encryption key (for transmission), whereby the communications become possible even if the dynamic key distribution message (which is also called the key distribution message) is discarded.
[0277] (11) Key Initialization Procedure at the Time of a Fault, etc. in the Key Transmitting Side Device (HA)
[0278] The key initialization procedure at the time of a fault, etc. in the key transmitting device (HA) 100 is as follows.
[0279] Herein, it is assumed that all the to-be-dynamically-updated keys (the Nth key and the (N−1)th key) of the key transmitting device (HA) be lost due to the fault, etc. in the key transmitting device (HA) 100, and that only the key for initialization be set. On the other hand, it is assumed that the key receiving device (MN) retains the to-be-dynamically-updated keys (the Nth key and the (N−1)th key).
[0280] The key receiving device (MN) 100, upon detecting that the BA (IP packet) for the BU (IP packet containing none of the key update request message and so on) transmitted to the key transmitting device (HA) 100 is not received either after the fixed period, as it is considered that there is the fault, etc. in the key transmitting device (HA) 100, resends the BU (IP packet that does not contain the key update request message).
[0281] The key receiving device (MN) 200, upon detecting that the BA for the resent BU (IP packet) is not received either after the fixed period, initializes the setting of the key to be dynamically updated, generates the BU as shown in FIG. 5 (S501˜S505), and transmits it to the key transmitting device (HA) 100 (S506).
[0282] The key transmitting device (HA) 100, as shown in FIGS. 22 and 23, upon judging this to be such an implication that the BU from the key receiving device (MN) has been encrypted by use of the initialization key (S507˜S514) executes the processes of generating the key, etc. in the same way as the above (S515˜S518), adds the key distribution message containing the most-updated key to the BA (S519), and transmits it to the key receiving device (MN) (S520˜S524).
[0283] As shown in FIGS. 7 and 18, the key receiving device (MN), upon receiving the BA to which the key distribution message has been added (S122), sets the key contained therein as the encryption key (for transmission)/decryption key (for receipt) (S123 S129) This is the same as what has already been stated.
[0284] As described above, according to the present example of the operation, the key receiving device (MN) 200 resends the key update request message or the massage corresponding thereto, thereby enabling a return to the normal state (a state where the most-updated key is set for transmission and receipt of the key receiving device (MN) 200). Further, in case the key distribution message does not reach the key receiving device as a reply even by resending the key update request message, the key receiving device (MN) 200 performs initialization by transmitting the key initialization request message to the key transmitting device (HA) 100.
[0285] As described above, in the present example of the operation, in case there occurs discordance between the dynamic keys of the key receiving side device and the key transmitting side device due to the fault, etc. in the key receiving side device, the key receiving side device transmits the dynamic key initialization message or the message corresponding thereto, thereby enabling both of the dynamic keys to be initialized.
[0286] Next, modified examples will be explained.
[0287] In the two embodiments described above, the explanation was made such that the communications between the key transmitting device and the key are the communications as on Mobile IPv6, however, the present invention is not limited to this. A variety of communications can be applied as the communications between the key transmitting device and the key receiving device. For instance, the communications between the key transmitting device and the key receiving device may be communications on Mobile IPv4. In this case, Registration Request as a substitute for the BU of IPv6 is used as the registration request, and Registration Reply as a substitute for the BA of IPv6 is used as the registration reply, respectively. They are set (or placed) in, for instance, the payload field of the IP packet.
[0288] Further, in the two embodiments described above, the explanation was made such that the BU and the predetermined message (or only the BU) are transmitted from the key transmitting device (HA) from the key receiving device (MN) 200, and, corresponding thereto, the key transmitting device (HA) 100 distributes the key distribution message to the key receiving device (MN) 200, however, the present invention is not limited to this. For example, only the predetermined message (for example, the key initialization request message) is transmitted to the key transmitting device (HA) from the key receiving device (MN) 200, and, corresponding to this, the key transmitting device (HA) 100 may distribute the key distribution message to the key receiving device (MN) 200.
[0289] Further, in the two embodiments described above, the explanation was made such that the key transmitting device (HA) 100 and the key receiving device (MN) 200, however, the present invention is not limited to this. For instance, an A-key of an (N−1)th generation may be set as the key for transmission in the key transmitting device (HA) 100, and a B-key of an Nth generation may be set as the key for transmission in the key receiving device (MN) 200. Then, the B-keys of the Nth and (N−1)th generations may also be set as the keys for receipt in the key transmitting device (HA) 100, and then the A-keys of the Nth and (N−1)th generations may be set as those for receipt in the key receiving device (MN) 200, respectively.
[0290] Moreover, in the two embodiments described above, the explanations was made such that the key transmitting device is the HA on Mobile IP, and the key receiving device is the MN on Mobile IP, however, the present invention is not limited to this. For example, the key transmitting device may be a server device on the Internet, and the key receiving device may be a client device performing communications with this server.
[0291] Note that in the two embodiments described above, the explanation was made such that the BU and the BA are set in the extension header field (or the payload field) of IPv6, however, the present invention is not limited to this. Specifications of IPv6 are at a stage of Draft in the present situation. For instance, in Draft 15 (draft-ietf-mobileip-ipv6-15.txt), both of the BU/BA are included in a terminal option (destination option). Further, in Draft 18 (draft-ietf-mobileip-ipv6-18.txt) both of BU/BA are included in a mobility header (mobility header). Accordingly, the setting (placement) of the BU, BA can be improved properly corresponding to changes in the specifications.
[0292] As explained above, according to the present invention, in case one of the two devices that perform the common key encryption communications distributes the encryption key to the other, the encryption communications can continue in the midst of the distribution procedure and even in the case where the encryption key (the key distribution message) is discarded. Further, in the case of performing the one-to-many (encryption communications (for example, the communications between the HA and the MNs on Mobile IP, between the server and the clients connected thereto on the Internet, and so forth), a load of the HA or the server on the Internet can be reduced. Moreover, in the case of effecting the dynamic key updating for enhancing the security, a cut-off of the communications dues not occur followed by this.
[0293] The present invention can be embodiment in a variety of forms without departing from the spirit or the principal features thereof.
[0294] Therefore, the embodiments described above are nothing but simple exemplifications in whatever points, and the present invention shall not be limitedly construed due to the descriptions thereof.
Claims
- 1. In a system for performing encryption communications using a common key updated at a predetermined timing between a key transmitting device and a key receiving device, a common key encryption communication system comprising:
a key transmitting device including first retaining unit retaining a most-updated encryption key and a one-generation-anterior encryption key as the above common keys, and first setting unit setting a one-generation-anterior encryption key for transmission and a most-updated encryption key and a one-generation-anterior encryption key for receipt, respectively; and the above key receiving device including second retaining unit retaining a most-updated encryption key and a one-generation-anterior encryption key as the above common keys, and second setting unit setting a most-updated encryption key for transmission, and a most-updated encryption key and a one-generation-anterior key for receipt, respectively.
- 2. A common key encryption communication system according to claim 1, wherein the above key transmitting device further includes acquisition unit acquiring the encryption key, the above first retaining unit updates and retains the above most-updated encryption key as the one-generation-anterior encryption key and the encryption key acquired by the above acquisition unit as the most-updated encryption key, respectively, and the above first setting unit re-sets the one-generation-anterior encryption key for transmission, and the most-updated encryption key and the one-generation-anterior encryption key for receipt respectively on the basis of the retained key after being updated by the above first retaining unit.
- 3. A common key encryption communication system according to claim 2, wherein the above key transmitting device includes generation unit generating the encryption key, and the above acquisition unit acquires the encryption key generated by the above generation unit.
- 4. A common key encryption communication system according to claim 2, wherein the above key transmitting device further includes first transmitting unit transmitting the encryption key acquired by the above acquisition unit to the key receiving device.
- 5. A common key encryption communication system according to claim 4, wherein the above key receiving device further includes second receiving unit receiving the encryption key transmitted from the above key transmitting device, in case the above second receiving unit receives the encryption key, the above second retaining unit respectively updates and retains the above most-updated encryption key as the one-generation-anterior encryption key and the encryption key received by the above second receiving unit as the most-updated encryption key, and the above second setting unit respectively re-sets the most-updated encryption key for transmission, and the most-updated encryption key and the one-generation-anterior encryption key for receipt on the basis of the retained key after being updated by the above second retaining unit.
- 6. A common key encryption communication system according to claim 1, wherein the above key receiving device includes second transmitting unit transmitting a predetermined message to the key transmitting device, and the above key transmitting device includes first receiving unit receiving the predetermined message transmitted from the above key receiving device.
- 7. A common key encryption communication system according to claim 4, wherein the above first and second retaining unit respectively retain the initialization key.
- 8. A common key encryption communication system according to claim 7, wherein the above key receiving device transmits a key initialization request message as the above predetermined message at a predetermined timing, in case the above key transmitting device receives the key initialization request message transmitted from the above key receiving device, the above acquisition unit acquires the encryption key, and the above first retaining unit respectively updates and retains the common initialization key as the one-generation-anterior encryption key and the encryption key acquired by the above acquisition unit as the most-updated encryption key.
- 9. A common key encryption communication system according to claim 4, wherein the above key receiving device transmits a key update request message as the above predetermined message at a predetermined timing, in case the above key transmitting device receives a key update request message transmitted from the above key receiving device, the above acquisition unit acquires the encryption key, and the above first retaining unit respectively updates and retains the above common initialization key as the one-generation-anterior encryption key and the encryption key acquired by the above acquisition unit as the most-updated encryption key.
- 10. A common key encryption communication system according to claim 9, wherein the above key receiving device includes unit determining a key update timing, and said second transmitting unit, in the case of reaching the key update timing, transmits the key update request message to the key transmitting device.
- 11. A common key encryption communication system according to claim 4, wherein the above key transmitting device includes unit determining a key update timing, and said first transmitting unit, in the case of reaching the key update timing, transmits the encryption key acquired by the above acquisition unit to the key receiving device.
- 12. A common key encryption communication system according to claim 4, wherein the above key receiving device transmits a key resending request message as the above predetermined message at a predetermined timing, and, in case the above key transmitting device receives a key resending request message transmitted from the above key receiving device, the first transmitting unit transmits the encryption key acquired by the above acquisition unit to the key receiving device.
- 13. A common key encryption communication system according to claim 4, wherein the above first transmitting unit, in a state where the above first and second retaining unit retain none of the keys, transmits the encryption key acquired by the above acquisition unit to the key receiving device.
- 14. In a key transmitting device performing encryption communications using a common key updated at a predetermined timing with a key receiving device, a key transmitting device comprising retaining unit retaining a most-updated encryption key and a one-generation-anterior encryption key as the above common keys, and setting unit respectively setting a one-generation-anterior encryption key for transmission, and a most-updated encryption key and a one-generation-anterior encryption key for receipt.
- 15. In a key receiving device performing encryption communications using a common key updated at a predetermined timing with a key transmitting device, a key receiving device comprising retaining unit retaining a most-updated encryption key and a one-generation-anterior encryption key as the above common keys, and setting unit respectively setting a most-updated encryption key for transmission, and a most-updated encryption key and a one-generation-anterior encryption key for receipt.
- 16. In a method of performing encryption communications using a common key updated at a predetermined timing between a key transmitting device and a key receiving device, a common key encryption communication method characterized in that the key transmitting device retains a most-updated encryption key and a one-generation-anterior encryption key as the above common keys, sets respectively the one-generation-anterior encryption key for transmission and for receipt, and the above key receiving device retains the most-updated encryption key and the one-generation-anterior encryption key as the above common keys, and sets respectively the most-updated encryption key for transmission and the most-updated encryption key and the one-generation-anterior encryption key for receipt.
Priority Claims (1)
Number |
Date |
Country |
Kind |
2002-348748 |
Nov 2002 |
JP |
|