Abstract:
An apparatus and method for secure cryptographic communications between a sender and a receiver or multiple receivers that includes first and second timing elements, and first and second key storage units containing multiple keys in a predetermined order for selection depending on respective key times, where the key times occur periodically according to the first and second timing elements, respectively. A data encryptor obtains a new key from the first key storage unit at each occurrence of the key time of the first key storage unit, and uses the key to encrypt an inputted data. And, at least one data decryptor obtains a new key from the second key storage unit at each occurrence of the key time of the second key storage unit. Time synchronization of the participants&#39; equipment provides the method of selecting compatible keys for the encryption and decryption process. This approach not only selects the compatible keys at the sending and receiving ends but also serves to change keys on a regular basis to enhance the overall security of the system.

Description:
BACKGROUND OF THE INVENTION  
         [0001]    1. Field of the Invention  
           [0002]    The present invention relates to an apparatus and method for increasing the security of electronic communications while reducing the logistics involved. More specifically, the preferred embodiments of the present invention relate to a security infrastructure involving electronic cryptographic communications.  
           [0003]    2. Description of Related Art  
           [0004]    Electronic cryptography involves the use of encryption and decryption keys to render the information transmitted to be undecipherable for unintended recipients. It is hoped only the authorized recipient, being in possession of the required decryption key, will be able to decipher the data that is sent.  
           [0005]    However, such a system may be breached if an unauthorized party has knowledge of the cryptographic keys. This can occur through unintentional disclosure or by breaking of the code by a “hacker”. Conventional systems attempt to decrease the likelihood of a security breach by using longer encryption key codes and better management of the key infrastructure. Nevertheless, even systems using longer encryption key codes are susceptible to breach by a hacker, especially in today&#39;s world of powerful computers. Further, management of the key infrastructure increases logistics and maintenance costs, and may create opportunities for unintended disclosure of cryptographic keys.  
         SUMMARY OF THE INVENTION  
         [0006]    To overcome the problems described above, preferred embodiments of the present invention provide apparatuses and methods for the secure transmission of encrypted data where the likelihood of interception of the keys by a hacker as well as the costs of maintaining a robust security system are greatly diminished.  
           [0007]    A preferred embodiment of the present invention includes first and second timing elements, and first and second key storage units containing a plurality of keys in a predetermined order for selection of keys depending on respective key times, wherein the key times occur periodically according to the first and second timing elements, respectively. A data encryptor obtains a new key from the first key storage unit at each occurrence of a key time of the first key storage unit. The data encryptor holds the key for a key period and uses the key to encrypt the data inputted during the key period. Also, at least one data decryptor is provided with a data decryptor obtaining a new key from the second key storage unit at each occurrence of a key time of the second key storage unit. The data decryptor holds the key for a key period and upon receipt of the encrypted data, the data decryptor uses the key to decrypt the encrypted data.  
           [0008]    Another preferred embodiment of the present invention includes at least two data decryptors. The first data decryptor has a current key period, and the second data decryptor has a key period preceding or succeeding the current key period. The data decryptors each hold a key that corresponds to their respective key periods at substantially the same time such that one of those keys matches the key used to encrypt the received encrypted data.  
           [0009]    Another preferred embodiment of the present invention includes at least three data decryptors. The second data decryptor has a current key period, the first data decryptor has a key period preceding the current key period, and the third data decryptor has a key period succeeding the current key period. The data decryptors each hold a key that corresponds to their respective key periods at substantially the same time such that one of those keys matches the key used to encrypt the received encrypted data.  
           [0010]    In another preferred embodiment of the present invention, a method for secure cryptographic communications between a sender location and a receiver location is provided which method includes providing first and second timing signals at sender and receiver locations, respectively. Also included is providing a first and second plurality of keys in a predetermined order, and providing a plurality of key times periodically according to said first and second timing signals, respectively. For encryption, the method involves obtaining a new key from said first plurality of keys at each occurrence of the key times, holding the key for a key period, and using the key to encrypt data inputted during said key period. For decryption, the method involves obtaining a new key from the second plurality of keys at each occurrence of the key times, holding the key for a key period, and decrypting the encrypted data with the key.  
           [0011]    In preferred embodiments of the present invention, the system stores and/or generates in real-time a multitude of encryption keys in the crypto portion of the hardware supplied to an authorized user community. These keys, symmetric or asymmetric in structure, are preferably not known to any of the users. This solves one of the most pervasive causes of security breaches—the unintentional disclosure of an encryption key. These stored and/or generated encryption keys are preferably time synchronized in the hardware of the authorized user community so that the key used to encrypt data at the sending end is the same key that decrypts the data at the receiving end(s).  
           [0012]    The preferred embodiments of the present invention provides several advantages. First, in one preferred embodiment, no key is transferred across the communication media, whether sent by courier, sent electronically in the clear or sent via cryptographic means. Thus, keys cannot be intercepted in such an embodiment. Second, by time synchronizing the authorized user community, the infrastructure is provided to regularly change the keys. System robustness is maintained over a wide range of key periodicity. A practical range for key change is days to nanoseconds. Frequency of key change is influenced by the level of security desired and the accuracy of time synchronization. The more frequent the key change, the higher the security level. Thus, changing keys creates an extremely high entry barrier for the hacker. Thus in preferred embodiments, the keys are changed preferably faster than the state-of-the-art of computing power that a hacker could apply to decipher the keys.  
           [0013]    Due to the simplicity of the key infrastructure described, no key manager is required in the user community, which significantly reduces logistics costs and chances for security breaches. Transmission speed is inherently increased since no bandwidth is wasted on key transfer and authentication. Also, the preferred embodiments of the present invention allow for the utilization of different cryptographic algorithms since key management is independent of encryption algorithms.  
           [0014]    Other advantages of the preferred embodiments of the present invention include that the encryption keys are unknown to anyone in the authorized user community, hence no unintentional disclosure can occur. At the same time, no “public” or “private user community” database exists for keys or any portions of keys, hence this significantly hinders any access to information relating to the keys or their infrastructure. In one preferred embodiment, no third-party Key Authenticators or Certifiers (CAs Certificate Authorities) are required since the preferred embodiment eliminates substantially the possibility of spoofing an unknown key.  
           [0015]    Other important improvements over conventional systems include being able to support numerous cryptographic algorithms, both symmetric and asymmetric. At the same time, architecture using multiple key generation blocks can be used to support PKI like functions. Tiered access and separate levels of security and access within a user community are also possible in one preferred embodiment. Furthermore, the key management scheme of the preferred embodiments is suitable for point to point as well as broadcast communications. And, finally, multiple seed inputs and the resultant remap of information assures against spoofing of the crypto modules of one piece of key data.  
           [0016]    Other features, elements, and advantages of the present invention will be described in detail below with reference to preferred embodiments of the present invention and the attached drawings.  
       
    
    
     BRIEF DESCRIPTION OF THE ATTACHED DRAWINGS  
       [0017]    The present invention will become more fully understood from the detailed description given herein below. The accompanying drawings are given by way of illustration only, and do not limit the present invention and wherein:  
         [0018]    [0018]FIG. 1 is a block diagram of a cryptographic apparatus including three parallel decryptors according to a preferred embodiment of the present invention;  
         [0019]    [0019]FIG. 1A illustrates time synchronization of the data decryptors of FIG. 1; and  
         [0020]    [0020]FIG. 2 is a block diagram illustrating how keys are generated in a preferred embodiment of the present invention.  
     
    
     DETAILED DESCRIPTION OF PREFERRED EMBODIMENTS  
       [0021]    [0021]FIG. 1 is a block diagram of a cryptographic apparatus including three parallel data decryptors according to a preferred embodiment of the present invention. Referring to FIG. 1, a reference time is input to the time input unit  101  and  121  of the crypto hardware that is supplied to the authorized user community. The reference time is preferably Universal Coordinated Time (UTC), which is available worldwide from various sources. The present invention functions equally well with other “world-time” references, or with “relative-time.” A time reference can be obtained from one or more of the following sources, but is not limited to those described below:  
         [0022]    1) Internet Network Time—Time extracted from the communication Internet network using the Network Timing Protocol (NTP) which works in conjunction with servers located throughout the world.  
         [0023]    2) Telecom Network Time—Using Stratum clocks to maintain time after an initial time calibration.  
         [0024]    3) Telephone Dial-up Time—Extracting time from services provided by national or international standards labs.  
         [0025]    4) Clocks Synchronized through Power Utilities—Quartz or atomic oscillators, which after initial time calibration, are synchronized through public utility AC power.  
         [0026]    5) WWVB/LF—Time Signals from USA&#39;s ground based WWVB time service and other international LF services for the same purpose.  
         [0027]    6) CDMA/PCS—Time extracted from the telecom service providing CDMA and CDMA/PCS cell phone service.  
         [0028]    7) Precision Oscillators—Quartz or atomic oscillators, which after initial time calibration, maintain time for a specified period.  
         [0029]    8) GPS/WAAS—Time received from satellite based military and civil navigation systems such as the Global Positioning System and the differential GPS aided WAAS/EGNOS/MSAS satellite signals and other national and international satellite timing signals.  
         [0030]    9) Other timing sources that are available or will become available.  
         [0031]    The reference time is processed in the time input units  101  and  121 , where it can be monitored and periodically resynchronized with the aid of a time set and sync unit  102  and  115 , respectively. The output of the time input unit  101  and  121  forms the clocks  103  and  116 , respectively, which synchronizes the crypto hardware described below.  
         [0032]    The specific key for any particular time period is determined at the time of initialization of the system by the seed for remap units  105  and  122 , which orders the key selection process for all of the synchronized hardware in the authorized user community. Each individual user community may preferably choose its own unique key map by preferably selecting a unique seed for the seed for remap units  105  and  122 .  
         [0033]    Referring to FIG. 2, a block diagram illustrating how keys are generated in a preferred embodiment of the present invention is shown. A user furnishes preferably a 96 bit initialization seed to the re-map units  105  and  122 . The re-map units  105  and  122  preferably include a pseudo-random (PRN) generator  502 , which generates numbers according to the initialization seed and a re-mapping table  504 . A suitable PRN generator is preferably a two 96 bit LFSR connected in a Bi-lateral Stop and Go configuration.  
         [0034]    A pseudo-random 16 bit number is preferably provided by the PRN generator  502  and used as an address to access the PRN re-mapping table  504 . The PRN re-mapping table  504  preferably contains 2 16  unique entries of 16 bit numbers preferably in the range of 0000 to FFFF hexadecimal. Note that the entries in the table  504  are preferably randomly ordered. Data from the table  504  is preferably used as an address to access the key storage unit&#39;s key block formation table  506 . The key block formation table  506  also preferably contains 2 16  entries of 16 bit numbers preferably in the range of 0000 to FFFF hexadecimal. These numbers are not necessarily unique since they are chosen to avoid weak key formation for the associated cryptographic algorithm. The entries are preferably randomly ordered within the table  506 . The resulting 16 bit numbers  508  from the key block formation table  506  are preferably concatenated to form the key used by the cryptographic algorithm. In the case of the 3DES algorithm, 4 numbers are preferably concatenated to form a 64 bit key. The process is preferably repeated to form the second key required for 3DES. Note that in other embodiments, the seed for re-map units and the key storage units may not utilize a PRN generator, but instead include a table of keys synchronized to a timing mechanism. In such an embodiment, both the receiving side and the sending side will share an identical table of keys.  
         [0035]    Referring back to FIG. 1, the data encryptor  107  and the data decryptors  112 - 114  obtain a key from the key storage units  104  and  117 , respectively, which generate keys based on the time data in clocks  103  and  116  (“key time”). After initially obtaining a key, periodic key changes are performed by the data encryptor  107  and the data decryptors  112 - 114  by obtaining a new key from the key storage units  104  and  117 , respectively. The key storage units  104  and  117  assign a new key to the data encryptor  107  and the data decryptors  112 - 114 , respectively, at each key time according to the clocks  103  and  116 , respectively. The data encryptor  107  and the data decryptors  112 - 114  hold the same key until another key time occurs (“key period”) according to the clocks  103  and  116 , respectively. The length of the key period is variable and is preferably a function of the user&#39;s security level requirements and the long-term accuracy of the clocks  103  and  116 . The length of the key period may be set at a range of about every several days to about every microsecond, or even about every nanosecond if the timing mechanisms in the system are sufficiently accurate to maintain sychronization.  
         [0036]    Note that the data encryptor  107  and data decryptors  112 - 114  may be hardware implementations of well known and well studied encryption algorithms. These algorithms are typically of the symmetric key type but the functionality of the synchronization system can be used to support both symmetric and asymmetric key systems. The hardware architecture preferably uses parallel processing and pipe-lining techniques to support extremely fast data transfers. A preferred embodiment of the present invention uses the 3DES, two key encryption and decryption algorithms but the present invention is not limited to this particular algorithm. Any of a number of cryptographic algorithms may be used to implement encryption and decryption.  
         [0037]    During the encryption process, unencrypted data  106  (“red data”) is input to the data encryptor  107 . The data encryptor  107  holds a key obtained from the key storage unit  104  and encrypts the red data  106  with the key during the key period. For example, referring to FIG. 1A, the consecutive use of three different keys, keys A, B, and C is illustrated. If the key period is set to be one minute, and if the clock  103  is at a time of about 8:01 AM, then the data encryptor  107  obtains a key B from the key storage unit  104  and holds key B for one minute. During this one minute, if the red data  106  is input to the data encryptor  107 , then the data encryptor  107  encrypts the red data  106  with key B. However, in the present example, if the time on the Clock  103  is showing 8:02 AM, then the data encryptor  107  obtains key C from the key storage unit  104  and then encrypts with key C the inputted data. Note that for the purposes of explaining the present invention, arbitrary times of 8:00 AM, 8:01 AM, and 8:02 AM have been selected with a key period of one minute. As previously mentioned, the key period can be any length of time.  
         [0038]    In FIG. 1, the encrypted data (“black data”) passes through protocols  108  and is then released into the communications media or channel  110  for delivery to the intended receiver. The black data is received and preferably passes through the applicable protocols  111  and is received by all three data decryptors  112 - 114  preferably at about the same time. In the present example, since the clock  116  is showing 8:01 AM, the data decryptor  113  is expected to decrypt the black data since the data decryptor  113  is synchronized to the current key period showing on the clock  116 . The current key period ranges from approximately 8:01:00 AM to approximately 8:01:59 AM. The data decryptor  112  is synchronized to the preceding key period of the clock  116 , which in the present example ranges from approximately 8:00:00 AM to approximately 8:00:59 AM. The data decryptor  114  is synchronized to the succeeding key period of the clock  116 , which in the present example ranges from approximately 8:02:00 AM to approximately 8:02:59 AM.  
         [0039]    Note that in the preferred embodiment of FIG. 1, all three data decryptors  112 - 114  hold their respective keys at the same time. In other words, when the clock  116  is showing 8:01:00 AM to 8:01:59 AM, the data decryptors hold keys A-C all at the same time, respectively. It is thus arranged because in the present preferred embodiment, it is possible that the clocks  103  and  116  at the sending and receiving ends do not remain in perfect synchronization. This means that the clock  116  could be leading or trailing the clock  103 . For this reason, key A, which is selected for the key period preceding the current key period, is assigned to the data decryptor  112 , and key C, which is selected for the key period succeeding the current key period, is assigned to the data decryptor  114 .  
         [0040]    Hence, if the clock  116  is trailing the clock  103  showing 8:01:30 AM by 40 seconds, then at the time that the data decryptors  112 - 114  receive the black data the clock  116  may be showing 8:00:50 AM. If this is the case, then the data decryptor  114  has the same key as the key used to encrypt the black data since the data decryptor  114  is synchronized to hold the key corresponding to the key period succeeding the current key period. In contrast, if the clock  116  is leading the clock  103  showing 8:01:30 AM by 40 seconds, then at the time that the data decryptors  112 - 114  receive the black data the clock  116  may be showing 8:02:10 AM. If this is the case, then the data decryptor  112  has the same key as the key used to encrypt the black data since the data decryptor  112  is synchronized to hold the key corresponding to the key period preceding the current key period.  
         [0041]    Thus, by using three data decryptors  112 - 114  in preferably a parallel configuration, the system can be used to eliminate interruptions or loss of data resulting from out-of-sync key changes, delays in the communication media, or loss of data-packets that may be in transit during a key transition boundary. In other words, the three data decryptors  112 - 114  cover out-of-sync conditions whether the data decryptors receive black data that crosses the (−) or the (+) time boundaries  109 , as shown in FIG. 1A.  
         [0042]    The processing unit  118  preferably serves at least two functions. The processing unit  118  processes the decrypted data to the data out  119  of the receiver and it calculates a time difference between the clock  116  for all practical purposes and the clock  103 . More particularly, only one of the three parallel decryptors  112 - 114 , for instance decryptor  113 , is expected to be decrypting the data at any given time; when a transition from one data decryptor to another data decryptor occurs, it means that the data decryptors  112 ,  113 , and  114  have changed keys while the black data received is still encrypted with the old key, or that the received data has switched key while the decryptors have not. Hence, the processing unit  118  measures the + or − offset of the incoming signal with its own clock  116  at the time of transition. When that difference exceeds a predetermined limit, for example, 10 seconds, the processing unit  118  raises a flag  120  requesting new time synchronization. The flag  120  will indicate that either the clock  103  or the clock  116  is off by more than a specified offset limit. Once the flag  120  is raised, the receiver is alerted to check its clock  116  against the reference clock and resynchronize the clock  116 .  
         [0043]    For time inputs from network and external sources, time synchronization and resynchronization is done automatically and is transparent to the users. In the case of self-contained oscillators providing the time source, an initial calibration is implemented, with oscillators maintaining sync for years and decades, depending on the robustness of the oscillator selected. The time accuracy that must be maintained as it relates to the present preferred embodiment is approximately equal to the frequency of key changes. That is, if keys are changed about every minute, time synchronization accuracy must be within about one minute, including all transport delays.  
         [0044]    In other preferred embodiments, the present invention may have one data decryptor, two data decrytors or four or more data decryptors, and is not limited to the three data decryptor configuration shown in FIG. 1. However, if less than three data decryptors are used, it is preferable that the data decryptor(s) have a greater synchronization accuracy so as to avoid erros caused by untimely key transitions. If only one data decryptor is provided, it is also preferable to provide a storage media.  
         [0045]    While the invention has been particularly shown and described with reference to preferred embodiments thereof, it will be understood by those skilled in the art that the foregoing and other changes in form and details may be made therein without departing from the spirit and scope of the invention.