This application relates to the fields of communication and networking, and in particular, to maintaining end-to-end security between clients and a server, while allowing traffic visibility to intermediate network devices.
Many network security protocols depend on negotiating session keys between clients and servers using expensive asymmetric cryptography and then requiring servers to keep track of a large number of symmetric keys negotiated for each client session. End-to-end security means that there is data authenticity and/or confidentiality of data from one side of a communication in the network all the way to the other side, e.g., client-to-server and server-to-client. Traffic visibility means that intermediate servers and information technology (IT) monitoring devices can view the secured traffic. To some degree, these two goals oppose one another, but both are important for network security in managed environments, where authorized intermediate devices need access to the data for performing valuable network functions such as security scanning for virus/worms.
End-to-end security is important for both clients and servers in order to exclude third parties from tampering with traffic between the client and server, where the client is the most exposed to direct manipulation or tampering. Thus, the uniqueness of the client's secrets (cryptographic keys) is paramount to prevent the compromise of one client from gaining access to the traffic of other clients. Traffic visibility is vital to the IT administration and requires the IT administration devices to observe traffic to detect abnormal phenomenon. Many current major security protocols only provide end-to-end security without concern for traffic visibility.
Recently, for efficiency, the industry has been moving towards single-key combined mode cipher (e.g. AES-GCM and AES-CCM) for both packet encryption and authentication. Resultantly, intermediate network devices having the single-key potentially can compromise the security aspect of network traffic authenticity in terms of end-to-end security. In other words, attackers who are successful in compromising an intermediate network device can freely spoof any legitimate packets that would be accepted by endpoints of clients and server. [AES Advanced Encryption Standard; GCM Galois Counter Mode; CCM=Counter CBC-MAC; and CBC-MAC=Cipher Block Chain Message Authentication Code.]
Embodiments of the present invention will be described by way of exemplary embodiments, but not limitations, illustrated in the accompanying drawings in which like references denote similar elements, and in which:
Illustrative embodiments of the present invention include, but are not limited to, methods and apparatuses for maintaining end-to-end security between clients and a server, while allowing traffic visibility to intermediate network devices. The intermediate network devices are unlikely to be able to fabricate or forge messages to spoof either the clients and/or the server, even if they are compromised by adversaries.
Various aspects of the illustrative embodiments will be described using terms commonly employed by those skilled in the art to convey the substance of their work to others skilled in the art. However, it will be apparent to those skilled in the art that alternate embodiments may be practiced with only some of the described aspects. For purposes of explanation, specific numbers, materials, and configurations are set forth in order to provide a thorough understanding of the illustrative embodiments. However, it will be apparent to one skilled in the art that alternate embodiments may be practiced without the specific details. in other instances, well-known features are omitted or simplified in order not to obscure the illustrative embodiments.
Further, various operations will be described as multiple discrete operations, in turn, in a manner that is most helpful in understanding the illustrative embodiments; however, the order of description should not be construed as to imply that these operations are necessarily order dependent in particular, these operations need not he performed in the order of presentation.
The phrase “in one embodiment” is used repeatedly. The phrase generally does not refer to the same embodiment; however, it may. The terms “comprising,” “having,” and “including” are synonymous, unless the context dictates otherwise. The phrase “A/B” means “A or B”. The phrase “A and/or B” means “(A), (B), or (A and B)”. The phrase “at least one of A, B and C” means “(A), (B), (C), (A and B), (A and C), (B and C) or (A, B and C)”. The phrase “(A) B” means “(B) or (A B)”, that is, A is optional.
Embodiments of the present invention provide a security protocol that enables both end-to-end security between clients and sever, and traffic visibility for intermediate network devices, employing single-pass combined encryption-authentication with two keys, an encryption key and an authentication key, having different key values. Hardware-based, wire speed end-to-end encryption and authentication may be achieved on a frame-by-frame basis or a packet-by-packet basis. For the purpose of this application, the terms “frame” and “packet” may be considered interchangeable, unless the context clearly indicates otherwise. In various embodiments, clients and server communicate with a domain controller that grants the encryption and authentication keys, one set for each client-server relationship. Upon receipt of the encryption and authentication keys, a client and server pair uses them for combined encryption-authentication and for combined authentication-decryption. For traffic visibility without compromise authentication, the domain controller may also send the encryption keys (hut not the authentication key) to authorized IT network devices, such as, for example, an IT monitoring device/host. With the authorized IT network devices having the encryption keys, the authorized IT network devices are able to decrypt the encrypted pass-thru traffic at full wire speed, thus, enabling traffic visibility by the authorized IT network appliances. However, without the authentication keys, the IT network devices are unable to substitute authentications, and therefore unable to spoof the clients and server.
In various embodiments, the single-pass dual-key combined encryption-authentication mechanism may be practiced with a storage saving derived key mechanism. An example of a derived key mechanism may be seen in U.S. application Ser. No. 11/731,562, entitled “End-to-End Network Security with Traffic Visibility”, filed Mar. 20, 2007.
Referring to
The enterprise domain controller 20 distributes the encryption and authentication keys (as indicated by arrows 22) to clients 12 and server 16. Additionally, the enterprise domain controller 20 also distributes the encryption keys (but not the authentication keys) to IT network monitoring host 18. As used herein the term “keys” include both the pre derived or fully derived forms. In other words, as alluded to earlier, domain controller 20 may distribute the encryption and authentication keys “fully derived”, or may practice a storage saving “derive key” mechanism, and distribute these keys pre-derived to authorized devices such as application servers and intermediate IT devices. In various embodiments, the domain controller always distributes derived keys to the clients, as clients are considered more vulnerable to attacks and hence compromising any pre-derived keys.
Referring to
When a client platform receives a frame, indicated as packets arrive at network interface card, a check at diamond 36, in
Next, referring to
The server may transmit a frame using the sequence shown in
The IT network monitoring devices 18 (
In one embodiment, a frame format may piggyback the Internet Protocol security (IPSEC) frames.
In embodiments, both end-to-end security and traffic visibility for an enterprise network are provided. The mechanism may be implemented entirely in hardware, in some embodiments, which achieves full wire speed performance at lower cost in some cases.
Referring to
Referring to
In various embodiments, cipher block 112 operates in AES counter mode, and authentication block 114 operates in AES-GMAC mode. As illustrated cipher block 112 includes a number of counters 92, incrementors 94, forward blocks 96, and a number Boolean function blocks 98, coupled to each other as shown, whereas authentication block 114 includes a number finite field multipliers 104, a forward block 106 and a number of Boolean function blocks 108.
Forward block 106 operates using the authentication key, while forward blocks 96 operate using the encryption key. The ciphertext blocks are successively generated, each by performing a Boolean function (XOR) on a plaintext block and the output of a corresponding forward block 96. For ease of understanding, only two counter 92, forward block 96, Boolean function 98 chains are shown. Those skill in the art will appreciate in practice, typically, multiple counter 92, forward block 96, Boolean function 98 chains are provided.
The first finite field multiplier 104 takes the authentication data as input. Each subsequent finite field multiplier 104 (except the last one) takes as input, the output of a corresponding Boolean function block performing a Boolean function (XOR) on the output of the preceding finite field multiplier 104 and a corresponding ciphertext block. The last finite field multiplier 104 takes as input, the output of a corresponding Boolean function block performing a Boolean function (XOR) on the output of the preceding finite field multiplier 104 and the concatenated length of the authentication tag and the length of the ciphertext. A Boolean operator is performed on the output of the second to last finite field multiplier 104 and the concatenated length of the authentication tag (len(A)) and the ciphertext (len(C)) to generate the authentication tag to accompany the ciphertext of a packet. In various embodiments, the multiplicand H of each of the finite field multipliers 104 is derived in accordance with AES(authentication key, 0128).
Thus, for a recipient device, client or server, a complementary combined decipher (not shown) may first compute the authentication tag for the ciphertext using the authentication key, and determine whether the computed authentication tag matches the authentication tag accompanying the ciphertext. If the computed authentication tag does not match the authentication tag accompanying the ciphertext, the frame or packet may be discarded. And the cipher text is decrypted using the encryption key only if the computed authentication tag matches the accompany authentication tag.
For the intermediate network device, it may decrypt the packet to examine the traffic. However, as noted earlier, without the authentication key, the intermediate network device is unlikely to be able to fabricate or forge messages to spoof the clients/server in the event the intermediate devices are compromised.
Referring to
An embodiment may be included as part of a system, e.g. a system having disk storage, such as a laptop computer, a desktop computer, a server, a game console, a set-top box, a media recorder, and so forth.
An embodiment may be implemented by hardware, software, firmware, microcode, or any combination thereof. When implemented in software, firmware, or microcode, the elements of an embodiment are the program code or code segments to perform the necessary tasks. The code may be the actual code that carries out the operations, or code that emulates or simulates the operations. A code segment may represent a procedure, a function, a subprogram, a program, a routine, a subroutine, a module, a software package, a class, or any combination of instructions, data structures, or program statements. A code segment may be coupled to another code segment or a hardware circuit by and/or receiving information, data, arguments, parameters, or memory contents. Information, arguments, parameters, data, etc. may be passed, forwarded, or transmitted via any suitable means including memory sharing, message passing, token passing, network transmission, etc. The program or code segments may be stored in a processor readable medium or transmitted by a computer data signal embodied in a carrier wave, or a signal modulated by a carrier, over a transmission medium. The “processor readable or accessible medium” or “machine readable or accessible medium” may include any medium that can store, transmit, or transfer information. Examples of the processor/machine readable/accessible medium include an electronic circuit, a semiconductor memory device, a read only memory (ROM), a flash memory, an erasable ROM (EROM), a floppy diskette, a compact disk (CD-ROM), an optical disk, a hard disk, a fiber optic medium, a radio frequency (RI') link, etc. The computer data signal may include any signal that can propagate over a transmission medium such as electronic network channels, optical fibers, air electromagnetic, RF links, etc. The code segments may be downloaded via computer networks such as the Internet, Intranet, etc. The machine accessible medium may be embodied in an article of manufacture. The machine accessible medium may include data that, when accessed by a machine, cause the machine to perform the operations described in the following. The term “data” here refers to any type of information that is encoded for machine-readable purposes. Therefore, it may include program, code, data, file, etc.
References throughout this specification to “one embodiment” or “an embodiment” mean that a particular feature, structure, or characteristic described in connection with the embodiment is included in at least one implementation encompassed within the present invention. Thus, appearances of the phrase “one embodiment” or “in an embodiment” are not necessarily referring to the same embodiment. Furthermore, the particular features, structures, or characteristics may be instituted in other suitable forms other than the particular embodiment illustrated and all such forms may be encompassed within the claims of the present application.
Although specific embodiments have been illustrated and described herein, it will be appreciated by those of ordinary skill in the art that a wide variety of alternate and/or equivalent implementations may be substituted for the specific embodiments shown and described, without departing from the scope of the embodiments of the present invention. This application is intended to cover any adaptations or variations of the embodiments discussed herein. Therefore, it is manifestly intended that the embodiments of the present invention be limited only by the claims and the equivalents thereof.
Number | Date | Country | |
---|---|---|---|
Parent | 11935783 | Nov 2007 | US |
Child | 13337919 | US |