US 7127741 B2
An e-mail firewall applies policies to e-mail messages transmitted between a first site and a plurality of second sites. The e-mail firewall includes a plurality of mail transfer relay modules for transferring e-mail messages between the first site and one of the second sites. Policy managers are used to enforce and administer selectable policies. The policies are used to determine security procedures for the transmission and reception of e-mail messages. The e-mail firewall employs signature verification processes to verify signatures in received encrypted e-mail messages. The e-mail firewall is further adapted to employ external servers for verifying signatures. External servers are also used to retrieve data that is employed to encrypt and decrypt e-mail messages received and transmitted by the e-mail firewall, respectively.
1. A method for signing an e-mail message, comprising:
receiving a plurality of e-mail messages by a security manager of an e-mail firewall, at least a first message and a second message are from different users associated with different user systems;
the security manager determining if a signature is required for at least two of the received e-mail messages by applying a signature policy which refers to policy rules to determine whether a signature is required by reference to attributes of an e-mail message;
retrieving a signing certificate for the at least two messages in response to said applying a signature policy by reference to a signature policy which refers to policy rules to identify the kind of signing certificate to retrieve by reference to attributes of an e-mail message;
applying the retrieved signing certificate to each message; and
forwarding each message for further processing by the e-mail firewall.
2. The method of
3. The method of
This application is a continuation in part of U.S. patent application Ser. No. 09/180,377, filed on Nov. 3, 1998, now U.S. Pat. No. 6,609,196. International Application PCT/US02/19628 filed Jun. 06/21/2002 is a continuation of this application.
This application pertains generally to the field of computer security and more specifically to security for electronic mail systems.
The widespread use of electronic mail (e-mail) and groupware applications coupled with the growth and ubiquity of the Internet have opened new avenues for business level communications and electronic commerce. Organizations are increasingly relying on e-mail for the transfer of critical files such as purchase orders, sales forecasts, financial information, and contracts, both within the organization and, increasingly, with other organizations via the Internet. In this setting, these files are now tangible information assets that must be protected.
A number of conventional security measures exist to ensure the confidentiality and integrity of modern data communications. For example, traditional firewalls prevent network access by unauthorized users. Secure sockets technology allows for data to be passed securely over the World Wide Web (WWW). E-mail, however, which is by far the most prominent application over the Internet, still remains problematic, from a security standpoint, for most organizations. Many traditional firewalls simply limit access to information protected by the firewall but do not contain the capability to limit transfer of information, into or out of an organization, by way of e-mail. This can lead to inadvertent or deliberate disclosure of confidential information from e-mail originating within an organization and introduction of viruses from e-mail entering an organization.
One solution to protecting confidentiality of e-mail messages is by encrypting such messages. Further security is available by way of digital signatures, which provide for authentication of e-mail messages senders. Encryption and authentication are both supported in the S/MIME (Secure/Multipurpose Internet Mail Extensions) messaging protocol defined in documents generated by the Internet Engineering Task Force (IETF) entitled “S/MIME Message Specification” (1997) and “S/MIME Certificate Handling”(1997). Individual users can encrypt/decrypt and authenticate e-mail messages using commercially available software. However, the configuration, installation and use of software to perform such tasks is often complex and therefore can detract from the inherent ease of use of e-mail as a means of communication. Moreover, an organization wishing to use such software must rely on individual users to encrypt all necessary messages without means of any centralized control. In addition, many conventional firewalls contain no capability to control the content or format of certain messages that enter or exit an organization. For example, many conventional firewalls contain no capability to ensure that e-mail meeting certain criteria such as content or source and/or destination address or domains, is encrypted. In addition, many conventional firewalls contain no capability to control unwanted messages entering an organization such as unsolicited e-mail advertising.
There is accordingly a need for an e-mail firewall that provides improved centralized control over e-mail messages exiting and entering an organization.
In a principal aspect, the present invention provides an e-mail firewall for screening e-mail messages originating in, or entering into a computer network. Embodiments employing the principles of the present invention advantageously take the form of an e-mail control system that controls e-mail messages transmitted from and received by a computing site. The e-mail control system includes a message encryptor, which encrypts, in accordance with at least a first stored encryption key, a first designated type of message transmitted from the computing site. A message decryptor decrypts, in accordance with at least a second stored encryption key, a second designated type of message, which is received by the computing site. A filter monitors messages, after decryption by the decryptor and before encryption by the encryptor, in accordance with changeable filter information.
In one embodiment, the invention provides an e-mail firewall, which cooperates with a remote publicly accessible security server to securely transmit e-mail messages. The system includes a message encryptor, which encrypts an e-mail message in accordance with at least one encryption key. The system further includes a lookup module, which queries the remote security server for an encryption key (including related encryption data), associated with at least one target server for the e-mail message. Finally, the system includes a transmission module, which transmits the e-mail message to at least one target server, for which encryption data was retrieved by the lookup module. Optionally, the system includes a signature lookup module to retrieve signatures associated with the e-mail message source (sender or system). The signature is then applied to the e-mail message to allow for the recipient to authenticate the message source.
In another embodiment, the invention facilitates an e-mail message transmission method. The method receives an e-mail message into a transmission server. The e-mail message is associated with at least one recipient server, which is coupled to the transmission server by a network connection. The method retrieves encryption data corresponding to at least the recipient server by accessing a lookup server, which is coupled to the transmission server by a network connection. The method then encrypts the e-mail message in accordance with the retrieved encryption data. Finally, the method transmits the encrypted e-mail message to the recipient server.
In yet another embodiment, the invention provides an e-mail message reception method. The method receives an encrypted e-mail message from a remote server. The method decrypts the e-mail message in accordance with encryption data. The method then extracts digital signature data from the e-mail message. Next, the method verifies the extracted signature by accessing a signature verification server. Finally, the method processes the e-mail message in accordance with the results of the verifying step. Alternatively, the method employs a local repository of signatures to verify signed e-mail messages.
Preferably the e-mail firewall 105 takes the form of a program executing on a conventional general purpose computer. In an exemplary embodiment, the computer executes the Windows NT or Windows 2000 operating systems available from Microsoft Corp., of Redmond, Wash. In other embodiments, the computer executes a Unix operating system such as Solaris from Sun Microsystems, of Mountain View, Calif. Although e-mail firewall 105 is shown in
E-mail message 204 may be encoded in accordance with one of a plurality of encoding formats as explained in further detail below. SMTP relay module 202 preferably takes a conventional form of a software module which receives and transmits e-mail messages in accordance with the Simple Mail Transfer Protocol as specified by ‘Internet RFC 821.’ The SMTP protocol is not critical to the invention. In other embodiments, the SMTP relay module is replaced with a module that receives and/or transmits messages in other formats such as the File Transfer Protocol (FTP), the Hyper-Text Transfer Protocol (HTTP), the Network News Transfer Protocol (NNTP), or the Internet Relay Chart (IRC).
In one embodiment, the SMTP relay module 202 is configured to use the Domain Name System (DNS) to determine routing to message recipients or alternatively is configured to relay messages to at least one administrator specified SMTP host. If DNS is selected, at least one SMTP host is specified to allow for default message forwarding even if DNS service is not available. The routing option can be overridden on a per-domain basis. The SMTP relay module 202 advantageously allows inbound and outbound SMTP connections to be limited from or to specific hosts and allows connections to or from specific SMTP hosts to be denied. Preferably, the SMTP relay module 202 transmits messages that include text messages and binary data e-mail messages, as is known in the art. The following illustration refers to a generic routing server, which facilitates some of the functionality provided by the SMTP relay module 202 to transmit e-mail messages in accordance with the invention.
As discussed above, the SMTP relay module 202 receives data identifying intended recipients for a subject e-mail message. Preferably, the data includes e-mail addresses for the intended recipients. The SMTP relay module 202 receives data identifying an e-mail message for the intended recipients. Example e-mail messages include combinations of, or individual, text messages, graphical image data, audio data, video data, meta data, database records, binary data, executables, and compressed archives.
In another embodiment, the SMTP relay module 202 also receives delivery parameters, such as message priority, and other optional parameters for the e-mail message. In one embodiment, a security preference specifies that servers cooperating in the delivery of the e-mail message should employ secure transmission protocols. The SMTP relay module 202 preferably stores the e-mail message in a temporary location before transmission. In one embodiment, the e-mail message is routed separately to each intended recipient. In some embodiments, routing optimization takes place if the routing server detects that two or more recipients are associated with a common server. Accordingly, a single copy of the e-mail message is routed to the recipient's server, indicating that the e-mail message is intended for multiple recipients.
Policy managers 216 operate to enforce policies entered by an administrator of e-mail firewall 105. Policy managers 216 preferably comprise a plurality of modules for enforcing administrator configured policies, directed to specific aspects of e-mail messages. For example, in e-mail firewall 105, policy manager 216 implements a plurality of manager modules including an access manager 218, a content manager 220, a format manager 222, a virus manager 224, and a security manager 226. Policy managers 216 are preferably developed by inputs entered by an administrator by way of configuration module 230. Configuration module 230 also operates, in response to information entered by an administrator, to configure SMTP relay 202 and policy engine 214. The policy managers shown in
Access manager 218 provides enforcement of access control policies such as destinations to which e-mail is prohibited from being sent, or sources from which e-mail cannot be received. Access manager 218 can also filter messages that exceed a maximum message size determined by an administrator, or which contain specific words in the subject field 207 of the message. Access manager 218 can also filter a message by the priority of the message specified by the user. For example, high priority messages can be passed through immediately, while low priority messages are stored in a queue (explained in further detail in connection with
Content manager 220 supports the enforcement of content control policies. Preferably content manager 214 supports filtering by one or more of the following criteria: (a) specific words, or word patterns, in the body 208; (b) specific words in the subject 207; (c) attachment 209 (all or by name/type); (d) specific words, or word patterns, in the attachment 209. Content control policies, and other appropriate policies, can also be specified to require certain material, such as for example, certain notices or disclaimers. Virus manager 224 supports the enforcement of virus control policies by detecting virus infected e-mail attachments. Virus manager 224 preferably detects viruses contained in a plurality of compressed file formats including PKZip, PKLite, ARJ, LZExe, LHA, and MSCompress. Virus manager 224, by way of example, may use a commercially available virus scanning engine. Virus manager 224 also preferably applies policies on “clean messages,” that is, messages that have been scanned for a virus and found to be free of any viruses. In this embodiment, a “clean stamp” annotation is added to such messages, indicating that no viruses were detected.
Format manager 222 provides conversion of an e-mail message from a first format to a second format. In a preferred embodiment, format manager 222 converts messages from conventional UUENCODE format to MIME format. Preferably format manager 222 converts messages prior to message processing by other policy managers.
Security manager 226 preferably enforces a plurality of e-mail encryption policies. Preferably, security manager 226 enforces a client security usage policy, a preserve encryption policy, a plain text access policy, and default action policies. Security manager 226 also applies on behalf of users proxy encryption and signature policies, as discussed in further detail in connection with
In one embodiment, client security usage policies specify that certain users, under certain conditions, should perform encryption or signature, or both, at the desktop. Additional criteria can be set to indicate when this policy should be enforced. For example, an e-mail from a company's CEO to the company's legal counsel by the domain or full e-mail address can be specified to require either encryption, signature, or both, to enforce attorney-client privilege and to preserve encryption policies. Moreover, client security usage policies can be used to specify that messages, which are already in encrypted form and perhaps meet some other criteria, should be preserved. Thus, such messages are not processed, modified, or encrypted by the e-mail firewall 105. Furthermore, the security policy may also select varying encryption methods as a result of applying policy to transmitted e-mail. Plain text access policies require that the e-mail firewall 105 is designated as a recipient on certain types of specified messages. The e-mail firewall 105 is designated as a recipient on encrypted messages in order to apply access, content, virus, and other policies on the message. Plain text access policies can also be used to send a signed notification to the sender of a message as a way of providing the sender with the e-mail firewall's 105 public key. Default action policies indicate the action to be taken on messages, which are not encrypted and will not be encrypted by the e-mail firewall 105, and which might meet some other criteria. The default action policy type is used to ensure that certain messages get encrypted somewhere, whether at the desktop or by the e-mail firewall 105.
Policies are preferably entered by an authorized administrator by way of configuration module 230 which preferably takes the form of a program executing on a stored program computer. Policies can advantageously be applied to users, either individually or by e-mail domains or other groupings.
E-mail messages 204 received and/or transmitted by SMTP relay 202 are preferably encoded in accordance with the S/MIME (Secure/Multipurpose Internet Mail Extension) protocol, as specified by the Internet Engineering Task Force in documents entitled “S/MIME Message Specification” (1997) and “S/MIME Certificate Handling” (1997). Advantageously, the S/MIME protocol builds security on top of the industry standard MIME protocol according to Public Key Cryptography Standards (PKCS) specified by RSA Data Security, Inc. S/MIME advantageously offers security services for authentication using digital certificates, and privacy, using encryption. Digital certificates are preferably implemented in accordance with the X.509 format as specified in “Information Technology—Open Systems Interconnection—The Directory: Authentication Framework,” also known as “ITU-T Recommendation X.509” (June 1997). Encryption is preferably performed by one of the following symmetric encryption algorithms: DES, Triple-DES, RC2, and other algorithms introduced by revisions of the S/MIME standard. The S/MIME protocol is well known and widely used and provides encryption and digital signatures and is therefore preferable as a communications protocol. The precise details by which the protocol operates is not critical. Moreover, it should be understood that other secure messaging protocols such as PGP (Pretty Good Privacy) or Open PGP, as specified by the ITF working group, may also be used.
Access manager 218 is the first policy manager to process e-mail message 204. Access manager 218 operates only on message header information which is not encrypted. Thus, access manager 218 may operate on an e-mail message 204 prior to decryption by S/MIME engine 215. The term “message header information” generally refers to portions of message excluding the body 208 (and commonly referred to as message text), and attachments 209. Thus, the header information includes the source, destination, and subject fields (205, 206, 207). Optional header fields include date/time stamp, priority, and sending agent. The remainder of the modules operate on the message 204 after processing by S/MIME engine 215. As previously noted, format manager 222 preferably operates on messages prior to operation by other managers such as virus manager 224, security manager 226, and content manager 220.
The S/MIME protocol allows two sites which support the S/MIME protocol to exchange secure e-mail messages 204. A type of virtual private network (VPN), as shown in
In one embodiment, in such an exchange, e-mail firewalls 105.1 and 105.2 provide key pair and public key certificate generation and provide automated or manual public key certificate exchange with the other S/MIME server. In addition, e-mail firewalls 105.1 and 105.2 allow: identification of the other S/MIME server through directory domain records, association of directory domain records with server certificates and selection of encryption/signature algorithms and key lengths. The directory domain records, and the directory user records referred to below, are as described in
Exchange of S/MIME encoded messages may also be performed between the e-mail firewalls 105.1, 105.2 and an S/MIME client coupled in a server that does not perform S/MIME functions.
Each e-mail message 204 processed by e-mail firewall 105 is processed in accordance with the steps shown in
In one embodiment, the policy action dictates that a digital signature should be detected and verified in accordance with signature attributes.
The security manager 226 starts by hashing the signed e-mail message to extract a message digest. The signature is then decrypted using the signer's public key, to produce a second message digest, the original message digest. The two message digests are compared to verify that they are identical. The security manager 226 proceeds to verify that the public key used in the verification belong to the sending entity. Such verification is accomplished by verifying the signer's digital certificate, which is included with the signature. As discussed above, the verification level is preferably determined by the security policy that is applicable to the current e-mail message. The policy actions include verifying the signing certificate against a configurable list, verifying the digital certificate validity dates, verifying the key strength and algorithm allowed by the certificate, verifying the certificate usage (i.e., can the certificate be used for signing), verifying the certificate chain, verifying that the root certificate is in a list of acceptable root certificates, and verifying that the certificate is not revoked.
In one embodiment, the digital certificate verification is simplified by querying a local directory of acceptable signing digital certificates, followed by the querying of one or more trusted remote servers. The security manager 226 searches for the digital certificate in a local directory, which stores trusted digital certificates that do not require full verification (step 805). If the digital certificate is located in the local trusted digital certificate directory, the signature verification process is reported as successful (step 807). If the digital certificate is not in the trusted digital certificate directory, the server proceeds to search for the digital certificate in one or more trusted remote directories (step 809). If the security manager 226 receives the digital certificate from one of the trusted remote directories, the signature is deemed valid (step 810). The security manager 226 provides a corresponding result notification to the policy manager so as to facilitate proper follow up actions, such as rejection or acceptance of the e-mail message. In one embodiment, the notification is in the form of a text message that is appended to a received message.
In another embodiment, one or more trusted signature verification servers are used to verify signatures so as to provide for the off-loading of complex signature verification operations from the e-mail firewall. One may appreciate that the digital signature verification operation consumes substantial processing power of the e-mail firewall, as well as adding administrative burden, because of the need to maintain root certificates, intermediate certificates, acceptable signing certificates, and certificate revocation lists (CRLs). Accordingly, in this embodiment, the security manager hashes the e-mail message and submits the resultant data to the signature verification server for performing the verification externally. In one embodiment, the data includes the computed hash, the signature information (including the hash as encrypted by the sender and signing digital certificate), and policy data, which indicates the required verification level. The signature verification server receives the data from the security manager and processes the data substantially as the local security manager does in the previously discussed embodiment. Such processing includes verifying certificate validity dates, certificate usage, certificate chain, certificate non-revocation, and root certificate. After determining whether the signature is valid, the verification server transmits a corresponding response to the security manager 226 of the e-mail firewall. The e-mail firewall proceeds in accordance with actions, as dictated by the applicable policy and verification results.
In one embodiment, the signature verification server is a trusted server and the communication between the e-mail firewall and the signature verification server is authenticated. In this embodiment, the secure connection is facilitated by an SSL connection or by requiring the signing verification server to sign the response. Although this authentication method requires the e-mail firewall to verify a signature, such verification does not draw much processing power since the e-mail firewall employs a known set of signature verification servers and accordingly can locally store the verification certificates. Preferably, the communication protocols used by the e-mail firewall and the signature verification server include XML, ASN.1 encoding, and MIME.
Referring now back to
When encryption is required, the security manager 226 retrieves corresponding public keys for the e-mail recipient.
In one embodiment, the security manager includes a local persistent mapping from recipient e-mails and/or SMTP server domain to digital certificate. This mapping is referred to as a local digital certificate database. The local digital certificate database is configured and maintained by the system administrator of the e-mail firewall. The local database is usually considered trusted by the security manager, thereby optionally relieving the requirement for verification of digital certificate validity. The maintenance and query of such a database is well known in the art, such as by employing a key-value database or a relational database.
In another embodiment, the security manager 226 uses one or more remote certificate lookup servers in addition to, or in lieu of, the local digital certificate database of the previous embodiment. In this embodiment, the maintenance of the remote certificate database is not performed by the system administrator of the e-mail firewall but is by the system administrators of remote certificate lookup servers, which can be controlled by a trusted third party, such as a Certificate Authority (CA).
A certificate lookup server 1210 is coupled to the public network 1204 by a network connection. The certificate lookup server 1210 preferably stores security data that is available to security processes in the firewalls 1202, 1203 for facilitating secure communication of e-mail messages over the public network 1204.
In another embodiment, the certificate lookup server is replaced by one or more intermediate e-mail firewalls which act as intermediate e-mail relays between the first e-mail firewall 1202 and the second e-mail firewall 1203. The ability to use an intermediate e-mail relay in a store-and-forward protocol such as SMTP is well known in the art. An intermediate e-mail firewall preferably receives an e-mail message from a sending firewall, encrypted for the subject intermediate e-mail firewall. The intermediate e-mail firewall then decrypts the subject e-mail, using its private certificate, and re-encrypts the subject e-mail, using the recipient e-mail firewall's public certificate. Finally, the intermediate e-mail firewall forwards the e-mail message to the recipient's firewall. Accordingly, the intermediate e-mail firewall is the only entity that needs access to the security data for recipient's e-mail firewalls. In this embodiment, the sending e-mail firewall locally stores encryption certificates for the intermediate e-mail firewall it is using to transmit secure e-mail messages without accessing any certificate retrieval directory. Accordingly, regardless of the intended recipient, the sending e-mail firewall employs the same encryption certificate to transmit encrypted e-mail messages to the recipient by way of the intermediate e-mail firewall. There is no need to employ multiple certificates for different recipient e-mail firewalls. Furthermore, there is no need to retrieve such certificates from the external certificate lookup server.
Turning back to
For each certificate in the list, policy is applied to determine whether the certificate is acceptable (step 1011). In one embodiment, such policies refer to the certificate's validity dates, usage restrictions, chain verification, root verification, key strength, algorithm restrictions, and presence in one or more Certificate Revocation Lists (CRLs). A certificate that is deemed invalid is discarded from the acceptable certificate list.
Once the list of acceptable certificates is finalized, the policy optionally specifies preferences used to sort the list of acceptable certificates. In one embodiment, a policy assigns preference to certificates with longer keys or to certificates issued by one CA over another CA. The policy preferably dictates to use the top certificate of the list. In another embodiment, the policy dictates encrypting to the top 2, 3, or N certificates. If none of the certificates are acceptable, a corresponding message is provided to the security manager 226 to indicate that encryption is not available for the recipient. In one embodiment, the resulting certificates are stored in a local flat database, as is known in the art, which can act as a local cache of the remote certificate lookup servers.
In another embodiment, the policy requires the certificates to be verified against a Certificate Revocation List (CRL). The certificate lookup module accesses a CRL on one or more remote server systems, which can be different from the certificate lookup servers. Preferably, the CRL is published in predetermined locations that are accessible to the lookup module. In one embodiment, the lookup module employs the Online Certificate Status Protocol (OCSP), which defines a protocol for submitting a certificate identifier and receiving a response regarding the revocation status of the certificate.
In another embodiment, the complex task of searching for and validating certificates, as well as applying the policy requirements and preferences to the matching certificates (
As may be appreciated, the certificate lookup and verification server is preferably a trusted server. Furthermore, the communication between the e-mail firewall and the certificate lookup and verification server is preferably authenticated. The authentication can be achieved with SSL connection or by having the certificate lookup and verification server sign its answer. As discussed above, although this authentication method requires the e-mail firewall to verify a signature, such verification does not draw much processing power since the e-mail firewall employs a known set of certificate lookup and verification servers and accordingly can locally store these certificates. The communication encoding used by the e-mail firewall and the certificate lookup and verification server include XML, ASN.1 encoding, and MIME. It should also be appreciated that the certificate lookup and verification server can be combined with the signature verification server described earlier. It should also be appreciated that for network performance the e-mail firewall may submit several request to the certificate lookup and verification server in one network transaction instead of performing a transaction for each recipient. The transport of requests and responses between the e-mail firewall and the certificate lookup and verification server include plain TCP/IP socket, HTTP transaction, secure HTTP transaction, Common Object Request Broker (CORBA) invocation, Remote Method Invocation (RMI), and Remote Procedure Call (RPC) invocation.
Although the present invention was discussed in terms of certain preferred embodiments, the invention is not limited to such embodiments. Rather, the invention includes other embodiments including those apparent to a person of ordinary skill in the art. Thus, the scope of the invention should not be limited by the preceding description but should be ascertained by reference to the claims that follow.