I. Field
The present invention generally relates to communications, and more particularly, to secure and private communications using shared secrets generated from context limited information.
II. Background
The use of shared secrets is common for communications that are intended to be secure or private. In a typical shared secret scheme, a common secret known only to the communicating entities is shared, which secret is relied upon by the communicating entities to establish a trust relationship. A party without the shared secret is excluded from the trust relationship.
The shared secret can either be permanent or temporary. A temporary shared secret can be used to protect a communication for a limited period. For example, the temporary shared secret can be good only for a one-time transaction.
To provide an extra level of security, very often, a temporary secret is derived from a permanent secret. In such an arrangement, the temporary secret is used as the basis for establishing the trust relationship. For instance, a party seeking to establish a trust relationship with a corresponding party may use the temporary secret, which is shared with the corresponding party as key material for cryptographic communications with the corresponding party.
As for the permanent secret, sometimes called the master secret, it is rarely unrestrictively shared. By way of example, in a mobile communication setting, a master secret is shared only between the subscriber unit and the subscriber's home carrier. When the subscriber unit requests services via secure communications from a third party, the subscriber unit generates a temporary secret from the master secret. At the same time, the subscriber unit also sends a request to the home carrier which in turn generates the same temporary secret from the shared master secret. Again, the temporary secret forms the basis of the trust relationship between the subscriber and the third party. For instance, both the subscriber unit and the home carrier may generate from the temporary secret, among other things, an encryption key which is then made available to the service provider. Cryptographic communications between the subscriber unit and the service provider can be exchanged thereafter.
The rationale for deriving a temporary secret from the master secret is to curtail likelihood of revelation of the master secret. Derivation of the temporary secret from the master secret can be based on some prearranged algorithms between the subscriber unit and the home carrier.
The above-described security model is based on the assumption that any third party who may have access to any derived secret would have an interest in preserving the confidentiality of the derived secret. For instance, if the third party reveals the derived secret to yet another party, the confidence in purchasing services from the third party would be seriously jeopardized. As such, the third party would be adversely affected as a sustaining business entity, not to mention the legal consequences of revealing the secret.
However, there may be some parties that neither have the economical motivation nor ethical consideration in keeping the shared secret a secret. For example, if the derived secret is passed to a rogue party set up as a subscriber, the rogue party can use the derived secret to impersonate the legitimate subscriber and gain access to services which otherwise would be inaccessible to the rogue party. To compound the situation, additional sensitive information can further be revealed from the illegitimate access. The same holds true, if not with more severe consequences, is that the rogue party sets itself up as a service provider.
Accordingly, there is a need to provide a more secure communication scheme to prevent the revealing and misuse of derived secrets.
In a communication system in which two communication entities seek to have a private or confidential communication session, a trust relationship needs first be established. The trust relationship is based on the determination of a shared secret which is generated from a master secret and selected contextual information. The contextual information can be derived from the circumstances surrounding the communication session. The shared secret may be self-generated by each communication entity. Alternatively, the shared secret may be received from a third party in the case that the entity does not possess enough information to derive the shared secret directly. The shared secret can be used as key material for cryptographic protocols used to authenticate and to establish secure communications between the communication entities.
In an exemplary embodiment, a subscriber unit as one communication entity seeks service from a service provider as another communication entity. The subscriber unit generates the shared secret on its own based on a pre-stored master secret and predetermined contextual information which can include but is not limited to topological information, time-based information, and transactional information. The service provider which does not possesses the master secret obtains the shared secret from yet another entity. Afterward, the service provider and the subscriber unit use their common knowledge of the shared secret to establish a trust relationship. In this instance, the other entity is home carrier of the subscriber unit. Prior to sending the shared secret to the service provider, the home carrier generates the shared secret in substantially the same manner as the subscriber unit. Sending of the shared secret from the home carrier to the service provider may be also protected via pre-agreed upon protective mechanisms.
Operating in the manner as described, the shared secret generated is thus less likely to be illegitimately duplicated and misused.
These and other features and advantages will be apparent to those skilled in the art from the following detailed description, taken together with the accompanying drawings, in which like reference numerals refer to like parts.
The following description is presented to enable any person skilled in the art to make and use the invention. Details are set forth in the following description for purpose of explanation. It should be appreciated that one of ordinary skill in the art would realize that the invention may be practiced without the use of these specific details. In other instances, well known structures and processes are not elaborated in order not to obscure the description of the invention with unnecessary details. Thus, the present invention is not intended to be limited by the embodiments shown, but is to be accorded with the widest scope consistent with the principles and features disclosed herein.
For a clear and concise illustration, only three entities are shown in
Suppose in this example, the communication device 32 is a subscriber of the home carrier 34. The communication device 32 can be a wired device, for example, the device 32 can be a work station wired to the same network as the home carrier 34. Alternatively, the communication device 32 can be a wireless device. For instance, the device 32 can be a mobile telephone, a mobile computer, or a personal digital assistant (PDA). As such, the communication device 32 can be within the same network as the home carrier 34. In addition, the communication device 32 can also be positioned outside of the network of the home carrier 34. For example, the communication device 32 may roam away from the network of the home carrier 34 to other networks and may communicate with other entities in other networks.
Reference is now directed back to
For security and privacy reasons, the communication device 32 may first want to ensure that the service provider 36 is authorized for the provision of the service. Likewise, the service provider 36 in turn may also need to know that the communication device 32 is legitimate, for example, for purpose of billing. Differently put, prior to any communication, a trust relationship needs first be established between the communication device 32 and the service provider 36.
In accordance with this embodiment, the communication device 32 and the home carrier 34 share a master secret, symbolically identified by the reference numeral 38 in
To start the process, the communication device 32 first sends a request of service to the service provider 36, signified by the communication path 40. Thereafter, the process of establishing a trust relationship follows.
For the communication device 32, it first generates a shared secret K via a pseudo-random function (PRF). Inputs to the PRF can include, among other things, the master secret 38 and contextual information.
Examples of a PRF can be a Hash-based Message Authentication Code (HMAC), a Secure Hash Algorithm 1 (SHA-1), or a combination thereof. Both the HMAC and the SHA-1 can be found in Request for Comments (RFC) published by the Internet Engineering Task Force (IETF). Specifically, the HMAC is set fort in RFC 2104, entitled “HMAC: Keyed-Hashing for Message Authentication,’ February 1997. The SHA-1 algorithm is defined in RFC 3174, entitled “U.S. Secure Hash Algorithm 1,” September 2001.
In accordance with this embodiment of the invention, contextual information can be derived from the circumstances surrounding the communication session.
Contextual information can be topologically based. For instance, operating under the IP, the topological information can include the source and destination addresses of the various entities 31, 33 and 35 as shown in
Contextual information can also be time related. That is, certain time parameters surrounding the circumstances of the communication session can be used for the contextual information. For example, the contextual information can include the start time, end time, duration of a particular communication session, such as the session of the service request 40 sent by the communication device 32 to the service provider 36.
Contextual information can also be transactionally specific. Very often, under various communication systems, each communication session is uniquely identified with an identifier, commonly called a nonce or a transactional identifier. Such identifying information can also be used and included as contextual information.
As mentioned earlier, to generate a shared secret K, inputs to the PRF can include the master-secret and the contextual information. Mathematically, it can be represented as follows:
K=PRF(master_secret,contextual_information) (A)
where master_secret is for example, the master secret 38 as aforementioned, and contextual_information can further be represented as follows:
contextual_information=∪(server_address,server_port,start_time,end_time,random_nonce) (B)
where ∪ denotes a set of parameters as included in the parenthesis of equation (B). In this particular example, server_address is the network address of the service provider 36, server_port is the port number of the service provider 36, start_time is the beginning of the time of the communication device 32 sends the service request 40 to the service provider 36, end_time is the end of the time the aforementioned service request ends.
On the part of the service provider 36, upon receipt of the request of service from the communication device 32, the service provider 36 informs the home carrier 34 for authorization, as identified by the communication path 42 in
The shared secret K provides supporting basis for subsequent secure communications between the service provider 36 and the communication device 32.
For example, for secure and private communications, various cryptographic protocols can be later used between the service provider 36 and the communication device 32. Each of the cryptographic protocols may require an encryption key Ke to encrypt the secure communication data. The encryption key Ke can be generated from the shared secret K.
As another example, if applicable, the shared secret K can be used to generate challenge data exchanged between the service provider 36 and the communication device 32. The challenge data may include a challenge message and an expected response. The expected response can only be generated from the challenge message and with the knowledge of the shared secret K. For instance, referring to
Reference is now continued with
Once the communication device 32 and the service provider 36 possess the shared secret K, they can use the secret K as key material to establish cryptographically secured communications. The communication path of the cryptographic communications between the communication device 32 and the service provider 36 is denoted by the reference numeral 48 as shown in
The process as described above is summarized in the flowcharts of
Operating in the manner as described above, if the shared secret K is improperly divulged to an unauthorized party, the likelihood of unauthorized use of the secret K by the unauthorized party to masquerade as a legitimate secret holder is substantially reduced because the exact contextual information for which the shared secret K was originally generated must be replicated in order to succeed.
Alternatively, instead of having the communication device 32 send the contextual information to the home carrier 38, the reverse can also be possible. That is, upon receipt of the request for authorization from the service provider 36, the home carrier 38 can send the contextual information to the communication device 32. For instance, the predetermined parameters start_time and end_time in Equation (B) can be set at respectively the start and end times of the authorization request 42 as shown in
The apparatus 60 comprises a central data bus 62 linking several circuits together. The circuits include a CPU (Central Processing Unit) or a controller 64, a receive circuit 66, a transmit circuit 68, and a memory unit 70.
If the apparatus 60 is part of a wireless device, the receive and transmit circuits 66 and 68 can be connected to a RF (Radio Frequency) circuit but is not shown in the drawing. The receive circuit 66 processes and buffers received signals before sending out to the data bus 62. On the other hand, the transmit circuit 68 processes and buffers the data from the data bus 62 before sending out of the device 60. The CPU/controller 64 performs the function of data management of the data bus 62 and further the function of general data processing, including executing the instructional contents of the memory unit 70.
Instead of separately disposed as shown in
The memory unit 70 includes a set of instructions generally signified by the reference numeral 72. In this embodiment, the instructions include, among other things, the process steps as shown and described in the flowcharts of
Included in the memory unit 70 is also a cryptographic communication function 76 for carrying out any cryptographic protocol chosen. Furthermore, stored within the same memory unit 70, among other things, is the master secret 38. The functions 74, 76 and the master secret 38 can be transferred from a different memory unit (not shown) to the memory unit 70, e.g., during power up of the apparatus 60.
In this embodiment, the memory unit 70 is a RAM (Random Access Memory) circuit. The exemplary instruction portions 72 are software routines or modules. As mentioned above, the memory unit 70 can be tied to another memory circuit (not shown) which can either be of the volatile or nonvolatile type. As an alternative, the memory unit 70 can be made of other circuit types, such as an EEPROM (Electrically Erasable Programmable Read Only Memory), an EPROM (Electrical Programmable Read Only Memory), a ROM (Read Only Memory), an ASIC (Application Specific Integrated Circuit), a magnetic disk, an optical disk, and others well known in the art.
It should be further be noted that the processes as described and shown in
Finally, described in the embodiment, the first, second and third communication entities 31, 33 and 35 are respectively described as the communication device 32, the home carrier 34, and the service provider 36. Different arrangements are possible within the invention. For instance, the first entity 31 can assume a different form, such as a router, part of a network or a carrier, instead of a device. Likewise, the second and third entities 33 and 35 may also assume different forms as mentioned previously. In the exemplary embodiment, the shared secret is described as generated from the master secret along with the contextual information. It is conceivable that the shared secret can also be generated with more information other than that listed in Equation (A) above. For example, non-contextual information, such as the coordinates from the Global Positioning System (GPS) or the electronic identification of the communication entities can certainly serve as additional input to Equation (A). The same hold true with Equation (B) which can include other contextual information other than that as described. On the other hand, not all the contextual information as described in the exemplary embodiments needs to be included to generate the shared secret. It is possible to use only partial or selected information. For instance, instead of using various topological, time-related, and transactional information for the generation of the shared secret as described, only selected topological information can be inputted to the PRF to arrive at a shared secret. Furthermore, in the exemplary embodiments, the communication device 32 and the home carrier 34 are described as the entities collecting the contextual information. It surely is feasible that the service provider 36 performs the duty of contextual information collection and sends the collected information directly or indirectly to other parties. In addition, any logical blocks, circuits, and algorithm steps described in connection with the embodiment can be implemented in hardware, software, firmware, or combinations thereof. It will be understood by those skilled in the art that theses and other changes in form and detail may be made therein without departing from the scope and spirit of the invention.
The present application for patent claims priority to U.S. Provisional Application No. 60/652,063, entitled “Context Limited Secret Key,” filed on Feb. 11, 2005, and assigned to the assignee hereof and expressly incorporated by reference herein.
Number | Name | Date | Kind |
---|---|---|---|
5432850 | Rothenberg | Jul 1995 | A |
5661806 | Nevoux et al. | Aug 1997 | A |
5668877 | Aziz | Sep 1997 | A |
5794136 | Buchwald et al. | Aug 1998 | A |
5794139 | Mizikovsky et al. | Aug 1998 | A |
6230201 | Guck et al. | May 2001 | B1 |
6292896 | Guski et al. | Sep 2001 | B1 |
6907246 | Xu et al. | Jun 2005 | B2 |
7123721 | Panjwani et al. | Oct 2006 | B2 |
7162237 | Silver et al. | Jan 2007 | B1 |
7512973 | Chan et al. | Mar 2009 | B1 |
7532723 | Chitrapu et al. | May 2009 | B2 |
20030040306 | Kentaro et al. | Feb 2003 | A1 |
20030186651 | Weston et al. | Oct 2003 | A1 |
20030208677 | Ayyagari et al. | Nov 2003 | A1 |
20040098588 | Ohba et al. | May 2004 | A1 |
20040157585 | Sashihara | Aug 2004 | A1 |
Number | Date | Country |
---|---|---|
6152592 | May 1994 | JP |
759154 | Mar 1995 | JP |
7202882 | Aug 1995 | JP |
88899 | Jan 1996 | JP |
2002123172 | Apr 2002 | JP |
2002185443 | Jun 2002 | JP |
2004023365 | Jan 2004 | JP |
2004207965 | Jul 2004 | JP |
2004208073 | Jul 2004 | JP |
2006506908 | Feb 2006 | JP |
2008506317 | Feb 2008 | JP |
2163745 | Feb 2001 | RU |
WO03028281 | Apr 2003 | WO |
WO 2004021719 | Apr 2004 | WO |
Entry |
---|
Sherry Wang et. Al., “Cyber Security and Trusted Computing”, Oct 31, 2012, Trusted Communications . . . Awarness to Action. |
Taiwan Search Report—TW095104648—TIPO—Apr. 12, 2012. |
International Search Report and Written Opinion—PCT/US06/004901, International Searching Authority, European Patent Office, Jan. 12, 2007. |
Menez, Oorschot Vanstone, “Handbook of Applied Cryptography,” CRC Press Series on Discrete Mathematics and Its Applications, 1997, Chapter 10, pp. 498-499 and Chapter 12, pp. 397-400, XP002412962. |
Number | Date | Country | |
---|---|---|---|
20070174613 A1 | Jul 2007 | US |
Number | Date | Country | |
---|---|---|---|
60652063 | Feb 2005 | US |