US20090323937A1 - Multi-level data encryption and decryption system and method thereof - Google Patents
Multi-level data encryption and decryption system and method thereof Download PDFInfo
- Publication number
- US20090323937A1 US20090323937A1 US12/242,815 US24281508A US2009323937A1 US 20090323937 A1 US20090323937 A1 US 20090323937A1 US 24281508 A US24281508 A US 24281508A US 2009323937 A1 US2009323937 A1 US 2009323937A1
- Authority
- US
- United States
- Prior art keywords
- level
- key
- function
- encryption
- time
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0816—Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
- H04L9/0819—Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
- H04L9/083—Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) involving central third party, e.g. key distribution center [KDC] or trusted third party [TTP]
- H04L9/0833—Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) involving central third party, e.g. key distribution center [KDC] or trusted third party [TTP] involving conference or group key
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/088—Usage controlling of secret information, e.g. techniques for restricting cryptographic keys to pre-authorized uses, different access levels, validity of crypto-period, different key- or password length, or different strong and weak cryptographic algorithms
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0891—Revocation or update of secret information, e.g. encryption key update or rekeying
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W12/00—Security arrangements; Authentication; Protecting privacy or anonymity
- H04W12/02—Protecting privacy or anonymity, e.g. protecting personally identifiable information [PII]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W12/00—Security arrangements; Authentication; Protecting privacy or anonymity
- H04W12/03—Protecting confidentiality, e.g. by encryption
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W12/00—Security arrangements; Authentication; Protecting privacy or anonymity
- H04W12/04—Key management, e.g. using generic bootstrapping architecture [GBA]
- H04W12/041—Key generation or derivation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W12/00—Security arrangements; Authentication; Protecting privacy or anonymity
- H04W12/04—Key management, e.g. using generic bootstrapping architecture [GBA]
- H04W12/043—Key management, e.g. using generic bootstrapping architecture [GBA] using a trusted network node as an anchor
- H04W12/0431—Key distribution or pre-distribution; Key agreement
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W12/00—Security arrangements; Authentication; Protecting privacy or anonymity
- H04W12/04—Key management, e.g. using generic bootstrapping architecture [GBA]
- H04W12/043—Key management, e.g. using generic bootstrapping architecture [GBA] using a trusted network node as an anchor
- H04W12/0433—Key management protocols
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/80—Wireless
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/80—Wireless
- H04L2209/805—Lightweight hardware, e.g. radio-frequency identification [RFID] or sensor
Definitions
- WSN wireless sensor network
- Zigbee Zigbee
- Bluetooth wireless nodes
- WSN has been broadly applied to the state monitoring of different sites or objects, such as the monitoring of a shopping mall, the monitoring of environmental contamination, and the security monitoring of a construction site (for example, the construction site of a subway).
- a wireless sensor constantly sends the state of the monitored site or object it detects back to a control center so that a user can connect to the control center and download related data to monitor the state of the monitored site or object.
- Data security is a very important issue in a wireless transmission environment.
- the data transmitted in a wireless transmission environment is usually encrypted with a key in order to prevent unauthorized users from accessing the data.
- each user can access different data.
- multiple keys are usually used for encrypting data of different levels, and a user can use his own keys to decrypt the authorized data.
- a user has to manage multiple keys, and the more levels the data is divided, the more keys the user has to manage. As a result, key management becomes very inconvenient.
- the keys are usually updated periodically to prevent a user having terminated authorization from accessing the data by using his original key or a newly authorized user from accessing previously encrypted data.
- data is encrypted with different key at different time so as to achieve forward and backward data security.
- all the encryption devices for encrypting data and all the end-user devices have to be synchronized to ensure that the encryption devices and the end-user devices use correct keys for encrypting and decrypting data. This synchronizing action increases the load of the system.
- both level-oriented keys and time-oriented keys have to be managed by a user. As a result, key management is made even more inconvenient.
- a data encryption method is disclosed in U.S. Patent No. 2002/0191796 to resolve foregoing problems. According to this method, a data is divided into a plurality of sequential data blocks. When a data block is encrypted, the key for encrypting a next data block is encrypted together with the current data block. Thus, when a user decrypts the current data block, the user can obtain the key for decrypting the next data block, and accordingly forward and backward data security is achieved.
- the present invention relates to a multi-level data encryption and decryption method which can manage data accessible to users of different levels.
- the present invention provides a multi-level data encryption method.
- the multi-level data encryption method includes dividing a data to be encrypted into a plurality of sub-data blocks corresponding to a plurality of levels, wherein each of the levels is corresponding to at least one user.
- the multi-level data encryption method also includes generating an encryption key for each level according to a level generation key and a time key of each the level and encrypting the sub-data block of each level by using the encryption key of each the level, wherein the level generation key and the time key of a lower level are generated according to the level generation key and the time key of an upper level, the time key is generated according to a time generation key and a time seed, and the time seed is periodically updated according to different encryption periods.
- the present invention provides a multi-level data decryption method.
- the multi-level data decryption method includes sending encrypted sub-data blocks corresponding to a level of a user and other authorized levels of the user and corresponding to an encryption period to the user.
- the multi-level data decryption method also includes generating encryption keys of the level and the other authorized levels according to level generation keys and time keys of the level and the other authorized levels and respectively decrypting the encrypted sub-data blocks corresponding to the level and the other authorized levels of the user by using the encryption keys of the level and the other authorized levels, wherein the level generation key and the time key of a lower level are generated according to the level generation key and the time key of an upper level, the time keys are generated according a time seed and a time generation key corresponding to the encrypted sub-data blocks, and the time seed is periodically updated according to different encryption periods.
- the present invention provides a multi-level data encryption system including a data server and at least one encryption module.
- the data server groups a plurality of users into a plurality of levels and generates a time generation key, a time seed, and a level generation key for each of the levels, wherein the data server generates different time seed according to different encryption periods and generates the level generation key of a lower level according to the level generation key of an upper level.
- the encryption module receives the time generation key, the time seed, and the level generation key of each of the levels, divides a data to be encrypted into a plurality of sub-data blocks corresponding to the levels, generates an encryption key for each level according to the level generation key and the time key of each the level, and encrypts the sub-data block of each level by using the encryption key of each the level, wherein the encryption module generates the time key according to the time generation key and the time seed and generates the time key of a lower level according to the time key of an upper level.
- the present invention provides a multi-level data decryption system including a data server and a decryption module.
- the data server stores a plurality of encrypted sub-data blocks.
- the decryption module reads the encrypted sub-data blocks corresponding to a level of a user and other authorized levels of the user and corresponding to an encryption period from the data server, generates encryption keys for the level and the other authorized levels according to level generation keys and time keys of the level and the other authorized levels, and decrypts the encrypted sub-data blocks by using the encryption keys of the level and the other authorized levels, wherein the level generation key and the time key of a lower level are generated according to the level generation key and the time key of an upper level.
- the data server generates and provides the time key corresponding to the level and the encryption period according to a time seed and a time generation key corresponding to the encrypted sub-data blocks to the decryption module, wherein the time seed is generated according to different encryption periods.
- such a key generation mechanism is adopted in the present invention that the level generation key and the time key of a lower level are generated according to the level generation key and the time key of an upper level.
- FIG. 1 is a schematic block diagram of a multi-level data encryption and decryption system according to an exemplary embodiment of the present invention.
- FIG. 2 is a flowchart of a multi-level data encryption method according to an exemplary embodiment of the present invention.
- FIG. 3 is a flowchart of a multi-level data decryption method according to an exemplary embodiment of the present invention.
- a data to be encrypted is divided into a plurality of sub-data blocks corresponding to different user levels (i.e., different user groups), and the sub-data blocks of different levels are encrypted by using encryption keys generated according to level generation keys and time keys of the levels, wherein a time seed for generating the time keys various along with different encryption periods.
- users of different levels can access data according to their authorization levels and meanwhile, forward and backward data security can be achieved.
- the level generation key and time key of a lower level are generated according to the level generation key and time key of an upper level and as a result, the number of keys to be managed by a user is greatly reduced.
- FIG. 1 is a schematic block diagram of a multi-level data encryption and decryption system according to an exemplary embodiment of the present invention.
- the multi-level data encryption and decryption system 100 includes a first encryption module 110 , a second encryption module 120 , a third encryption module 130 , and a data server 140 .
- the multi-level data encryption and decryption system 100 is implemented based on a wireless sensor network (WSN).
- WSN wireless sensor network
- the first encryption module 110 , the second encryption module 120 , and the third encryption module 130 are respectively disposed in various device nodes, such as a first wireless sensor 1 , a second wireless sensor 2 , and a third wireless sensor 3
- the data server 140 is disposed in a control device 4 of the WSN.
- the first wireless sensor 1 , the second wireless sensor 2 , and the third wireless sensor 3 collect related data (for example, images) around where they are disposed, and the first wireless sensor 1 , the second wireless sensor 2 , and the third wireless sensor 3 respectively encrypt the data through the first encryption module 110 , the second encryption module 120 , and the third encryption module 130 and transmit the encrypted data to the control device 4 to be recorded so that a user can connect to the control device 4 through the network to read the data recorded therein.
- the operation of the WSN is well understood by those skilled in the art therefore will not be described herein.
- the multi-level data encryption and decryption system 100 is not limited to being deployed in a WSN; instead, the multi-level data encryption and decryption system 100 in the present invention may also be deployed in other wireless network environments, such as Zigbee and Bluetooth networks, or a wired transmission network.
- the data server 140 stores the encrypted data transmitted by the first wireless sensor 1 , the second wireless sensor 2 , and the third wireless sensor 3 to the control device 4 .
- the data server 140 may be a general data processing device having a data storage medium.
- the data server 140 may include a database for managing the data stored therein.
- the data server 140 groups the authorized users into a plurality of levels so as to manage these users and the data to be accessed by these users based on the levels of the users.
- a user of an upper level can access more data than a user of a lower level.
- the users grouped into an upper level are users having higher right
- the users grouped to a lower level are users having lower right.
- a user having higher right can access the data assigned to users of lower rights, but a user of lower right cannot access the data assigned to users of higher rights.
- the data server 140 randomly generate a group key K 1 for the users of the highest level and then sequentially generates a group key K 2 for the second level and a group key K 3 for the third level through a third function of a one-way hash chain, as shown below:
- the third function is to generate the group key K 2 of the second level and the group key K 3 of the third level through a hash function; however, the present invention is not limited thereto, and in another exemplary embodiment of the present invention, the third function may also be an encryption function, an XOR function, or any other suitable functions.
- an encryption function is served as the second function, as shown below:
- Enc is the encryption function
- the encryption function is an encryption function conforming to the advanced encryption standard (AES); however, the present invention is not limited thereto, and any suitable encryption function, such as a function conforming to the data encryption standard (DES), can be applied to the present invention.
- AES advanced encryption standard
- DES data encryption standard
- the second function may also be implemented as a hash function, an XOR function, or other suitable functions.
- the identification codes of the wireless sensors are used as one of the factors for generating the level generation keys because a different level generation key is provided to each of the wireless sensors.
- the group key can be directly used as the level generation key.
- the data server 140 also generates a time generation key and a time seed besides the level generation keys.
- the time generation key and the time seed are used for generating a time key for each encryption period.
- a different time key is used during each encryption period so that the data to be encrypted can have forward and backward data security. Accordingly, a user having terminated authorization can be prevented from using his original key to access the data, and a newly authorized user can be prevented from accessing a previously encrypted data.
- the sixth function is implemented as an encryption function, as shown below:
- TMK IDn Enc ( MK,IDn ),
- Enc is the encryption function.
- the encryption function is an AES encryption function; however, the present invention is not limited thereto, and any suitable encryption function, such as a DES function, may also be applied to the present invention.
- the sixth function may also be implemented as a hash function, an XOR function, or other suitable functions.
- the identification codes of the wireless sensors are used as one of the factors for generating the time generation key because a different time generation key is provided to each wireless sensor.
- the primary key MK can be directly used as the time generation key.
- the data server 140 generates a user key for each of the users and assigns the user key to the user while assigning the group key to the user.
- the eighth function may also be implemented as a hash function, an XOR function, or other suitable functions.
- the primary key MK of the data server 140 is generated randomly. Besides, the data server 140 generates a different time seed SeedT corresponding to different encryption periods T. For example, the data server 140 uses date or time as a factor for generating the time seed. In the present exemplary embodiment, the time seed SeedT corresponding to the current encryption period is generated according to the primary key MK and the current date through a seventh function implemented as an encryption function. Similarly, in another exemplary embodiment of the present invention, the seventh function may also be implemented as a hash function, an XOR function, or other suitable functions.
- the first encryption module 110 , the second encryption module 120 , and the third encryption module 130 are used for encrypting the data to be transmitted by the first wireless sensor 1 , the second wireless sensor 2 , and the third wireless sensor 3 .
- the first encryption module 110 , the second encryption module 120 , and the third encryption module 130 have the same structure and function, and accordingly the first encryption module 110 will be described herein as an example.
- the data server 140 broadcasts a new time seed SeedT at certain intervals to the first encryption module 110 , the second encryption module 120 , and the third encryption module 130 to allow the first encryption module 110 , the second encryption module 120 , and the third encryption module 130 to generate the time keys of the current encryption period T according to the new time seed and the time generation key.
- the first encryption module 110 when the first encryption module 110 receives the time seed SeedT of the current encryption period, the first encryption module 110 generates the time key TKID 1,T for the first level in the current encryption period through a fourth function.
- the fourth function is implemented as a hash function, as shown below:
- TK ID1,T H ( TMK ID1 , Seed T ),
- H is the hash function
- the first encryption module 110 generates the time key TK ID1,T of the first level according to the time generation key TMK ID1 and the time seed SeedT and sequentially generates the time keys of the second level and the third level through a one-way hash chain.
- the first encryption module 110 generates the time key H(TK ID1,T ) of the second level according to the time key TK ID1,T of the first level through a fifth function implemented as a hash function and finally generates the time key H(H(TK ID1,T )) of the third level according to the time key of the second level.
- the fourth function and the fifth function are implemented as hash functions; however, the present invention is not limited thereto, and in another exemplary embodiment of the present invention, the fourth function and the fifth function may also be implemented as various encryption functions, XOR functions, or other suitable functions.
- the first function is implemented as a hash function, as shown below:
- KE ID1,L,T H ( KB IDn,L , H L ⁇ 1 ( TK ID1,T )),
- H is the hash function
- L represents the level.
- the encryption key is generated through a hash function; however, the present invention is not limited thereto, and in another exemplary embodiment of the present invention, the encryption key may be generated through an encryption function, an XOR function, or other suitable functions.
- the data server 140 determines the time seed after it receives the encrypted sub-data blocks and records the sub-data blocks which are encrypted by using the incorrect time seed as reference for subsequent data decryption. In addition, the data server 140 broadcasts the current time seed to the first encryption module 110 again if the first encryption module 110 does not use the correct time seed to encrypt the data.
- the multi-level data encryption and decryption system 100 also includes a decryption module 150 .
- the encryption modules 110 , 120 , and 130 encrypt the sub-data blocks and the encrypted data is sent to the data server 140 of the control device 4 by the wireless sensors 1 , 2 , and 3 and stored therein, the user 11 , the user 12 , or the user 13 can read the encrypted sub-data blocks stored in the data server 140 through the decryption module 150 disposed in the end-user device 5 .
- the end-user device 5 is connected to the control device 4 through a wired network.
- the present invention is not limited thereto, and in another exemplary embodiment of the present invention, the end-user device 5 may also be connected to the control device 4 through a wireless network.
- the decryption module 150 reads the encrypted sub-data blocks corresponding to the level of a user (for example, the user 11 , the user 12 , or the user 13 ) and other authorized levels of the user and corresponding to the encryption period from the data server 140 .
- a user having higher right can read the data assigned to users having lower rights but a user having lower right cannot read the data assigned to users having higher rights.
- the data server 140 provides the corresponding authorized data to a user according to the level of the user after it authenticates the user according to a user key of the user.
- the data server 140 when the user 12 inputs a user key UK 2 through the end-user device 5 to read the sub-data blocks encrypted by the first wireless sensor 1 during the encryption period T, since the user 12 belongs to the second level, the data server 140 provides the encrypted sub-data blocks corresponding to the second level and the third level (for example, the sub-data blocks C 2 and C 3 ) to the decryption module 150 of the end-user device 5 .
- the data server 140 generates a time key corresponding to the level of the user and sends the time key together with the encrypted sub-data blocks to the decryption module 150 of the end-user device 5 .
- the data server 140 generates the time key of the highest level according to a time seed and a time generation key corresponding to the encrypted sub-data blocks through a hash function and generates the time key corresponding to the level of the user through a one-way hash chain.
- the decryption module 150 generates the encryption keys for the authorized levels (i.e., the second level and the third level) of the user according to the level generation keys and the time keys of the authorized levels and decrypts the encrypted sub-data blocks by using the encryption keys.
- the decryption module 150 generates the level generation key and the time key of a lower level according to the level generation key and the time key of an upper level.
- the decryption module 150 when the user 12 inputs the user key UK 2 through the end-user device 5 to read the sub-data blocks encrypted by the first wireless sensor 1 during the encryption period T, the decryption module 150 generate the level generation key KB ID1,2 of the second level according to the group key K 2 of the user 12 and an identification code ID 1 of the encryption module (i.e., the first wireless sensor 1 ) for encrypting the received sub-data blocks. Besides, the decryption module 150 generates the group key K 3 by using the group key K 2 of the user 12 through a hash function and generate the level generation key KB ID1,3 of the third level according to the group key K 3 and the identification code ID 1 of the first wireless sensor 1 .
- the decryption module 150 generates the time key H (H(TK ID1,T )) of the third level according to the time key H(TK ID1,T ) corresponding to the level of the user 12 (i.e., the second level) received from the data server 140 . Accordingly, the decryption module 150 generates the encryption keys for the authorized levels (i.e., the second level and the third level) of the user according to the level generation keys and the time keys of the authorized levels of the user 12 .
- FIG. 2 is a flowchart of a multi-level data encryption method according to an exemplary embodiment of the present invention
- FIG. 3 is a flowchart of a multi-level data decryption method according to an exemplary embodiment of the present invention.
- the encryption and decryption method in the present exemplary embodiment will be described below by taking a complete data encryption and decryption procedure as an example.
- the first wireless sensor 1 sends a data sensed during an encryption period T to the control device 4 , and later on the user 12 reads the data sensed by the first wireless sensor 1 during the encryption period T from the control device 4 .
- step S 201 the first encryption module 110 of the first wireless sensor 1 divides the data into a plurality of sub-data blocks M 1 , M 2 , and M 3 corresponding to different user levels.
- step S 203 the first encryption module 110 generates a time key for the highest level (i.e., the first level) according to the current time seed SeedT and sequentially generates time keys for the second level and the third level through a one-way hash chain (i.e., the fourth function), wherein the data server 140 broadcasts the current time seed periodically.
- step S 205 the first encryption module 110 generates an encryption key for each level according to a level generation key and the time key of the each level, wherein the data server 140 generates the level generation key of a lower level according to the level generation key of an upper level.
- the method for generating the level generation keys has been described above therefore will not be described herein.
- step S 207 the first encryption module 110 encrypts the sub-data block of each level according to the encryption key of each the level.
- step S 209 the first wireless sensor 1 sends the encrypted sub-data blocks C 1 , C 2 , and C 3 to the control device 4 , and in step S 211 , the data server 140 stores the encrypted sub-data blocks C 1 , C 2 , and C 3 .
- the data server 140 sends the level generation key and the time generation key used by the encryption module of each wireless sensor for encrypting data to the wireless sensor, and later on the data server 140 periodically broadcasts the new time seed so that the encryption module of each wireless sensor can generate the encryption key for encrypting data as described above.
- step S 301 the user 12 requests to read the encrypted sub-data blocks sensed by the first wireless sensor 1 during the encryption period T through the end-user device disposed with the decryption module 150 .
- step S 303 the identification of the user 12 is authenticated according to the user key UK 2 of the user 12 , and the level of the user 12 is determined.
- the multi-level data decryption procedure is terminated if the authentication in step S 303 fails. If the authentication in step S 303 succeeds, then in step S 305 , the data server 140 dynamically calculates the time seed used during the encryption period T, dynamically calculates the time generation key according to a primary key and the identification code ID 1 of the first wireless sensor 1 , dynamically calculates the time key of the first level according to the time generation key and the time seed through a hash function (i.e., the fourth function), and calculates the time key of the level of the user 12 through a one-way hash chain (i.e., the fifth function).
- a hash function i.e., the fourth function
- step S 307 the data server 140 sends the encrypted sub-data blocks corresponding to the authorized levels of the user 12 and corresponding to the encryption period T to the decryption module 150 .
- step S 309 the data server 140 sends the time key of the level of the user 12 to the decryption module 150 .
- the time key of the level of the user 12 may also be encrypted by using the user key UK 2 before it is sent to the decryption module 150 .
- step S 311 the decryption module 150 generates the group key of the third level according to the group key of the user 12 (i.e., the second level) through a hash function (i.e., the third function) and generates the level generation keys of the second level and the third level according to the group keys of the second level and the third level through a second function.
- step S 313 the decryption module 150 generates the time key of the third level according to the time key of the level of the user 12 through a hash function (i.e., the fifth function).
- step S 315 the decryption module 150 respectively decrypts the corresponding encrypted sub-data blocks according to the level generation keys and the time keys of the authorized levels (i.e., the second level and the third level) of the user 12 through the first function.
- the first to the seventh functions are respectively implemented as a hash function and an encryption function for generating the user key, the group keys, the primary key, the time seed, the time generation key, the level generation keys, and the encryption keys; however, any other suitable function may also be applied in the present invention without departing from the spirit and scope of the present invention.
- data is encrypted corresponding to multiple levels so that a user having higher right can access the data assigned to users having lower rights but a user having lower right cannot access data assigned to users having higher rights.
- a time key updated by using a time seed is adopted to ensure the encrypted data to have forward and backward security and that no synchronization is required.
- the level generation key and the time key of a lower level are generated according to the level generation key and the time key of an upper level.
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Storage Device Security (AREA)
Abstract
Description
- This application claims the priority benefit of Taiwan application serial no. 97124262, filed on Jun. 27, 2008. The entirety of the above-mentioned patent application is hereby incorporated by reference herein and made a part of this specification.
- 1. Field of the Invention
- The present invention generally relates to a multi-level data encryption and decryption system and a method thereof.
- 2. Description of Related Art
- In recent years, various wireless transmission techniques, such as wireless sensor network (WSN), Zigbee, and Bluetooth, have been broadly applied to different data transmission environments thanks to the development of the wireless transmission techniques and the characteristics of wireless nodes. For example, WSN has been broadly applied to the state monitoring of different sites or objects, such as the monitoring of a shopping mall, the monitoring of environmental contamination, and the security monitoring of a construction site (for example, the construction site of a subway). To ensure the security of a monitored site or object, a wireless sensor constantly sends the state of the monitored site or object it detects back to a control center so that a user can connect to the control center and download related data to monitor the state of the monitored site or object.
- Data security is a very important issue in a wireless transmission environment. Thus, the data transmitted in a wireless transmission environment is usually encrypted with a key in order to prevent unauthorized users from accessing the data. However, in a multi-user system, each user can access different data. Accordingly, multiple keys are usually used for encrypting data of different levels, and a user can use his own keys to decrypt the authorized data. In such a system, a user has to manage multiple keys, and the more levels the data is divided, the more keys the user has to manage. As a result, key management becomes very inconvenient.
- Additionally, the keys are usually updated periodically to prevent a user having terminated authorization from accessing the data by using his original key or a newly authorized user from accessing previously encrypted data. Namely, in such a system, data is encrypted with different key at different time so as to achieve forward and backward data security. However, according to such a data encryption mechanism, all the encryption devices for encrypting data and all the end-user devices have to be synchronized to ensure that the encryption devices and the end-user devices use correct keys for encrypting and decrypting data. This synchronizing action increases the load of the system. Moreover, because different key is used for encrypting data at different time, both level-oriented keys and time-oriented keys have to be managed by a user. As a result, key management is made even more inconvenient.
- A data encryption method is disclosed in U.S. Patent No. 2002/0191796 to resolve foregoing problems. According to this method, a data is divided into a plurality of sequential data blocks. When a data block is encrypted, the key for encrypting a next data block is encrypted together with the current data block. Thus, when a user decrypts the current data block, the user can obtain the key for decrypting the next data block, and accordingly forward and backward data security is achieved.
- Accordingly, the present invention relates to a multi-level data encryption and decryption method which can manage data accessible to users of different levels.
- The present invention provides a multi-level data encryption method. The multi-level data encryption method includes dividing a data to be encrypted into a plurality of sub-data blocks corresponding to a plurality of levels, wherein each of the levels is corresponding to at least one user. The multi-level data encryption method also includes generating an encryption key for each level according to a level generation key and a time key of each the level and encrypting the sub-data block of each level by using the encryption key of each the level, wherein the level generation key and the time key of a lower level are generated according to the level generation key and the time key of an upper level, the time key is generated according to a time generation key and a time seed, and the time seed is periodically updated according to different encryption periods.
- The present invention provides a multi-level data decryption method. The multi-level data decryption method includes sending encrypted sub-data blocks corresponding to a level of a user and other authorized levels of the user and corresponding to an encryption period to the user. The multi-level data decryption method also includes generating encryption keys of the level and the other authorized levels according to level generation keys and time keys of the level and the other authorized levels and respectively decrypting the encrypted sub-data blocks corresponding to the level and the other authorized levels of the user by using the encryption keys of the level and the other authorized levels, wherein the level generation key and the time key of a lower level are generated according to the level generation key and the time key of an upper level, the time keys are generated according a time seed and a time generation key corresponding to the encrypted sub-data blocks, and the time seed is periodically updated according to different encryption periods.
- The present invention provides a multi-level data encryption system including a data server and at least one encryption module. The data server groups a plurality of users into a plurality of levels and generates a time generation key, a time seed, and a level generation key for each of the levels, wherein the data server generates different time seed according to different encryption periods and generates the level generation key of a lower level according to the level generation key of an upper level. The encryption module receives the time generation key, the time seed, and the level generation key of each of the levels, divides a data to be encrypted into a plurality of sub-data blocks corresponding to the levels, generates an encryption key for each level according to the level generation key and the time key of each the level, and encrypts the sub-data block of each level by using the encryption key of each the level, wherein the encryption module generates the time key according to the time generation key and the time seed and generates the time key of a lower level according to the time key of an upper level.
- The present invention provides a multi-level data decryption system including a data server and a decryption module. The data server stores a plurality of encrypted sub-data blocks. The decryption module reads the encrypted sub-data blocks corresponding to a level of a user and other authorized levels of the user and corresponding to an encryption period from the data server, generates encryption keys for the level and the other authorized levels according to level generation keys and time keys of the level and the other authorized levels, and decrypts the encrypted sub-data blocks by using the encryption keys of the level and the other authorized levels, wherein the level generation key and the time key of a lower level are generated according to the level generation key and the time key of an upper level. The data server generates and provides the time key corresponding to the level and the encryption period according to a time seed and a time generation key corresponding to the encrypted sub-data blocks to the decryption module, wherein the time seed is generated according to different encryption periods.
- As described above, such a key generation mechanism is adopted in the present invention that the level generation key and the time key of a lower level are generated according to the level generation key and the time key of an upper level.
- The accompanying drawings are included to provide a further understanding of the invention, and are incorporated in and constitute a part of this specification. The drawings illustrate exemplary embodiments of the invention and, together with the description, serve to explain the principles of the invention.
-
FIG. 1 is a schematic block diagram of a multi-level data encryption and decryption system according to an exemplary embodiment of the present invention. -
FIG. 2 is a flowchart of a multi-level data encryption method according to an exemplary embodiment of the present invention. -
FIG. 3 is a flowchart of a multi-level data decryption method according to an exemplary embodiment of the present invention. - Reference will now be made in detail to the present preferred exemplary embodiments of the invention, examples of which are illustrated in the accompanying drawings. Wherever possible, the same reference numbers are used in the drawings and the description to refer to the same or like parts.
- According to the data encryption method provided by the present invention, a data to be encrypted is divided into a plurality of sub-data blocks corresponding to different user levels (i.e., different user groups), and the sub-data blocks of different levels are encrypted by using encryption keys generated according to level generation keys and time keys of the levels, wherein a time seed for generating the time keys various along with different encryption periods. Accordingly, users of different levels can access data according to their authorization levels and meanwhile, forward and backward data security can be achieved. In particular, the level generation key and time key of a lower level are generated according to the level generation key and time key of an upper level and as a result, the number of keys to be managed by a user is greatly reduced. Exemplary embodiments of the present invention will be described below with reference to accompanying drawings.
-
FIG. 1 is a schematic block diagram of a multi-level data encryption and decryption system according to an exemplary embodiment of the present invention. - Referring to
FIG. 1 , the multi-level data encryption and decryption system 100 includes afirst encryption module 110, asecond encryption module 120, athird encryption module 130, and adata server 140. In the present exemplary embodiment, the multi-level data encryption and decryption system 100 is implemented based on a wireless sensor network (WSN). Thus, thefirst encryption module 110, thesecond encryption module 120, and thethird encryption module 130 are respectively disposed in various device nodes, such as a first wireless sensor 1, a secondwireless sensor 2, and a thirdwireless sensor 3, and thedata server 140 is disposed in acontrol device 4 of the WSN. In the WSN composed of the first wireless sensor 1, the secondwireless sensor 2, the thirdwireless sensor 3, and thecontrol device 4, the first wireless sensor 1, the secondwireless sensor 2, and the thirdwireless sensor 3 collect related data (for example, images) around where they are disposed, and the first wireless sensor 1, the secondwireless sensor 2, and the thirdwireless sensor 3 respectively encrypt the data through thefirst encryption module 110, thesecond encryption module 120, and thethird encryption module 130 and transmit the encrypted data to thecontrol device 4 to be recorded so that a user can connect to thecontrol device 4 through the network to read the data recorded therein. The operation of the WSN is well understood by those skilled in the art therefore will not be described herein. However, it should be understood that the multi-level data encryption and decryption system 100 is not limited to being deployed in a WSN; instead, the multi-level data encryption and decryption system 100 in the present invention may also be deployed in other wireless network environments, such as Zigbee and Bluetooth networks, or a wired transmission network. - The
data server 140 stores the encrypted data transmitted by the first wireless sensor 1, thesecond wireless sensor 2, and thethird wireless sensor 3 to thecontrol device 4. Thedata server 140 may be a general data processing device having a data storage medium. For example, thedata server 140 may include a database for managing the data stored therein. - In particular, the
data server 140 groups the authorized users into a plurality of levels so as to manage these users and the data to be accessed by these users based on the levels of the users. To be specific, a user of an upper level can access more data than a user of a lower level. In other words, the users grouped into an upper level are users having higher right, and the users grouped to a lower level are users having lower right. A user having higher right can access the data assigned to users of lower rights, but a user of lower right cannot access the data assigned to users of higher rights. - In order to manage the rights of forgoing users of different levels, the
data server 140 generates a level generation key for each of the levels to encrypt the data of each level. In particular, the level generation key of a lower level is generated according to the level generation key of an upper level so as to manage the data based on the user levels. - In an exemplary embodiment of the present invention, the
data server 140 groups a user 11, a user 12, and a user 13 into three levels, wherein the user 11 belongs to the first level which has the highest right, the user 12 belongs to a second level which has the second highest right, and the user 13 belongs to a third level which has the lowest right. - The
data server 140 randomly generate a group key K1 for the users of the highest level and then sequentially generates a group key K2 for the second level and a group key K3 for the third level through a third function of a one-way hash chain, as shown below: -
K L =H L−1(K 1), - wherein H is a hash function and L represents the level (i.e. L=1˜3). In the present exemplary embodiment, the third function is to generate the group key K2 of the second level and the group key K3 of the third level through a hash function; however, the present invention is not limited thereto, and in another exemplary embodiment of the present invention, the third function may also be an encryption function, an XOR function, or any other suitable functions.
- Next, the
data server 140 respectively generates a level generation key {KBIDn,L, n=1˜3, L=1˜3} for each level according to the group keys {K1,K2,K3} of the levels and an identification code of the encryption module (for example, the identification codes of the first wireless sensor 1, thesecond wireless sensor 2, and thethird wireless sensor 3 are respectively assumed to be ID1, ID2, and ID3 in the present exemplary embodiment) through a second function. In the present exemplary embodiment, an encryption function is served as the second function, as shown below: -
KB IDn,L =Enc(K L ,IDn), - wherein Enc is the encryption function, and L represents the level (i.e. L=1˜3).
- In the present exemplary embodiment, the encryption function is an encryption function conforming to the advanced encryption standard (AES); however, the present invention is not limited thereto, and any suitable encryption function, such as a function conforming to the data encryption standard (DES), can be applied to the present invention. Besides, in another exemplary embodiment of the present invention, the second function may also be implemented as a hash function, an XOR function, or other suitable functions.
- It should be mentioned that in the present exemplary embodiment, the identification codes of the wireless sensors are used as one of the factors for generating the level generation keys because a different level generation key is provided to each of the wireless sensors. However, if the situation of multiple wireless sensors is not considered or every wireless sensor uses the same level generation key in another exemplary embodiment of the present invention, the group key can be directly used as the level generation key.
- The
data server 140 also generates a time generation key and a time seed besides the level generation keys. The time generation key and the time seed are used for generating a time key for each encryption period. In the present exemplary embodiment, a different time key is used during each encryption period so that the data to be encrypted can have forward and backward data security. Accordingly, a user having terminated authorization can be prevented from using his original key to access the data, and a newly authorized user can be prevented from accessing a previously encrypted data. - For example, the
data server 140 generates the time generation key{TMKIDn, n=1˜3} by using a primary key MK and an identification code of the wireless sensor through a sixth function. In the present exemplary embodiment, the sixth function is implemented as an encryption function, as shown below: -
TMK IDn =Enc(MK,IDn), - wherein Enc is the encryption function. In the present exemplary embodiment, the encryption function is an AES encryption function; however, the present invention is not limited thereto, and any suitable encryption function, such as a DES function, may also be applied to the present invention. Besides, in another exemplary embodiment of the present invention, the sixth function may also be implemented as a hash function, an XOR function, or other suitable functions.
- Similarly, in the present exemplary embodiment, the identification codes of the wireless sensors are used as one of the factors for generating the time generation key because a different time generation key is provided to each wireless sensor. However, if the situation of multiple wireless sensors is not considered or each of the wireless sensors uses the same time generation key in another exemplary embodiment of the present invention, the primary key MK can be directly used as the time generation key.
- In another exemplary embodiment of the present invention, the
data server 140 generates a user key for each of the users and assigns the user key to the user while assigning the group key to the user. for example, the user key UK1 of the user 11, the user key UK2 of the user 12, and the user key UK3 of the user 13 are respectively generated according to the primary key MK of the data server and a user identification code UID1 of the user 11, a user identification code UID2 of the user 12, and a user identification code UID3 of the user 13 through an eighth function implemented as an encryption function (i.e. UKi=Enc(MK,UIDi, wherein i=1˜3). Similarly, in another exemplary embodiment of the present invention, the eighth function may also be implemented as a hash function, an XOR function, or other suitable functions. - In another exemplary embodiment of the present invention, the primary key MK of the
data server 140 is generated randomly. Besides, thedata server 140 generates a different time seed SeedT corresponding to different encryption periods T. For example, thedata server 140 uses date or time as a factor for generating the time seed. In the present exemplary embodiment, the time seed SeedT corresponding to the current encryption period is generated according to the primary key MK and the current date through a seventh function implemented as an encryption function. Similarly, in another exemplary embodiment of the present invention, the seventh function may also be implemented as a hash function, an XOR function, or other suitable functions. - As described above, the
first encryption module 110, thesecond encryption module 120, and thethird encryption module 130 are used for encrypting the data to be transmitted by the first wireless sensor 1, thesecond wireless sensor 2, and thethird wireless sensor 3. Thefirst encryption module 110, thesecond encryption module 120, and thethird encryption module 130 have the same structure and function, and accordingly thefirst encryption module 110 will be described herein as an example. - The
first encryption module 110 receives the time generation key TMKID1, the time seed SeedT, and the level generation key {KBID1,L, L=1˜3} of each level from thedata server 140, wherein L represents the level. In the present exemplary embodiment, thedata server 140 broadcasts a new time seed SeedT at certain intervals to thefirst encryption module 110, thesecond encryption module 120, and thethird encryption module 130 to allow thefirst encryption module 110, thesecond encryption module 120, and thethird encryption module 130 to generate the time keys of the current encryption period T according to the new time seed and the time generation key. For example, when thefirst encryption module 110 receives the time seed SeedT of the current encryption period, thefirst encryption module 110 generates the time key TKID1,T for the first level in the current encryption period through a fourth function. In the present exemplary embodiment, the fourth function is implemented as a hash function, as shown below: -
TK ID1,T =H(TMK ID1, SeedT), - wherein H is the hash function.
- In particular, the
first encryption module 110 generates the time key TKID1,T of the first level according to the time generation key TMKID1 and the time seed SeedT and sequentially generates the time keys of the second level and the third level through a one-way hash chain. In other words, thefirst encryption module 110 generates the time key H(TKID1,T) of the second level according to the time key TKID1,T of the first level through a fifth function implemented as a hash function and finally generates the time key H(H(TKID1,T)) of the third level according to the time key of the second level. In the present exemplary embodiment, the fourth function and the fifth function are implemented as hash functions; however, the present invention is not limited thereto, and in another exemplary embodiment of the present invention, the fourth function and the fifth function may also be implemented as various encryption functions, XOR functions, or other suitable functions. - The
first encryption module 110 divides a data to be transmitted into a plurality of sub-data blocks corresponding to different user levels. For example, in the present exemplary embodiment, thefirst encryption module 110 divides the data into three sub-data blocks M1, M2, and M3 corresponding to three user levels, wherein the users of the first level are authorized to access the sub-data blocks M1, M2, and M3, the users of the second level are authorized to access the sub-data blocks M2 and M3, and the users of the third level are authorized to access the sub-data block M3. - In addition, the
first encryption module 110 generates an encryption key for each level according to the received level generation key of the level and the time key generated based on a new seed. For example, in the present exemplary embodiment, thefirst encryption module 110 generates the encryption key {KEID1,L,T, L=1˜3} for each level by using the level generation key of each the level and the current time key through a first function. In the present exemplary embodiment, the first function is implemented as a hash function, as shown below: -
KE ID1,L,T =H(KB IDn,L , H L−1(TK ID1,T)), - wherein H is the hash function, and L represents the level. In the present exemplary embodiment, the encryption key is generated through a hash function; however, the present invention is not limited thereto, and in another exemplary embodiment of the present invention, the encryption key may be generated through an encryption function, an XOR function, or other suitable functions.
- The
first encryption module 110 uses the encryption key {KEID1L,T, L=1˜3} of each level for respectively encrypting the sub-data blocks M1, M2, and M3 so as to obtain the encrypted sub-data blocks C1, C2, and C3. - It should be mentioned that in another exemplary embodiment of the present invention, if the
first encryption module 110 does not receive the new time seed but generates the time key by using the old time seed and encrypts the sub-data blocks by using the encryption key generated by using the old time key, thedata server 140 determines the time seed after it receives the encrypted sub-data blocks and records the sub-data blocks which are encrypted by using the incorrect time seed as reference for subsequent data decryption. In addition, thedata server 140 broadcasts the current time seed to thefirst encryption module 110 again if thefirst encryption module 110 does not use the correct time seed to encrypt the data. - In an exemplary embodiment of the present invention, the multi-level data encryption and decryption system 100 also includes a
decryption module 150. After theencryption modules data server 140 of thecontrol device 4 by thewireless sensors data server 140 through thedecryption module 150 disposed in the end-user device 5. In the present exemplary embodiment, the end-user device 5 is connected to thecontrol device 4 through a wired network. However, the present invention is not limited thereto, and in another exemplary embodiment of the present invention, the end-user device 5 may also be connected to thecontrol device 4 through a wireless network. - The
decryption module 150 reads the encrypted sub-data blocks corresponding to the level of a user (for example, the user 11, the user 12, or the user 13) and other authorized levels of the user and corresponding to the encryption period from thedata server 140. To be specific, in the present exemplary embodiment, a user having higher right can read the data assigned to users having lower rights but a user having lower right cannot read the data assigned to users having higher rights. Thus, thedata server 140 provides the corresponding authorized data to a user according to the level of the user after it authenticates the user according to a user key of the user. - For example, in the present exemplary embodiment, when the user 12 inputs a user key UK2 through the end-
user device 5 to read the sub-data blocks encrypted by the first wireless sensor 1 during the encryption period T, since the user 12 belongs to the second level, thedata server 140 provides the encrypted sub-data blocks corresponding to the second level and the third level (for example, the sub-data blocks C2 and C3) to thedecryption module 150 of the end-user device 5. - In the present exemplary embodiment, the
data server 140 generates a time key corresponding to the level of the user and sends the time key together with the encrypted sub-data blocks to thedecryption module 150 of the end-user device 5. For example, thedata server 140 generates the time key of the highest level according to a time seed and a time generation key corresponding to the encrypted sub-data blocks through a hash function and generates the time key corresponding to the level of the user through a one-way hash chain. - The
decryption module 150 generates the encryption keys for the authorized levels (i.e., the second level and the third level) of the user according to the level generation keys and the time keys of the authorized levels and decrypts the encrypted sub-data blocks by using the encryption keys. In particular, thedecryption module 150 generates the level generation key and the time key of a lower level according to the level generation key and the time key of an upper level. - For example, when the user 12 inputs the user key UK2 through the end-
user device 5 to read the sub-data blocks encrypted by the first wireless sensor 1 during the encryption period T, thedecryption module 150 generate the level generation key KBID1,2 of the second level according to the group key K2 of the user 12 and an identification code ID1 of the encryption module (i.e., the first wireless sensor 1) for encrypting the received sub-data blocks. Besides, thedecryption module 150 generates the group key K3 by using the group key K2 of the user 12 through a hash function and generate the level generation key KBID1,3 of the third level according to the group key K3 and the identification code ID 1 of the first wireless sensor 1. Meanwhile, thedecryption module 150 generates the time key H (H(TKID1,T)) of the third level according to the time key H(TKID1,T) corresponding to the level of the user 12 (i.e., the second level) received from thedata server 140. Accordingly, thedecryption module 150 generates the encryption keys for the authorized levels (i.e., the second level and the third level) of the user according to the level generation keys and the time keys of the authorized levels of the user 12. -
FIG. 2 is a flowchart of a multi-level data encryption method according to an exemplary embodiment of the present invention, andFIG. 3 is a flowchart of a multi-level data decryption method according to an exemplary embodiment of the present invention. - To describe the steps in
FIG. 2 andFIG. 3 conveniently, the encryption and decryption method in the present exemplary embodiment will be described below by taking a complete data encryption and decryption procedure as an example. In this example, the first wireless sensor 1 sends a data sensed during an encryption period T to thecontrol device 4, and later on the user 12 reads the data sensed by the first wireless sensor 1 during the encryption period T from thecontrol device 4. - Referring to
FIG. 2 , in step S201, thefirst encryption module 110 of the first wireless sensor 1 divides the data into a plurality of sub-data blocks M1, M2, and M3 corresponding to different user levels. - In step S203, the
first encryption module 110 generates a time key for the highest level (i.e., the first level) according to the current time seed SeedT and sequentially generates time keys for the second level and the third level through a one-way hash chain (i.e., the fourth function), wherein thedata server 140 broadcasts the current time seed periodically. - Next, in step S205, the
first encryption module 110 generates an encryption key for each level according to a level generation key and the time key of the each level, wherein thedata server 140 generates the level generation key of a lower level according to the level generation key of an upper level. The method for generating the level generation keys has been described above therefore will not be described herein. - In step S207, the
first encryption module 110 encrypts the sub-data block of each level according to the encryption key of each the level. - Finally, in step S209, the first wireless sensor 1 sends the encrypted sub-data blocks C1, C2, and C3 to the
control device 4, and in step S211, thedata server 140 stores the encrypted sub-data blocks C1, C2, and C3. - It should be mentioned that when the multi-level data encryption and decryption system 100 initializes, the
data server 140 sends the level generation key and the time generation key used by the encryption module of each wireless sensor for encrypting data to the wireless sensor, and later on thedata server 140 periodically broadcasts the new time seed so that the encryption module of each wireless sensor can generate the encryption key for encrypting data as described above. - Next, referring to
FIG. 3 , in step S301, the user 12 requests to read the encrypted sub-data blocks sensed by the first wireless sensor 1 during the encryption period T through the end-user device disposed with thedecryption module 150. - In step S303, the identification of the user 12 is authenticated according to the user key UK2 of the user 12, and the level of the user 12 is determined.
- The multi-level data decryption procedure is terminated if the authentication in step S303 fails. If the authentication in step S303 succeeds, then in step S305, the
data server 140 dynamically calculates the time seed used during the encryption period T, dynamically calculates the time generation key according to a primary key and the identification code ID1 of the first wireless sensor 1, dynamically calculates the time key of the first level according to the time generation key and the time seed through a hash function (i.e., the fourth function), and calculates the time key of the level of the user 12 through a one-way hash chain (i.e., the fifth function). - In step S307, the
data server 140 sends the encrypted sub-data blocks corresponding to the authorized levels of the user 12 and corresponding to the encryption period T to thedecryption module 150. Meanwhile, in step S309, thedata server 140 sends the time key of the level of the user 12 to thedecryption module 150. In another exemplary embodiment of the present invention, the time key of the level of the user 12 may also be encrypted by using the user key UK2 before it is sent to thedecryption module 150. - Thereafter, in step S311, the
decryption module 150 generates the group key of the third level according to the group key of the user 12 (i.e., the second level) through a hash function (i.e., the third function) and generates the level generation keys of the second level and the third level according to the group keys of the second level and the third level through a second function. In step S313, thedecryption module 150 generates the time key of the third level according to the time key of the level of the user 12 through a hash function (i.e., the fifth function). - Finally, in step S315, the
decryption module 150 respectively decrypts the corresponding encrypted sub-data blocks according to the level generation keys and the time keys of the authorized levels (i.e., the second level and the third level) of the user 12 through the first function. - It has to be understood that in the present exemplary embodiment, the first to the seventh functions are respectively implemented as a hash function and an encryption function for generating the user key, the group keys, the primary key, the time seed, the time generation key, the level generation keys, and the encryption keys; however, any other suitable function may also be applied in the present invention without departing from the spirit and scope of the present invention.
- In overview, in the present invention, data is encrypted corresponding to multiple levels so that a user having higher right can access the data assigned to users having lower rights but a user having lower right cannot access data assigned to users having higher rights. In addition, in the present invention, a time key updated by using a time seed is adopted to ensure the encrypted data to have forward and backward security and that no synchronization is required. Thus, the calculation complexity of the encryption system is reduced. Moreover, in the present invention, the level generation key and the time key of a lower level are generated according to the level generation key and the time key of an upper level. Thereby, the number of keys to be managed by an end-user device is reduced and accordingly the calculation load of the end-user device is also reduced.
- It will be apparent to those skilled in the art that various modifications and variations can be made to the structure of the present invention without departing from the scope or spirit of the invention. In view of the foregoing, it is intended that the present invention cover modifications and variations of this invention provided they fall within the scope of the following claims and their equivalents.
Claims (42)
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW97124262A | 2008-06-27 | ||
TW097124262A TWI375447B (en) | 2008-06-27 | 2008-06-27 | Multi-layer encryption and decryption system and method thereof |
TW97124262 | 2008-06-27 |
Publications (2)
Publication Number | Publication Date |
---|---|
US20090323937A1 true US20090323937A1 (en) | 2009-12-31 |
US8090106B2 US8090106B2 (en) | 2012-01-03 |
Family
ID=41447451
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US12/242,815 Expired - Fee Related US8090106B2 (en) | 2008-06-27 | 2008-09-30 | Multi-level data encryption and decryption system and method thereof |
Country Status (2)
Country | Link |
---|---|
US (1) | US8090106B2 (en) |
TW (1) | TWI375447B (en) |
Cited By (28)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8675875B2 (en) | 2010-05-18 | 2014-03-18 | International Business Machines Corporation | Optimizing use of hardware security modules |
CN104301011A (en) * | 2014-11-07 | 2015-01-21 | 绵阳市维博电子有限责任公司 | Method and system for realizing voice encryption communication between bluetooth devices |
CN104753666A (en) * | 2013-12-30 | 2015-07-01 | 华为技术有限公司 | Secret key processing method and device |
CN105409159A (en) * | 2013-07-18 | 2016-03-16 | 日本电信电话株式会社 | Key storage device, key storage method, and program therefor |
US9361481B2 (en) | 2013-11-01 | 2016-06-07 | Anonos Inc. | Systems and methods for contextualized data protection |
WO2016126690A1 (en) | 2015-02-06 | 2016-08-11 | Anonos Inc. | Systems and methods for contextualized data protection |
US9619669B2 (en) | 2013-11-01 | 2017-04-11 | Anonos Inc. | Systems and methods for anonosizing data |
CN108243198A (en) * | 2018-01-31 | 2018-07-03 | 北京深思数盾科技股份有限公司 | A kind of data distribution, retransmission method and device |
US20180189783A1 (en) * | 2013-12-19 | 2018-07-05 | Christian Flurscheim | Cloud-based transactions with magnetic secure transmission |
US10043035B2 (en) | 2013-11-01 | 2018-08-07 | Anonos Inc. | Systems and methods for enhancing data protection by anonosizing structured and unstructured data and incorporating machine learning and artificial intelligence in classical and quantum computing environments |
US20180309738A1 (en) * | 2017-04-19 | 2018-10-25 | International Business Machines Corporation | Data access levels |
US10572684B2 (en) | 2013-11-01 | 2020-02-25 | Anonos Inc. | Systems and methods for enforcing centralized privacy controls in de-centralized systems |
US10664824B2 (en) | 2013-12-19 | 2020-05-26 | Visa International Service Association | Cloud-based transactions methods and systems |
US11030341B2 (en) | 2013-11-01 | 2021-06-08 | Anonos Inc. | Systems and methods for enforcing privacy-respectful, trusted communications |
US11036873B2 (en) | 2014-08-22 | 2021-06-15 | Visa International Service Association | Embedding cloud-based functionalities in a communication device |
US11080693B2 (en) | 2011-04-05 | 2021-08-03 | Visa Europe Limited | Payment system |
US11121862B2 (en) * | 2014-07-03 | 2021-09-14 | Huawei Technologies Co., Ltd. | System and method for wireless network access protection and security architecture |
CN114257457A (en) * | 2021-12-30 | 2022-03-29 | 天翼云科技有限公司 | File sharing method and device |
CN114584300A (en) * | 2022-03-02 | 2022-06-03 | 中国科学院国家授时中心 | Encryption and decryption method and system for bidirectional time service |
US20220182451A1 (en) * | 2018-07-22 | 2022-06-09 | TieJun Wang | Multimode heterogeneous iot networks |
US11444769B2 (en) * | 2018-07-02 | 2022-09-13 | Ares Technologies, Inc. | Systems, devices, and methods for signal localization and verification of sensor data |
CN116488813A (en) * | 2023-06-26 | 2023-07-25 | 合众新能源汽车股份有限公司 | Vehicle and its communication security authentication method, device, electronic equipment and storage medium |
CN116566714A (en) * | 2023-05-29 | 2023-08-08 | 深圳感臻智能股份有限公司 | Intelligent house data transmission method and system |
US20230336343A1 (en) * | 2022-04-15 | 2023-10-19 | Dropbox, Inc. | Tertiary-level encryption key scheme |
US11842350B2 (en) | 2014-05-21 | 2023-12-12 | Visa International Service Association | Offline authentication |
US20230409755A1 (en) * | 2022-06-17 | 2023-12-21 | Ares Technologies, Inc. | System and method for secure data provenance for digital signals |
CN117390646A (en) * | 2023-10-23 | 2024-01-12 | 上海合见工业软件集团有限公司 | Integrated circuit source file encryption method, electronic equipment and storage medium |
US12093426B2 (en) | 2013-11-01 | 2024-09-17 | Anonos Ip Llc | Systems and methods for functionally separating heterogeneous data for analytics, artificial intelligence, and machine learning in global data ecosystems |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20100042457A (en) * | 2008-10-16 | 2010-04-26 | 삼성전자주식회사 | Method and apparatus for data encryption, and method and apparatus for data decryption |
US9189638B1 (en) * | 2013-08-25 | 2015-11-17 | Google Inc. | Systems and methods for multi-function and multi-purpose cryptography |
US9900162B2 (en) | 2015-11-11 | 2018-02-20 | At&T Mobility Ii Llc | System and method for wireless network management |
US11792204B2 (en) | 2020-09-08 | 2023-10-17 | Micro Focus Llc | Dynamic level authentication/encryption |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020131595A1 (en) * | 2001-03-13 | 2002-09-19 | Kenjiro Ueda | Encryption method, decryption method, and recording and reproducing apparatus |
US20020191796A1 (en) * | 2001-06-18 | 2002-12-19 | Hans-Joachim Muschenborn | Symmetric and asymmetric encryption method with arbitrarily selectable one-time keys |
US20030002668A1 (en) * | 2001-06-30 | 2003-01-02 | Gary Graunke | Multi-level, multi-dimensional content protections |
US20070297607A1 (en) * | 2006-06-21 | 2007-12-27 | Shinya Ogura | Video distribution system |
-
2008
- 2008-06-27 TW TW097124262A patent/TWI375447B/en not_active IP Right Cessation
- 2008-09-30 US US12/242,815 patent/US8090106B2/en not_active Expired - Fee Related
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020131595A1 (en) * | 2001-03-13 | 2002-09-19 | Kenjiro Ueda | Encryption method, decryption method, and recording and reproducing apparatus |
US20020191796A1 (en) * | 2001-06-18 | 2002-12-19 | Hans-Joachim Muschenborn | Symmetric and asymmetric encryption method with arbitrarily selectable one-time keys |
US20030002668A1 (en) * | 2001-06-30 | 2003-01-02 | Gary Graunke | Multi-level, multi-dimensional content protections |
US20070297607A1 (en) * | 2006-06-21 | 2007-12-27 | Shinya Ogura | Video distribution system |
Cited By (43)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9794063B2 (en) | 2010-05-18 | 2017-10-17 | International Business Machines Corporation | Optimizing use of hardware security modules |
US10523424B2 (en) | 2010-05-18 | 2019-12-31 | International Business Machines Corporation | Optimizing use of hardware security modules |
US8675875B2 (en) | 2010-05-18 | 2014-03-18 | International Business Machines Corporation | Optimizing use of hardware security modules |
US11694199B2 (en) | 2011-04-05 | 2023-07-04 | Visa Europe Limited | Payment system |
US11989727B2 (en) | 2011-04-05 | 2024-05-21 | Visa Europe Limited | Payment system |
US11080693B2 (en) | 2011-04-05 | 2021-08-03 | Visa Europe Limited | Payment system |
CN105409159A (en) * | 2013-07-18 | 2016-03-16 | 日本电信电话株式会社 | Key storage device, key storage method, and program therefor |
US20160148002A1 (en) * | 2013-07-18 | 2016-05-26 | Nippon Telegraph And Telephone Corporation | Key storage apparatus, key storage method and program therefor |
US10572684B2 (en) | 2013-11-01 | 2020-02-25 | Anonos Inc. | Systems and methods for enforcing centralized privacy controls in de-centralized systems |
US12093426B2 (en) | 2013-11-01 | 2024-09-17 | Anonos Ip Llc | Systems and methods for functionally separating heterogeneous data for analytics, artificial intelligence, and machine learning in global data ecosystems |
US11790117B2 (en) | 2013-11-01 | 2023-10-17 | Anonos Ip Llc | Systems and methods for enforcing privacy-respectful, trusted communications |
US11030341B2 (en) | 2013-11-01 | 2021-06-08 | Anonos Inc. | Systems and methods for enforcing privacy-respectful, trusted communications |
US9619669B2 (en) | 2013-11-01 | 2017-04-11 | Anonos Inc. | Systems and methods for anonosizing data |
US10043035B2 (en) | 2013-11-01 | 2018-08-07 | Anonos Inc. | Systems and methods for enhancing data protection by anonosizing structured and unstructured data and incorporating machine learning and artificial intelligence in classical and quantum computing environments |
US9361481B2 (en) | 2013-11-01 | 2016-06-07 | Anonos Inc. | Systems and methods for contextualized data protection |
US11875344B2 (en) | 2013-12-19 | 2024-01-16 | Visa International Service Association | Cloud-based transactions with magnetic secure transmission |
US10664824B2 (en) | 2013-12-19 | 2020-05-26 | Visa International Service Association | Cloud-based transactions methods and systems |
US10909522B2 (en) | 2013-12-19 | 2021-02-02 | Visa International Service Association | Cloud-based transactions methods and systems |
US11017386B2 (en) * | 2013-12-19 | 2021-05-25 | Visa International Service Association | Cloud-based transactions with magnetic secure transmission |
US20180189783A1 (en) * | 2013-12-19 | 2018-07-05 | Christian Flurscheim | Cloud-based transactions with magnetic secure transmission |
US11164176B2 (en) | 2013-12-19 | 2021-11-02 | Visa International Service Association | Limited-use keys and cryptograms |
CN104753666A (en) * | 2013-12-30 | 2015-07-01 | 华为技术有限公司 | Secret key processing method and device |
EP2890047A1 (en) * | 2013-12-30 | 2015-07-01 | Huawei Technologies Co., Ltd. | Key processing method and apparatus |
US11842350B2 (en) | 2014-05-21 | 2023-12-12 | Visa International Service Association | Offline authentication |
US11121862B2 (en) * | 2014-07-03 | 2021-09-14 | Huawei Technologies Co., Ltd. | System and method for wireless network access protection and security architecture |
US11036873B2 (en) | 2014-08-22 | 2021-06-15 | Visa International Service Association | Embedding cloud-based functionalities in a communication device |
US11783061B2 (en) | 2014-08-22 | 2023-10-10 | Visa International Service Association | Embedding cloud-based functionalities in a communication device |
CN104301011A (en) * | 2014-11-07 | 2015-01-21 | 绵阳市维博电子有限责任公司 | Method and system for realizing voice encryption communication between bluetooth devices |
EP3254226A4 (en) * | 2015-02-06 | 2018-08-01 | Anonos Inc. | Systems and methods for contextualized data protection |
WO2016126690A1 (en) | 2015-02-06 | 2016-08-11 | Anonos Inc. | Systems and methods for contextualized data protection |
US10686765B2 (en) * | 2017-04-19 | 2020-06-16 | International Business Machines Corporation | Data access levels |
US20180309738A1 (en) * | 2017-04-19 | 2018-10-25 | International Business Machines Corporation | Data access levels |
CN108243198A (en) * | 2018-01-31 | 2018-07-03 | 北京深思数盾科技股份有限公司 | A kind of data distribution, retransmission method and device |
US11444769B2 (en) * | 2018-07-02 | 2022-09-13 | Ares Technologies, Inc. | Systems, devices, and methods for signal localization and verification of sensor data |
US20220182452A1 (en) * | 2018-07-22 | 2022-06-09 | TieJun Wang | Multimode Heterogeneous IOT Networks |
US20220182451A1 (en) * | 2018-07-22 | 2022-06-09 | TieJun Wang | Multimode heterogeneous iot networks |
CN114257457A (en) * | 2021-12-30 | 2022-03-29 | 天翼云科技有限公司 | File sharing method and device |
CN114584300A (en) * | 2022-03-02 | 2022-06-03 | 中国科学院国家授时中心 | Encryption and decryption method and system for bidirectional time service |
US20230336343A1 (en) * | 2022-04-15 | 2023-10-19 | Dropbox, Inc. | Tertiary-level encryption key scheme |
US20230409755A1 (en) * | 2022-06-17 | 2023-12-21 | Ares Technologies, Inc. | System and method for secure data provenance for digital signals |
CN116566714A (en) * | 2023-05-29 | 2023-08-08 | 深圳感臻智能股份有限公司 | Intelligent house data transmission method and system |
CN116488813A (en) * | 2023-06-26 | 2023-07-25 | 合众新能源汽车股份有限公司 | Vehicle and its communication security authentication method, device, electronic equipment and storage medium |
CN117390646A (en) * | 2023-10-23 | 2024-01-12 | 上海合见工业软件集团有限公司 | Integrated circuit source file encryption method, electronic equipment and storage medium |
Also Published As
Publication number | Publication date |
---|---|
TW201002022A (en) | 2010-01-01 |
US8090106B2 (en) | 2012-01-03 |
TWI375447B (en) | 2012-10-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8090106B2 (en) | Multi-level data encryption and decryption system and method thereof | |
EP3453135B1 (en) | System and method for encryption and decryption based on quantum key distribution | |
US7957537B2 (en) | Information processing system and method using encryption key block | |
US7269257B2 (en) | System and method for processing information using encryption key block | |
US9122888B2 (en) | System and method to create resilient site master-key for automated access | |
KR100888472B1 (en) | Encryption method using dual key and wireless LAN system for same | |
KR20180119201A (en) | Electronic device for authentication system | |
KR101753859B1 (en) | Server and method for managing smart home environment thereby, method for joining smart home environment and method for connecting communication session with smart device | |
EP3694142A1 (en) | Management and distribution of keys in distributed environments (ie cloud) | |
KR20050013585A (en) | Method for authentication between devices | |
JP2004528615A (en) | Method and apparatus for automatic database encryption | |
CN105103488A (en) | Policy enforcement with associated data | |
JP6282779B2 (en) | Management apparatus, program, system and method | |
US20140208107A1 (en) | Systems and methods for implementing application control security | |
WO2018017168A2 (en) | System and method for encryption and decryption based on quantum key distribution | |
CN101635623B (en) | Multilevel Data Encryption and Decryption System and Method | |
JP2020513169A (en) | Data encryption method and system using device authentication key | |
KR101424972B1 (en) | Method of using content using mobile card, host device, and mobile card | |
CN1820449B (en) | Method for encrypted data transmission through a communication network | |
CN118509652B (en) | Video encryption transmission method and video encryption transmission system | |
JP5289476B2 (en) | Communication device and key calculation device | |
US20050021469A1 (en) | System and method for securing content copyright | |
JP6919484B2 (en) | Cryptographic communication method, cryptographic communication system, key issuing device, program | |
GB2430847A (en) | Managing the re-use of blocks of data in an N-time pad | |
GB2570292A (en) | Data protection |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AS | Assignment |
Owner name: CHUNGHWA PICTURE TUBES, LTD., TAIWAN Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:TENG, PO-YUAN;HUANG, SHIH-I;REEL/FRAME:021671/0339;SIGNING DATES FROM 20080730 TO 20080917 Owner name: CHUNGHWA PICTURE TUBES, LTD., TAIWAN Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:TENG, PO-YUAN;HUANG, SHIH-I;SIGNING DATES FROM 20080730 TO 20080917;REEL/FRAME:021671/0339 |
|
AS | Assignment |
Owner name: INDUSTRIAL TECHNOLOGY RESEARCH INSTITUTE, TAIWAN Free format text: CORRECTIVE ASSIGNMENT TO CORRECT THE ASSIGNEE PREVIOUSLY RECORDED ON REEL 021671 FRAME 0339;ASSIGNORS:TENG, PO-YUAN;HUANG, SHIH-I;REEL/FRAME:022347/0125;SIGNING DATES FROM 20080730 TO 20080917 Owner name: INDUSTRIAL TECHNOLOGY RESEARCH INSTITUTE, TAIWAN Free format text: CORRECTIVE ASSIGNMENT TO CORRECT THE ASSIGNEE PREVIOUSLY RECORDED ON REEL 021671 FRAME 0339. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:TENG, PO-YUAN;HUANG, SHIH-I;SIGNING DATES FROM 20080730 TO 20080917;REEL/FRAME:022347/0125 |
|
ZAAA | Notice of allowance and fees due |
Free format text: ORIGINAL CODE: NOA |
|
ZAAB | Notice of allowance mailed |
Free format text: ORIGINAL CODE: MN/=. |
|
STCF | Information on status: patent grant |
Free format text: PATENTED CASE |
|
FPAY | Fee payment |
Year of fee payment: 4 |
|
MAFP | Maintenance fee payment |
Free format text: PAYMENT OF MAINTENANCE FEE, 8TH YEAR, LARGE ENTITY (ORIGINAL EVENT CODE: M1552); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY Year of fee payment: 8 |
|
FEPP | Fee payment procedure |
Free format text: MAINTENANCE FEE REMINDER MAILED (ORIGINAL EVENT CODE: REM.); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY |
|
LAPS | Lapse for failure to pay maintenance fees |
Free format text: PATENT EXPIRED FOR FAILURE TO PAY MAINTENANCE FEES (ORIGINAL EVENT CODE: EXP.); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY |
|
STCH | Information on status: patent discontinuation |
Free format text: PATENT EXPIRED DUE TO NONPAYMENT OF MAINTENANCE FEES UNDER 37 CFR 1.362 |
|
FP | Lapsed due to failure to pay maintenance fee |
Effective date: 20240103 |