TECHNICAL FIELD

This disclosure relates to a system and method for generating two types of session keys for encoding digital communications between two devices. In particular, the first type of session key possesses escrow properties whereby a trusted third party will be able to generate the first type of session key to decode the digital communications between the two devices while the second type of session key does not possess escrow properties.

BACKGROUND

Due to a convergence of multiple technologies, an ever increasing number of devices are now able to seamlessly communicate wirelessly with the Internet or wirelessly exchange communications between themselves. This convergence has resulted in the vision of the Internet of Things (IoT) gaining more traction through recent years. In the Internet of Things, millions of entities or devices (i.e., Things) will be connected to one another. These devices, which comprise devices or entities such as smart chips, smart plugs, smart watches, smart phones, smart vehicles, smart buildings, and etc., either communicate directly with one another or via the Internet.

As an example, it is becoming more commonplace that a vehicle's owner will have a mobile device that will exchange data with the vehicle on a daily basis. One purpose of this exchange is to integrate the car's data with the mobile device's data so that the collated data may be analyzed collectively. The analysed results are then used by an automaker and/or the vehicle's systems to ensure that the vehicle's performance, efficiency, and safety meet the required safety requirements. Data collected by the automakers may also be used to entice the vehicle's owner to sign up for more refined or customized services offered by the automaker or their partners.

In particular, when an automaker sells a vehicle to a new vehicle owner, the owner of the vehicle will typically agree to share data collected by the vehicle and/or data exchanged between the owner's mobile device and the vehicle. In return for providing the data to the automakers, automakers tend to offer several benefits/services to the car owner. For example, data collected in relation to one's driving behaviour may be used by automakers to provide tips to the driver to as to how he/she may become a smarter driver. Such data may also be shared with insurers who in turn may offer insurance discounts to various drivers based on their specific driving patterns and/or styles. Further, data obtained in relation to one's shopping venues, dining places and hotels etc. (i.e., data collected from the owner's mobile device), may be used by the vehicle's system to propose places of interest to the vehicle's owner as the owner is driving along a particular route or when the vehicle is parked at a particular location at a particular time. In addition to the vehicle system utilizing this data, this data may be shared and utilized by automakers and their partners, e.g. insurers etc, to send e-coupons to the owner's mobile device to entice the owner to frequent businesses along the route. Similarly, music data from the owner's mobile device may be utilized by the vehicle's system to arrange the driver's music list. As for data obtained in relation to the owner's phonebook (e.g., contacts list), this data may be utilized to allow calls and/or messages to be made directly from the vehicle system's interface rather than from the owner's mobile device.

In short, digital communications are transferred between the vehicle and the vehicle driver's mobile device on a daily basis. The type of data that is exchanged between these devices; and the direction it travels; vary from automaker to automaker, however, the usage of the data is almost consistently the same. Data (e.g., locations, navigations, driving behaviour etc.) will be transferred from the vehicle to the driver's mobile device because most automakers utilize mobile applications installed within a mobile device to collect the vehicle's data. The data is collected and then sent, sometimes together with the mobile device's data, to the automaker. In the other direction, data comprising the driver's health data, music list, phonebook, shopping, dining, navigation etc., may be transferred from driver's mobile device to the vehicle. Some of these data may be locally used by the vehicle's system only, e.g. driver's health data, music list, phonebook (e.g., contacts list) etc. and will not be shared with the automaker.

Hence, it can be said that in general, there are two types of data that are communicated between the vehicle's system and the vehicle owner's mobile device. The first type of data comprises data which may be shared with an automaker so that benefits/services may be offered to the car owner. For example, the first type of data may comprise locations, navigations, driving behaviour, shopping, dining places etc. The second type of data comprises the vehicle owner's private data which should only be accessible by the vehicle's system and the vehicle owner's mobile device only. This means that the second type of data should not be accessible to the automaker. The second type of data comprises data such as the driver's health data, exercise habits, personality, music lists, contacts list etc.

It is of utmost importance that data shared between the vehicle's system and the vehicle owner's mobile device be kept secure. These devices become more prone to cyber-attacks from hackers or unauthorized users as malicious wireless-enabled devices may be used to eavesdrop on the broadcasted communication to illegally obtain data. If unprotected, the data could be used to invade a user's privacy by disclosing his/her travel destinations, driving style, potential speeding, traffic violations etc. In a worst case scenario, the attack vector may expand to other devastating attacks, for instance, if the navigation data (usually containing home address) together with out-of-city destination data (indicating out of city trip) were to be obtained by a malicious party, this may result in a home burglary.

Therefore, strong confidentiality mechanisms, i.e. encryption schemes, are typically utilized to secure data that is being transmitted between two parties from being eavesdropped. An example of an encryption scheme that is utilized is Public Key Cryptography (PKC) (i.e., traditional public key infrastructure (PKI), identity based cryptography (IBC), etc.). In the PKC encryption techniques, data are encrypted using a public key and the encrypted data are subsequently decrypted using a corresponding private key. The downside of PKC based encryption technique is that this encryption technique is time and resource consuming, and is not suitable to be used in situations whereby data are encrypted/decrypted frequently.

Symmetric Key Cryptography (SKC) based encryption schemes are more efficient than PKC based encryption schemes. In SKC encryption schemes, a single unique key is shared between two communicating parties and this shared unique key is then used by both sides to encrypt and decrypt data, i.e. a shared session key is required to securely establish a session between both communicating parties. The establishment of the common secret key is one of the fundamental techniques required for secure communication between two parties employing the SKC scheme. Ideally, a different shared secret key will be established for each communication session between two entities and this shared secret key is known in the art as a session key. One way to establish a shared session key is to use long term private keys associated with the PKC scheme for session key establishment and then utilize the established session key for frequent encryption/decryption processes.

In some cases, certain vehicle owners may behave maliciously and may refuse to share data which they had previously agreed to share. To do so, vehicle owners may change their mobile device's or their vehicle system's configuration to block or manipulate data that is being transmitted to the automaker. If data exchanged between the vehicle's system and the mobile device is simply encrypted using PKI or the SKC scheme, the automaker may not obtain data of badly behaving drivers. Therefore, there is a need in the art for a method to secure data in a selective manner. In other words, the securing method should be able to distinguish the type of data that is to be secured and secure the data accordingly. For example, the automaker should be able to access any of the vehicle owner's data that is to be shared with the automaker even if this data is protected; while the vehicle owner's private data should be kept private and accessible by the vehicle owner's only (in the vehicle and mobile device) and should not be accessible by the automaker.

A common approach for establishing session keys between two parties involves the establishment of a session key without key escrow or a session key with key escrow for encryption/decryption. If the session key established between a vehicle and a mobile device is unknown to automaker (without key escrow), the automaker would not be able to decode the data exchanged between the vehicle and the mobile device. This is problematic as this data was preagreed to be shared with the automaker. On the other hand, if the session key was made known to the automaker (with key escrow), the automaker will be able to access the vehicle owner's private data as well.

For the above reasons, those skilled in the art are constantly striving to come up with a system and method for securely transferring data between a vehicle and the vehicle owner's mobile device with the objective of distinguishing the types of data being secured and exchanged by establishing different session keys for each type of data.

SUMMARY

The above and other problems are solved and an advance in the art is made by systems and methods provided by embodiments in accordance with the disclosure.

A first advantage of embodiments of systems and methods in accordance with the disclosure is that the system simultaneously allows two types of session keys to be generated, a session key with escrow and a private session key (without escrow) whereby data secured using the session key with escrow may be decoded by a trusted third party while data secured using the private session key (without escrow) may only be accessed by the two parties who are exchanging the data.

A second advantage of embodiments of systems and methods in accordance with the disclosure is that the system and method for establishing the two types of session keys are efficient as these two keys may be established in one protocol run by manipulating the same exchanged parameters in different ways.

A third advantage of embodiments of systems and methods in accordance with the disclosure is that parties to the communication are authenticated implicitly in one key confirmation protocol thereby simplifying the communication process.

The above advantages are provided by embodiments of a method in accordance with the disclosure operating in the following manner.

According to a first aspect of the disclosure, a system for generating an escrow session key SK1and a private session key SK2for encoding digital communications between a device i and an another device j, comprising: a secure server configured to: generate a master secret key (MSK) and global system parameters (GSP) for an Identity Based Cryptography (IBC) scheme, whereby the MSK and GSP are utilized together with a requesting device's identity to generate an IBC private key IBC-K for the requesting device; the device i, being configured to: use an Identity Based Encryption (IBE) scheme associated with the IBC scheme to encrypt a first element gawith an identity IDj, associated with the another device j, where g is a generator of a cyclic multiplicative group G and a is a random number generated by the device i; communicate to the another device j, the encrypted first element, an identity IDiassociated with the device i and a session key request such that upon receiving the communication, the another device j is configured to: use the IBE scheme to decrypt the encrypted first element with an IBC private key, IBC-Kj, whereby the private key, IBC-Kj, is requested and obtained from the secure server; generate a second element gbwhere g is the generator of the cyclic multiplicative group G and b is a random number generated by the another device j; compute the escrow session key SK1, using the first element; compute the private session key SK2, using the first element and the random number b; and communicate the second element and an identity IDjassociated with the another device j to the device i, compute the escrow session key SK1, using the first element; compute the private session key SK2, using the second element and the random number a.

With reference to the first aspect, the system further comprises the device i, being configured to: compute a first combined key SK11by obtaining a coproduct of SK1and SK2; generate a key confirmation value using the first combined key SK11whereby the key confirmation value is communicated to the another device j, such that upon receiving the key confirmation value, the another device j is configured to: compute a second combined key SK22by obtaining a coproduct of SK1and SK2; and verify the received key confirmation value using the second combined key SK22and validate the escrow session key SK1and the private session key SK2if the received key confirmation value is verified.

With reference to the first aspect, whereby the another device j being configured to communicate the second element and the identity IDjassociated with the another device j to the device i further comprises the another device j being configured to: use the IBE scheme to encrypt the second element with an identity IDiassociated with the device i, communicate the encrypted second element and the identity IDjassociated with the another device j to the device i such that upon receiving the communication, the device i is configured to: use the IBE scheme to decrypt the encrypted second element with an IBC private key, IBC-Ki, whereby the private key, IBC-Ki, is requested and obtained from the secure server by the device i.

With reference to the first aspect, wherein the computing the escrow session key SK1by the another device j comprises the another device j being configured to use the first element and the second element to generate the escrow session key SK1and the computing the escrow session key SK1by the device i comprises the device i being configured to use the first element and the second element to generate the escrow session key SK1.

With reference to the first aspect, wherein the another device j being configured to communicate the second element and the identity IDjassociated with the another device j to the device i further comprises the another device j being configured to: use a Public Key Infrastructure (PKI) scheme to encrypt the second element with a PKI Public Key PBKi, associated with the device i, communicate the encrypted second element and the identity IDjassociated with the another device j to the device i such that upon receiving the communication, the device i is configured to: use the PKI scheme to decrypt the encrypted second element with a PKI Private Key, PRKi, associated with the device i.

With reference to the first aspect, wherein the step of, communicating the encrypted first element, the identity IDiassociated with the device i and the session key request to the another device j by the device i further comprises the device i being configured to: sign the encrypted first element using an IBC private signing key IBC-Kiassociated with the device i and in place of the encrypted first element, transmit the signed encrypted first element to the another device j such that upon receiving the communication, the another device j is configured to: verify the signed encrypted first element using the identity IDiassociated with the device i and a verification function associated with the IBC scheme, whereby the first element is decrypted if the signed encrypted first element is verified.

According to a second aspect of the disclosure, a method for generating an escrow session key SK1and a private session key SK2for encoding digital communications between a device i and an another device j is disclosed, the method comprising: generating, by a secure server, a master secret key (MSK) and global system parameters (GSP) for an Identity Based Cryptography (IBC) scheme, whereby the MSK and GSP are utilized together with a requesting device's identity to generate an IBC private key IBC-K for the requesting device; encrypting, by the device i, a first element gawith an identity IDj, associated with the another device j, using an Identity Based Encryption (IBE) scheme associated with the IBC scheme, where g is a generator of a cyclic multiplicative group G and a is a random number generated by the device i; communicating, by the device i, to the another device j, the encrypted first element, an identity IDiassociated with the device i and a session key request such that upon receiving the communication, the another device j is configured to: use the IBE scheme to decrypt the encrypted first element with an IBC private key, IBC-Kj, whereby the private key, IBC-Kj, is requested and obtained from the secure server; generate a second element gbwhere g is the generator of the cyclic multiplicative group G and b is a random number generated by the another device j; compute the escrow session key SK1, using the first element; compute the private session key SK2, using the first element and the random number b; and communicate the second element and an identity IDjassociated with the another device j to the device i, computing, by the device i, the escrow session key SK1, using the first element, and computing the private session key SK2, using the second element and the random number a.

With reference to the second aspect, the method further comprises the steps of: computing, by the device i, a first combined key SK11by obtaining a coproduct of SK1and SK2; generating a key confirmation value using the first combined key SK11whereby the key confirmation value is communicated to the another device j, such that upon receiving the key confirmation value, the another device j is configured to: compute a second combined key SK22by obtaining a coproduct of SK1and SK2; and verify the received key confirmation value using the second combined key SK22and validate the escrow session key SK1and the private session key SK2if the received key confirmation value is verified.

With reference to the second aspect, wherein the step of the another device j being configured to communicate the second element and the identity IDjassociated with the another device j to the device i further comprises the step of: using, by the another device j, the IBE scheme to encrypt the second element with an identity IDiassociated with the device i, communicating the encrypted second element and the identity IDjassociated with the another device j to the device i such that upon receiving the communication, the device i is configured to: use the IBE scheme to decrypt the encrypted second element with an IBC private key, IBC-Ki, whereby the IBC private key, IBC-Ki, is requested and obtained from the secure server by the device i.

With reference to the second aspect, the step of computing the escrow session key SK1by the another device j comprises the step of the another device j being configured to use the first element and the second element to generate the escrow session key SK1and the computing the escrow session key SK1by the device i comprises the step of the device i being configured to use the first element and the second element to generate the escrow session key SK1.

With reference to the second aspect, wherein the step of the another device j being configured to communicate the second element and the identity IDjassociated with the another device j to the device i further comprises the step of: using, by the another device j, a Public Key Infrastructure (PKI) scheme to encrypt the second element with a PKI Public Key PBKi, associated with the device i, communicating the encrypted second element and the identity IDjassociated with the another device j to the device i such that upon receiving the communication, the device i is configured to: use the PKI scheme to decrypt the encrypted second element with a PKI Private Key, PRKi, associated with the device i.

With reference to the second aspect, wherein the step of, communicating the encrypted first element, the identity IDiassociated with the device i and the session key request to the another device j by the device i further comprises the step of: signing, by the device i, the encrypted first element using an IBC private signing key IBC-Kiassociated with the device i and in place of the encrypted first element, transmit the signed encrypted first element to the another device j such that upon receiving the communication, the another device j is configured to: verifying the signed encrypted first element using the identity IDiassociated with the device i and a verification function associated with the IBC scheme, whereby the first element is decrypted if the signed encrypted first element is verified.

According to a third aspect of the disclosure, a device i for generating an escrow session key SK1and a private session key SK2for encoding digital communications between the device i and another device j, is disclosed, the device comprising: a processor; and a non-transitory media readable by the processor, the non-transitory media storing instructions that when executed by the processor, cause the processor to: use an Identity Based Encryption (IBE) scheme associated with an Identity Based Cryptography (IBC) scheme to encrypt a first element gawith an identity IDj, associated with the another device j, where g is a generator of a cyclic multiplicative group G and a is a random number generated by the device i, wherein the IBC scheme comprises a master secret key (MSK) and global system parameters (GSP), whereby the MSK and GSP are utilized together with a requesting device's identity to generate an IBC private key IBC-K for the requesting device; communicate to the another device j, the encrypted first element, an identity IDiassociated with the device i and a session key request; receive a second element gband an identity IDjassociated with the another device j, compute the escrow session key SK1, using the first element; compute the private session key SK2, using the second element gband the random number a, where g is the generator of the cyclic multiplicative group G and b is a random number generated by the another device j.

With reference to the third aspect, the device i, is being configured to: compute a first combined key SK11by obtaining a coproduct of SK1and SK2; generate a key confirmation value using the first combined key SK11whereby the key confirmation value is communicated to the another device j; and validate the key confirmation value if a key confirmation validation value associated with the another device j is received.

With reference to the third aspect, the received second element gbis encrypted using the IBE scheme and an identity IDiassociated with the device i, whereby the device uses the IBE scheme to decrypt the encrypted second element with an IBC private key, IBC-Ki, whereby the private key, IBC-Ki, is requested and generated in accordance with the IBC scheme.

With reference to the third aspect, the computing the escrow session key SK1by the device i comprises the device i being configured to use the first element and the second element to generate the escrow session key SK1.

With reference to the third aspect, the received second element gbis encrypted using a Public Key Infrastructure (PKI) scheme with a PKI Public Key PBKi, associated with the device i, whereby the device uses the PKI scheme to decrypt the encrypted second element with a PKI Private Key, PRKi, associated with the device i.

With reference to the third aspect, the step of communicating the encrypted first element, the identity IDiassociated with the device i and the session key request to the another device j by the device further comprises the device i being configured to: sign the encrypted first element using an IBC private signing key IBC-Kiassociated with the device i and in place of the encrypted first element, transmit the signed encrypted first element to the another device j.

According to a fourth aspect of the disclosure, a method for generating an escrow session key SK1and a private session key SK2for encoding digital communications between a device i and another device j, is disclosed, the method comprising: encrypting, by the device i, a first element gawith an identity IDj, associated with the another device j, using an Identity Based Encryption (IBE) scheme associated with an Identity Based Cryptography (IBC) scheme, where g is a generator of a cyclic multiplicative group G and a is a random number generated by the device i, wherein the IBC scheme comprises a master secret key (MSK) and global system parameters (GSP), whereby the MSK and GSP are utilized together with a requesting device's identity to generate an IBC private key IBC-K for the requesting device; communicating, by the device i, to the another device j, the encrypted first element, an identity IDiassociated with the device i and a session key request, receive the second element and an identity IDj associated with the another device j; computing, by the device i, the escrow session key SK1, using the first element, and computing the private session key SK2, using the second element and the random number a.

With reference to the fourth aspect, the method further comprises the steps of: computing a first combined key SK11by obtaining a coproduct of SK1and SK2; generating a key confirmation value using the first combined key SK11whereby the key confirmation value is communicated to the another device j; and validating the key confirmation value if a key confirmation validation value associated with the another device j is received.

With reference to the fourth aspect, the received second element gbis encrypted using the IBE scheme and an identity IDiassociated with the device i, whereby the device uses the IBE scheme to decrypt the encrypted second element with an IBC private key, IBC-Ki, whereby the private key, IBC-Ki, is requested and generated in accordance with the IBC scheme.

With reference to the fourth aspect, the received second element gbis encrypted using the IBE scheme and an identity IDiassociated with the device i, whereby the device uses the IBE scheme to decrypt the encrypted second element with an IBC private key, IBC-Ki, whereby the private key, IBC-Ki, is requested and generated in accordance with the IBC scheme.

With reference to the fourth aspect, the received second element gbis encrypted using a Public Key Infrastructure (PKI) scheme with a PKI Public Key PBKi, associated with the device i, whereby the device uses the PKI scheme to decrypt the encrypted second element with a PKI Private Key, PRKi, associated with the device i.

With reference to the fourth aspect, the step of communicating the encrypted first element, the identity IDiassociated with the device i and the session key request to the another device j by the device i further comprises the step of: signing, by the device i, the encrypted first element using an IBC private signing key IBC-Kiassociated with the device i and in place of the encrypted first element, transmit the signed encrypted first element to the another device j.

