1. Field of the Invention
The present invention generally relates to data processing, and more particularly, to data protection and security with encryption and decryption.
2. Description of the Related and Prior Arts
Today, users make extensive use of encryption to securely send electronic message over the Internet and to perform electronic commerce at secure web sites. To protect the user data from various attacks, it is necessary to encrypt all important data for transmission and storage. Currently data are normally transmitted or stored over various media, such as internet data over optical fiber, instant messages between two mobile phones, or photos in PC hard-drive. In general, the critical data is encrypted by utilizing existing encryption schemes and transmitted over secure Internet protocols. Giving the explosion of the mobile data applications over the recent years, the demand for security of data and protection of privacy increases dramatically. Therefore, the demand for faster and lower cost real time solutions to daily user data applications becomes more and more important. Currently, there exist many different encryption and decryption algorithms for the secure transmission and storage of user data. The most well known one is the RSA algorithm, which was developed and named after the three mathematicians, Rivest, Shamir, and Adleman (RSA) from MIT university (Ref: U.S. Pat. No. 4,405,829). The several fundamental properties of the RSA algorithm are important to the encryption and decryption algorithm. For example, deciphering the encrypted form of a message yields the original message, and deciphering a message and then enciphering it results in the same original message. In addition, the actions of enciphering using a public key and deciphering using a private key are relatively easy to compute, but by publicly revealing the enciphering function (the public key) does not reveal any easy way to compute deciphering function (the private key) at all. Historically, RSA encryption algorithm uses up to 512-bit number for both the public and the private key, a number which has 154 digits in a decimal representation. In addition, both numbers are very large prime numbers. To process those numbers, it will take an large amount of computing power. In 1976, Dr. W. Diffie and Dr. M. E. Hellman published their original paper entitled “New Directions in Cryptography,” in IEEE Transactions on Information Theory, Volume 22, pp. 644-654, 1976, which provided a limited example of the public key system initially, and was later discovered to contain a complete public key system. Thus the Diffie-Hellman key exchange, together with its extension to digital signatures in the form of Digital Signature Standard (DSS), as adopted by the National Institute of Standards and Technology (NIST) in 1994, can do the same public key functions as RSA algorithm. The Diffie-Hellman algorithm is fundamentally identical to the RSA algorithm in terms of mathematical theory, but somewhat different in terms of implementation.
In both cases, its cryptography strength depends on how difficult it is for someone to compute a person's private number giving only the person's corresponding public number. For RSA, the strength is based on the difficulty of finding the prime factors of a large integer, while for Diffie-Hellman algorithm (Ref: U.S. Pat. No. 4,200,770), it depends on the difficulty of computing discrete logarithms in a finite field generated by a large prime number. In both cases, in order to be secure enough, the key size has to be very large, which requires a considerable amount of memory and computing power, and therefore hard to implement onto hardware for daily use by consumers on their ever small hand-held mobile devices.
Elliptic-curve cryptography (ECC) mathematics differ slightly from those of the RSA and Diffie-Hellman encryption schemes. Some descriptions can be found from the paper by Koblitz, N. (1987), entitled “Elliptic curve cryptosystems”, appeared on “Mathematics of Computation” 48 (177): 203-209. Within an ECC function, a group consists of a set of elements with custom defined arithmetic operations on these elements. A field is also a set of elements with custom defined arithmetic operations on these elements. The elements of an elliptic-curve group are pairs of numbers called points. The choice of the underlying field of the elliptic-curve group affects the number of points in the elliptic-curve group, and thus the key sizes, computational requirements, and the security. The underlying computation is an integer's scalar multiplication of a point on the curve. The security of the elliptic-curve systems relies on the difficulty of determining which integer was used in the multiplication, given the point and the result. It offers equivalent security to RSA and other public key techniques, while using smaller key sizes. In addition, the arithmetic operation may be easier to implement in hardware than arithmetic-modulo cryptography such as RSA and Diffie-Hellman schemes. Nevertheless, the requirements for a smaller but still a large key size in elliptic-curve encryption still requires considerable amount of computing power and memory in hardware or software implementations.
It is the objective of present invention to provide an encryption and decryption algorithm that offers data security and protection, which can be operated in real time, at wire speed and with minimum yet constant latency, without any additional overhead to the original data size, using either hardware or software implementations. It shall be independent of the physical medias that generates, carries, stores, or displays the data, and shall be transparent to standard digital transmission and storage protocols, and particularly, does not requires the considerable amount of computing power and enormous amount of memories.
As security is becoming a growing concern, more and more people are using private key encryption algorithm instead. This is especially true for personal and small business entities. The present invention presents a private key algorithm for data protection and security. The private key itself can be transmitted, stored using an existing public key method, or based on a prior agreement, or even transmit over the phone. Since the key can be processed offline, doing so enables a fast and secured way for data storage and transmission. Also due to the fact that the data protected by both the key and the algorithm, losing one of them will not jeopardize the data security.
The most closely resembling of the present invention is the RC4 scheme, which uses an algorithm to generate pseudo random numbers and XOR the data with these numbers. Some descriptions about RC4 algorithm can be found from the article by Scott R. Fluhrer, ltsik Mantin and Adi Shamir, entitled “Weaknesses in the Key Scheduling Algorithm of RC4” in Selected Areas in Cryptography, 2001, pp1-24. Since its random number generator is secret, it is hard to tell what it exactly is. The algorithm used in the present (our) invention differs from it because the present invention uses table driven pseudo random number generator. That is, the pseudo random number generator in the present invention is an array of random numbers. Since both the size and the content of the table are not fixed, it allows the users to make customized changes to this random number table, by changing the size, the content, or both. The algorithm in the present invention is more flexible and secured because other people do not know what the pseudo random number generator is used by the users, as it can be changed randomly at any time. In addition, when a pseudo random number is generated using the table, it can loop through the table many times. For example, for a table size of one million, looping through 1000 times means 0.1% of the table content is used for each pseudo random number generated. As such, changing 100 entries in the table would effectively changed 100*0.1%=10% of the encrypted data.
Since its random number generator is secret, it is hard to tell what it exactly is. The algorithm used in the present invention differs from it because the present invention uses table driven random number generator. That is, the random number generator in the present invention is an array of random numbers. Since both the size and the content are not fixed, it allows the users to make changes to this random number table, by changing the size, the content, or both. The algorithm in the present invention is more flexible and secured because other people do not know what the random number generator is used by the users, as it can be changed randomly at any time.
The present invention provides an algorithm, apparatus and system for securing user data against eavesdropping and other unauthorized access to the original data when confidentiality and privacy are of the concern. More particularly, the present invention encrypts and decrypts the original user data based on the internal system based keys and the user defined keys. The data can only be decrypted by the original owner of the data with the correct keys and algorithms. So when the encrypted data is obtained by others through whatever means, the data cannot be decrypted without the original system defined keys, the owner defined keys and the encryption algorithm.
The present invention provides a mean to modify the encryption algorithm itself. As such, it added another layer of security to the data.
The present invention further includes an algorithm, apparatus and system that encrypts and decrypts the user data which the owner intends to communicate with another party with confidentiality and security. The data to be transmitted is encrypted and decrypted with an internally defined key by the sending and receiving systems, and a mutually agreed key between the two communicating parties. The data can only be decrypted by the intended party with the right receiving device and the correct mutually agreed key. No other person who accidentally receives the data or illegally obtained the data can decrypt the data without the right receiving device/algorithm and the correct key.
The present invention includes the algorithm, apparatus and system that performs the encryption and decryption in real time at wire speed without delay while the latency of the digital processing is minimum and stays constant during the encryption and decryption process. It simplifies the processing of encryption and decryption and requires significantly less computing power and device memory. This is critical to apply the encryption scheme to daily life of consumers, where the data protection is required in real time and at affordable cost. The present invention includes a software based algorithm that can be applied in many software based applications. More particularly, this algorithm can be used to create a secured file folder onto any storage and computing devices, such as computers and smart phones, in such that all the files, regardless of its types, can be encrypted once they are moved into the folder and decrypted once they are moved outside of the folder. It can also be used to create a texting or chatting application that provides the security protection to the text message or the chat messages sent between the two communicating parties.
The present invention also includes a hardware based solution that is based on an ASIC semiconductor chip purposely built with the algorithm from the present invention. With the ASIC chip, the encryption and decryption operates at wire speed without no overhead, which makes it compatible and transparent with other digital signal processing chips needed to perform other networking or storage functions, such as the framer chips, the optical coherent digital signal processing chip used in telecommunication, and the memory chips used for data storage. This purposely built ASIC chip with the present invention can be used in digital cameras for encrypting the recording videos and in smart mobile phones for encrypting the data into memory cards such as SD cards and USB drives. It can also be used in television (TV) and Set-Top Boxes (STB) for encrypting or masking the sensitive or inappropriate broadcasting or displaying contents. It can be used in bluetooth device to encrypt the real time live conversation between two parties to prevent a third party from tapping and listening to the conversation. In one exemplary example of the operation, one user can encrypt all data on the SD memory cards on his/her smart mobile phone automatically when the ASIC based on the present invention is used in the mobile phone. It will not affect any of his/her applications of the mobile phone, such as the playing of the videos, viewing of the files and etc. But when the mobile phone or the SD cards is lost or stolen, or when the files on the SD cards are obtained by unauthorized personnel, the true contents of the user data can still be protected since the files are encrypted in the first place. Furthermore, the owner of the SD cards or the lost mobile phones can quickly “delete” or “erase” or “change” the encryption key on the SD cards remotely. With this, even the unauthorized personnel somehow obtained the previous encryption key, the data can still not be decoded. Only when the SD cards are recovered and the encryption is reactivated, the data on the SD cards can be recovered again by the owner.
In another exemplary example of the operation, the user can decide which data needs critical attention and should be fully protected for confidentiality during the communication with the other party. In this case, the user can retrieve the encrypted data from the SD cards through the automatic decryption when taking the data out of the SD cards, and then re-encrypts the data with a new encryption key that is mutually agreed upon between the user and the corresponding party in the communication. No others can decode the data other than the intended receiving party, even if someone has tapped into the transmission process and obtained the data during the transmission.
So that the manner in which the above recited features of the present invention can be understood in detail, a more particular description of the invention, briefly summarized above, may be had by reference to embodiment, some of which are illustrated in the appended drawings. It is to be noted, however, that the appended drawings illustrate only typical embodiment of this invention and are therefore not to be considered limiting of its scope, for the invention may admit to other equally effective embodiment.
This present invention is related to a proprietary security engine, which allows users to make personal modifications so that it can not be easily decoded even if third party intercepts the secured data. In addition, the present algorithm is easily expandable such that one can increase the size of the security table, which contains some pre-determined numbers for the encryption engine, with minimum effect on the speed and latency. All it requires is slightly more memory, which is very inexpensive for the size of security tables required. The length of the security key can also be set to a large number if necessary. In order to decipher this engine, one needs to decipher the full security table of this engine, and to decipher the encryption key correctly. The encryption key is related also to the specific devices used by the user and the choice of the additional key by the user. By allowing the users to customize the security table and having a huge table for the engine, plus a encryption key that can be of any chosen size, it makes the engine very difficult to decipher.
Further more, the present invention is related to a flexible security engine. The present algorithm can be implemented in any layer of the seven layer OSI stacks. It can be implemented in the hardware layer, as shown in 101. It can also be implemented in any layer of the storage stack. For example, it can be implemented in the hardware storage media, as shown in 201, as one of the key embodiments. The present data protection scheme can also be deployed in the physical layer of any digital signal transportation system, such as the optical transmission links that carry high speed data at any rates like 2.5 Gb/s, 10 Gb/s, 40 Gb/s, 100 Gb/s, or 400 Gb/s. In the present invention, a proprietary key exchange algorithm is not included. Therefore, the standard key exchange algorithm, such as Diffie-Hellman key exchange, can be used together with this security engine.
One of the major concerns of data security and protection is the unauthorized person who manages to get into the system and obtains the critical data within the system without being detected by users. The present invention provides a scheme to securely store critical data in such way that it would allow communication of critical data between parties, without being processed in plain viewable and unprotected form. This is achieved by provisioning the storage media, such as flash or hard drive into multiple regions, and using the proprietary data security scheme of the present invention to protect the critical data.
One of the preferred embodiments of the present invention is shown in
Furthermore the content on the lost or stolen storage media can be “restored” by provisioning the correct Secured Region Key again by the user, if it is recovered or deemed safe to be used by others. Accordingly to one of the preferred embodiments of the present invention, this invention can be used for mobile based commence, as shown in
The present invention related to the data security and protection algorithm can be implemented in either software or hardware. If it is implemented in software, it can be implemented as a driver library such that the Operating System (OS) can access its interface (API), but the user or the developer of the software cannot see the implementation detail and the algorithm itself. Since it is implemented in the lowest level of the software, it can be used in any layer of the software, either be the networking stack or the storage stack. The present algorithm is light-weighted in required additional processing power and with no overhead in data size, therefore it poses minimum impact on any of the system softwares.
Such a real time data protection system is made possible because of the fact that the data protection ASIC based on the present invention requires no overhead and exhibits constant latency during the protection process. First of all, since there is no overhead during the data encryption and decryption process, the size of the data out of the framer is of the same size of the data to be passed into the coherent DSP ASIC. Other than bits in the data are changed, the size of the data remains the same. Therefore the coherent DSP ASIC acts as if it continuously gets the data directly from the framer without the presence of the data protection ASIC. Secondly, since the latency of encryption of the data at the transmitting end is the same as the decryption at the receiving end, there is no timing issue that would cause FIFO (First In First Out) overflow or underflow in the optical coherent DSP ASIC. Thirdly, since the data protection scheme requires no significant amount of calculating and processing power, the encryption and decryption is achieved in wire-speed, without causing data starvation to either the framer or the coherent digital signal processing (DSP) ASIC. The wire-speed can be achieved from low speed to high speed based on the implementation of the data protection ASIC. For example, the existing wire speed of 100 Gb/s to 400 Gb/s in coherent optical communications can be easily supported by the present invention. Additionally, the transmission system does not need to be coherent, or optical. Any type of digital transmission system at any speed can use the present invention to provide data protection during the transmission of the user data over the physical media. The transmission media can also be wireline or wireless. The protection scheme is also independent of the transmission protocols. Since the data passing through the physical transmission media is also encrypted in real time between the two end terminals or end users, the data is therefore well protected from tapping and monitoring. For example, the optical fiber (909) in
Another embodiment of the present invention is the security monitoring system, for home, office, or public facilities. Currently, most security systems consist of cameras located throughout the different locations within the protected facilities and transmit still images or continuous video streams to a gateway inside the facility through either wireline or wireless means. The gateway collects all of the feeds of videos and images and transmits them to the owner's computers, cell phones or mobile devices over the internet. However, there are some possibilities that some others can tap into the transmission path, either through the physical tapping to the cameras, or the tapping into the WiFi networks used for the cameras to connected back to the gateway of the facility, or the unauthorized access to the Internet connection or the user's devices. If the videos and the images from the cameras are not protected, the one who taps into the system can view what is going on inside the facility, just like the owner. This makes the security camera systems less security since it provides an inside close look into the facility to the hackers who tap into the camera monitoring system.
This is shown in
Another embodiment of the present invention is the application to the real time displaying system, such as the TV broadcast system, and the video playing systems. For example, if the broadcasters encrypt their broadcast signals with this scheme and their own keys, only the TVs or set-top boxes equipped with this scheme and have the correct passwords can view the contents. Due to the no-overhead nature of this scheme, it will not increase the broadcasters' cost. Since this scheme can be implemented into data protection ASIC, it can easily be put into TVs or set-top boxes with minimum cost. This provides a way to protect contents. It can also be deployed in satellites to dishes system.
This scheme can also be used for parental control. TV display contents, even a small portion of the scenes, that should be viewed with discretion or parent control, can be instantly encrypted with this scheme and a password, if the TV has equipped with this capability by utilizing the present invention. Only those who know the password can view these restricted contents. One implementation is to have a special sequence of signals to indicate the starting and ending of the restricted content. If the TV (or set-top box) is equipped with the data protection ASIC of the present invention and enabled with the correct password, it can display the content. Otherwise, the content will be masked and cannot be displayed to the viewer.
Another way to implement parental control is to use the remote control of the TV (or set-top box) to turn on the encryption and decryption instantly. When adults are watching TV with kids, if some inappropriate contents suddenly show up on TV, the adult can instantly press the encryption button to mask out the content without turning off the TV. One can turn off the encryption mask by pressing the decryption button whenever the inappropriate content is believed to be gone.
These examples are shown in
Another embodiment of the present invention is to put this scheme into an instant message service or peer to peer chat service. In these cases, the instant messages or the chat messages are encrypted with the data protection scheme of the present invention and with customized keys mutually agreed by the two end users. In this system, only those who know the customized keys can view the chat contents. This can be used in content subscription service.
In terms of the detailed implementation of the real time encryption and decryption algorithm,
In further detail, still referring to the invention in
The construction details of the invention as shown in
For example, if the input data is a chat message of characters, changing random number of bits of the sentence will make the data not readable and not recognizable. This can be done via an XOR function. Afterward, each character of the modified string can go through a circular bit shifting random number of times. The following is an example implementation of the Decryption Engine 1204:
In this example, only one bit is changed per character. In actual implementation, multiple bits can be changed randomly using getPRN function. All are depended on the level of security required and the engine speed used. ModifyGeneratedPRN function can be used to change the pre-generated random numbers via user provisioning or self-modification within the encryption engine and decryption engine. In this way, even the device maker, who put in the original pre-generated random number, will not know what the pseudo random number generator really is. It is strongly recommended to device makers having such capability implemented in the device. It is achievable if the engines are implemented in FPGA or EEPROM. The decryption engine is the reversed of the encryption engine. It can easily be done based on the codes above. This is just an example of implementation. The actual implementation of the encryption and decryption engines can be different.
A more detailed flow chart of the cryptography algorithm in the present invention is shown in
In order to decode a message of 128 characters (bytes), one needs to try {POW(2, (8*128)) for bit modification]*[POW(8(for bit shifting of each byte),128 (for length of the message))]}=7.0832716E423. So it is very expensive to decode a 128 characters message. With so much possibility, there is very little chance to know what the original message actually is. It is obvious that the larger the input data, the more work is required to decode it.
If this engine is applied to optical or electrical data transmission, the bit modification can apply to the headers and data so that it is not easily reconstructed by hackers, the whole transmission can be fully protected. Since the encryption and decryption latency is constant and small, this engine can be used for high speed transmission. The decryption process is the reversed of the encryption process. First, the bit modifications are generated using the same starting key, and saved. Then the bytes/words are shifted in the reversed direction to restore the data stream. Afterward, the engine applies the bit modifications using the XOR to recover the original data.
Still referring to the present invention shown in
One of the advantages of the present invention includes, without limitation to the transmission and storage media, is that the engine can be used from small message transmission and storage, such as chats between mobile phones, to large amount and high speed data transmission, such in high speed optical communication equipment, due to the nature of small or no overhead, and small constant latency in encryption and decryption. Encryption and decryption are common. But an engine with no overhead and constant small latency makes it advantageous, especially for high speed data transmission. In addition, it is effective and less expensive. It can be implemented in software for chats in mobile phone application. It can also be implemented in a small ASIC chip, an EEPROM, or a FPGA inside a high speed transmission system.
The present invention requires the minimum amount of computation and memory to complete the encryption and decryption, which is based on logical operation with the binary data with small key sizes. When data is written into a storage device, it passes through the security engine of the present invention, which will encrypt the data but not the protocol carrying and writing the data. For example, when a data file is written to a storage device, such as a thumb-drive or a hard drive via a USB connection, the data file are transmitted along with the USB control protocol. In hardware, the present invention can have one USB transceiver that acts as receiver to receive the data from the host. Then the received data are passed through a encryption engine. Finally, the encrypted data are handed over to another USB transceiver, which acts as host to send the data to the other end. On the reversed direction, the data passed through a decryption engine instead. It is painless to use because the encryption and decryption depend on the physical engine. The user will have a default security engine installed. Once the password is set, the encryption will start. Even a user who forgets the password, can still retrieve the data with the same physical engine, in most case, a simple wire, such as an USB wire. A serial port to the security engine provides a means to input password and even reprogram the security engine to one's own security algorithm. Such a device can be designed elegantly such that it looks like a normal USB cable as shown in
Because of the simplicity of this encryption and decryption engine, it could be implemented in data bus rate. That is, a simple logic circuitry can be placed in the data bus between CPU and the memory unit so that it could do the simple encryption based on, such as the address and a provisioned key, such as the serial number of the equipment. For example, circular left shift two bits of an 8 bit data bus can be implemented as shown in
With this design, the encryption/decryption engines are not limited to what we have preloaded. The RSA and Diffie-Hellman schemes rely on the fact that it is NP-complete to solve the problem. So it requires unrealistic computer power to solve the keys. We advocate that one can use its own private algorithm that no one else can solve it since they don't know the algorithm itself. So the present algorithm is not limited to the functionalities and embodiments presented here. It can also handle private algorithms, as long as the device has enough buffer to store the “receiver” data before passing them through the crypto/security engine. The algorithm used in present invention here is a table driven translation, based on the crypto/security key of unspecified length, with the ability of letting users to change the table. Since the size of the table and the crypto/security key can be of any size, it makes the algorithm look like another NP-complete problem, where NP stands for “Non Deterministic Polynomial Time”. It is not NP-complete if the algorithm is known. Therefore, the present invention allows third parties to use their own crypto/security engines. It is obvious from the present architecture, the cost of such device is minimum. The present invention provides the application for users to set/change passwords and/or reprogram the security engine. The security engine is powered by USB host. Since the encryption and decryption are symmetrical, labels are needed to remember which end is connected to the storage device and which one is to the PC. Applications are provided for the security engine programming.
It is easy to see that the number of reconfigurations, as in 15, is limited. Therefore, these circuitries (circular left shifted by 0, 1, 2, 3, 4, 5, 6, 7) can be implemented and activated based on a given key. The only requirement is that key used to manipulate this piece of data is recoverable. One example is to use formula to generate key based on the address and another provisioned number, such as serial number. If it is possible, circuitry of XOR of certain bit should also be implemented in data bus rate as part of the logic. This will make the encryption stronger.
With such encryption and decryption engine chip, any storage media, such as DRAM or flash, and hard-drive, can be encrypted. These encrypted memory devices can be used in many different applications. For example, if an encrypted and detachable SD flash is used in a mobile phone, any APP bought using this mobile phone and stored in this flash will not be portable to another mobile phone of the same model since the provisioned key (such as the serial number) will not be the same. If mobile phone memory is protected with such encryption chip, the phone can be disabled remotely by changing the provisioned key. So any files on the SD cards inside the mobile phone become not not useful anymore even if the person who obtains the files and mobile phones also processes the previous decryption key.
While particular embodiments according to the present invention have been illustrated and described above, those skilled in the art understand that the invention can take a variety of forms and embodiments within the scope of the appended claims.
This U.S. application is the official filing of the previously filed provisional U.S. patent application No. 61/981,854, filed on Apr. 21, 2014, entitled “Method and System of Real Time Data Protection for Transmission and Storage”, and incorporated herein by reference.