Abstract:
A firewall protects an Ethernet network from a first larger network, e.g., the Internet. A first server on the Ethernet network stores an encrypted private key, decrypts the private key using a passphrase, and communicates with clients on the first network using the private key. A second server on the Ethernet network determines whether an intrusion has occurred from the first network into the first server and provides the passphrase to the first server only when no intrusion has occurred from the first network into the first server. The invention can be realized in apparatuses, methods, and/or instruction sets.

Description:
BACKGROUND  
       [0001]     The present invention relates generally to secure communications. More particularly, the present invention relates to private key protection for secure servers.  
         [0002]      FIG. 1  shows a conventional secure web services deployment environment  100  where a plurality of web servers  102 A-N are connected by an internal network (intranet)  104  such as an Ethernet network to a wide-area network (WAN)  106  such as the Internet. Web servers  102  are generally protected from WAN  106  by a firewall  108 .  
         [0003]     To protect the communications between secure web services and their clients on WAN  106 , many secure web servers  102  employ a public key infrastructure such as that specified by the ITU-T X.509 standard. According to such mechanisms, each web server  102  stores a certificate comprising a public key that is available to the clients of the web server  102 , and a private key that is kept from the public. The public and private keys are used together to protect communications between web servers  102  and their clients on WAN  106 .  
         [0004]     As long as the private key is not released to the general public, the web services are secure. For this reason, the private key file (that is, the file stored on a web server  102  that contains the private key) is generally encrypted to prevent the release of the private key to an intruder accessing the web server  102  in an unauthorized manner from WAN  106 . However, whenever the web service is restarted, for example after a power failure affecting the web server  102 , a passphrase must be provided to the web server  102  to decrypt the private key file in order to support further secure communications.  
         [0005]     According to one conventional technique, the passphrase is provided by a human in response to a prompt from the web server  102 . The primary disadvantage of this approach is that the web server is unavailable during the interval required for the human to learn of the outage, travel to the web server  102 , and provide the passphrase. Most webs services have availability requirements that render such delays unacceptable.  
         [0006]     According to another conventional approach, the passphrase is stored in a file on the web server  102 , and is provided to the web service automatically upon restart. The primary disadvantage of this approach is that an attacker could obtain the passphrase, and decrypt and obtain the private key, thereby rendering the web service communications unsecure.  
       SUMMARY  
       [0007]     In general, in one aspect, the invention features an apparatus comprising: a firewall to protect a second network from a first network, wherein the second network is an Ethernet network; a first server on the second network to store an encrypted private key, to decrypt the private key using a passphrase, and to communicate with clients on the first network using the private key; and a second server on the second network to determine whether an intrusion has occurred from the first network into the first server, and to provide the passphrase to the first server only when no intrusion has occurred from the first network into the first server.  
         [0008]     In some embodiments, the first server comprises a web server. In some embodiments, the passphrase is hashed according to a hash key. In some embodiments, the second server determines whether the first server is authorized to receive the passphrase before providing the passphrase to the first server. In some embodiments, to determine whether the first server is authorized to receive the passphrase, the second server compares an address of the server to an entry in an authorization table. In some embodiments, the second server authenticates the first server before providing the passphrase to the first server. In some embodiments, to authenticate the first server, the second server sends a challenge to the first server, receives a challenge response from the first server, decrypts the challenge response, and compares the decrypted challenge response to the challenge. In some embodiments, to determine whether an intrusion has occurred from the first network into the first server, the second server determines whether packets traverse unauthorized ports of the first server.  
         [0009]     In general, in one aspect, the invention features an apparatus comprising: means for firewalling a second network from a first network; first server means on the second network for storing an encrypted private key, for decrypting the private key using a passphrase, and for communicating with clients on the first network using the private key; and second server means on the second network for determining whether an intrusion has occurred from the first network into the first server, and for providing the passphrase to the first server only when no intrusion has occurred from the first network into the first server.  
         [0010]     In some embodiments, the first server means comprises a means for serving web pages. In some embodiments, the passphrase is hashed according to a hash key. In some embodiments, to determine whether an intrusion has occurred from the first network into the first server, the second server determines whether packets traverse unauthorized ports of the first server.  
         [0011]     In general, in one aspect, the invention features a method comprising: determining whether an intrusion has occurred from a first network into a server on a second network, wherein the second network is protected from the first network by a firewall, and wherein the second network is an Ethernet network; receiving a request for a passphrase over the second network from the server on the second network; and sending the passphrase to the server over the second network in response to the request for the passphrase from the server only when no intrusion has occurred from the first network into the server on the second network.  
         [0012]     In some embodiments, the server on the second network comprises a secure server that stores an encrypted private key; wherein the secure server secures communications with clients on the first network with the private key; and wherein the secure server decrypts the private key with the passphrase. In some embodiments, the server on the second network comprises a web server. In some embodiments, the passphrase is hashed according to a hash key. Some embodiments comprise determining whether the server is authorized to receive the passphrase before sending the passphrase to the server. In some embodiments, determining whether the server is authorized to receive the passphrase comprises: comparing an address of the server to an entry in an authorization table. Some embodiments comprise authenticating the, server before sending the passphrase to the server. In some embodiments, authenticating the server before sending the passphrase to the server comprises: sending a challenge to the server; receiving a challenge response from the server; decrypting the challenge response; and comparing the decrypted challenge response to the challenge. In some embodiments, determining whether an intrusion has occurred from the first network into the server comprises: determining whether packets traverse unauthorized ports of the server. Some embodiments comprise an apparatus to perform the method. Some embodiments comprise a set of instructions or computer program to perform the method.  
         [0013]     The details of one or more implementations are set forth in the accompanying drawings and the description below. Other features will be apparent from the description and drawings, and from the claims. 
     
    
     DESCRIPTION OF DRAWINGS  
       [0014]      FIG. 1  shows a conventional secure web services deployment environment where a plurality of web servers are connected by an internal network (intranet) such as an Ethernet network to a wide-area network (WAN) such as the Internet.  
         [0015]      FIG. 2  shows a secure web services deployment environment comprising a secure passphrase distribution server according to a preferred embodiment of the present invention where a plurality of web servers are connected by an internal network (intranet) such as an Ethernet network to a wide-area network (WAN) such as the Internet.  
         [0016]      FIG. 3  shows a process for secure passphrase distribution in the secure web services deployment environment of  FIG. 2  according to a preferred embodiment of the present invention.  
         [0017]      FIG. 4  shows a process for network monitoring and passphrase distribution control in the secure web services deployment environment of  FIG. 2  according to a preferred embodiment of the present invention. 
     
    
       [0018]     The leading digit(s) of each reference numeral used in this specification indicates the number of the drawing in which the reference numeral first appears.  
       DETAILED DESCRIPTION  
       [0019]     As used herein, the terms “client” and “server” generally refer to an electronic device or mechanism, and the term “message” generally refers to an electronic signal representing a digital message. As used herein, the term “mechanism” refers to hardware, software, or any combination thereof. These terms are used to simplify the description that follows. The clients, servers, and mechanisms described herein can be implemented on any standard general-purpose computer, or can be implemented as specialized devices.  
         [0020]     Embodiments of the present invention provide private key protection for secure servers such as web servers by providing a secure passphrase distribution server that provides the passphrase for the encrypted private key to the web servers and monitors the web servers for intrusion from the wide-area network. When an intrusion into a web server is detected, the secure passphrase distribution server will no longer provide the passphrase to that web server, thereby preventing the intruder from obtaining the private key.  
         [0021]      FIG. 2  shows a secure web services deployment environment  200  comprising a secure passphrase distribution server  210  according to a preferred embodiment of the present invention where a plurality of web servers  202 A-N are connected by an internal network (intranet)  204  such as an Ethernet network to a wide-area network (WAN)  206  such as the Internet. While embodiments of the present invention are described with reference to web servers  202 , other embodiments distribute private keys to other sorts of Transmission Control Protocol (TCP) based services, such as streaming media servers, videoconference servers, and the like, as will be apparent to one skilled in the relevant arts after reading this description. Intranet  204  is preferably an Ethernet network to facilitate monitoring all packet traffic with web servers  202 . Web servers  202  are protected from WAN  206  by a conventional firewall  208  with incoming TCP connection forwarding capability or a load balancer system. Secure passphrase distribution server  210  communicates with web servers  202  over intranet  204 .  
         [0022]     To protect the communications between secure web services and their clients on WAN  206 , web servers  202  employ a public key infrastructure such as that specified by the ITU-T X.509 standard. According to such mechanisms, each web server  202  stores a certificate comprising a public key that is available to the clients of the web server  202 , and a private key that is kept from the public. The public and private keys are used together to protect communications between web servers  202  and their clients. However, embodiments of the present invention are equally applicable to other sorts of security mechanisms, such as shared private key and the like, as will be apparent to one skilled in the relevant arts after reading this description.  
         [0023]     Secure passphrase distribution server  210  comprises four major components. Passphrase Delivery Component  212  is responsible for delivering passphrases to web servers  202 . Preferably the passphrases are not sent in plaintext, but rather are sent in hashed form, as described in detail below. Passphrase Delivery Component  212  authorizes and optionally authenticates a web server  202  before delivering the passphrase to that web server  202 .  
         [0024]     Data Source Component  214  stores a list of web servers  202 , a passphrase for each web server  202 , and monitor rules. The monitor rules define what activities are permitted on intranet  204 , and what activities qualify as intrusions. Preferably the passphrases are not stored in plaintext, but rather are stored in hashed form, as described in detail below. In some embodiments, each web server  202  uses a different passphrase. In other embodiments, some or all of web servers  202  share a passphrase. Data Source Component  214  also stores an authorization table  220  that indicates for each web server  202  whether that web server  202  is allowed to receive a passphrase.  
         [0025]     Network Traffic Monitoring Component  216  monitors traffic on intranet  204  according to the monitor rules stored in Data Source Component  214 , as described in detail below.  
         [0026]     Logging and Alert Component  218  logs the results of the monitoring performed by Network Traffic Monitoring Component  216 , and generates alerts for the system administrator when intrusions are detected, as described in detail below.  
         [0027]     Preferably Passphrase Delivery Component  212 , Data Source Component  214 , Network Traffic Monitoring Component  216 , and Logging and Alert Component  218  are implemented on a single server such as secure passphrase distribution server  210 . However, these components can be implemented on two or more servers in other embodiments.  
         [0028]      FIG. 3  shows a process  300  for secure passphrase distribution in secure web services deployment environment  200  according to a preferred embodiment of the present invention. A web service on one of web servers  202  restarts (step  302 ), for example after a power failure causes the web server  202  to reboot. Web server  202  initiates a connection with secure passphrase distribution server  210  (step  304 ). Preferably the connection is a Secure Sockets Layer (SSL) connection. Web server  202  optionally sends a message to secure passphrase distribution server  210  over the SSL connection requesting the passphrase (step  306 ).  
         [0029]     Secure passphrase distribution server  210  authorizes and optionally authenticates web server  202 , for example according to the following process. Secure passphrase distribution server  210  uses Data Source Component  214  to verify that the web server  202  is allowed to receive the passphrase (step  308 ), for example by looking up web server  202  using the remote peer Internet Protocol (IP) address of the SSL connection. As described in detail below, on detecting an intrusion into a web server  202 , Network Traffic Monitoring Component  216  modifies the entry for that web server  202  in Data Source Component  214  to indicate that web server  202  is no longer allowed to receive a passphrase. If the web server  202  is not allowed to receive a passphrase, secure passphrase distribution server  210  drops the SSL connection.  
         [0030]     After determining that the web server  202  is allowed to receive a passphrase, secure passphrase distribution server  210  sends a challenge message to the web server  202  (step  310 ). Preferably the challenge message comprises 512 bytes of random text.  
         [0031]     The web server  202  receives the challenge message and encrypts the 512 bytes of random text (step  312 ) using a key that is built into the code of the web service. Web server  202  sends the encrypted text to secure passphrase distribution server  210  (step  314 ), which decrypts the encrypted text using the same key and compares the decrypted text to the original random text (step  316 ).  
         [0032]     If the decrypted text does not match the original random text, secure passphrase distribution server  210  drops the SSL connection. But if the decrypted text matches the original random text, secure passphrase distribution server  210  sends the hashed passphrase to web server  202  (step  318 ), which reverses the hash using a predefined key with which the passphrase was originally hashed (step  320 ), thereby recovering the passphrase. The web server  202  then uses the passphrase to decrypt the private key (step  322 ).  
         [0033]      FIG. 4  shows a process  400  for network monitoring and passphrase distribution control in secure web services deployment environment  200  according to a preferred embodiment of the present invention. Network Traffic Monitoring Component  216  of secure passphrase distribution server  210  monitors traffic on intranet  204  according to the monitor rules stored in Data Source Component  214  (step  402 ). For example, web servers  202  should generally only permit connections with WAN  206  on port 80 (for Hypertext Transfer Protocol (HTTP)) and port 443 (for secure HTTP (HTTPS)). Connections with WAN  206  on other ports, whether initiated from WAN  206  or from a web server  202  on intranet  204 , are likely the result of an intrusion from WAN  206 . Therefore, according to preferred embodiments of the present invention, one monitor rule indicates an intrusion when a connection is detected on any port other than ports 80 and 443. However, embodiments of the present invention are independent of the type of monitor rules used and the manner of monitoring traffic on intranet  204 .  
         [0034]     According to preferred embodiments of the present invention, secure passphrase distribution server  210  provides a passphrase to a web server  202  only when no intrusion has been detected for that web server  202 . Therefore, on detecting an intrusion for a web server  202  (step  404 ), Network Traffic Monitoring Component  216  of secure passphrase distribution server  210  prevents Passphrase Delivery Component  212  from delivering a passphrase to that web server  202  (step  406 ). Preferably this is accomplished by modifying the authorization table  220  of Data Source Component  214  to indicate that web server  202  is no longer allowed to receive a passphrase.  
         [0035]     Logging and Alert Component  218  optionally logs the intrusion (step  408 ) and generates an alert for the system administrator (step  410 ). Preferably the alert takes the form of an email message sent to the system administrator, although of course other techniques can be used. Once corrective action has been taken (step  412 ), the system administration can once again allow web server  202  to receive a passphrase (step  414 ), preferably by modifying the entry for that web server  202  in authorization table  220  of Data Source Component  214 . Process  400  then resumes at step  402 .  
         [0036]     The invention can be implemented in digital electronic circuitry, or in computer hardware, firmware, software, or in combinations of them. An apparatus of the invention can be implemented by a program or set of instructions (e.g., a computer program product) tangibly embodied in a machine-readable medium or waveform for execution by an appropriate machine or device, e.g., a programmable processor or the like. Similarly, method steps of the invention can be performed by a programmable processor executing a program of instructions to perform functions of the invention by operating on input data and generating output. The invention can be implemented advantageously in one or more computer programs that are executable on a programmable system including at least one programmable processor coupled to receive data and instructions from, and to transmit data and instructions to, a data storage system, at least one input device, and at least one output device. Each computer program can be implemented in a high-level procedural or object-oriented programming language, or in assembly or machine language if desired; and in any case, the language can be a compiled or interpreted language. Suitable processors include, by way of example, both general and special purpose microprocessors. Generally, a processor will receive instructions and data from a read-only memory. and/or a random access memory. Generally, a computer will include one or more mass storage devices for storing data files; such devices include magnetic disks, such as internal hard disks and removable disks; magneto-optical disks; and optical disks. Storage devices suitable for tangibly embodying program instructions and data include all forms of non-volatile memory, including by way of example semiconductor memory devices, such as EPROM, EEPROM, and flash memory devices; magnetic disks such as internal hard disks and removable disks; magneto-optical disks; and CD-ROM disks. Any of the foregoing can be supplemented by, or incorporated in, ASICs (application-specific integrated circuits). To this end, the set of instructions or computer program may also be embodied directly in hardware. The set of instructions may also be embodied in a waveform, such as a carrier wave.  
         [0037]     A number of implementations of the invention have been described. Nevertheless, it will be understood that various modifications may be made without departing from the spirit and scope of the invention. Accordingly, other implementations are within the scope of the following claims.