# Patent

## Title
System, device and method for dynamically securing instant messages

## Abstract

An Instant Messaging security system that encrypts Instant Messages sent by a Instant Messaging user to an Instant Messaging server by intercepting the messages, negotiating a preferred security algorithm and forwarding the encrypted messages to the server. The security system intercepts and decrypts encrypted messages sent by the server to the user. The security system is able to determine whether a receiving user is equipped with a similar security system without prior knowledge of network addresses, configuration or capability. The security system is transparent to the Instant Message service provider and may provide one or more indicators to users that messages are encrypted during forwarding.

## Background
CROSS-REFERENCE TO RELATED APPLICATIONS
This application is a continuation of U.S. patent application Ser. No. 10/890,394, filed Jul. 12, 2004, now issued as U.S. Pat. No. 8,117,273, which application in turn claims the benefit of U.S. Provisional Patent Application Ser. No. 60/486,873, filed Jul. 11, 2003, each of which is fully incorporated herein by reference.


BACKGROUND OF THE INVENTION
1. Field of the Invention
Generally, the present invention relates to Internet Communications. More specifically, the present invention relates to Instant Messaging systems and secured communications for Instant Messaging systems.
2. Description of the Related Art
Instant Messaging (“IM”) services provide communications between computer users connected to the Internet. Typically an IM service provider, such as AOL receives a message from a first user and forwards the message to a second user. The first user need not be aware of the location or network address of the second user. Similarly, the second user can respond with a message to the first user, having no knowledge of the location of the first user. The user data contained in the IM messages is encoded within a protocol proprietary to the service provider.
IM services are generally Internet-based services and IM messages pass through the Internet, even if the first and second users are physically located within the same building of corporation. Although the users could be sitting next to each other, IM traffic is nevertheless transmitted from the first user over the Internet to the service provider and thence relayed to the second user. Therefore, the security of IM messages depends on the minimal security provided by the Internet.
Therefore, what is needed is a system for securing IM traffic as it passes through the Internet.
SUMMARY OF THE INVENTION
The present invention addresses weaknesses in IM security by providing an IM security system for managing and securing Instant Messaging in an enterprise network. Embodiments of the invention include server software that is deployed near the perimeter of the enterprise network. The server software may also be deployed at a service provider if the connection between the enterprise network and the service provider is secure. The server software monitors and intercepts outbound IM traffic and may secure the content of the IM outbound traffic by, for example, encrypting the IM content. The server software also monitors and intercepts inbound IM traffic and may reverse any security process performed on the content by, for example, decrypting the IM content.
The present invention operates independently of IM servers and clients and requires no modifications to either the IM client or the IM server. The IM security system selectively modifies IM content in real-time on a communication channel without the knowledge or consent of the service provider or the transmitting and receiving parties. The ability to selectively modify only the user content without modifying the communications protocol control data ensures that the actions of the IM security system are transparent to the service provider.
The IM security system secures IM content after determining whether the destination network is capable of receiving secured IM messages. For example, where two users are collocated on an enterprise network protected by an IM security device, an IM message sent by one user to the second user passes through the IM security device located near the perimeter of the enterprise network. When the IM message is forwarded to an IM service provider and thence forwarded to the second user, it will necessarily pass through the same IM security device. Hence, in the example, the IM content can be secured by the IM security system because both users are protected by an IM security device. IM messages can also be secured in examples where the IM message exits and reenters the enterprise network through different IM security devices or where the IM message originates and terminates on different enterprise networks and the different enterprise networks are each protected by an IM security device.
Embodiments of the present invention may discover peer IM entities without prior knowledge of network addresses or location of the peer entities. The peer IM entities may be discovered using a discovery protocol that causes a discovery message to be sent to a receiving IM end-user. When the receiving end-user is connected to a network protected by an IM peer security device, the message may be intercepted by the receiving peer security device and the receiving peer security device responds to the sending peer IM entity indicating that a secured connection is possible. If the end-user is unprotected, the discovery message may be displayed by the IM end-user software. In some embodiments however, the discovery message is sent using one or more covert communication channels that cause the IM end-user software to ignore the discovery message.
Embodiments of the present invention may secure communications between IM users without knowing the physical location or network addresses of the IM users. The IM peer entities may use IM messages to exchange security set up information between the IM peer entities. The security set up information may include encryption keys.
The present invention includes methods to direct all IM traffic in a network to pass through an embodiment of the invention. In some embodiments, the IM traffic may be directed to an IM security server by modifying the Domain Name Server (DNS) entry for all IM traffic to the address of the IM security server. IM traffic may also be redirected by providing the IM end-user software with the IM security server's IP address to serve as the address of the end-user's IM service provider.
Embodiments of the invention may also redirect IM traffic using networking equipment such as routers bridges and switches. IM traffic directed toward an IM service provider may be diverted to an IM security server and thence to the IM service provider. By way of example, an IM security server may be inserted directly between the Internet and the enterprise network such that all traffic from the enterprise network must pass through the IM security software.
Embodiments of the invention may provide IM users with visible notification indicating that IM messages are either secured or not secured. This aspect of the invention permits end-users to determine the type and sensitivity of information that can be communicated during an IM “conversation.” This aspect of the invention requires no modification to IM client or IM server protocols. In some embodiments the visible notification of security is made by a combination of indicators including appending visible characters to IM content, changing IM text color, modifying buddy icons and adding tags to buddy names.



BRIEF DESCRIPTION OF THE DRAWINGS
These and other aspects and features of the present invention will become apparent to those ordinarily skilled in the art upon review of the following description of specific embodiments of the invention in conjunction with the accompanying figures, wherein:
FIG. 1 illustrates a network configured to incorporate an exemplary embodiment of the invention;
FIG. 2 is a chart showing the protocols associated with the exemplary embodiment of the invention;
FIG. 3 is a drawing illustrating the method by which IM messages are captured in an exemplary embodiment of the invention; and
FIGS. 4-9 are diagrams of the contents of communications packets exchanged in the exemplary embodiment of the invention.



DETAILED DESCRIPTION OF THE INVENTION
The present invention will now be described in detail with reference to the drawings, which are provided as illustrative examples of the invention so as to enable those skilled in the art to practice the invention. Notably, the figures and examples below are not meant to limit the scope of the present invention. Where certain elements of the present invention can be partially or fully implemented using known components, only those portions of such known components that are necessary for an understanding of the present invention will be described, and detailed descriptions of other portions of such known components will be omitted so as not to obscure the invention. Further, the present invention encompasses present and future known equivalents to the components referred to herein by way of illustration.
The exemplary network shown in FIG. 1 illustrates the operation of an embodiment of the invention. A first computer 142 is connected through a first enterprise network 14 and a first IM security device 140 to the Internet 12. A second computer 162 is connected through a second enterprise network 16 and a second IM security device 160 to the Internet 12. An IM service provider 10 is also connected to the Internet 12. In the example, a first user may send a first IM message from the first computer 142 for delivery to a second user who is logged in at the second computer 162. The first IM message may be intercepted by the first IM security device 140 which discovers that the destination computer 162 is protected by the second IM security device 160. The first IM security device 140 may then exchange security information with the second IM security device 160, where the security information may include identity information, a random unique value (hereinafter “NONCE”), key identifier, key data and authentication information.
Having exchanged security information with the second IM security device 160, the first IM security device 140 may encrypt the content of the first IM message and then transmit the encrypted first message to the IM service provider 10. The IM service provider 10 forwards the first IM message through the Internet 12 to the second enterprise network 16 where it is intercepted by the second IM security device 160. The second IM security device 160 decrypts the content of the first IM message and sends the message onward to the second user at the second computer 162. Thereafter, other messages may be exchanged by the users in this manner. In some embodiments, the exchanged security information may be used to encrypt and decrypt subsequent IM messages transmitted between the first and second computers.
Considering now FIG. 2 together with FIG. 1, the protocols used to negotiate security between the IM security devices according to the present invention may be understood. Before security can be added to IM messages, the security devices may execute a discovery protocol 20 to identify the existence and capabilities of other IM security devices visible on the Internet 12. The first IM security device 140, hereinafter the “Initiator,” sends a discovery message 200 to indicate the key management capabilities of the Initiator 140. The discovery message 200 indicates to the second security device 160, hereinafter the “Responder,” that the Initiator 140 is capable of the Instera Key Management protocol. The Responder 160 sends the Initiator 140 a response 202 that includes the Responder's 160 identifying information (“IDr”) and a random unique value (“NONCEr).” The Initiator 140 then transmits a response 204 including a random unique value NONCEi, the initiator's 140 identifying information (“IDi”), a copy of the NONCEr, key identifier (“KEYID”), the initiator's 140 key data (“KEYi”), and the initiator's 140 authentication information (“AUTHi”), where the RUTH; may include an RSA signature. The responder then replies 206 with the NONCEi, the KEYi, and the Responder's 160 authentication information (“AUTHr”), where AUTHr may include an RSA signature. Thus, in the exemplary embodiment, the Initiator 140 and Responder 160 may establish basic security identification to enable the exchange of one or more secured IM messages.
It will be apparent, to one skilled in the art, that the exchange of identifying information may also include information specifying preferred security algorithms, alternatives (such as AES128). It will also be apparent to those skilled in the art that identifying information includes public key certificates and information necessary to validate and identify the certificate and that the key data may include a Diffie-Hellman public key such as the Diffie-Hellman Group 2 Key Exchange. Information may be exchanged with base64 encoded data that is line limited to ensure traversal through an IM server.
In some embodiments, the Initiator 140 may request Key information from the Responder 160 to permit the encryption of messages. In the exemplary case, and where both the Initiator 140 and the Responder 160 have a master key, a master key protocol 22 will be followed. The Initiator 140 sends a discovery message 220 to the Responder 160. The Responder 160 sends the Initiator 140 a response 222 containing the Responder's 160 IDr and NONCEr. The Initiator 140 sends a Key information request (“KEYID_REQ”) message 224 to the Responder 160. The Responder 160 sends a response 226 containing Key information necessary to initiate the secured IM message exchange.
In the case that the Initiator 140 has a master key and requests Key information from the Responder 160, but the Responder 160 does not have a master key, then the sequence of packet exchange will be as shown at 24. The Initiator 140 sends a discovery message 240 to the Responder 160. The Responder 160 sends the Initiator 140 a response 242 containing the Responder's 160 IDr and NONCEr. The Initiator 140 sends a KEYID_REQ message 244 to the Responder 160. The Responder 160 sends the Initiator 140 a response 246 containing an Error message. The Initiator 140 sends a message 248 the NONCEi, the IDi, a copy of the NONCEr, the KEYID, the KEYi and the Initiator's 140 security signature (“SIGNATUREi”). The Responder 160 sends a response message 249 containing the NONCEi, the KEYID, the KEYr and the Responder's 140 security signature (“SIGNATUREr”).
FIGS. 4-9 show the structure and contents of the packets used to negotiate security between the IM security devices. FIG. 4 shows the Identification message 202, 222 and 242. FIG. 5 shows the Identification and Key message 204. FIG. 6 shows the Key data message 206. FIG. 7 shows the KEYID_REQ message 224 and 244. FIG. 8 shows the KEYID_RES message 226. FIG. 9 shows the Key Management Error message 246.
Certain embodiments of the invention may use services provided by a selected Instant Message service provider (such as AOL) that publish IM user capabilities to assist in the identification of end-users and facilitate the exchange of security-related information. In other embodiments, the IM protocol may be adapted to provide capabilities including user identification and security key management.
It will be appreciated by one skilled in the art that private keys associated with, for example, the Diffie-Hellman public key may be used to generate a session key for message encryption and decryption and for digesting verification of the encrypted data.
Referring now to FIG. 3, the method by which embodiments of the present invention control IM messaging from an enterprise network 30 may be understood. Generally, connections to the Internet may be controlled by one or more networking devices 300 including routers and switches. In the exemplary embodiment of the invention, the IM security device 302 may act as a filter for IM messages. IM messages are directed to an address on the Internet 12 corresponding to the IM server 10. The address is known or may be discoverable to a client PC 304 and the client PC 304 directs IM messages to the address. The IM security device captures the messages by capturing enterprise network 30 traffic directed to or from the address of the IM service provider.
Network-attached devices including the client PC 304 may resolve network addresses using one or more DNS servers 309. The one or more DNS servers 309 provide information that permits the client PC 304 to forward IM messages through a network device 300 to the Internet 12. In embodiments of the invention, the one or more DNS servers 309 are adapted to direct all IM traffic to the IM security device 302. The DNS servers may accomplish redirection by providing alternative address information when, for example, the client PC logs in to the IM service. The network device 300 may be programmed to block IM traffic or to redirect IM traffic directly to the IM security device 302.
In some embodiments of the invention IM traffic is captured by blocking IP addresses related to known IM servers 10 and redirecting the traffic to the IM security device 302. To achieve this goal, the one or more network devices 300 are reprogrammed to recognize the IP addresses related to the IM servers 10.
Although the present invention has been particularly described with reference to embodiments thereof, it should be readily apparent to those of ordinary skill in the art that various changes, modifications and substitutes are intended within the form and details thereof, without departing from the spirit and scope of the invention. Accordingly, it will be appreciated that in numerous instances some features of the invention will be employed without a corresponding use of other features. Further, those skilled in the art will understand that variations can be made in the number and arrangement of components illustrated in the above figures. It is intended that the scope of the appended claims include such changes and modifications.

## Claims

1. A computer implemented method, comprising:
intercepting an unencrypted instant messaging (IM) communication sent by an originating device for transmission over a wide area network to a remote destination device;
determining, using a first IM security device associated with the originating device, whether a second IM security device is available for the destination device, the determining including:
transmitting, in response to intercepting the unencrypted instant messaging communication, a discovery communication including data indicating that the unencrypted instant messaging communication can be encrypted according to one or more security protocols available at the first IM security device; and
determining whether a response message to the discovery communication is received from the second IM security device;

in response to determining that the second IM security device is available for the destination device:
transmitting a first negotiation communication to the second IM security device, the first negotiation communication including data for negotiating an encryption technique between the first and the second IM security devices to encrypt unencrypted instant messaging communications from the originating device to the destination device and to decrypt encrypted instant messaging communications from the destination device to the originating device;
receiving a second negotiation communication from the second IM security device, the second negotiation communication specifying the encryption technique;
encrypting the unencrypted instant messaging communication from the originating device using the encryption technique; and
transmitting the encrypted instant messaging communication to the destination device, wherein the encrypted instant messaging communication is decrypted by the second IM security device for delivery to the destination device.

2. The method of claim 1, wherein transmitting the first negotiation communication comprises transmitting a nonce and identifying information, wherein the nonce is a random unique value.

3. The method of claim 2, wherein transmitting the first negotiation communication further comprises transmitting a key identification, key data, and authentication information.

4. The method of claim 1, wherein transmitting the first negotiation communication comprises transmitting a master key information request; and the method further comprises:
receiving master key information.

5. The method of claim 1, wherein the first negotiation communication and the second negotiation communication include information used to generate encryption keys.

6. The method of claim 5, wherein the information used to generate encryption keys includes Diffie-Hellman keys.

7. A system, comprising:
one or more data processors; and
a data storage apparatus encoded with instructions that when executed by the one or more data processors cause the one or more data processors to perform operations comprising:
intercepting an unencrypted instant messaging (IM) communication sent by an originating device for transmission over a wide area network to a remote destination device;
determining, using a first IM security device associated with the originating device, whether a second IM security device is available for the destination device, the determining including:
transmitting, in response to intercepting the unencrypted instant messaging communication, a discovery communication including data indicating that the unencrypted instant messaging communication can be encrypted according to one or more security protocols available at the first IM security device; and
determining whether a response message to the discovery communication is received from the second IM security device;

in response to determining that the second IM security device is available for the destination device:
transmitting a first negotiation communication to the second IM security device, the first negotiation communication including data for negotiating an encryption technique between the first and the second IM security devices to encrypt unencrypted instant messaging communications from the originating device to the destination device and to decrypt encrypted instant messaging communications from the destination device to the originating device;
receiving a second negotiation communication from the second IM security device, the second negotiation communication specifying the encryption technique;
encrypting the unencrypted instant messaging communication from the originating device using the encryption technique; and
transmitting the encrypted instant messaging communication to the destination device, wherein the encrypted instant messaging communication is decrypted by the second IM security device for delivery to the destination device.

8. The system of claim 7, wherein transmitting the first negotiation communication comprises transmitting a nonce and identifying information, wherein the nonce is a random unique value.

9. The system of claim 8, wherein transmitting the first negotiation communication further comprises transmitting a key identification, key data, and authentication information.

10. The system of claim 7, wherein transmitting the first negotiation communication comprises transmitting a master key information request, and the instructions cause the one or more data processors to further perform operations comprising:
receiving master key information.

11. The system of claim 7, wherein the first negotiation communication and the second negotiation communication include information used to generate encryption keys.

12. The system of claim 11, wherein the information used to generate encryption keys includes Diffie-Hellman keys.

13. A non-transitory computer storage medium encoded with a computer program, the program comprising instructions that when executed by one or more data processing apparatuses cause the one or more data processing apparatuses to perform operations, comprising:
intercepting an unencrypted instant messaging (IM) communication sent by an originating device for transmission over a wide area network to a remote destination device;
determining, using a first IM security device associated with the originating device, whether a second IM security device is available for the destination device, the determining including:
transmitting, in response to intercepting the unencrypted instant messaging communication, a discovery communication including data indicating that the unencrypted instant messaging communication can be encrypted according to one or more security protocols available at the first IM security device; and
determining whether a response message to the discovery communication is received from the second IM security device;

in response to determining that the second IM security device is available for the destination device:
transmitting a first negotiation communication to the second IM security device, the first negotiation communication including data for negotiating an encryption technique between the first and the second IM security devices to encrypt unencrypted instant messaging communications from the originating device to the destination device and to decrypt encrypted instant messaging communications from the destination device to the originating device;
receiving a second negotiation communication from the second IM security device, the second negotiation communication specifying the encryption technique;
encrypting the unencrypted instant messaging communication from the originating device using the encryption technique; and
transmitting the encrypted instant messaging communication to the destination device, wherein the encrypted instant messaging communication is decrypted by the second IM security device for delivery to the destination device.

14. The non-transitory computer storage medium of claim 13, wherein transmitting the first negotiation communication comprises transmitting a nonce and identifying information wherein the nonce is a random unique value.

15. The non-transitory computer storage medium of claim 14, wherein transmitting the first negotiation communication further comprises transmitting a key identification, key data, and authentication information.

16. The non-transitory computer storage medium of claim 13, wherein transmitting the first negotiation communication comprises transmitting a master key information request, and the instructions cause the one or more data processing apparatuses to further perform operations comprising:
receiving master key information.

17. The non-transitory computer storage medium of claim 13, wherein the first negotiation communication and the second negotiation communication include information used to generate encryption keys.