Source: http://www.patentsencyclopedia.com/app/20110103583
Timestamp: 2018-03-21 08:19:23
Document Index: 577354538

Matched Legal Cases: ['art 120', 'art 130', 'art 140', 'art 120', 'art 120', 'art 140', 'art 130', 'art 140', 'art 230', 'art 250', 'art 230', 'art 250', 'art 250', 'art 250', 'art 140', 'art 250']

METHOD AND SYSTEM FOR PRESERVING SECURITY OF SENSOR DATA AND RECORDING MEDIUM USING THEREOF - Patent application
Patent application title: METHOD AND SYSTEM FOR PRESERVING SECURITY OF SENSOR DATA AND RECORDING MEDIUM USING THEREOF
Inventors: Mi Yeon Yoon (Seoul, KR) Mi Joo Kim (Incheon, KR) Hyun Cheol Jeong (Seoul, KR)
Patent application number: 20110103583
METHOD AND SYSTEM FOR PRESERVING SECURITY OF SENSOR DATA AND RECORDING MEDIUM USING THEREOF - Patent application <?php require_once('/home/patents/php/mtc.config.php'); require_once('/home/patents/php/mtc.class.php'); $MTC = new MTC(); $MTC->init(); ?>
Inventors: Hyun Cheol Jeong Mi Yeon Yoon Mi Joo Kim
A method and a system for preserving sensor data based on a time key, and a recording medium thereof are provided. The time key based sensor data security preserving method includes encrypting the sensor data with an encryption key obtained using a time key based polynomial derived using random numbers and a secret key which is shared by a sensor node and an application system; and decrypting the encrypted sensor data with a decryption key obtained by deriving the same polynomial as the time key based polynomial using the random numbers and the secret key. Thus, integrity and confidentiality of the sensor data can be preserved.
1. A method for preserving security of sensor data based on a time key, comprising: encrypting the sensor data with an encryption key obtained using a time key based polynomial derived using random numbers and a secret key which is shared by a sensor node and an application system; and decrypting the encrypted sensor data with a decryption key obtained by deriving the same polynomial as the time key based polynomial using the random numbers and the secret key.
2. The method of claim 1, further comprising: sending the time key and the encrypted sensor data from the sensor node to a sink node; and sending the encrypted sensor data and the time key to the application system.
3. The method of claim 1, wherein the time key is generated using sensor data collection time information, and is an input value of the time key based polynomial which produces an encryption key material value used to generate the encryption key as an output value.
4. The method of claim 1, wherein the encrypting of the sensor data comprises: generating an application random number p and a sink random number q; encrypting the generated random numbers with an initial group key of a sensor and sending the encrypted random numbers to the sensor; deriving the time key based polynomial to generate a sensor data encryption key at the sensor node; generating, at the sensor node, the sink node, and the application system, the authentication key using the sink random number q; and generating the encryption key by applying the encryption key material value calculated using the time key based polynomial to a cryptographic algorithm of the sensor node.
5. The method of claim 4, wherein the encrypting and sending of the random numbers comprises: sending the application random number p from the application system to the sensor node; and sending the sink random number q from the sink node to the application system and the sensor node.
6. The method of claim 4, wherein the deriving of the time key based polynomial comprises: calculating two coordinates (px, py) and (qx, qy) which are roots of the following quadratic polynomial using the application random number p and the sink random number q; and deriving the following equation using the two coordinates and a secret key shared by the sensor node and the application, y=|ax2+bx+C| where y, which is an output value for a time key input, is the material value used to generate the encryption key, a and b are coefficients of the quadratic polynomial, x is a certain time key value, C is the secret key value as a constant value of the quadratic polynomial, and |x| denotes an absolute value of x.
7. The method of claim 6, wherein the calculating of the coordinates comprises: concatenating the application random number p and the sink random number q; remainder-operating results of the concatenation and the secret key; and calculating coordinates by applying a Hash function to the remainder operation results.
8. The method of claim 4, wherein the application random number p, the sink random number q, and the time key x are updated periodically, and an update period of the time key is shorter than an update period of the random numbers p and q.
9. The method of claim 1, wherein the decrypting of the sensor data comprises: deriving the same polynomial as the time key based polynomial generated at the sensor node; generating the decryption key by applying a decryption key material value obtained from the time key based polynomial to a cryptographic algorithm of the application system; and decrypting the encrypted sensor data with the generated decryption key.
10. The method of claim 1, wherein the sending of the encrypted sensor data and the encrypted time key to the application system transmits the encrypted sensor data on a periodic basis or according to a request of the application system.
11. The method of claim 1, wherein the sending of the encrypted sensor data and the encrypted time key to the application system maintains a constant packet length by adding the time key to a sensor data packet, and when the time key is updated to a new time key, the updated time key is added to the sensor data packet and 0 transmitted.
12. The method of claim 11, wherein whether the new time key is contained is determined by a flag of the sensor data packet.
13. The method of claim 11, wherein, when the time key is not updated, the sensor data is added by the constant packet length and transmitted.
14. The method of claim 1, wherein the sensor node has the initial group key recognized by the application system and the sink node, and a private key.
15. The method of claim 1, wherein the sensor node shares the secret key with the application system.
16. A system for preserving security of sensor data based on a time key, comprising: a sensor node for encrypting the sensor data with an encryption key obtained using a time key based polynomial derived using a random number and a secret key; and an application system for decrypting the encrypted sensor data with a decryption key obtained by deriving the same polynomial as the time key based polynomial using the random number and the secret key.
17. The system of claim 16, further comprising: a sink node for authenticating a time key and the encrypted sensor data received from the sensor node, and sending the sensor data and the time key to the application system.
18. The system of claim 16, wherein the time key is generated using sensor data collection time information, and the time key is an input value of the time key based polynomial which produces an encryption key material value as an output value.
19. The system of claim 18, wherein the sensor node comprises: an RF module for collecting sensor data and receiving random numbers from the application system and the sink node; a sensor data storage part for storing the sensor data; an authentication part for generating an authentication key by applying the random number to a Hash function; and an encryption part for generating an encryption key using the random number and the time key.
20. The system of claim 19, wherein the encryption part comprises: a time key generator for generating the time key using time information according to a certain rule; a concatenation operator for concatenating and splitting the random number to two random numbers; a remainder operator for performing remainder operation by dividing results of the concatenation by a secret key; a Hash function operator for obtaining coordinates by applying the Hash function to results of the remainder operation; a time key based polynomial generator for generating a quadratic polynomial which produces an encryption key material value y using the coordinates and the secret key; and an encryption key generator for generating an encryption key by applying the encryption key material value to a cryptographic algorithm used by the sensor node.
21. The system of claim 16, wherein the application system comprises: an RF module for receiving the sensor data and the time key; an authentication part for generating an authentication key by applying the random number to a Hash function, and verifying the time key and the sensor data using the authentication key; a decryption part for generating a decryption key using the random number and the time key; and a sensor data analyzer for analyzing the sensor data using the decryption key.
22. The system of claim 21, wherein the decryption part comprises: a concatenation operator for concatenating and splitting the random number into two random numbers; a remainder operator for performing remainder operation by dividing results of the concatenation by a secret key; a Hash function operator for obtaining coordinates by applying the Hash function to results of the remainder operation; a time key based polynomial generator for generating a quadratic polynomial which produces a decryption key material value y using the coordinates and the secret key; and a decryption key generator for generating a decryption key by applying the decryption key material value to a cryptographic algorithm used by the application system.
23. A recording medium containing a program to execute the time key based sensor data security preserving method according to claim 1 in a computer system which controls a ubiquitous sensor network, the recording medium readable by the computer system.
[0002] The present invention generally relates to a method and a system for preserving security of sensor data, and a recording medium using the same. More particularly, the present invention relates to a method and a system for preserving security of sensor data to keep integrity and confidentiality of the sensor data in a ubiquitous sensor network, and a recording medium thereof.
[0004] A Ubiquitous Sensor Network (USN) is a base network for implementing ubiquitous computing and is a wireless network including a number of ultra-light and low-power sensors. The USN technology, which can be the aim of an RFID tag, is subject to sensor network configuration which can scan its vicinity by itself and distribute information. The USN technology recognizes person, object, and environment information from sensor nodes installed at various locations, combines and processes the recognized information, and offers an information service infrastructure to use the information safely and freely at any time and anywhere.
[0005] Security issues in the USN environment relate characteristics of devices wirelessly transmitting and receiving data, and computing capability and power management of the devices, and are more complicated than the security problem in a conventional network. Attack on the equipment of the USN is quite easy, but defense against this attack is much more complicated than a conventional method.
[0006] Requirements in the UNS security include, representatively, confidentiality, integrity, and authentication. To overcome threat of eavesdropping in the sensor node, it is necessary to keep the confidentiality by encrypting and sending information the sensor node. To overcome forging and falsification of the sensed data, it is necessary to keep the integrity by blocking information received from the sensor node from being compromised in the process of the transmission and the communication of the sensor node needs to be preceded by mutual authentication.
[0007] The security technology of the USN can be approached largely by cryptographic algorithm, key management, and routing security.
[0008] As for the cryptographic algorithm, conventional symmetric-key based international standard cryptographic algorithms such as AES, DES and SEED are not appropriate, and it is necessary to develop a Hash function suitable for low-power computation environments (Smart Dust, RFID). As for the routing, researches are under way to address energy consumption of the sensor network and to enhance reliability in the data transmission. The application of the cryptographic algorithms and the safe routing can be adopted easily after addressing the sharing problem of a session key, and its security can be guaranteed. Accordingly, the key management for safely pre-distributing keys in a broadcasting manner is to be addressed first of all.
[0009] In the key management, a node in the USN environment is not authenticated by a reliable certification authority. Thus, when the routing is conducted in a multi-hop manner, the integrity and the confidentiality of the data can be compromised by a malicious intermediate node. When the security problem is addressed, the computing problem arises and imposes extreme load on the node and the entire network. Hence, it is necessary to develop algorithm, key distribution, and authentication protocol suited to the USN.
[0010] In this regard, a method for preventing the key value of the sensor from exposing is required. Although the key value is exposed, a method for protecting the information collected by the sensor is demanded.
[0011] The present invention has been provided to address the above-mentioned and other problems and disadvantages occurring in the conventional arrangement, and an aspect of the present invention provides a method for preserving security of sensor data based on a time key to keep integrity and confidentiality of the sensor data in a ubiquitous sensor network.
[0012] Another aspect of the present invention provides a system for preserving security of sensor data based on a time key to keep integrity and confidentiality of the sensor data in a ubiquitous sensor network.
[0013] Yet another aspect of the present invention provides a recording medium containing a program to execute a method for preserving security of sensor data based on a time key in a ubiquitous sensor network.
[0014] According to an aspect of the present invention, a method for preserving security of sensor data based on a time key includes encrypting the sensor data with an encryption key obtained using a time key based polynomial derived using random numbers and a secret key which is shared by a sensor node and an application system; and decrypting the encrypted sensor data with a decryption key obtained by deriving the same polynomial as the time key based polynomial using the random numbers and the secret key.
[0015] The sensor data security preserving method may further include sending the time key and the encrypted sensor data from the sensor node to a sink node; and sending the encrypted sensor data and the time key to the application system.
[0016] The time key may be generated using sensor data collection time information, and may be an input value of the time key based polynomial which produces an encryption key material value used to generate the encryption key as an output value.
[0017] The encrypting of the sensor data with the encryption key obtained using the time key based polynomial may include generating an application random number p and a sink random number q; encrypting the generated random numbers with an initial group key of a sensor and sending the encrypted random numbers to the sensor; deriving the time key based polynomial to generate a sensor data encryption key at the sensor node; generating, at the sensor node, the sink node, and the application system, the authentication key using the sink random number q; and generating the encryption key by applying the encryption key material value calculated using the time key based polynomial to a cryptographic algorithm of the sensor node.
[0018] The encrypting and sending of the random numbers may include sending the application random number p from the application system to the sensor node; and sending the sink random number q from the sink node to the application system and the sensor node.
[0019] The deriving of the time key based polynomial may include calculating two coordinates (px, py) and (qx, qy) which are roots of the following quadratic polynomial using the application random number p and the sink random number q; and deriving the following equation using the two coordinates and a secret key shared by the sensor node and the application,
y=|ax2+bx+C|
where y, which is an output value for a time key input, is the material value used to generate the encryption key, a and b are coefficients of the quadratic polynomial, x is a certain time key value, C is the secret key value as a constant value of the quadratic polynomial, and |x| denotes an absolute value of x.
[0020] The calculating of the coordinates may include concatenating the application random number p and the sink random number q; remainder-operating results of the concatenation and the secret key; and calculating coordinates by applying a Hash function to the remainder operation results.
[0021] The application random number p, the sink random number q, and the time key x may be updated periodically, and an update period of the time key may be shorter than an update period of the random numbers p and q.
[0022] The decrypting of the sensor data may include deriving the same polynomial as the time key based polynomial generated at the sensor node; generating the decryption key by applying a decryption key material value obtained from the time key based polynomial to a cryptographic algorithm of the application system; and decrypting the encrypted sensor data with the generated decryption key.
[0023] The sending of the encrypted sensor data and the encrypted time key to the application system may transmit the encrypted sensor data on a periodic basis or according to a request of the application system.
[0024] The sending of the encrypted sensor data and the encrypted time key to the application system may maintain a constant packet length by adding the time key to a sensor data packet. When the time key is updated to a new time key, the updated time key may be added to the sensor data packet and 0 transmitted.
[0025] Whether the new time key is contained may be determined by a flag of the sensor data packet.
[0026] When the time key is not updated, the sensor data may be added by the constant packet length and transmitted.
[0027] The sensor node may have the initial group key recognized by the application system and the sink node, and a private key.
[0028] The sensor node may share the secret key with the application system.
[0029] According to another aspect of the present invention, a system for preserving security of sensor data based on a time key includes a sensor node for encrypting the sensor data with an encryption key obtained using a time key based polynomial derived using a random number and a secret key; and an application system for decrypting the encrypted sensor data with a decryption key obtained by deriving the same polynomial as the time key based polynomial using the random number and the secret key.
[0030] The sensor data security preserving system may further include a sink node for authenticating a time key and the encrypted sensor data received from the sensor node, and sending the sensor data and the time key to the application system.
[0031] The time key may be generated using sensor data collection time information, and may be an input value of the time key based polynomial which produces an encryption key material value as an output value.
[0032] The sensor node may include an RF module for collecting sensor data and receiving random numbers from the application system and the sink node; a sensor data storage part for storing the sensor data; an authentication part for generating an authentication key by applying the random number to a Hash function; and an encryption part for generating an encryption key using the random number and the time key.
[0033] The encryption part may include a time key generator for generating the time key using time information according to a certain rule; a concatenation operator for concatenating and splitting the random number to two random numbers; a remainder operator for performing remainder operation by dividing results of the concatenation by a secret key; a Hash function operator for obtaining coordinates by applying the Hash function to results of the remainder operation; a time key based polynomial generator for generating a quadratic polynomial which produces an encryption key material value y using the coordinates and the secret key; and an encryption key generator for generating an encryption key by applying the encryption key material value to a cryptographic algorithm used by the sensor node.
[0034] The application system may include an RF module for receiving the sensor data and the time key; an authentication part for generating an authentication key by applying the random number to a Hash function, and verifying the time key and the sensor data using the authentication key; a decryption part for generating a decryption key using the random number and the time key; and a sensor data analyzer for analyzing the sensor data using the decryption key.
[0035] The decryption part may include a concatenation operator for concatenating and splitting the random number into two random numbers; a remainder operator for performing remainder operation by dividing results of the concatenation by a secret key; a Hash function operator for obtaining coordinates by applying the Hash function to results of the remainder operation; a time key based polynomial generator for generating a quadratic polynomial which produces a decryption key material value y using the coordinates and the secret key; and a decryption key generator for generating a decryption key by applying the decryption key material value to a cryptographic algorithm used by the application system.
[0036] According to yet another aspect of the present invention, a recording medium contains a program to execute the time key based sensor data security preserving method according to any one of claims 1 to 15 in a computer system which controls a ubiquitous sensor network. The recording medium is readable by the computer system.
[0039] FIG. 1 is a simplified diagram of a time key based key management system in a ubiquitous sensor network according to an exemplary embodiment of the present invention;
[0040] FIG. 2 is a simplified block diagram of a sensor node in the time key based key management system of FIG. 1;
[0041] FIG. 3 is a simplified block diagram of an application in the time key based key management system of FIG. 1;
[0042] FIG. 4 is a simplified flowchart of a time key based key management method in the ubiquitous sensor network according to an exemplary embodiment of the present invention;
[0043] FIG. 5 is a flowchart of a sensor node initialization step before data is transmitted from the sensor node to a sink node according to the key management method of FIG. 4;
[0044] FIG. 6 is a flowchart of a method for encrypting the sensor data at the sensor node according to the key management method of FIG. 4;
[0045] FIG. 7 is a flowchart of a method for sending the sensor data at the sensor node according to updating of the time key according to the time key based key management method of FIG. 4; and
[0046] FIG. 8 is a flowchart of a method for decrypting the encrypted sensor data in the application system according to the key management method of FIG. 4.
[0047] Reference will now be made in detail to the embodiments of the present invention, examples of which are illustrated in the accompanying drawings, wherein like reference numerals refer to the like elements throughout. The embodiments are described below to explain the present invention by referring to the figures.
[0048] FIG. 1A is a simplified diagram of a time key based sensor data security preserving system according to an exemplary embodiment of the present invention, and FIG. 1B is a simplified block diagram of the sensor data security preserving system of FIG. 1A.
[0049] Referring to FIGS. 1A and 1B, the time key based sensor data security preserving system 1 according to an exemplary embodiment of the present invention includes a sensor node 100, an application system 200, and a sink node 300.
[0050] The sensor node 100, which is a basic entity for collecting information. A plurality of the sensor nodes 100 configures a ubiquitous sensor network. The sensor node 100 derives a time key based polynomial expression using a random number generated by the application system 200 and the sink node 300, and a secret key C shared with the application system 200. By obtaining an encryption key from the derived polynomial, sensor data collected by the sensor node 100 is encrypted. The encrypted sensor data is transmitted to the sink node 300 together with the time key.
[0051] The sink node 300 generates an authentication key Kq using its generated random number q, verifies and gathers a message value received from the sensor node 100, and forwards the encrypted sensor data and the time key received from the sensor node 100 to the application system 200.
[0052] The application system 200 is a system for utilizing the sensor data collected by the sensor node 100. The application system 200 can configure the sensor network including a plurality of sensors for a specific purpose. When receiving the encrypted sensor data and the time key from the sink node 300, the application system 200 derives the same polynomial as the time key based polynomial derived at the sensor node 100 to generate the sensor data encryption key, using its generated random number p, the random number q received from the sink node 300, and the secret key C shared with the sensor node 100, and decrypts the sensor data by generating a decryption key to decrypt the received encrypted sensor data.
[0053] As stated above, the sensor data collected by the sensor node 100 is forwarded to the application 200 via the sink node 300. The sensor node 100 and the application system 200 which share their random numbers p and q and the secret key C, can derive the same time key based polynomial to generate the encryption key or the decryption key. However, since the sink node 300 has only its generated random number q, the sensor node 100 and the application 200 do not share the key for deriving the time key based polynomial.
[0054] Even when the random number p is exposed to the sink node 300, it is impossible to derive the time key based polynomial at the end because the secret key C is not shared. Thus, the sensor data can be delivered from the sensor node 100 to the application 200 via the sink node 300 while preserving the confidentiality and the integrity of the data. The delivery of the sensor data from the sensor node 100 to the application system 200 with the confidentiality and the integrity preserved, is described by referring to FIGS. 2 through 8.
[0055] FIG. 2 is a simplified block diagram of the sensor node in the time key based sensor data security preserving system of FIG. 1, and FIG. 3 is a simplified block diagram of the application system in the time key based sensor data security preserving system of FIG. 1. The simplified block structure including the sensor node 100 and the application system 200 for the time key based sensor data security preserving method is now explained by referring to FIGS. 2 and 3.
[0056] In FIG. 2, the sensor node 100 includes an RF module 110, a sensor data storage part 120, an authentication part 130, and an encryption part 140. Each sensor node 100 has an initial group key Kg and a private key Kp, which are already known to the application system 200 and the sink node 300.
[0057] The RF module 110 collects the sensor data detected through the sensor. The RF module 110 receives the application random number p generated at the application system 200 and the sink random number q generated at the sink node 300.
[0058] The sensor data storage part 120 stores the sensor data received at the RF module 110. When the encryption key is generated, the sensor data storage part 120 provides the sensor data to the encryption part 140 so that the sensor data is encrypted.
[0059] The authentication part 130 generates material of the authentication key by applying the random number q received from the sink node 300 to a Hash function, and generates the authentication key Kq using an authentication function used by the sensor node 100.
[0060] The encryption part 140 includes a time key generator 141, a concatenation operator 142, a remainder operator 143, a Hash function operator 144, a time key based polynomial generator 145, and an encryption key generator 146.
[0061] The concatenation operator 142 performs the concatenation operation by receiving the random numbers p and q from the application system 200 and the sink node 300. When the time key based polynomial is, for example, a quadratic polynomial, the concatenation is carried out to obtain two roots of the quadratic polynomial to derive the quadratic polynomial. As a result of the concatenation, p is split to pa and pb and q is split to qa and qb.
[0062] The remainder operator 143 remainder-operates the concatenation results and the secret key C. Hence, it is advantageous that the concatenation results pa, pb, qa and qb are greater than the secret key C. Herein, the secret key C is the value shared by the sensor node 100 and the application system 200 before the sensor node 100 configures the network.
[0063] The Hash function operator 144 obtains two roots of the quadratic polynomial by applying the remainder operation result to the Hash function. That is, when the quadratic polynomial is expressed as a quadratic function, the Hash function operator 144 calculates two coordinates (px, py) and (qx, qy) in the quadratic function curve.
[0064] The time key based polynomial generator 145 generates a time key based polynomial using the two coordinates (px, py) and (qx, qy), which are the results of the Hash function operation, and the secret key C shared by the sensor node 100 and the application system 200.
[0065] The encryption key generator 146 generates a material value of the encryption key using a certain time key xi as the input value of the time key based polynomial, and generates an encryption key with the generated encryption key material value using the cryptographic algorithm used by the sensor node 100.
[0066] Referring to FIG. 3, the application system 200 includes an RF module 210, a random number generator 220, an authentication part 230, a sensor data analyzer 240, and a decryption part 250.
[0067] The RF module 210 receives the sink random number q from the sink node 300, the encrypted sensor data and the encrypted time key sent to the sink node 300.
[0068] The random number generator 220 generates the application random number p. Accordingly, the application system 200 has its generated random number p and the random number q received from the sink node 300. In addition to the random numbers p and q, the application system 200 also shares the secret key C with the sensor node 100.
[0069] The authentication part 230 generates the authentication key by applying the sink random number q received from the sink node 300 to the Hash function, and verifies the received time key and the received sensor data with the authentication key.
[0070] When the decryption part 250, to be explained, generates a decryption key, the sensor data analyzer 240 can recognize the sensor data by cracking the encrypted sensor data with the decryption key.
[0071] The decryption part 250 includes a concatenation operator 251, a remainder operator 252, a Hash function operator 253, a key generation polynomial generator 254, and a decryption key generator 255. The components of the decryption part 250 have been explained in FIG. 2.
[0072] FIG. 4 is a simplified flowchart of a time key based key management method in the ubiquitous sensor network according to an exemplary embodiment of the present invention, and FIG. 5 is a flowchart of a sensor node initialization step before data is transmitted from the sensor node to the sink node according to the key management method of FIG. 4.
[0073] In FIG. 4, to send the sensor data to the application according to the time key based key management method in the ubiquitous sensor network, the sensor node performs the initialization step by encrypting the sensor data with the encryption key obtained from the time key based polynomial (S300). The encryption of the sensor data is explained first by referring to FIG. 5.
[0074] Referring to FIGS. 1B and 5, the application system 200 generates and sends the application random number p to the sensor node 100, and the sink node 300 generates the sink random number q (S310). The random numbers p and q are used to derive the polynomial to generate the encryption key.
[0075] The generated random numbers are encrypted with the initial group key Kg of the sensor node 100 (S320) and then transmitted (S330). The random number p generated at the application system 200 is sent to the sensor node 100. The random number q generated at the sink node 300 is sent to the application system 200 and the sensor node 100.
[0076] Hence, the sensor node 100 and the application system 200 have both of the random number p and the random number q. The sink node 300 has only its generated random number q. Besides the random number p and the random number q, the sensor node 100 and the application system 200 share the secret key C together before the sensor node 100 configures the network. Since the sensor node 100 and the application system 200 have the same key value as above, they can derive the same key generation polynomial, to be explained finally The sensor node 100 receiving the encrypted random numbers p and q, derives the key generation polynomial to create the encryption key (S340).
[0077] Referring now to FIG. 6, the process for deriving the key generation polynomial and the process for generating the encryption key using the derived key generation polynomial and encrypting the sensor data are illustrated. FIG. 6 is a flowchart of a method for encrypting the sensor data at the sensor node according to the key management method of FIG. 4.
[0078] Referring to FIGS. 1B, 2 and 6, using the encryption key generated at the encryption part 140 of the sensor node 100, the sensor data to send to the sink node 300 is encrypted.
[0079] The concatenation operator 142 concatenates the random numbers p and q received via the RF module 110 of the sensor node 100 (S341). The concatenation splits the random number p to pa and pb and the random number q to qa and qb using, for example, p=pa∥pb. The concatenation is carried out to derive the quadratic polynomial to generate the encryption key using the random numbers. To derive the quadratic polynomial y=ax2+bx+C, when two roots (or two coordinates in the quadratic function curve) of the quadratic polynomial; that is, the quadratic function and the constant value C are known, coefficients a and b of the quadratic polynomial are obtained to thus complete the quadratic polynomial.
[0080] The remainder operator 143 remainder-operates the concatenation results and the secret key C (S342). The remainder operation is applied to the concatenation results; that is, pa, qa, pb, and qb with the secret key C respectively. The secret key C is not recognized by the sink node 300, and is shared by the sensor node 100 and the application system 200. The remainder operation is expressed as pa% C, pb% C, qa% C and qb% C as the concatenation results of the random numbers p and q. Since pa, pb, qa and qb are remainder-operated with the secret key C, a condition of pa, pb, qa, qb>C is attached. For example, when the random number p=100, p is concatenated to pa=50 and pb=50 and each value is remainder-operated with C (an integer less than 50).
[0081] The Hash function operator 144 obtains a Hash value; that is, coordinates by applying the results of the remainder operation to the Hash function (S343). The Hash function is an operation for generating a fixed-length pseudorandom number in a given context, where the generated value is refereed to as a Hash value. By applying the Hash function to the remainder operation results, the two roots of the quadratic polynomial aforementioned; that is, two coordinates (px, py) and (qx, qy) in the quadratic function curve are produced. This operation is given by the following equations.
px=h(pa% C) [Equation 1]
py=h(pb% C) [Equation 2]
qx=h(qa% C) [Equation 3]
qy=h(qb% C) [Equation 4]
[0082] px, py, qx and qy are Hash values corresponding to the coordinates, h is the Hash function, pa, pb, qa and qb are the concatenation results of the random numbers p and q, C is the secret key shared by the application system 200 and the sensor node 100, and % is a remainder operator.
[0083] To generate the encryption key using the Hash values obtained from the Hash operation; that is, the coordinates (px, py) and (qx, qy) and the secret key C, the key generation polynomial generator 145 derives the following time key based polynomial (S344). A value output using the time key generated at the time key generator 141 as the input value of the quadratic polynomial of Equation 5, is the material value to generate the encryption key.
y=|ax2+bx+C|(a!=0) [Equation 5]
[0084] In Equation 5, y is the material value used to derive the encryption key as the output value for the input of the time value x, a and b are coefficients of the quadratic polynomial, x is the time value, and C is the secret key shared by the sensor node 100 and the application system 200.
[0085] The quadratic polynomial is derived based on the three components including the random numbers p and q and the secret C, and can be generated commonly at the sensor node 100 and the application system 200. However, since the sink node 300 has only the random number q of the three components and has no random number p and no secret key C, it cannot derive the quadratic polynomial. Even when the random number p is exposed in the process of the data transmission, the secret key C is unknown. Thus, the sink node 300 cannot derive the quadratic polynomial.
[0086] When the encryption material value is derived from the time key based polynomial, the encryption key generator 146 generates the sensor data encryption key by applying the encryption material value to a certain cryptographic algorithm used by the sensor node 100 (S360).
[0087] Referring now to FIGS. 4 and 7, the sensor data transmission from the sensor node 100 to the application system 200 via the sink node 300 is illustrated.
[0088] Referring to FIGS. 1B, 4 and 7, when the sensor node 100 encrypts the sensor data, the encrypted sensor data and the time key xi used to generate the encryption key are encrypted and sent to the sink node 300 (S400).
[0089] The sink node 300 shares the random number q with the sensor node 100, and the sink node 300 and the sensor node 100 generate the encryption key material by applying the sink random number q to the Hash function h(q) and generate the authentication key Kq using a certain authentication function. The time key xi is encrypted with the authentication key Kq. The sensor node 100 sends the encrypted sensor data and the encrypted time key xi together with the authentication value of the sensor data using the authentication key Kq (S400).
[0090] The sink node 300 receiving the sensor data and the time key xi, authenticates the sensor data and the time key xi with its own authentication key Kq (S500) and then stores them.
[0091] Among the time key, the sensor data, and the authentication value received from the sensor node 100, the sink node 300 sends the time key and the sensor data to the application system 200. The sink node 300 sends the encrypted sensor data and time key to the application system 100 on the periodic basis or according to the request of the application system 200 (S600).
[0092] Meanwhile, the time key xi used as the input value of the quadratic polynomial to generate the key value as mentioned above, is updated and input periodically. Likewise, the random numbers p and q are also updated on the periodic basis. By periodically updating the random numbers and the time key value, freshness of the key value can be ensured.
[0093] It is preferred that the update period of the random numbers p and q is longer than the change period of the time key x. The time key xi is updated by merely changing the input value of the quadratic polynomial, whereas the change of the random numbers p and q alters the quadratic polynomial itself. New generation of the quadratic polynomial requires relatively more energy than the simple change of the time key x.
[0094] The encryption key can be continuously changed by merely altering the time key x. The quadratic polynomial itself is changed by periodically changing the random numbers p and q because an external intrusion node may analyze the pattern of the result value according to the change of the time key x and thus the quadratic polynomial itself may be exposed. Hence, by periodically altering the random numbers together with the time key, it is possible to block the eavesdropping, the forging, and the falsification of the data against the hacking of the external attacker, apart from the freshness of the key value.
[0095] As sending the encrypted time key and sensor data to the application system 200, the sink node 300 considers the updating of the main key values p, q and x. That is, when the time key x is updated to a new time key (S510:YES), the sink node 300 adds the time key to the encrypted sensor data packet and sends the packet to the application system 200 (S600). The newly updated time key is added to the sensor data packet so as to maintain a constant packet length.
[0096] However, the time key is periodically changed, and the time key is not updated every time the data is transmitted. When the time key is not updated (S510:NO), the sink node 300 adds additional sensor data (S530) and sends the packet (S600) so as to keep the constant packet length, without adding the time key to the sensor data. That is, only when the time key is updated, the changed time key is transmitted from the sink node 300 to the application system 200. When the time key is not changed, the encryption key is not changed either because the value input to the quadratic polynomial is not changed.
[0097] Of the packet sent to the application system 200, the presence or the absence of the time key can be determined based on a flag indicator in the packet.
[0098] FIG. 8 is a flowchart of a method for decrypting the encrypted sensor data in the application system according to the key management method of FIG. 4.
[0099] Referring to FIGS. 1B, 3 and 8, upon receiving the time key and the sensor data from the sink node 300 (S710), the application system 200 authenticates the received time key and sensor data using the random number q received from the sink node 300 (S720).
[0100] When the authentication is completed, the decryption part 250 generates the decryption key using the random number p generated by the application system 200 and the random number q received from the sink node 300. The derivation of the quadratic polynomial to create the decryption key is the same as the derivation of the quadratic polynomial to create the encryption key at the sensor node 100.
[0101] The concatenation operator 251 concatenates the random numbers p and q (S730). The remainder operator 525 conducts the remainder operation with the concatenation results and the secret key C (S740).
[0102] By applying the results of the remainder operation to the Hash function, the Hash function operator 253 obtains the Hash values; that is, the coordinates (S750).
[0103] The key generation polynomial generator 254 derives the quadratic polynomial (see Equation 3) generated at the sensor node 100 using the obtained coordinates (px, py) and (qx, qy) and the secret key C (S760). The output value produced using the time key received at the sink node 300 as the input value of the quadratic polynomial is the material value for generating the decryption key.
[0104] The decryption key generator 255 generates the sensor data decryption key by applying the decryption key material value to the cryptographic algorithm used at the application system 200 (S770). The encrypted sensor data is decrypted with the generated decryption key (S780).
[0105] Meanwhile, a recording medium containing a program to execute the time key based sensor data security preserving method in a computer system which controls the ubiquitous sensor network, can employ various recording media readable by the computer system.
[0106] Also, the recording medium can contain a program to execute the encryption generation method including the concatenation operation, the remainder operation, the Hash operation, and the derivation of the key value generation polynomial using the random numbers and the secret key at the sensor node 100. Besides, the application system 200 can be implemented using a recording medium containing a program to execute the decryption key generating method in the same manner as in the sensor node 100.
[0107] As set forth above, by deriving the sensor data and the common encryption key of the application system from the time key based key generation polynomial, the sensor node can transmit the sensor data to the application system safely.
[0108] In other words, even when the initial group key and the private key of the sensor node are exposed and the random number is exposed, the confidentiality and the integrity of the sensor data transmitted from the sensor node can be enhanced by blocking the encryption key or the authentication key of the sensor node from being exposed.
Patent applications by Mi Yeon Yoon, Seoul KR
2008-11-13 Information processing method, information processing device, computer program for achieving the information processing method, and computer-readable storage medium of storing the computer program
2011-11-17 Transmission, reception and identification methods, security processor and information recording medium for said methods
2014-10-23 Hypervisor-based intrusion prevention platform and virtual network intrusion prevention system
2014-07-31 Application distribution system and method