Referring initially to
The network 104 may be any type of suitable communications network that is operable to transmit data from a first endpoint to a second endpoint, where typical endpoints include the communication devices 108 and 112, the switch/server 116, the authorized third party 120, and the unauthorized third party 124. Examples of suitable types of networks 104 include, but are not limited to, a Local Area Network (LAN), a Wide Area Network (WAN) like the Internet, and any other type packet-switched network known in the art.
The server 116 may be a part of an enterprise or service-provider network. The term “server” as used herein should be understood to include a PBX, an ACD, an enterprise server, an IVR server, or other type of communications system-server, as well as other types of processor-based communication control devices such as media servers, computers, adjuncts, etc.
The authorized third party 120 is typically a third party that is interested in analyzing keys generated by the server 116 to verify the strength of the keys generated. Devices used by the authorized third parties 120 to analyze the generated keys may be in the form of a server, super-computer, network of processors, a device emulating an endpoint, or other type of processing mechanism. Authorized third parties 120 are typically given information that allows them to analyze the strength of the generated keys. Information that is typically shared with an authorized third party 120 may include keys that were used to expand and/or scramble the generated key prior to distribution.
On the other hand, an unauthorized third party 124 is typically referred to as an attacker, a hacker, or any other untrusted party that is not intended to have information related to a secured communication session. Most types of unauthorized third parties 124 usually try to intercept encrypted messages, keys, and other sensitive data to exploit it for various reasons.
Referring now to
As will be appreciated, “key strength” or “effective key size” refers to a number of possible combinations or keys. Key strength is commonly a function of key length. For example, the key strength for a random 16-bit key is 216, a 32-bit key is 232, a 64-bit key is 264 and a 128-bit key is 2128. By using a first key having a weaker key strength, the effective cryptographic strength of encryption using the first key is less than that using a second key having a higher effective key strength. The stronger key may be used, for example, in non-export-restricted products, and the weaker key may be used in export-restricted products.
In accordance with at least one embodiment of the present invention, the key generator 204 generates a first key (KG) that has an effective key strength that is in accordance with export regulations. In other words, in order to comply with U.S. export regulations, KG may be generated to have a key length of 64-bits. Thus, the effective key size of KG would be 64. Of course, the key generator 204, depending upon the appropriate regulations and/or other desired operating parameters, may generate larger or smaller keys. For example a 56-bit key or a 72-bit key may be generated then expanded to any size depending upon the desired encryption algorithm.
The generated key having the first effective key strength is then sent to the key expansion member 208. The key expansion member 208 changes the apparent size of KG without changing the effective key strength. The key expansion member 208 may expand the apparent size of KG in a number of different ways. For example, a second key (KE) that is the expansion of KG may be formed as the concatenation of KG with 64-bits of zero, ones, or some other fixed, predictable binary pattern (e.g., a defined ordering of ones and zeros). The concatenation of KG with 64-bits of zero effectively creates a new key with an apparent key size of 128-bits but with an effective key size of the original 64-bits. As can be appreciated by one of skill in the art, zeros may be appended onto the beginning of KG or may be placed within KG at different points. However, in order to make verification of the effective key size of KE easier, it may be advantageous to keep the zeros together either on the end or the beginning of KG. Additionally, as can be further appreciated by one of skill in the art, ones may be used alone or in combination with other zeros to perform the function of the additional zeros. The apparent key size may be expanded to any size, depending upon the type of encryption algorithm that is to be used by the communication devices 108 and 112. Typically, because of U.S. export restrictions, a 64-bit key is generated at the key generator 204 and is expanded to the apparent key size of 128-bits because known encryption algorithms like the AES-128 and other 128-bit encryption algorithms are widely used. A 64-bit key or even a 128-bit key may be expanded to have an apparent key size of 256-bits or even larger, again depending upon the type of encryption algorithm that is desired.
The expanded key KE is then sent to the key encryptor 212, where it is encrypted or otherwise scrambled by a cryptographic algorithm using a system-wide fixed key, to have the appearance of a strong key. The key encryptor 212 may use any sort of suitable cryptographic algorithm using a fixed key (F). The fixed key may be a strong key used by, for example an AES-128 encryption algorithm. In one typical application, the encryption algorithm will use the fixed key F to encrypt the expanded key KE to form the projected key KS to be distributed to the parties which will use it. The key, KS, should be distributed securely so that it is not disclosed to any third party.
Any encryption algorithm, whether using symmetric or asymmetric keys, or any cryptographic hash function, can be used. Examples of suitable symmetric encryption algorithms include, but are not limited to, AES (Federal Information Processing Standard 197), triple DES, RC4, Lucifer, Madryga, NewDES, FEAL, REDOC, LOKI, Khufu and Khafre, RC2, IDEA, MMB, CA-1.1, Skipjack, GOST, CAST, Blowfish, SAFER, 3-Way, Crab, SXAL8/MBAL, RC5, knapsack algorithms, Pohlig-Hellman, Rabin, McEliece, Elliptic Curve Cryptosystems, LUC, finite automation public-key cryptosystems, Ong-Schnorr-Shamir, ESIGN, cellular automata, and the like. Examples of suitable asymmetric encryption algorithms include, but are not limited to, Rivest Shamir and Adelman (RSA), Diffie-Hellman, ElGamal, DSS, and the like. Keyed message authentication functions such as HMAC-SHA1, or keyed Pseudo-Random Functions based on hash functions (e.g., the MIKEY PRF) or encryption algorithms (e.g., the SRTP PRF) may be used with the fixed key, F, to both expand and scramble the weak first key. Note that KS might itself be used by the end parties as the master key of a similar PRF to generate session keys for, e.g., data privacy (encryption) and integrity (message authentication).
The distributed key KS generally has an apparent key size representing a relatively strong key (e.g., a 128-bit key) but it actually has an effective key size (e.g., a 64-bit key) of the smaller generated key KG. Because the projected key KS has the appearance of a strong key it is not easy for a third-party observer to deduce that the effective key size is actually reduced so long as the fixed encryption key F is held secret by the generator.
Once the second key KS has been prepared by the key expansion member 208 and key encryptor 212, the second key KS is sent to the interface 216 for distribution to the endpoints in a secure manner. As can be appreciated, the distribution protocol for KS may employ any of the above noted encryption algorithms or other type of suitable algorithm to secure the key for transmission across an unsecured network. The security afforded should be equivalent to an encryption algorithm utilizing a strong encryption key.
In one embodiment, the key generator 204, key expansion member 208, and key encryptor/scrambler 212 are embodied as software on a processor or controller in the server 116, as hardware (e.g., a logic circuit such as an Application Specific Integrated Circuit or ASIC), or as a combination thereof.
In one embodiment, the key generator 204, key expansion member 208 and key encryptor/scrambler 212 are embodied within one or more of the communication devices 108 and/or 112 which share a predetermined fixed secret key F. A communication device may generate the first key for use in the secured communication session and subsequently share that key with another communication device in a secure manner according to known protocols. Then the secured communication session between the communication devices may be performed using a projected key KS that has an apparent size that is larger than its effective size.
Referring now to
The fixed key F may be distributed to a customer (e.g., an owner of the first and/or second communication device 108 and 112) via the license file, presumably as part of the controls which specify that weak encryption must be used. This could be used to ensure that different customers will not use the same key subspace when conducting secured communications sessions. Thus two separate customers, each knowing the other is restricted to weak keys, cannot easily determine the other's keys because they don't know the fixed key used by the other's system to generate them.
Referring now to
At this point the authorized third party will usually be able to determine that the expanded key KE is nothing more than a smaller generated key, for example KG, concatenated with a number of zeros, ones, or a fixed predictable pattern of ones and zeros. However, if the zeros were inserted into the generated key KG such that a simple examination of the expanded key KE cannot show that a smaller key was generated, the key reduction member 412 reduces the apparent key size of KE and the result is the original KG that was generated initially by the key generator 204. Then the key may be sent to the verification agent 416 that can confirm or deny that the effective key size of the generated key KG was smaller than the apparent key size of the distributed key KS and therefore was generated in compliance with applicable regulations.
Exposure of the fixed key F does assist the authorized third party 120 in reducing the distributed, apparently larger, key KS to the base generated key KG, but it does not offer additional aid in finding the keys for other sessions. This helps to build another layer of security around the generated, potentially weak, keys.
Referring now to
In an alternative embodiment KE may be derived by appending up to M-bits of zero onto the front of KG. The resulting KE would be 01−M, 02−M, 03−M . . . 0N−M∥KG and the apparent size of KE would still be equal to N+M while the effective key size of KE is N. As noted above, M-bits of one may be used instead of M-bits of zero. By placing the M-bits of zero on either the front or back of KG to form KE the verification of the effective key size of the generated key KG is relatively easy for an authorized third party that wishes to verify the size of the generated key KG.
In still a further alternative embodiment KE may be derived by interspersing the M-bits of zero (or one) between the bits of KG. The resulting KE would be X1, 01, X2, 02, X3 . . . XN. This may make it more difficult for the authorized third party to determine the effective key size of KG, but it may help to add another layer of security to the system utilizing the keys generated and distributed by the server 116.
In step 512, the expanded key KE is encrypted or otherwise projected onto the apparent key space using a keyed cryptographic algorithm that is determined in step 516. The determined cryptographic algorithm includes the use of a determined fixed key F. The fixed key F is used to scramble all expanded keys KE that are generated by the key generator 204 regardless of the session or time when the key is generated. This way, an authorized third party with knowledge of the fixed key F can verify the key space occupied by any key generated by the key generator 204. The encryption algorithm may be a stronger encryption algorithm utilizing a relatively strong encryption key F. The result of the projection of the expanded key KE is a projected key KS that can be distributed while complying with U.S. export laws.
In step 520, the recipients of the projected key KS are determined. After the recipients are determined, the projected key KS is distributed securely to the determined recipients (step 524). The recipient may then use the distributed KS to conduct a secured transmission of information between themselves and another communication device.
Referring now to
The authorized third party 120 has typically been given the fixed key F used to create the projected key KS. In step 608, the distributed key KS is decrypted/unscrambled using the projection encryption algorithm and the fixed key F that was supplied to the authorized third party 120 in step 612. Thereafter, the effective key size of the distributed key KS may be determined by the authorized third party 120 (step 616). As noted above, in the event that the distributed key KS was scrambled with a symmetric encryption algorithm, the authorized third party 120 can use the fixed key F to unscramble the key and see the expanded key that includes the generated key and the additional bits that were used to expand the key. In the event that the distributed key KS was scrambled with an asymmetric encryption algorithm, the authorized third party 120 can use the fixed key F to discover the key space occupied by the generated key KS. Then the authorized third party 120 can search the actual key space, rather than searching the larger apparent key space of the distributed key KS. The authorized third party 120 is able to make a determination of the effective size of the distributed key KS while they may not necessarily be given any further information relating to keys generated in other communication sessions.
The present invention, in various embodiments, includes components, methods, processes, systems and/or apparatus substantially as depicted and described herein, including various embodiments, subcombinations, and subsets thereof. Those of skill in the art will understand how to make and use the present invention after understanding the present disclosure. The present invention, in various embodiments, includes providing devices and processes in the absence of items not depicted and/or described herein or in various embodiments hereof, including in the absence of such items as may have been used in previous devices or processes, e.g., for improving performance, achieving ease and\or reducing cost of implementation.
The foregoing discussion of the invention has been presented for purposes of illustration and description. The foregoing is not intended to limit the invention to the form or forms disclosed herein. In the foregoing Detailed Description for example, various features of the invention are grouped together in one or more embodiments for the purpose of streamlining the disclosure. This method of disclosure is not to be interpreted as reflecting an intention that the claimed invention requires more features than are expressly recited in each claim. Rather, as the following claims reflect, inventive aspects lie in less than all features of a single foregoing disclosed embodiment. Thus, the following claims are hereby incorporated into this Detailed Description, with each claim standing on its own as a separate preferred embodiment of the invention.
Moreover, though the description of the invention has included description of one or more embodiments and certain variations and modifications, other variations and modifications are within the scope of the invention, e.g., as may be within the skill and knowledge of those in the art, after understanding the present disclosure. It is intended to obtain rights which include alternative embodiments to the extent permitted, including alternate, interchangeable and/or equivalent structures, functions, ranges or steps to those claimed, whether or not such alternate, interchangeable and/or equivalent structures, functions, ranges or steps are disclosed herein, and without intending to publicly dedicate any patentable subject matter.