This application claims the priority of Korean Patent Application No. 10-2004-0079859, filed on Oct. 7, 2004, in the Korean Intellectual Property Office, the disclosure of which is incorporated herein in its entirety by reference.
1. Field of the Invention
The present invention relates to a method of rendering information protection service in the Internet Protocol version 6 (IPv6) based internet, and more particularly, to a method for generating an address automatically by imparting additional security options to a conventional Internet Control Message Protocol version 6 (ICMPv6) message, thereby generating the address in a secured manner, and a data structure thereof.
2. Description of the Related Art
A conventional IPv6-based Internet is basically constructed to enable zero configuration in which a host can communicate with another host on a local link without prior configuration. In order to protect signaling messages enabling such communications, IP Security Protocol Authentication Header (Ipsec AH) is generally used. However, since the IPsec technique provides security for a prescribed IPv6 address, it is not suitably adopted to the IPv6-based Internet in which an address is automatically generated.
In other words, when a security negotiation is exchanged in a bootstrapping state in which an IPv6 address is not set, a chicken-and-egg problem may be generated due to Internet Key Exchange (IKE) protocol. In addition, only manual keys are usable due to a bootstrapping problem, which makes it substantially impossible to adopt the IPsec technique in the actual network environments.
The present invention provides a method of providing information protection for IPv6-based Internet service, particularly, a method for automatically generating an address in the presence of security when a non-configured host establishes an Internet connection for the first time, and a data format thereof.
According to an aspect of the present invention, there is provided a method for automatically generating an address in the IPv6-based Internet when a sender having a pair of a public key and a private key establishes a network connection, the method comprising: generating a CGA address and a CGA option based on the public key and a predetermined parameter; generating a signature option for verifying the CGA option; additionally generating a timestamp option in a case where a unidirectional message is transmitted to the network, and additionally generating a nonce option containing random numbers in a case where a bidirectional message is transmitted to the network; and adding the signature option, the timestamp option and the nonce option to a Neighbor Discovery (ND) option field to form an ND message, and transmitting the ND message to the network.
According to another aspect of the present invention, there is provided a method for authenticating an IPv6 address generated by a sender that has received an IPv6 message with a timestamp/nonce option, a signature option, and a CGA option added thereto, the method comprising: verifying a timestamp/nonce option; if the verifying of the timestamp/nonce option is successfully completed, checking the message whether it is a bidirectional message or a unidirectional message, and verifying the nonce option for the bidirectional message or verifying the signature option for the unidirectional message; and if the verifying of the time stamp is successfully completed, verifying the CGA option to check a CGA address, and authenticating the IPv6 address.
The above and other features and advantages of the present invention will become more apparent by describing in detail exemplary embodiments thereof with reference to the attached drawings in which:
Hereinafter, preferred embodiments of the present invention will be described in detail with reference to the attached drawings.
Referring to
Then, the host acquires information on a network to which it belongs based on the network prefix information for communication. An ND message is based on ICMPv6.
Specifically, for the timestamp/nonce option 230 the time stamp option is used for a unidirectional message which is sent from sender or receiver, and the nonce option is used with the time stamp option for a bi-directional message for increasing a security level.
When the CGA option 210 is additionally used for automatically generating a secured address at the sender, the signature option 220 should be essentially added for verifying the address.
In addition, when the signature option 220 is additionally used, the timestamp/nonce option 230 should be essentially added for retransmission attack tolerance. When the receiver receives an IPv6 message that is not provided with the three options, the message should be removed.
Referring to
Since a public key is used in generating the CGA address, however, every node should hold a pair of a public key and a private key before generating its own CGA address. In other words, a host should have its own key when it enters the network for the first time.
The sender executes a unidirectional hash function on its own interface ID using the public key and a predetermined tentative parameter. In order to generate a 128-bit IPv6 address cryptographically, 64-bit values extracted among hash values that are previously generated are connected to 64-bit prefix of the network. If the CGA address generated by the sender is transmitted through the CGA option 210, a receiver verifies the CGA address based on the CGA option 210.
As shown in
The collision count field 313 may have one of values 0,1,2 and it increases by 1 whenever collision occurs.
That is to say, when collision occurs three times, packet processing is terminated and an error is reported. A value ranging from a 1024-bit value and a 2048-bit value may be used as the public key.
The CGA option 210 provides additional security service through the signature option 220 and the timestamp/nonce option 230 for the purposes of protecting retransmission attack and other security threat.
Specifically, the signature option 220 is an option for authenticating ND messages by signing the same using a sender's private key to provide for integrity of the messages. The receiver receives the sender's public key through the key information field 315 contained in the CGA option 210.
As shown in
The sender signs the IPv6 header 110, the ICMPv6 header 120, the NDP message header, and the NDP options existing before the signature option using the sender's own private key and incorporates the signature value in the signature option 220 for transmission. The receiver compares the hash value obtained by executing the unidirectional hash function on the public key received through the CGA option 210 with the value received through the key hash field 324 contained in the signature option 220, and verifies the received public key. If the verification is completed, the signature value is then verified based on the verification result, thereby authenticating the sender and identifying the integrity of the message.
When the signature option 220 is used, the timestamp/nonce option 230 is necessarily added.
The timestamp option and the nonce option are provided for retransmission attack tolerance service. In detail, in a case of a unidirectional message like in a multicast address, the timestamp option, in which prior configuration is not necessary, is used. On the other hand, in a case of a bidirectional message, e.g., a solicitation-advertisement message, the nonce option is used. In this case, in order to increase a security level of the bidirectional message, the timestamp option as well as the nonce option, are used such that the nonce option precedes the timestamp option.
As shown in
As shown in
The sender transmits an ND message with the timestamp option (
When a received message contains a signature option, the receiver checks whether there is a timestamp option or a nonce option. If neither option exists, the received message should be discarded.
First, the host enters the network in operation S401. Before operation S401, the host should have owned a pair of a public key and a private key. Otherwise, the security service for automatically generating a secure address cannot be rendered as indicated in operation S411.
If the host owns the public key/private key pair in operation S402, a CGA address is generated using a hash value and prefix information of a subnet in the network to which the host belongs in operation S403. The hash value is obtained by executing a unidirectional hash function on the host's interface ID using the host's public key and a predetermined tentative parameter. In operation S404, the signature option 220 is generated with the generated CGA address added to a sender's address field contained in the IPv6 header and the sender's public key added to the key information field 315 contained in the CGA option 210. A signature value is a hash value obtained in operation S405 by executing a unidirectional hash function on the sender's private key using the IPv6 header 110, the ICMPv6 header 120, the NDP message header and the ND message option 140 preceding the signature option 220. The generated signature value and the public key are signed using the unidirectional hash function and the leftmost 128 bit values are extracted to be included in the signature option 220 in operation S406.
After the signature option 220 is generated, the timestamp option 230 representing a time required for generating a message is generated in operation S407.
If it is determined in operation S408 that the generated message is a bidirectional message, e.g., a solicitation-advertisement message, the nonce option 230 containing more than 48 bit random numbers arbitrarily selected by the sender is generated in operation S409. Thereafter, the message is transmitted to a receiver in the network in operation S410.
First, the receiver receives a message in operation S421.
Then, the receiver checks whether the message is applicable to security protection service and verifies a timestamp of the message through use of the timestamp option in operation S422.
If the verification is successfully completed, it is identified whether the message is a bidirectional message in operation S423.
If the message is a bidirectional message, the nonce option is verified in operation S424. That is, it is checked whether the message is secured against a retransmission attack through a value of the nonce option, followed by verifying the signature option 220.
If the message is not a bidirectional message, the procedure goes directly to operation of verifying the signature option 220.
If verification of the timestamp or nonce option fails, the packet is discarded and an error is reported in operation S428.
It is checked whether a hash value obtained by executing a unidirectional hash function on the public key extracted from the key information field 315 contained in the CGA option 210, is identical with the value of the key hash field 324 in the signature option 220. A digital signature value in the signature option 220 is verified using the verified public key in operation S425. If verification of the signature option 220 is successfully completed, a CGA address in the CGA option 210 is verified in operation S426. If the CGA address is successfully verified, the receiver authenticates the IPv6 address that is newly generated by the sender in operation S427. If verification of signature or CGA fails, the packet is discarded and an error is reported in operation S428.
The method for automatically generating an address over the IPv6-based Internet according to the present invention can be implemented by codes recorded on a computer readable recording medium.
The computer readable recording media include all kinds of recording apparatuses for storing data readable by a computer system. Examples of the computer readable recording media include a ROM, a RAM, a CD-ROM, a magnetic tape, a hard disk, a floppy disk, a flash memory, an optical data storage device, and the like.
In addition, the method for automatically generating an address over the IPv6-based Internet according to the present invention can be implemented in the form of carrier wave, e.g., transmission over the Internet. Further, the computer readable recording media have codes distributed in computer systems connected through a computer communication network and the codes are stored and executed in a distributed manner.
A font ROM data structure according to present invention can also be implemented by computer readable codes recorded on a computer readable recording medium such as a ROM, a RAM, a CD-ROM, a magnetic tape, a hard disk, a floppy disk, a flash memory, an optical data storage device, and the like.
While the present invention has been particularly shown and described with reference to exemplary embodiments thereof, it will be understood by those of ordinary skill in the art that various changes in form and details may be made therein without departing from the spirit and scope of the present invention as defined by the following claims.
As described above, in the method for automatically generating and authenticating an address in the IPv6-based Internet according to the present invention, when a host enters the network in a Zero Configuration over the IPv6-based Internet, the address can be securely generated without using a manual key.
The present invention can also be applied to general IPv6 packet authentication or position authentication of a mobile node.
That is to say, the method for automatically generating and authenticating an address in the IPv6-based Internet according to the present invention, a non-configured entity (host) that enters the network for the first time over the IPv6-based Internet can generate its own CGA address in a cryptographical manner. This complies with the IPv6-based Zero Configuration architecture principle, thereby overcoming a prior art problem involved with the use of manual keys in order to protect a signaling message using IPsec AH.
In addition to an advantage in that a secured IPv6 address can be automatically generated, the present invention is advantageously applied to authentication of general IPv6 packets, authentication of message integrity and position authentication of a mobile note.
Number | Date | Country | Kind |
---|---|---|---|
10-2004-0079859 | Oct 2004 | KR | national |