NETWORK SECURITY DEVICE

Abstract: A network security device (10) is connected between a protected client (12) and a network (100). The network security device (10) negotiates a session key with any other protected client. Then, all communications between the two clients are encrypted. The inventive device is self-configuring and locks itself to the IP address of its client (12). Thus, the client (12) cannot change its IP address once set and therefore cannot emulate the IP address of another client. When a packet is transmitted from the protected host, the security device (10) translates the MAC address of the client to its own MAC address before transmitting the packet into the network. Packets addressed to the host, contain the MAC address of the security device. The security device (10) translates its MAC address to the client's (12) MAC address before transmitting the packet to the client (12).

Description: NETWORK SECURITY DEVICE Field of the Invention The present invention is directed to a network security device that is connected between a protected computer (the client) and a network and a method for utilizing the network security device. The network security device negotiates a session key with any other protected client. Then, all communications between the two clients are encrypted. The inventive device is self configuring and locks itself to the IP (Internet Protocol) address and MAC address of its client. The client cannot change its IP or MAC address once set. Thus, the inventive network security device does not allow a client to emulate another client by setting a false IP or MAC address. Background of the Invention A. Network Architecture An internet communications network 100 is depicted in FIG. 1 including five transmit or backbone networks A,S,C,D, and E and three stub networks R, Y, and Z. A "backbone" network is an intermediary network which conveys communicated data from one network to another network. A "stub" network is a terminal or endpoint network from which communicated data may only initially originate or ultimately be received. Each network, such as the stub network R, includes one or more interconnected subnetworks I, J, L and M. As used herein, the term "subnetwork" refers to a collection of one or more nodes, e . g . , ( d) , ( a ) ( b , x , y) , ( q , v ) ( r , z ) , ( s , u ) , (e, f,g) , (h, i) , (j ,k, 1) , (m,n) , and (o,p) , interconnected by wires and switches for local internodal communication. Each subnetwork may be a local area network or LAN. Each subnetwork has one or more interconnected nodes which may be host computers ("hosts") u,v,w,x,y,z or routers a,b, c,d, e, f,g,h, i, j ,k, 1,m,n,o,p,q, r, s . A host is an endpoint node from which communicated data my initially originate or ultimately be received. A router is a node which serves solely as an intermediary node between two other nodes; the router receives communicated data from one node and retransmits the data to another node. Collectively, backbone networks, stub networks, subnetworks and nodes are referred to herein as "internet systems". FIG. 2 shows a block diagram of a host or router node 10. As shown, the node may include a CPU 11, a memory 12 and one or more I/O ports (or network interfaces) 13-1, 13-2, . , 13-N connected to a bus 14. Illustratively, each I/O port 13-1, 13- 2, . . ., 13-N is connected by wires, optical fibers, and/or switches to the I/O port of another node. The I/O ports 13-1, 13-2, . . ., 13-N are for transmitting communicated data in the form of a bitstream organized into one or more packets to another node and for receiving a packet from another node If the host 10 is a host computer attached to subnetwork which is an Ethernet, then the host will have one I/O port which is an Ethernet interface A host which initially generates a packet for transmission to another node is called the source node and a host which ultimately receives the packet is called a destination node Communication is achieved by transferring packets via a sequence of nodes including the source node, zero or more intermediary nodes, and the destination node, m a bucket brigade fashion For example a packet may be communicated from the node w to the node c, to the node d, to the node b, and to the node x An exemplary packet 40 is shown m FIG 3A having a payload 41 which contains communicated data (i.e., user data) and a header 42 which contains control and/or address information Typically, the header information is arranged in layers including an IP layer and a physical layer. The IP layer typically includes an IP source address, an IP destination address, a checksum, and a hop count which indicates a number of hops in a multihop network A physical layer header includes a MAC address (hardware address) of the source and a MAC address of the destination. The user data may include a TCP (Transfer Control Protocol) packet including TCP headers or a UDP (User Data Protocol) packet including UDP headers. These protocols control among other tnings, the packetizing of information to be transmitted, the reassembly of received packets into the originally transmitted information, and the scheduling of transmission and reception of packets (see e.g., D. Commer, "Internetworking With TCP/IP", Vol. 1 (1991) ; D. Commer and D. Stevens, "Internetworking With TCP/IP", Vol. 2 (1991) ) . In an exemplary internet protocol call IP, each node of the internet 100 is assigned an internet (IP) address which is unique over the entire internet 100 such as the internet address for the node y shown in FIG. 3B. See, Information Sciences Institute, RFC 791 "Internet Protocol", September, 1981. The IP addresses are assigned in a hierarchical fashion; the internet (IP) address of each node contains an address portion 31 indicating the network of the node, an address portion 32 indicating a particular subnetwork of the node, and a host portion 33 which identifies a particular host or router and discriminates between the individual nodes within a particular subnetwork. In an internet 100 which uses the IP protocol, the IP addresses of the source and destination nodes are placed in the packet header 42 by the source node. A node which receives a packet can identify the source and destination nodes by examining these addresses. B. Encryption Techniques Eavesdropping in a network, such as the network 100 of FIG. 1, can be thwarted through the uεe of a message encryption technique. A message encryption technique employs an encipherment function which utilizes a number referred to as a session key to encipher data (i.e., message content) . Only the pair of hosts in communication with each other have knowledge of the session key, so that only the proper hosts, as paired on a particular conversation, can encrypt and decrypt digital signals. Two examples of encipherment functions are the National Bureau of Standards Data Encryption Standard (DES) (see e.g., National Bureau of Standards, "Data Encryption Standard", FIPS-PUB-45, 1977) and the more recent Fast Encipherment Algorithm (FEAL) (see e.g., Shimizu and S. Miyaguchi, "FEAL-Fast Data Encipherment Algorithm, " Systems and Computers in Japan, Vol. 19, No. 7, 1988 and S. Miyaguchi, "The FEAL Cipher Family", Proceedings of CRYPTO '90, Santa Barbara, Calif., Aug., 1990) . Another encipherment function is known as IDEA. One way to use an encipherment function is the electronic codebook technique. In this technique a plain text message m is encrypted to produce the cipher text message c using the encipherment function f by the formula c=f(m,sk) where sk is a session key. The message c can only be decrypted with the knowledge of the session key sk to obtain the plain text message m=f (csk) . Session key agreement between two communications hosts may be achieved using public key cryptography. (See e.g., U.S. Patent Nos. 5,222,140, 5,299,263) . Before discussing public key cryptographic techniqueε, it is useful to provide some background information. Most practical modern cryptography is based on two notorious mathematical problems believed (but not proven) to be hard (i.e., not solvable in polynomial time, on the average) . The two problems are known as Factorization and Discrete-Log. The Factorization problem is defined as follows: Input : N, where N=pq where p and q are large prime numbers Output: p and/or q. The Discrete-Log problem is defined as follows: Input: P,g,y, where y=g x mod P, and P is a large prime number Output: x. (The Discrete-Log problem can be similarly defined with a composite modulus N=pq) . Based on the Factorization and Discrete-Log problems, some other problems have been defined which correspond to the cracking problems of a cryptographic system. One system of such a problem which has previously been exploited in cryptography (see, e.g., H.C. Williams, "A Modification of RSA Public-Key Encryption", IEEE Transactions on information Theory, Vol. IT-26, No. Nov. 6, 1980) is the Modular Square Root problem, which is defined as follows: Input: N,y, where y≡x 2 mod N, and N=pg, where p and q are large primes Output: x. Calculating square roots is easy if p and q are known but hard if p and q are not known. When N is composed of two primes, there are in general four square roots mod N. As used herein, z-=\/ ^" x mod N is defined to mean that x is the smallest integer whereby z 2 ≡x mod N. Another problem is known as the Composite Diffie-Hellman (CDH) problem, which is defined as follows: Input : N, g, g x mod N, g y mod N, where N=pq and p and q are large primes. Output : g xy mod N. It has been proven mathematically, that the Modular Square Root and Composite Diffie-Hellman problemε are equally difficult to εolve as the above-mentioned factorization problem (see, e.g., M.O. Rabin, "Digitalized Signatures and Public Key Functions as Intractable as Factorization", MIT Laboratory for Computer Science, TR 212, Jan. 1979; Z. Shmuely, "Composite Diffie-Hellman Public Key Generating Schemes Are Hard To Break" , Computer Science Department of Technion, Israel, TR 356, Feb. 1985; and K.S. McCurley, "A Key Distribution System Equivalent to Factoring:, Journal of Cryptology, Vol. 1, No. 2, 1988, pp. 95-105) . In a typical public-key cryptographic system, each user i has a public key P. (e.g., a modulus N) and a secret key S ^ (e.g., the factors p and q) . A message to user i is encrypted using a public operation which makes use of the public key known to everybody (e.g., squaring a number mod N) . However, this mesεage iε decrypted uεing a secret operation (e.g. , square root mod N) which makes use of the secret key (e.g., the factors p and q) . C. Network Security Devices At present, the existing network security products are categorized into two classes: (1) firewalls, such as Janus and ANS and (2) software products, such as encrypted mail, secured http, one time password, etc. The firewall is a dedicated computer, usually running a Unix operating system. It acts as a filter for incoming and outgoing communications. The firewall is placed as a router between the local area network (LAN) and the outside world. The decision whether to paεε a packet is made based on the source and/or destination IP address, and the TCP port number. Some firewallε also have the ability to encrypt data, providing that both sides of the communication employ the same brand of firewall. Some firewalls have a personal authentication feature. Software products are based on the premise that the computer on which they are inεtalled are secured, and protection is only needed outside on the network. Thus, such software products can easily be bypasεed by breaking into the computer. A typical εcheme iε when an intruder implants a "Trojan Horse" on a computer which sends him an unencrypted copy of every transaction. Sometimeε, it is even done as a delayed action during the off-hours when the computer is not likely to be supervised. In addition, there are authentication products designed to maintain the integrity of the computer against intruεion. Theεe productε are baεed on the premiεe that they are 100% εecured. Once the product iε compromised, it becomes totally ineffective. Sometimes, careless use by the one user may jeopardize all other users of the product. Firewalls are more effective in maintaining network security. However they are very expensive. Their price range is between $10,000 and $50,000, plus the price of the hardware. They require a high level of expertise to inεtall and maintain. The moεt εophisticated and effective firewalls require a specially trained technician or engineer for their maintenance. The εpecial training cost is up to $10,000 per person, and the salary adds $60,000 to $120,000 or more per annum to the cost . Firewalls have to be constantly maintained, modified, and monitored in order to yield reasonable security. They only cover the TCP part of the Internet Protocol and not the UDP part. Thus, they do not provide security to NFS (Network File Services) and many client/server applicationε. The firewall iε a full service computer which can be logged into for maintenance and monitoring. Thus, it can be broken into. Once a firewall iε compromised it loses its effectiveness and becomes a liability rather than a security aid. Firewalls only protect the connection between a LAN and a WAN (Wide Area Network) . It does not protect against intrusion into a particular host from within the LAN. In view of the foregoing, it is an object of the present invention to provide a network security device which overcomes the shortcomingε of the prior art network εecurity deviceε. In particular, it is an object of the present invention to provide a hardware device to provide network security for individual hosts attached to a network. Summary of the Invention The network security device of the present invention compriseε a first network interface connected to a protected client, a second network interface connected to a portion of a network, and a procesεing circuit connected to both interfaceε. Illustratively, the portion of the network to which the protected client is connected is an Ethernet and the first and second network interfaces are Ethernet interfaces. The proceεεing circuit connected in between the two interfaceε may be a conventional CPU εuch aε an Intel 486 DX2-66 or a Pentium. Alternatively, the proceεεing circuit may be implemented as one or more ASICs (Application Specific Integrated Circuits) or a combination of ASICs and a CPU. A communication from the protected client, goes from the client, to the first interface, to the processing circuit, to the second interface and into the network. Similarly, a communication received from the network, goes from the second interface, to the processing circuit, to the first interface and to the protected client. Preferably, the network security device is a εealed device and it cannot be logged into. It haε the same IP address as the protected client. A number of important functions are performed by the inventive network εecurity device. The network security device learns the MAC and/or IP address of its client and locks itself to these addresεeε. To lock, the MAC and/or IP addreεε is εtored in a permanent memory of the network εecurity device. A packet arriving from the client will not be passed into the network if the packet has a MAC and/or IP addreεε different from that which is stored m memory Thus, the protected client is unable to change its MAC and/or IP addreεε . Thiε preventε the protected client from emulating the MAC and/or IP address of another client in the network When a packet arrives at the first network interface from the client, the procesεing circuit substitutes a MAC address of the network security device for the MAC address of the protected client. Then the packet is pasεed to the second interface and into the network. The same translation is performed m reverse for packets arriving at the network security device from the network side. Packets received from the protected client are encrypted using an encipherment function such as IDEA, FEAL or DES before being transmitted via the network to a destination Similarly encrypted packets received from a destination are decrypted. Such encryption and decryption requires a common seεsion key to be possessed jointly by the protected client and the destination (the destination being a protected client of another network security device located someplace else in the network) . The common seεsion key is obtained using a public key cryptography technique. Thus, both of the protected clients (hereinafter labeled I and j ) have public keys P , P and secret keys S , S- . The public keys P and P have a static part and a dynamic part which iε updated periodically. The secret keyε S., S- also have a static part and a dynamic part. To aid in the key exchange, the network security device maintains two databases. A static database contains information about secured hosts or nodes in the network. A secured host or node is a host or node that is protected by a network security device. Each entry in the static database contains information about a particular secured host, i.e., the host IP address, time entered in the database, and the host's permanent public key. A dynamic data base contains information about secured and unsecured hostε. Each entry in the dynamic databaεe includes a host'ε IP address, a flag indicating whether or not the host is secured, a flag indicating whether the host is in tranεition (i.e., in the middle of a key exchange) , and a pointer to a common secret session key. The protocol used by the network security device of host i to agree on a common seεsion key with a network εecurity device of host j is as follows. Consider a communication from host i to host j . The communication arrives at the network security device of host i from host i. The network security device checks if host j iε in the dynamic database. If host j is in the dynamic database, it is determined if the dynamic database has a common session key for communication between host i and host j . If there is such a common session key, the communication from host i is encrypted using the common sesεion key and tranεmitted to host j . If there iε no common sesεion key, then host i sends the dynamic part of its public key P. to host j and host j replies by sending the dynamic part of its public key P 3 to host i. The exchange of dynamic parts of the public keys may be encrypted using the static part of the public keys, which may be obtained from the static databases at host i and host j . The common εeεsion key is then calculated according to a Diffie-Hellman technique for example : Assume that P. = g Sl mod N where N is either prime or the product of two primes. Assume that P. = g S mod N. After the exchange of public keys, the network security device at host i calculates η = P. Sl = g S3Sl mod N. Similarly, the network security device at host j calculated η = P. S] = g SlS: mod N. Thus, both hoεts i and j are in possession of the same number η . Thiε number may then be used aε a common session key or used to derive a common session key. Note that this assumes that there is an entry for host j in the static database of host i. If there iε not, the exchange of dynamic public keys is preceded by an exchange of static public keys and the forming of a database entry for host j in the static database at host i. Moreover, if there is no entry for host j in the dynamic database of hoεt i, such an entry will be generated before the dynamic key exchange. It should be noted that encryption takes place at the IP level so that TCP and UDP packets are encoded. In short, the inventive network security device has a number of significant advantages. Like a firewall, the inventive network security device is a hardware/software combination in a preferred implementation. However, it is a εealed "box" and cannot be logged into. Hence, it cannot be compromised the way a firewall can. It iε much cheaper than a firewall. Thuε, each node in the LAN can be equipped with it. This way, it provides protection inside the LAN aε well as outside. The network security device works directly at the IP level. It therefore, covers all types of IP protocols and requires no special configuration to different network applicationε. Thuε, the inventive network security device iε maintenance free. The inventive network security device senses the IP address of the client host and locks itself to it. It requires no installation. Once locked, it does not allow the client host to change its IP address. The inventive network security device alεo maintains a permanent database of secured hostε. If a requeεt for key arbitration arrives that conflicts with the database, that host is denied communication. The combination of the above two features creates a double authentication of the IP address. The inventive security device creates a physical barrier between the client and the network. Thuε, preventing attemptε to bypass by direct Ethernet communications. The inventive security device encrypts all communication to the network, including the exchange of dynamic public keys. Brief Description of the Drawings FIG 1 schematically illustrateε an internet network. FIG 2 εchematically illustrates the architecture of a host in the network of FIG 1. FIGs 3A and 3B illuεtrate the format of a packet tranεmitted in the network of FIG 1. FIG 4 illuεtrates a network security device for use with a host in the network of FIG 1 in accordance with an embodiment of the present invention. FIG 5 illustrateε an entry in a static database maintained by the network security device of FIG 4. FIG 6 illustrateε an entry in a dynamic database maintained by the network security device of FIG 4. FIG 7 is a flow chart which illustrateε a key exchange algorithm utilized by the network security device of FIG 4. FIG 8 is a flow chart of an ARP handling algorithm utilized by the network security device of FIG 4. FIG 9 is a flow chart of an IP packet handling algorithm utilized by the network security device of FIG 4. Detailed Description of the Invention FIG 4 schematically illustrates a network security device in accordance with an illustrative embodiment of the invention. The security device 10 comprises a first interface 0 which is connected to the client host 12. Specifically, the interface 0 iε connected to a network interface in the client hoεt 12 (e.g., an interface 13 of Fig. 2) via a cable or wire 13. The security device 10 compriseε a second interface 1 which is connected to a portion of a network 100. Illustratively, the interface 1 is connected to an Ethernet so that the interfaces 0,1 are Ethernet interfaces such as SMC Elite Ultra Interfaces. A CPU 14 is connected to the interfaces 0,1. The CPU is for example an Intel 486 DX 62-66. A static memory 16 (e.g. flaεh EEPROM) iε connected to the CPU 14 and a dynamic memory 18 (e.g. RAM) iε connected to the CPU 14. An optional encryption module 20 performε encryption and large number arithmetic operations. The encryption unit may be implemented as a programmable logic array. Alternatively, the encryption module may be omitted and its function may be carried out using a software program which is executed by the CPU 14. The interface 0 is put in a promiscuous mode. In this mode, the interface 0 pasεes all communications from the client host 12 that is sensed on the cable 13 to the CPU 14. The network connection is via the interface 1 which is set to the same IP addresε aε the client 12. The network security device 10 responds to the Address Resolution Protocol by εending its own (rather than the client's) MAC address. This addε a level of εecurity by blocking attemptε to bypaεε the device 10 using the Ethernet protocol . The CPU 14 maintains two databases. One database is a static database stored in the Flash ROM 16. This database contains permanent information about secured nodes in the network, i.e., the node IP address, time entered into the database, the nodes permanent public key. The structure of an illustrative record for a node in this database iε εhown in FIG 5. A second database is a dynamic database. The dynamic database containε information about secured and unsecured nodeε, i.e., the node IP address, time last updated, a flag indicating whether the node is secured (e.g., has its own network security device) , a flag indicating whether the node is in tranεition (i.e., in the middle of a key exchange) , a pointer to a common secret key with that node. The structure of an illustrative record for a node in this database is shown in FIG 6. The transition flag haε three poεεible values, 0- not in transition, 1-pending reply from remote host, and 2- pending computation of common key. The software executed by the CPU 14 has three components: (1) operating system, (2) networking syεtem, (3) key computation algorithms. The operating system and the networking syεtem are both part of a Unix like kennel . The key computation algorithm reεide in memory and are signalled into action by the networking system The operating syεtem is a lobotomized Linux εystem with all drives taken out except the RAM, disk and Ethernet interfaces The networking system is for communication, key exchange, encryption, configuration, etc . The key exchange algorithm is illustrated in Fig 7. Consider the case where the host client wants to send a communication to a node in the network whose IP = A When the communication arrives at the network security device of the host client (step 60 of Fig. 6) , the dynamic data base (DDB) is checked to determine if there is an entry for node A m the dynamic data base (step 61) . If there is an entry for node A in the dynamic data base, a check is made to see if a common seεεion key for node A and the protected client has expired (step 62) . If the common seεsion key has not expired the packet is encrypted using the session key and an encipherment function such as IDEA (εtep 63) . If the common session key has expired, the dynamic data base entry for the node IP=A is marked in unsecured transition (step 64) which means a key exchange is taking place. The exchange of the dynamic parts of the public keys of the host client and the node with IP=A proceeds aε follows The host client (i.e., the source) sends ltε dynamic public key and IP addreεs to the node with IP=A (the destination) (step 65) and waits five seconds for a reply (step 66) . The dynamic public key of the host may be encrypted with the static public key of the node with IP=A. The reply is the dynamic public key of the destination node with IP=A. This may be encrypted with the static public key of the hoεt client. The εteps 65 and 66 are repeated three times. If no reply is received (step 68) from the destination, the source network security device marks the transition off (step 67) in the DDB entry for the destination. If a reply is received the transition flag for the destination in the DDB of the network security device of the hoεt iε εet to 2 (εtep 69) . Then a common session key for the source and destination is calculated by the network security device of the source (step 70) using for example a Diffie- Hellman technique as described above. The common seεsion key is then entered into the DDB of the source network security device (step 71) and the transition flag for this DDB entry is marked 0 (step 72) . The exchange of dynamic public keys and the calculation of a common session assumeε that there iε an entry for the deεtination node with IP=A in the εtatic data baεe (SDB) of the εource network εecurity device and in the dynamic data base of the source network security device. If these entries do not exist, they may be created prior to dynamic public key exchange (εtepε 65-69) . If there is no DDB entry for node IP=A, (step 61) an entry iε created (step 81) and the tranεition flag for thiε entry is marked in unsecured transition (step 82) . A check is then made to determine if the SDB of the source network security device has an entry for node IP=A (step 83) . If there iε such an entry, proceed with dynamic key exchange (step 65 etc.) . The source network security device transmits the permanent public key of the source to node IP=A (step 84) and waits five seconds for a reply (step 85) . The steps 84 and 85 may be repeated several, e.g., three times. If a reply is received (step 86) , an entry is created in the SDB (step 87) . If no reply is received, the transition flag in the entry in the DDB is marked transition off (step 67) . As indicated above in a preferred embodiment, the network security device is a sealed box which cannot be logged into. The network security device 10 senses the IP (and/or MAC) address of the client host 12 and locks itself to it. Once the network security device is locked to the addresε, the client iε presented by the network εecurity device from changing its IP (and/or MAC) address. The Address Resolution Protocol (ARP) is the protocol which is used to resolve an IP address into a matching Ethernet machine (MAC) address which is the actual addresε to which the network interface reεpondε. The inventive network security device uses ARP (Address Resolution Protocol) to configure itself and hide the client host . Fig. 8 Shows how the inventive network security device proceεεeε an ARP requeεt with IP=B. The requeεt may arrive from the hoεt at interface 0 or form the network at interface 1 (step 100) . If the request arrives via interface 0, the network εecurity device determines if it is configured (step 102) . If the network security device is not configured, it configures itself (εtep 103) . Configuration involveε εtoring in a permanent memory, the IP address and/or the MAC address of the host. After configuration, the CPU in the network security device replaces the MAC addreεε of the source with the MAC addresε of interface 1 (εtep 104) and sends the request to interface 1 (step 105) . The request is then tranεmitted to itε destination via the network. If the host's network security device is already configured (step 102) , it is determined if the requeεt iε a reply (εtep 106) . Thiε is done by checking the destination MAC field. In a reply this field is not zero. If the requeεt is not a reply, MAC addresε tranεlation takeε place according to εtep 104 and the requeεt iε εent to interface 1 (εtep 105) for transmission into the network. If the request iε a reply, it iε determined if the εource IP address in the request matches the IP address now permanently stored in memory (step 107) . If there is a match, the requeεt iε dropped (εtep 108) εince the network εecurity device haε already answered the ARP. If there is not a match, the system is shut down (step 109) . It the request arrives via the network at interface 1, the request is pasεed to interface 0 (εtep 111) . If the request is a reply (step 112) , paεs the request to the interface 0 (step 113) . If the request is not a reply, the request iε anεwered uεing the MAC addreεs of interface 1 (step 114) . Fig. 9 illustrates a packet handling algorithm utilized by the inventive network security device. Illustratively the packet arrives with the source address IP=C (step 200) . The packet may arrive from the hoεt at interface 0 from the network at interface 1. Firεt consider the case where the packet arrives from the host at interface 0. If the packet carries an ICMP (Internet Control Message Protocol) or IGMP (Internet Gateway Mesεage Protocol) identification (step 201) , the packet is pasεed to the interface 1 without encryption. However, the εource MAC addreεs in the packet iε tranεlated to the MAC address of interface 1 (step 202) . ICMP and IGMP Packets are not addressed to a destination host. Rather these packets are utilized by intermediate entities in the network, e.g., routers, for various functions. If the destination to which the packet is addressed is insecure, the packet is dropped (εtep 203, 204) . The device may be in a secured/unsecured mode (special order) . In such case the packet will be εent unchanged. Next, it iε determined if the packet contains a part of a message that has been fragmented (step 205) . If the packet contains a fragment, the fragmentε are collected (step 206) and the message is encrypted (step 207) . The encryption takes place using the common session key and an encipherment function. If the encrypted message is too long for the particular LAN (εtep 208) , it iε fragmented (εtep 209) . An encrypted packet iε then tranεmitted to interface 1 for transmission into the network (step 210) . An encrypted packet carries a signature in the protocol IS part of the IP header. This indicates that the packet is encrypted. The IP address of a packet iε not encrypted, otherwise the packet could not be routed through the network. The case where the packet arrives via the network at interface 1 is now considered. If the packet is an ICMP or IGMP packet (step 220) no decryption is necesεary and the packet is sent to interface 0 (step 221) . If the packet is a key exchange packet (step 222) the packet is processed according to the key exchange protocol (step 223) . If the packet is not encrypted (step 224) the packet is dropped (step 225) . The device may be in a secured/unsecured mode (special order) . In such cse the packet will be sent to the client unchanged. If the packet is encrypted but the network security device doeε not have the key (εtep 226) , the key exchange protocol iε carried out (εtep 227) and the packet is dropped (step 228) . If the key iε available in the dynamic data baεe of the network εecurity device, the packet iε decyrpted (εtep 229) and εent to interface 0 (step 230) . For packetε received from the network the MAC addreεs of the network security device is translated into the MAC addresε of the client . For packetε received from the protected client, the MAC addreεε of the client is translated into the MAC addresε of the network security device. In short, a unique network security device has been disclosed. Finally, the above described embodiments of the invention are intended to be illustrative only. Numerous alternative embodiments may be devised by thoεe εkilled in the art without departing from the scope of the following claims.

Claims: CLAIMS 1. A network security device for protecting at least one particular node which communicates via a network comprising: (a) a firεt network interface connected to the at least one particular node, (b) a second network interface connected to the network, (c) a processing circuit connected to said first and second interfaces, said processing circuit (1) translating a MAC address of said at least one particular node contained in a packet received in said first interface from said at least one particular node into a MAC address of said network security device before said packet is transmitted into said network by εaid second interface, and (2) translating a MAC address of said network security device contained in a packet received from said network into said MAC addresε of said at least one particular node. 2. The network security device of claim 1 wherein said first and second network interfaces are Ethernet interfaces. 3. The network εecurity deviceε of claim 1 wherein εaid proceεεing circuit encrypts user data contained in said packet received from said at least one particular node, while an IP address contained in εaid packet received from said at least one particular node remains unencrypted. 4. The network security device of claim 3 wherein εaid proceεεing circuit encryptε a TCP packet including a TCP packet header contained in said packet received from said at least one particular node. . 'i'ne network security device of claim 3 wherein said proceεεing circuit encryptε a UDP packet including a UDP packet header contained in εaid packet received from εaid at leaεt one particular node. 6. The network εecurity device of claim 3 wherein εaid proceεsing circuit encryptε said user data using a seεεion key and an encipherment function. 7. The network security device of claim 1 wherein said network security device maintains a first database containing information indicating an IP addresε and a permanent public key for one or more nodes in said network. 8. The network security device of claim 7 wherein said network security device maintains a second database indicating for one or more nodes in said network, an IP addreεε, and a common εeεεion key with said at leaεt one particular node. 9. The network εecurity device of claim 8 wherein one or more nodeε in εaid dynamic database are unsecured nodes . 10. A network security device for protecting at least one particular node which communicates via a network comprising: a first network interface connected to said at least one particular node, a second network interface connected to εaid network, and a processing circuit connected to said firεt and second interfaces, said proceεsing circuit encrypting user data contained in a packet received at said first interface from εaid at least one particular node before said packet is transmitted by said second interface into said network, while an IP address in said packet remains unencrypted. 11. The network security device of claim 10 wherein said user data is a TCP packet. 12. The network εecurity device of claim 10 wherein said user data is a UDP packet. 13. The network security device of claim 10 wherein said processing circuit translateε a MAC addreεε of εaid at least one particular node contained in said packet into a MAC address of said network security device. 14. A method for transmitting a packet from a first node into a network compriεing the steps of: (1) generating a packet containing a MAC address of said first node, and IP addresε of a destination, and user data, (2) in a network security device connected between said first node and said network, translating said MAC addresε of εaid first node into a MAC addresε of εaid network εecurity device, and (3) transmitting said packet into said network. 15. The method of claim 14 further comprising the step of in said network security device encrypting said user data, while leaving said IP address unencrypted. 16. The method of claim 14 wherein said user data includes a TCP packet . 17. The method of claim 14 wherein εaid uεer data includes a UTP packet . 18. The method of claim 14 wherein said encrypting step comprises negotiating a sesεion key common to εaid firεt node and a second node in said network. 19. The method of claim 18 wherein εaid εtep of negotiating a common εeεεion key compriεeε the εteps of (1) at said network security device, using a static public key of said second node, encrypting a dynamic public key of εaid first node and transmitting said dynamic public key of said first node to said second node, (2) receiving from said second node a dynamic public key of said second node encrypted with a static public key of said first node and decrypting said dynamic public key of said second node with a static secret key of said first node at said network security device, (3) at said network security device, generating said common εession key from a dynamic secret key of said first host and said dynamic public key of said second node . 20. The method of claim 19 wherein said firεt node maintains a static database containing information which identifieε static public keyε of other nodes in said network and from which said network εecurity device obtainε said static public key of said second node. 21. The method of claim 20 wherein said network security device maintains a dynamic database including an indicator of said common session key. 22. A method for transmitting a packet from a node into a network comprising the εtepε of : (1) generating a packet containing a MAC addreεs of said host, an IP address of a destination, and uεer data, (2) in a network security device connected between said host and εaid network, encrypting εaid user data but not said IP address, (3) transmitting said packet into said network. 23. In combination, a node in a network, and a security device connected between said node and a network, said security device preventing said node from changing its IP address so that said node cannot emulate another node in said network. 24. The combination of claim 22 wherein said security device stores said IP address in a permanent memory and blocks packets received from said node with an IP address different from said stored IP address from entering said network. 25. The combination of claim 22 wherein said security device comprises a first network interface connected to said node, a second network interface connected to said network, and a processing circuit connected to said first and second interfaces for encrypting user data but not IP addresses. 26. A method for preventing a node in a network from emulating another node in said network comprising the steps of: (1) in a memory in a network security device connected between said node and said network, permanently storing a characteristic address of said node, and (2) uεing εaid network εecurity device to block packetε received at εaid network security device from said node with a source addresε different from the permanently stored address from entering said network. 27. The method of claim 26 wherein said characteristic address is an IP address or a MAC address.

Inventors: FRIEDMAN AHARON, LEVY BEN ZION, FRIEDMAN, AHARON, LEVY, BEN, ZION
Applicants: DIGITAL SECURED NETWORKS TECHN, DIGITAL SECURED NETWORKS TECHNOLOGY, INC.
Application year: 1996
Main classification: H04L9
IPC codes: H04L9, H04L29