The invention generally relates to file protection for a network client.
A typical network may include a server and multiple clients. The clients typically include portable devices, such as laptop computers and personal digital assistants (PDAs), which may be easily removed from the network. Due to their portability, these clients typically are susceptible to being stolen.
A portable network client may contain sensitive files. Because a hacker has full access to the client's hard disk when in possession of the client, protecting sensitive files that are stored on the hard disk from being accessed is typically more challenging when the client has been stolen. A security device, such as a hardware lock or a biometric sensor-based lock, may be used to protect the entire hard disk of the client. However, usually such a security device provides either all or no access to every bit on the disk; and thus, the security device does not protect only a select number of sensitive files that are stored on the client.
Thus, there exists a continuing need for a technique and/or system to prevent unauthorized access to files that are stored on a network client.
In accordance with some embodiments of the invention described herein, portable network clients use an asymmetric cryptographic security system for purposes of preventing unauthorized access to sensitive files. Pursuant to the asymmetric cryptographic security system, each client possesses a key pair when connected to the network: 1.) a private key that is kept secretly; and 2.) a matching public key that may be published in the public domain. As compared to a symmetric cryptographic security system, the asymmetric cryptographic security system permits entities that have no preexisting security arrangement to exchange messages securely. However, the asymmetric cryptographic security system typically has not been used in the past to directly encrypt or decrypt files, such as files that are stored on a mobile client, because of the performance impact on the client.
Some existing ways to apply asymmetric cryptographic techniques to file protection stores both a private key and a public key of each user on the client computer. Although these keys are protected by a user identification (ID), password and/or other credentials, it is still possible to be compromised while an attacker has full access to the client (such as when the client is stolen, for example). Although clients may be generally protected when they are connected to an enterprise network system, there are more risks for access to sensitive files when the client has been removed from the system.
Referring to
In the context of this application, a network connection is considered lost when either 1.) the client 20 has logged off of the network 10; or 2.) the ability of the client 20 to communicate with the network 10 has been disrupted. For example, the client 20 may be disconnected from its network cable or may be carried outside of the wireless range needed to establish a network connection with the network 10.
Referring back to
As a more specific example,
The PRK 28 and PUK 29 are used by the client 20 (as described below) for purposes accessing the files 24. As a more specific example, it is assumed below that the client 20 uses the PRK 28 for purposes of decrypting its protected files 24 and uses the PUK 29 for purposes of encrypting its protected files 24. It is noted that this assumption is for purposes of simplifying the following description. It is understood, however, that in other embodiments of the invention, the roles of the PRK 28 and PUK 29 may be reversed: the client 20 may use the PUK 29 for purposes of decrypting protected files 24 and use the PRK 28 for purposes of encrypting protected files 24. Thus, other embodiments of the invention are possible and are within the scope of the appended claims.
In accordance with at least some of the embodiments of the invention, the client 20 controls its own access to its local copy of the PRK 28 for purposes of preventing unauthorized decryption of protected files 24. More specifically, in accordance with some embodiments of the invention, in response to the client 20 detecting loss of its network connection, the client 20 prevents itself from accessing the PRK 28. In this regard, depending on the particular embodiment of the invention, the client 20 may erase the locally stored PRK 28, remove a handle pointing the locally stored PRK 28, or use another technique to prevent client access to the PRK 28 in response to the removal, or loss, of the client's network connection. Because the client 20 can no longer access the PRK 28 in the event of the loss of a network connection, none of the protected files 24 may be accessed. Therefore, even under the less-controlled environment that occurs when the client 20 is removed from the network 10, cryptographic security measures are used to inhibit access to the protected files 24.
To summarize, the pair of asymmetric keys for a particular client 20 may be managed in the following manner, in some embodiments of the invention. When the client 20 first logs onto the network 10, the server 12, by accessing the associated entry in its table 16, locates the pair of asymmetric keys for the client 20. If this is the first time the client 20 has logged onto the network 10, the server 12 communicates both the PRK 28 and the PUK 29 to the client 20. However, if the client 20 is re-logging onto the network 10, then the client 20 already has the PUK 29. The client 20, however, does not possess the PRK 28 due to the removal of the PRK 28 by the client 20 after the last lost network connection. Therefore, in the first connection of the client 20 to the network 10, the server 12 communicates both the PRK 28 and the PUK 29 to the client 20; and in subsequent re-connections of the client 20 to the network 10, the server 12 communicates only the PRK 28 to the client 20, in some embodiments of the invention.
In some embodiments of the invention, the clients 20 may have a variety of different connections to the network 10. For example, the client 20, may be connected over a cellular connection 21 to the network fabric 18. The client 202 may be connected via a Wi-Fi connection 22 to the network 10. As yet another example, the client 20N may be connected to the network 10 via a network cable 23. Thus, the clients 20 may use different types of communication links to communicate with the network 10. Furthermore, the degree of portability of each client 20 may be different. As an example, in some embodiments of the invention, one and/or more of the clients 20 may be mobile devices, such as laptop computers, personal digital assistants (PDAs), cellular telephones, etc. Additionally, in some embodiments of the invention, one or more of the clients 20 may be more non-portable devices, such as desktop computers (as an example), in some embodiments of the invention.
Among the other features of the network 10, in accordance with some embodiments of the invention, the network establishment and key transmissions between the server 12 and a particular client 20 may be protected by such security mechanisms as a secure socket layer (SSL), an Internet Protocol security (IPsec) protocol using a tunnel mode, etc., depending on the particular embodiment of the invention.
Referring to
Referring to
Referring to
Continuing with the technique 50, the client 20 encrypts the file using the FEK, as depicted in block 54. Next, pursuant to the technique 50, the client 20 encrypts the FEK using the PUK 29, as depicted in block 56. Subsequently, the client 20 attaches (block 58) the encrypted FEK to the encrypted file.
Thus, as can be appreciated from
More specifically, referring to
When possessing the PRKs 28 and PUKs 29, the client 20 is enabled to both retrieve and store the protected files 24 (
Other variations are possible and are within the scope of the appended claims. For example, in some embodiments of the invention, the client 20 may be permitted to retrieve files that are encrypted by the client 20 after the client's network connection is lost. Therefore, in these embodiments of the invention, the client 20 may, for example, use another pair of asymmetric keys for purposes of encrypting the FEKs after the loss of the network connection. Thus, this alternative pair of asymmetric keys may be used for purposes of encrypting and decrypting the FEKs. This allows a user to store and retrieve potentially sensitive files on the client 20 after the loss of the network connection. The user may not, however, retrieve selected files that were stored on the client 20 prior to the loss of the network connection. Therefore, many variations are possible and are within the scope of the appended claims.
In some embodiments of the invention, the server 12 may have a software architecture that is generally depicted in
As also depicted in
As depicted in
For example, in some embodiments of the invention, the program instructions 210, when executed by the processor 200, may cause the client 20 to perform one or more of the techniques 30, 40, 46, 50 and 60 that are described above. Furthermore, when the program instructions 210 are executed by the processor 200, in some embodiments of the invention, the client 20 may perform the signaling with the server 12, as described in connection with
Among the other features of the client 20, in accordance with some embodiments of the invention, the client 20 includes a network interface card (NIC) 219 that generally controls communication between the client 20 and the rest of the network 10. Additionally, the memory hub 204 may be in communication with a south bridge, or an input/output (I/O) hub 230. The I/O hub 230 establishes communication between an I/O expansion bus 244 and an I/O controller 246. The I/O controller 246, in turn, may receive input signals from such devices as a mouse 248 and a keyboard 250. A flash card reader interface 280 may be coupled to the expansion bus 244 for purposes of receiving a removable flash drive card 282 and coupling the card 282 to the client 20.
The I/O hub 230 also establishes communication between the client 20 and one or more hard disk drives 232, in some embodiments of the invention. The hard disk drive(s) 232, in turn, stores one or more of the protected files 24, in some embodiments of the invention. Furthermore, in accordance with some embodiments of the invention, one or more of the protected files 24 may be stored on a removable media, such as a CD-ROM that is inserted into a CD-ROM drive 240 that is coupled to the I/O hub 230.
It is noted that the architectures that are depicted in
Other embodiments of the above-described technique and system are possible and are within the scope of the appended claims. For example, in some embodiments of the invention, each protected file 24 may be stored in its entirety on the hard disk drive of the client 20. However, in accordance with other embodiments of the invention, a particular protected file 24 may be distributed among different network entities and/or different storage media. For example, a particular protected file may be stored on the network 10 and thus, may be stored on the client 20 and one or more other storage entities (flash drives, network drives, Universal Serial Bus (USB) devices, hard disk drives on other clients 20 or server 12, on removable media, etc.) of the network 10. For example, referring back to
The above-described distribution of storage for each protected file 24 is an additional level of security. Thus, even if the above-security measures are somehow circumvented on a client 20 for purposes of attempting to access a particular protected file 24, only a portion and not all of the entire file 24 is not present on the client 20. Thus, possession of the client 20 does not guarantee full access to a particular protected file 24.
As an example of yet another possible embodiment of the invention, the PRKs 28 and PUKs 29 may be stored in a distributed fashion. For example, the client 20 may store one of the keys on its hard drive and another one of the keys on a removable flash drive.
Although
The application subsystem 350 may include, for example, an application processor 364 that, along a memory 354, is coupled to a system bus 360. As depicted in
Among its other features, the application subsystem 350 may include, for example, a codec 370 that is coupled to the system bus 360 for purposes of providing an analog signal to drive a speaker 374; and the codec 370 may, for example, receive an analog signal from a microphone 376 and convert the signal into a digital signal for further processing the application subsystem 350. The application subsystem 350 may also include a display controller 384 that drives a display 386 of the wireless device as well as a keypad controller 380 that decodes data from a keypad 382 of the wireless device. As depicted in
Additional security features may be provided by the client 20 in accordance with other embodiments of the invention. For example, referring to
Pursuant to the technique 400, the client 20 determines (diamond 402) whether N log-in attempts have failed within a predetermined time window. Thus, the client may keep track of the number of failed log-in attempts, and if a certain number of log-in attempts have failed within a predetermined time interval (a moving window of time, for example), then the client 20 takes corrective action to protect the protective files 24.
For example, pursuant to the technique 400, if N log-in attempts have failed within the time window (diamond 402) then the client 20 determines (diamond 404) whether a key removal option has been selected on the client 20. This option allows the removal of the key used for decryption when the condition in diamond 402 has been satisfied. Thus, if the key removal option has been selected (diamond 404), then the client 20 removes (block 406) the keys for encryption. As depicted in
Pursuant to the technique 400, the client 20 subsequently determines (diamond 410) whether a file content removal option has been selected. Thus, the client 20 may be configured to remove one or more of the protected files 24 in response to the condition in diamond 402 being satisfied. If this is the case, then the client 20 permanently removes the protected file content, as depicted in block 414.
As yet another example of another security feature, in accordance with some embodiments of the invention, the server 12 (
The server 12 may communicate the delete command to the client 20 in a number of different ways. For example, in accordance with some embodiments of the invention, the client 20, after being stolen, may be able to be logged onto the network due to knowledge of the appropriate password and log-in information. However, if the server 12 has identified the client 20 as being stolen, the server 12 may then communicate the delete command that the client software recognizes and uses to delete the appropriate key and/or file content. It is possible that the user of the stolen computer 20 may not have the appropriate information to log-on to the network. In this case, in accordance with some embodiments of the invention, the server 12 communicates the delete command to the client 20 with the message that the log-in attempt to the network has failed. Thus, the client 20 does not log-on to the network but receives the delete command to cause the client 20 to delete the appropriate key and/or file content. The server 12 may use networks other than the network 10 for purposes of communicating the delete command to the client 20 in accordance with some embodiments of the invention. Thus, in accordance with some embodiments of the invention, the server 12 may communicate the delete command to the client 20 via a lower level or unsecured network, for example. Therefore, many embodiments are possible and are within the scope of the appended claims.
While the invention has been disclosed with respect to a limited number of embodiments, those skilled in the art, having the benefit of this disclosure, will appreciate numerous modifications and variations therefrom. It is intended that the appended claims cover all such modifications and variations as fall within the true spirit and scope of the invention.