Patent Description:
Cyber-physical system (CPS) is often used to refer to a physical system that is controlled and/or monitored by computer-based algorithms, tightly integrated with the Internet and its users. In CPS, physical and software components can be deeply intertwined, each operating on different spatial and temporal scales, exhibiting multiple and distinct behavioral modalities, and interacting with each other in various ways that can change with context. Examples of CPS include cloud computing systems (CCS), smart grid systems, medical monitoring, autonomous vehicle systems, process control systems, robotics, and automated-pilot avionics.

Machine to Machine (M2M) communication - also referred to as Machine Type Communication (MTC) - represents a significant growth opportunity for the 3GPP ecosystem. To support this so-called "Internet of Things" (IoT), 3GPP operators must address usage scenarios with devices that are power-efficient (e.g., battery life of several years), can be reached in challenging coverage conditions (e.g., indoor and basements), and are cost-effective so that they can be deployed on a mass scale and even be disposable. A further requirement on the 3GPP IoT ecosystem is support for a large number of MTC or M2M devices, each generating a small amount of data. At cell level in a network, it is expected that each household in a cell may have up to <NUM> MTC devices with a household density per cell according to the assumptions in Annex A of 3GPP TR <NUM>.

Deployment of fifth-generation (<NUM>) mobile networks is on the near horizon and IoT is expected to form major portion of this <NUM> wireless system. IoT are expected to drastically change various industries by supplying a greatly increased volume of data that the network and data storage frameworks will be required to handle. According to a recent survey [<NUM>], IoT will generate around <NUM> ZB of data by <NUM>, which is around <NUM>% more generated data compared to <NUM>. In this data-rich environment, it will become increasingly important to ensure that service providers are respecting data privacy regulations and preventing hackers from taking control of devices, compromising information, disrupting services, or even taking down entire networks of crucial devices. However, the requirements for data encryption and access control for this amount or scale of data are extremely challenging.

In addition to the massive scale of connected end terminals and the data they are expected to generate, new technologies of Multi-X devices make identity and access managements more complex while bringing new security and privacy challenges. As used herein, "multi-X" refers to support of one or more of: multi-persona, multi-user, multi-device, and/or multi-domain. <FIG> shows an exemplary multi-device scenario, in which a user maintains multiple devices under a single subscription profile and/or telephone number. Each device utilizes a SIM (Subscriber Identification Module), Non-SIM, or eSIM containing information from which the subscriber's network identity is derived, and that must be physically loaded onto the particular device in use. As shown in <FIG>, one exemplary single-subscriber, multi-device scenario involves a smartphone, smartwatch, and connected automobile, all operating under a single subscription to a network service provider (e. g,, cellular operator).

<FIG> shows an exemplary multi-user scenario, in which a single subscription is shared among multiple individuals (e.g., family plan) or a single connected device (e.g., automobile) is shared by multiple users, each having a different subscription. In the latter case, each user has a different identity, which requires the device to have the ability to adapt and switch between user profiles.

<FIG> shows an exemplary multi-persona scenario, in which a single device can host multiple "personas" (also referred to as "virtual environments" or "virtual devices") that are securely separated from each other. For example, a particular device can host multiple personas of a single subscriber (e.g., personal and business personas) while maintaining a single subscription identity from a network access perspective. As another example, a particular device can host personas associated with different subscribers. <FIG> shows an exemplary multi-domain scenario, in which users from different domains can share a single device under different subscription identities. Like the other exemplary scenarios mentioned above, security of the data of the individual users is critically important.

These multi-X scenarios can add significant complexity to both identity and access management. Moreover, the massive volume of data generated by these devices requires an efficient solution for managing encryption and decryption (e.g., keys) to avoid bottlenecks. For example, single key encryption and decryption can be more efficient than multiple time-based keys without any hierarchy or identity logic, each key applied to some small number of data packets over a few seconds interval.

Further new mechanisms for data access control will also be necessary to avoid untrusted access or control over critical data. In other words, protection of personal data becomes even more in this environment, particularly in view of various laws, regulations, and requirements promulgated globally by various authorities. The European Union (EU) has formulated and planned to implement and enforce a new General Data Protection Regulation (GDPR) on May <NUM>, <NUM>. GDPR is anticipated to protect the export of personal data within and outside the EU. Federal Trade Commission (FTC) is also investigating similar regulations. Moreover, the Swedish Personal Data Act (Personuppgiftslagen or PuL) defines similar regulations. In general, all of these regulations impose additional requirements such that service providers cannot collect personal information that is not required, and data collection, storage, and processing must be secure. Users are responsible for identifying which data can be collected, and a service provider has the right to retain information only for a limited period of time. The success and future development of <NUM> and IoT will likely depend on the ability of service provides to adopt and comply with these regulations.

Currently, public key infrastructure (PKI) is often used to manage encryption keys. PKI includes roles, policies, and procedures in order to create, manage, distribute, use, store, and revoke digital certificates and manage public-key encryption. One primary drawback is that PKI requires large infrastructure (e.g., Certifying Authorities, Registration Authorities, Repository, Archives and End Entity) to manage and maintain the certificates used. In addition, PKI is generally non-scalable (e.g., due to its centralized configuration) and does not include provisions for user consents, which makes it easier to compromise.

In similar context, the Generic Bootstrapping Architecture (GBA) is a technology for user authentication. As standardized by 3GPP, GBA authenticates end devices to connect users' applications to the network. It uses Authentication Key Agreement protocol (AKA) rather than PKI. With GBA, keys are not shared between a Bootstrapping Server Function (BSF) and the device, but only some parameters to derive the key. Nonetheless, current GBA architecture has several drawbacks. First, it provides only end-to-end (E2E) security connection. Moreover, the key database is encrypted but the not the data itself. Also, GBA requires users to be involved to decide what should be encrypted and to maintain the keys and share them for decryption. In addition to the general constraints discussed above, GBA has various drawbacks that are particular to multi-X scenarios and/or applications. Document <CIT> discloses a bootstrapping architecture in which a bootstrapping server function may group one or more applications to be run on a user equipment into a service package. Each service package may be provided with a service package identifier which may be used as security key parameter for a Key Derivation Function (KDF) of the bootstrapping server function, when generating security keys (GBA keys) for the service package. Document <CIT> discloses a key generation and distribution method for an authentication framework for an operator provider network and a service provider network. The method comprises receiving requests comprising a plurality of identities. A new ID is generated for each identity. A secret key is generated for each new ID.

Exemplary embodiments of the present disclosure address these and other challenges by providing confidential, secure end-to-end communications throughout a network via a flexible, scalable, single-key encryption/decryption management solution. Exemplary embodiments can fulfill newly imposed privacy regulations, enabling users, operators, and application/service providers to leverage the full power of IoT and multi-X, while providing new access control solutions for identity and access management.

More specifically, exemplary embodiments of the present disclosure provide end-to-end security and key chaining encryption for Multi-X with identity and key management by extending the Generic Bootstrapping Architecture (GBA). By providing a flexible and scalable single-key encryption/decryption management solutions, exemplary embodiments can fulfill the massive encryption requirements of IoT and multi-X scenarios, while providing new access control solutions for secure handling of generated and communicated data in view of the new privacy regulations.

Certain exemplary embodiments include methods and/or procedures, performed by a subscriber device, for facilitating secure communication between a subscriber to a mobile communication network and one or more service providers (SPs), wherein the subscriber is associated with a plurality of entities comprising any combination of devices and profiles. The exemplary methods and/or procedures can include obtaining a security identifier (ID) associated with the subscriber. The exemplary methods and/or procedures can also include, based on the security ID, establishing an identity hierarchy comprising the plurality of entities associated with the subscriber. The exemplary methods and/or procedures can also include, based on the security ID, establishing consents for one or more SPs to access data generated by the entities included in the identity hierarchy. The exemplary methods and/or procedures can also include, in response to a request comprising the security ID, receiving a public key (PK) usable to encrypt data for sending to a particular SP, wherein the data is decryptable using a corresponding secret key (SK) associated with an established consent for the particular SP. The exemplary methods and/or procedures can also include encrypting the data using the PK and the identity hierarchy.

Other exemplary embodiments include methods and/or procedures, performed by a server, for facilitating secure communication between a subscriber to a mobile communication network and one or more service providers (SPs), wherein the subscriber is associated with a plurality of entities comprising any combination of devices and profiles. The exemplary methods and/or procedures can include performing an authentication key agreement (AKA) with a subscriber device. The exemplary methods and/or procedures can also include deriving and storing a bootstrap identifier (BTID) and a plurality of keys associated with the BTID. The exemplary methods and/or procedures can also include sending the BTID to the subscriber device. The exemplary methods and/or procedures can also include receiving a first request for a first key of the plurality, wherein the first request comprises an associated BTID. The exemplary methods and/or procedures can also include, based on determining that the associated BTID matches the stored BTID, sending the first key in response to the first request.

Other exemplary embodiments include methods and/or procedures, performed by a server, for facilitating secure communication between a subscriber to a mobile communication network and one or more service providers (SPs), wherein the subscriber is associated with a plurality of entities comprising any combination of devices and profiles. The exemplary methods and/or procedures can include receiving, from the subscriber device, a request comprising a security identifier (ID) associated with the subscriber. The exemplary methods and/or procedures can also include, based on the security ID, establishing an identity hierarchy comprising the plurality of entities associated with the subscriber. The exemplary methods and/or procedures can also include generating a public key (PK) associated with the subscriber. The exemplary methods and/or procedures can also include generating a hierarchy of secret keys (SKs) corresponding to the identity hierarchy. The exemplary methods and/or procedures can also include providing the PK to a particular device or profile included in the identity hierarchy.

Other exemplary embodiments include methods and/or procedures, performed by a server, for facilitating secure communication between a subscriber to a mobile communication network and one or more service providers (SPs), wherein the subscriber is associated with a plurality of entities comprising any combination of devices and profiles. The exemplary methods and/or procedures can include receiving, from the subscriber device, a request comprising a security identifier (ID) associated with the subscriber. The exemplary methods and/or procedures can also include authenticating the subscriber based on subscriber information associated with the security ID. The exemplary methods and/or procedures can also include sending, to the subscriber device, a list of entities, comprising any combination of devices and profiles, associated with the subscriber. The exemplary methods and/or procedures can also include receiving, from the subscriber device, consents for one or more service providers (SPs) to access data generated by the entities included in the list. The exemplary methods and/or procedures can also include mapping the received consents into an identity hierarchy comprising the entities associated with the subscriber.

Other exemplary embodiments include subscriber devices (e.g., user equipment or UE) and server apparatus comprising communication transceivers, processor(s), and memory(ies) storing computer-executable instructions that, when executed by the processor(s), configure the subscriber device or the server apparatus to perform operations corresponding to any of the exemplary methods and/or procedures disclosed herein.

Other exemplary embodiments include non-transitory, computer-readable media storing program instructions that, when executed by a subscriber device or a server apparatus, configure the subscriber device or the server apparatus to perform operations corresponding to any of the exemplary methods and/or procedures disclosed herein.

Of course, embodiments of the present disclosure are not limited to the above features and advantages. Indeed, those skilled in the art will recognize additional features and advantages upon reading the following detailed description, and upon viewing the accompanying Figures.

The following Figures illustrate various exemplary aspects of embodiments disclosed herein:.

While the present disclosure will now be described in detail with reference to the figures, it is done so in connection with the illustrative embodiments and is not limited by the particular embodiments illustrated in the figure(s) or in the appended exemplary embodiments.

In addition to the general constraints discussed above, GBA has various drawbacks that are particular to multi-X scenarios and/or applications. For example, GBA requires generation of multiple keys for multi-X, has no hierarchy for sub-keys generation, and assigns keys only for specific time periods. Such massive encryption with multiple keys creates in turns scalability bottleneck and inefficiency, as well as very complex data access control and trust data management. Further, GBA provides no mechanisms to generate a specific key for each service provider nor to decrypt massive data encrypted by different keys.

Nevertheless, various works have been built on top of GBA, focusing on the infrastructure and efficiency of the protocol. Sethi et al. [<NUM>] described in their proposition how to employ GBA to ensure secure authentication and communications among resource-constrained devices, while ID-based authentication has been proposed by Ring et al. A GBA-based approach employing token-based authentication incorporated in the BSF has been proposed to transfer Electronic Health Records through mobile network [<NUM>]. This approach allows authentication, prevents token masquerading, and provides confidentiality and resistance to man-in-the-middle attacks while working with trusted service provider.

Similarly, dynamic generation of credentials using Federated Identity reverse bootstrapping mechanism has been proposed for secure and seamless access across heterogeneous network [<NUM>]. This approach used an application-layer bootstrapping mechanism to facilitate network access layer credential generation seamlessly and automatically. Afterwards, the credential is used for One-Round-Trip EAP-Authentication which enables authentication on new networks. Experiments demonstrated the efficiency of the work with respect to the authentication procedure, keying material, cost of deployment, and other criteria.

Other works discuss existing authentication solutions and their limitations (e.g., ISIM authentication, GBA, and SIM Strong authentication using SMS verification), as well as SIM authentication based on different scenarios like SATSA and EAP-SIM, Bluetooth, and SIM dongle [<NUM>]. In addition, various concerns regarding the privacy and cost sensitive applications in e-health sector have been identified [<NUM>]. For example, in the 3GPP GBA framework, the mobile operator is always assumed to be trusted, but due to the security risk of e-health sector the trusted BSF should be eliminated. An alternative solution for GBA that satisfies the e-health requirements using AKA scheme and by building on the dual capabilities of SMS Security and USIM Application Toolkit (SAT). More specifically, another set of keys is generated in USIM as well as in an e-health server.

None of these works address multi-identity, multi-persona, multi-domains, and access control. Moreover, none fulfill the coming regional and global regulations such as GDPR, FTC and PDA. These regulations will have a high impact on the increasingly sophisticated technology of <NUM> and IOT evolution where the security and the protection of personal data become one of the main design requirements. In the context of security, many encryption-based access control schemes have been proposed and adopted in IoT domain.

For example, PKI has been proposed to resolve security issues for IoT gateways that aggregate health sensor data through digital certificates and PKI data encryption [<NUM>]. PKI model uses a pair of mathematically related keys. If one key is used to encrypt information, then only the related key can decrypt that information. In case the public key gets compromised, still it is not computationally feasible to retrieve the private key. However, it relies on a trusted authority in order to perform the encryption and decryption activities.

Another encryption-based access control scheme called Hierarchical Identity Based Encryption (HIBE) has been proposed ([<NUM>]-[<NUM>]). HIBE is collision-resistant, and secure against chosen-ciphertext attacks. The message and complexity of encryption and decryption grows linearly with the number of levels in the hierarchy. This scheme is an extension of Boneh-Franklin identity-based encryption (IBE) scheme. In general, IBE is a public key system where the public key can be an arbitrary string such as an email address. A central authority uses a master key to issue private keys to identities that request them. HIBE is a generalization of IBE that mirrors an organizational hierarchy. An identity at level k of the hierarchy tree can issue private keys to its descendant identities, but cannot decrypt messages intended for other identities.

In other words, HIBE utilizes a root key to generate the lower level keys which have IDs incorporated into them. The message is encrypted with ID-tuple. Various works ([<NUM>]-[<NUM>]) have proposed constant size ciphertext, leading to lower decrypting complexity, history-free updates, security against insiders, and resistance to decryption key exposure. HIBE includes seven different algorithms: setup, key generation, key update, key derivation, encrypt, decrypt, and key revocation. Various other works ([<NUM>]-[<NUM>]) have explored various aspects of HIBE, but none have taken into consideration the specific requirements of multi-X use cases, including automotive use cases.

Attribute-based encryption is another type of public-key encryption in which the secret key of a user and the ciphertext are dependent upon user attributes (e.g., the country in which they live, or the kind of subscription they have). In such a system, the decryption of a ciphertext is possible only if the set of attributes of the user key matches the attributes of the ciphertext. ABE has been used for fine-grained access control of encrypted data [<NUM>]. Nevertheless, due to its public-key nature, ABE relies on a trusted authority in order to perform the encryption and decryption activities.

None of the previous solutions discussed above are suitable for meeting all of the requirements of multi-X use cases in the context of massive amounts of data and the regulations imposed for secure data collection, storage and processing. In this environment, meeting security, authentication, and authorization requirements becomes critically challenging. Nevertheless, exemplary embodiments of the present disclosure address these challenges by providing secure end-to-end communications throughout a network via a flexible, scalable, single-key encryption/decryption management solution. Exemplary embodiments can fulfill the newly imposed privacy regulations, enabling users, operators, and application providers to leverage the full power of IoT and Multi-X, while providing new access control solutions for identity and access management.

Even more specifically, exemplary embodiments provide hierarchical classification of devices based on the subscriber/user using the information from the Mobile Network Operator (MNO). The device IDs are further extended using time-based identities, thereby facilitating better access control. Exemplary embodiments use a key from GBA to generate an encryption parameter, and a single key for encryption and decryption. The single-key encryption/decryption allows access control and authorization, and consent is provided by the subscriber for the data.

<FIG> shows a high-level diagram of a system utilizing GBA architecture and hierarchical ID-based encryption in multi-X environment, according to exemplary embodiments of the present disclosure. At the top layer (conceptually) are three subscribers/users, labelled subscriber A (referred to as "Sub A"), User B, and User C. As shown, Sub A and User B are part of Domain <NUM>, while User C is part of Domain <NUM>. At the next layer are various exemplary devices, labeled IMP1-<NUM>. For example, IMP1 and IMPI2 represent two devices associated with a single subscriber (Sub A). IMPI1 can represent a smartphone and IMPI2 a smartwatch and/or personal fitness tracker. Similarly, IMPI3 can represent an automobile (e.g., car) that is shared by multiple users. At the next level are various profiles on particular devices, each profile associated with a particular top-level subscriber, user, or user "persona. " Below each profile are device applications associated with the profile, and below each application is a time-series of data generated by the application as instances <NUM>, <NUM>,.

<FIG> further illustrates how multiple devices can be associated with a single subscriber or user, according to various exemplary embodiments of the present disclosure. As shown in the figure, devices utilize a hierarchical ID with the subscriber at the root. For example, the heart monitor application of profile A-<NUM> (e.g., Sub A's profile on the smartphone device) can be identified as "Sub A/A-<NUM>/A-<NUM>-<NUM>". This hierarchical ID allows individual devices (or a particular device profile) to be uniquely identified, which gives the subscriber the ability to narrowly tailor consent for which data can be shared with application/service providers (SP).

<FIG> further illustrates how multiple personas can be associated with a single subscriber/user and single device, according to various exemplary embodiments of the present disclosure. As shown in the figure, Sub A uses two profiles or personas on smartphone device IMPI1. These two profiles - labelled ID A-<NUM> and ID A-<NUM> - could be for personal and business use, respectively. Each of Sub A's applications will have a unique ID associated with each of Sub A's profiles on IMPI1. For example, the ID for the heart monitor application of profile A-<NUM> will be "Sub A/A-<NUM>/A-<NUM>-<NUM>", while for profile A-<NUM> the unique ID of the same application is "Sub A/A-<NUM>/A-<NUM>-<NUM>.

In some exemplary embodiments, the hierarchical ID arrangement can be further extended to facilitate unique identification of specific time-domain data, thereby providing the subscriber/user the ability to provide consent on individual data segments. For example, the data produced at time T1 by the heart monitor of Sub A, profile A-<NUM> can be identified by the hierarchical ID "Sub A/A-<NUM>/A-<NUM>-<NUM>-T1. " Likewise, the data produced at times <NUM> and time <NUM> can be identified as "Sub A/A-<NUM>/A-<NUM>-<NUM>-T1/A-<NUM>-<NUM>-T2," and so on.

<FIG> further illustrates how multiple subscribers or users can be associated with a single device, according to various exemplary embodiments of the present disclosure. When multiple users share a device, the device will adopt a profile associated with the subscriber who is using it. In other words, the physical device will provide multiple "virtual devices," each associated with a profile of a subscriber/user/persona that accesses or uses it. For example, as shown in the figure, the car is divided into a "virtual car" for each subscriber/user/persona accessing it, i.e., profile A-<NUM> of Sub A and profile B-<NUM> of User B. In such case, the hierarchical ID of the car's speedometer as associated with Sub A will be "Sub A/A-<NUM>/A-<NUM>-<NUM>," whereas the hierarchical ID for the same physical speedometer will be "User B/B-<NUM>/B-<NUM>-<NUM>" when associated with User B.

<FIG> further illustrates how multiple subscribers or users from different domains can be associated with a single device, according to various exemplary embodiments of the present disclosure. This scenario is similar to the one shown in <FIG>, except that Sub A and User C - which share use of automotive device IMPI3 - are from different Domains <NUM> and <NUM>, respectively. For example, Domains <NUM> and <NUM> can represent different mobile network operators (MNOs).

In exemplary embodiments, the consent and access control can be achieved by encrypting the data generated from all the devices of the subscribers. Hierarchical IDs provide a parameter for the encryption scheme. More specifically, various embodiments utilize the exemplary hierarchical IDs discussed above with a HIBE encryption scheme, in which a key (called Ks) derived from GBA is used as an input during setup. By combining hierarchical identification and HIBE, it is possible to encrypt the data coming from a device and/or application with the associated hierarchical ID and send it to the service provider (SP). By generating the secret key (SK) based on the hierarchical IDs of the devices and/or applications, the subscriber/user gives consent of which data from which device and/or application that a particular SP can decrypt.

The technique involves the following operations, one or more of which can be used in various exemplary embodiments:.

<FIG> shows a diagram of an exemplary architecture of a multi-X Key Chaining (MXKC) according to embodiments of the present disclosure, which leverages GBA components to address the multi-X scenarios and requirements discussed above. The architecture is divided into several modules and/or components whose functions and/or operations can be summarized as follows:.

In various embodiments, during initialization, the subscriber derives Ks based on utilizing GBA for this bootstrapping operation. MX-KC then uses Ks to initialize itself for generating the hierarchy of device IDs, PK (required by the devices for encryption), and MSK (required to generating the user secret key (SK) to be used, by the SP, for that subscriber/user. The subscriber uses MX-CAS to set up the consents for the devices, which are mapped into parameter and then forwarded to the MX-KC. In turn, MX-KC generates the secret key for the SP and sends it to KMS.

When a subscriber device and/or application wants to send encrypted data to a business application or application server (e.g., of the SP), it can authenticate itself to the MX-KC in order to the get the PK needed for the encryption. The device uses the PK and its identity to encrypt and send data to the business application. When the SP wants to decrypt the received data, it can request a SK from the KMS and, if the SP has the access privilege for that data, the SP will receive the SK and be able to decrypt the data. The details of these process are shown in the sequence diagrams below.

<FIG> shows a signal flow diagram of an exemplary method and/or procedure for subscriber initialization, according to various exemplary embodiments of the present disclosure. The exemplary method and/or procedure can be used when a subscriber wants to set up their devices for the first time for use with MX-KC. For example, the exemplary method and/or procedure can be performed on a "master device" associated with the subscriber. In some embodiments, the particular device can be identified as a "master device" based on its performance of the exemplary method and/or procedure.

Although the operations shown in <FIG> are illustrated in a particular order, this order is exemplary and the operations shown can be performed in different orders, and can be combined and/or divided into operations having different functionality than shown in <FIG>. Furthermore, the exemplary method and/or procedure shown in <FIG> can be complementary to other exemplary methods and/or procedures disclosed herein, such that they are capable of being used cooperatively to provide the benefits, advantages, and/or solutions to problems described hereinabove. For example, the exemplary method and/or procedure shown in <FIG> can be used with one or more of the exemplary methods and/or procedures shown in <FIG>.

In operation <NUM>, the subscriber sends an initialization request to MX-KC, which responds (operation <NUM>) to the subscriber with a request to authenticate via bootstrapping. In operation <NUM>, the subscriber sends a bootstrap request to the BSF, which is accompanied with the subscriber's ID (e.g., IMS private user identity (IMPI) associated with the mobile network). Subsequently, in operation <NUM>, the BSF sends the subscriber ID to the HSS with a request for an authentication vector (AV) for that subscriber, which the HSS provides in operation <NUM> so long as the subscriber ID is valid. The AV can include a challenge (e.g., a random number), an expected response, and a cipher key usable in the authentication. In block <NUM>, the BSF sends the challenge to the subscriber, which returns a response in <NUM>. If the response matches the expected response, the BSF derives the bootstrap key Ks and the associated bootstrap identifier (BTID) parameter (operation <NUM>), then sends BTID to the subscriber (operation <NUM>). The BSF also retains the BTID, which it can later use to identify the associated Ks used to generate session keys for various entities, as explained below. After receiving BTID, the subscriber uses it to derive its own bootstrap key Ks, as well as keys KsCAS and KsKC used for further secure communication with MX-CAS and MX-KC (operation <NUM>).

Operation <NUM> (key-chaining (KC) initialization) is described below in relation to <FIG>. After KC initialization, the MX-KC responds to the subscriber with a request to perform CAS initialization. The resulting operation <NUM> (CAS initialization) is described below in relation to <FIG>.

<FIG> shows a signal flow diagram of an exemplary method and/or procedure for key-chaining (KC) initialization, according to various exemplary embodiments of the present disclosure. For example, the exemplary method and/or procedure can be used to set up the hierarchy of the subscriber's devices and applications and generates the parameters for encryption according to this hierarchy. Although the operations are illustrated in a particular order, this order is exemplary and the operations shown can be performed in different orders, and can be combined and/or divided into operations having different functionality than shown in <FIG>. Furthermore, the exemplary method and/or procedure shown in <FIG> can be complementary to other exemplary methods and/or procedures disclosed herein, such that they are capable of being used cooperatively to provide the benefits, advantages, and/or solutions to problems described hereinabove. For example, the exemplary method and/or procedure shown in <FIG> can be used with one or more of the exemplary methods and/or procedures shown in <FIG> and <FIG>.

In operation <NUM>, the subscriber sends a request for initialization to MX-KC along with ID parameter BTID (derived, e.g., by BSF in operation <NUM>). In operation <NUM>, the MX-KC sends a request to the BSF for the key KsKC to be used for further communication with the subscriber, which the MX-KC identifies using the BTID received in operation <NUM>. In operation <NUM>, the BSF responds with both KsKC and the subscriber information (e.g., a subscriber identifier). In operation <NUM>, MX-KC uses this received information to authenticate the subscriber. In operation <NUM>, after subscriber authentication, MX-KC requests Ks from the subscriber, which the subscriber provides in operation <NUM>.

In operation <NUM>, the MX-KC requests the application- or service-specific profile of the subscriber from the TAS. For example, the TAS can be provisioned by the subscriber's mobile network operator. The MX-KC identifies the particular subscriber to the TAS using the subscriber ID received in operation <NUM>. In operation <NUM>, the TAS responds with the application- or service-specific profile of the subscriber, which MX-KC uses in operation <NUM> to generate and store a hierarchy of device/application IDs. In addition, the MX-KC generates the subscriber's public key (PK) and master secret key (MSK). The MX-KC then stores these generated parameters in preparation for possible future use, as explained below.

<FIG> shows a signal flow diagram of an exemplary method and/or procedure for context-aware service (CAS) initialization, according to various exemplary embodiments of the present disclosure. For example, the exemplary method and/or procedure can be used to facilitate initialization of consent settings for any or all of the subscriber's devices and/or applications. Although the operations are illustrated in a particular order, this order is exemplary and the operations shown can be performed in different orders, and can be combined and/or divided into operations having different functionality than shown in <FIG>. Furthermore, the exemplary method and/or procedure shown in <FIG> can be complementary to other exemplary methods and/or procedures disclosed herein, such that they are capable of being used cooperatively to provide the benefits, advantages, and/or solutions to problems described hereinabove. For example, the exemplary method and/or procedure shown in <FIG> can be used with one or more of the exemplary methods and/or procedures shown in <FIG> and <FIG>.

In operation <NUM>, the subscriber sends a request for initialization to MX-CAS along with bootstrapping identity BTID. In operation <NUM>, the MX-CAS sends a request to the BSF for the key KsCAS to be used for further communication with the subscriber, which the MX-CAS identifies using the BTID received in operation <NUM>. In operation <NUM>, after finding a match with a previously-stored BTID (e.g., derived and stored in operation <NUM> of <FIG>), BSF responds with both KsCAS and the subscriber information (e.g., a subscriber identifier). In operation <NUM>, MX-CAS uses this received information to authenticate the subscriber. In operation <NUM>, after subscriber authentication, MX-CAS requests the list of entities associated with the subscriber from the TAS, identifying the particular subscriber using the subscriber ID received in operation <NUM>. In operation <NUM>, the TAS responds with the list of entities associated with the subscriber.

In operation <NUM>, the MX-CAS responds to the subscriber's initialization request (made, e.g., in operation <NUM>) by sending the list of entities associated with the subscriber. This list can be secured using the key KsCAS received in operation <NUM>. In operation <NUM>, the subscriber establishes (e.g., initializes) the consents for the entities comprising the list. For example, for each device and/or profile on the list, consents can be established with respect to one or more SPs. In operation <NUM>, using KsCAS, the subscriber securely sends the consents to MX-CAS, which maps the consents into the ID hierarchy (operation <NUM>) and sends the ID hierarchy to MX-KC (operation <NUM>). In operation <NUM>, MX-KC generates the secret key (SK) based on the subscriber consents and ID hierarchy, as well as the subscriber MSK previously stored (e.g., in operation <NUM>). In operation <NUM>, the MX-KC sends the SK to the key management system (KMS) database, where it is stored (operation <NUM>) for subsequent distribution upon valid request by SPs (e.g., as needed to decrypt data sent by the subscriber).

<FIG> shows a signal flow diagram of an exemplary method and/or procedure for context-aware service (CAS) update, according to various exemplary embodiments of the present disclosure. For example, the exemplary method and/or procedure can be used to by the subscriber to update consents for the associated devices. Since the CAS update operations shown in <FIG> are substantially similar to the CAS initialization operations shown in <FIG> (CAS initialization), the above descriptions of particular operations apply equally to like-numbered operations in <FIG>.

<FIG> shows a signal flow diagram of an exemplary method and/or procedure for key-chaining (KC) update, according to various exemplary embodiments of the present disclosure. Although the operations are illustrated in a particular order, this order is exemplary and the operations shown can be performed in different orders, and can be combined and/or divided into operations having different functionality than shown in <FIG>. Furthermore, the exemplary method and/or procedure shown in <FIG> can be complementary to other exemplary methods and/or procedures disclosed herein, such that they are capable of being used cooperatively to provide the benefits, advantages, and/or solutions to problems described hereinabove. For example, the exemplary method and/or procedure shown in <FIG> can be used with one or more of the exemplary methods and/or procedures shown in <FIG> and <FIG>.

Operations <NUM>-<NUM> shown in <FIG> are substantially similar to respective CAS initialization operations <NUM>-<NUM> shown in <FIG> and, as such, will not be described further below. After generating and storing an updated hierarchy of device/application IDs (operation <NUM>), MX-KC requests the subscriber to perform a CAS update to incorporate the updated hierarchy (operation <NUM>). The subscriber can perform such an update using the exemplary method and/or procedure shown in <FIG>.

<FIG> shows a signal flow diagram of an exemplary method and/or procedure for device initialization, according to various exemplary embodiments of the present disclosure. For example, the exemplary method and/or procedure can be used to initialize a particular device before sending data (e.g., from that device) to an application/service provider for the first time. For example, the exemplary method and/or procedure in <FIG> can be used to initialize a "secondary device" after a "master device" has performed the exemplary method and/or procedure shown in <FIG>.

Although the operations are illustrated in a particular order, this order is exemplary and the operations shown can be performed in different orders, and can be combined and/or divided into operations having different functionality than shown in <FIG>. Furthermore, the exemplary method and/or procedure shown in <FIG> can be complementary to other exemplary methods and/or procedures disclosed herein, such that they are capable of being used cooperatively to provide the benefits, advantages, and/or solutions to problems described hereinabove. For example, the exemplary method and/or procedure shown in <FIG> can be used with one or more of the exemplary methods and/or procedures shown in <FIG>.

In operation <NUM>, the device sends a request to MX-KC for a public key (PK) to be used for subscriber communication with SP's NAF. In operation <NUM>, MX-KC responds to the device with a request to authenticate via bootstrapping. In operation <NUM>, the device sends a bootstrap request to the BSF, which is accompanied with a device ID. Subsequently, in operation <NUM>, the BSF sends the device ID to the HSS with a request for an authentication vector (AV) for that device, which the HSS provides in operation <NUM> so long as the device ID is valid. The AV can include a challenge (e.g., a random number), an expected response, and a cipher key used in the authentication. In block <NUM>, the BSF sends the challenge to the device, which returns a response in <NUM>. If the response matches the expected response, the BSF derives the bootstrap key Ks and the associated bootstrap identifier BTID (operation <NUM>), then sends BTID to the device (operation <NUM>). After receiving BTID, the device uses it to derive its own bootstrap key Ks as well as keys KsCAS and KsNAF (operation <NUM>), which are usable, respectively, for further secure communication with MX-CAS and NAF.

In operation <NUM>, the device again requests from MX-KC the public key (PK) that is usable for encrypting user data to be sent to the NAF, using the BTID parameter (received in operation <NUM>) subscriber identifying information. In operation <NUM>, the MX-KC sends a request to the BSF for key KsKC to be used for secure communication with the subscriber device, identified using the BTID received in operation <NUM>. In operation <NUM>, the BSF responds with KsKC and the subscriber identifying information. In operation <NUM>, using the received BTID, the MX-KC identifies the public key (PK) usable for the device's communication with NAF, encrypts it using KsKC, and sends it to the device. In operation <NUM>, the device encrypts data with the received PK and its own ID, associates its own BTID parameter with the encrypted data, then uses KsNAF to securely send the combined information to the NAF (operation <NUM>).

In operation <NUM>, the NAF requests from BSF the key KsNAF usable for communicating with the user device, the request including the BTID associated with the device (received in operation <NUM>) and the service provider ID (SPID) associated with the NAF. In operation <NUM>, the BSF responds with KsNAF. In operation <NUM>, the NAF requests, from the key management system (KMS), the secret key (SK) usable to secure data communication from the device to the SP. The request includes the SPID. In operation <NUM>, KMS responds to NAF with the SK. In operation <NUM>, using this SK and the PK retrieved by the device in operation <NUM>, the NAF and the subscriber's device are able to communicate securely.

Two primary components of the exemplary embodiments described above are the MX-CAS and MX-KC, which are responsible for the consent management and key generations for encryption. In various embodiments, both of these components can be implemented and/or deployed in various locations according to requirements and/or agreements between subscriber and mobile network operation (MNO).

<FIG> show high-level diagrams of three different options and/or architectures for deployment of MX-CAS and MX-KC, according to various exemplary embodiments of the present disclosure. In <FIG>, both MX-CAS and MX-KC are substantially located in a subscriber device, e.g., in a secure, tamper-resistant environment. In this arrangement, various security-related operations described above with respect to <FIG> may not be required and/or relevant. For example, operations <NUM>-<NUM> in <FIG>, <NUM>-<NUM> in <FIG>, <NUM>-<NUM> in <FIG>, <NUM>-<NUM> in <FIG>, and <NUM>-<NUM> in <FIG> are not required if MX-KC and MX-CAS are located within the subscriber device.

<FIG> illustrates other exemplary embodiments in which both MX-CAS and MX-KC can be deployed at the gateway level (e.g., a gateway to a particular domain). <FIG> illustrates other exemplary embodiments in which both MX-CAS and MX-KC can be deployed at the mobile network operator (MNO) level (e.g., in an MNO data center). Other exemplary embodiments can include combinations of the three deployment options illustrated in <FIG>.

<FIG> shows a flow diagram of an exemplary method and/or procedure for facilitating secure communication between a subscriber to a mobile communication network and one or more service providers (SPs), wherein the subscriber is associated with a plurality of entities comprising any combination of devices and profiles, according to various exemplary embodiments of the present disclosure. For example, the exemplary method and/or procedure shown in <FIG> can be performed by a subscriber device, such as a user equipment (UE). Although the operations are illustrated in a particular order, this order is exemplary and the operations shown can be performed in different orders, and can be combined and/or divided into operations having different functionality than shown in <FIG>. Dashed lines indicate optional operations.

Furthermore, the exemplary method and/or procedure shown in <FIG> can be complementary to other exemplary methods and/or procedures disclosed herein, such that they are capable of being used cooperatively to provide the benefits, advantages, and/or solutions to problems described herein. For example, the exemplary method and/or procedure shown in <FIG> can be used with one or more of the exemplary methods and/or procedures shown in <FIG>.

The exemplary method and/or procedure can include operations of block <NUM>, in which the subscriber device can obtain a security identifier (ID) associated with the subscriber. In some embodiments, the security ID comprises a bootstrap identifier (BTID), and obtaining the security ID comprises performing an authentication key agreement (AKA) with a bootstrapping server (BSF) and receiving the BTID. In some embodiments, this can include, various ones of operations <NUM> to <NUM> shown in <FIG> or operations <NUM> to <NUM> shown in <FIG>. For example, performing and AKA with the BSF can include sending a bootstrap request to the BSF; receiving an authenticate challenge from the BSF; sending an authentication response to the BSF; and receiving the BTID.

In some embodiments, the exemplary method and/or procedure can also include the operations of block <NUM>, in which the subscriber device can generate a plurality of keys based on the security ID.

The exemplary method and/or procedure can also include operations of block <NUM>, in which the subscriber device can, based on the security ID, establish an identity hierarchy comprising the plurality of entities associated with the subscriber. In some embodiments, the identity hierarchy further comprises one or more applications associated with each of the entities. In some embodiments, the identity hierarchy further comprises one or more time periods associated with at least a portion of the applications.

In some embodiments, establishing the identity hierarchy can include sending an initialization request comprising the security ID, wherein the initialization request is encrypted using a second key derivable based on the security ID; receiving a request for a first key of the plurality of keys generated based on the security ID; decrypting the request using the second key; and sending a response comprising the first key, wherein the response is encrypted using the second key. In some embodiments, these operations can correspond to various ones of operations <NUM> to <NUM> shown in <FIG>.

The exemplary method and/or procedure can also include operations of block <NUM>, in which the subscriber device can, based on the security ID, establish consents for one or more SPs to access data generated by the entities included in the identity hierarchy. In some embodiments, this can include establishing consents for the one or more SPs to access data generated by the one or more applications associated with each of the entities. In some embodiments, this can include establishing consents for the one or more SPs to access data generated during the one or more time periods by the at least a portion of the applications.

In some embodiments, the operations of block <NUM> can include sending a request comprising the security ID, wherein the request is encrypted using a third key derivable based on the security ID; receiving a list of entities, comprising any combination of devices and profiles, associated with the subscriber; decrypting the list of entities using the third key; associating consents, for each of the one or more SPs, with the entities included in the list; and sending a response comprising the consents, wherein the response is encrypted using the third key. In some embodiments, these operations can correspond to various ones of operations <NUM> to <NUM> shown in <FIG>.

The exemplary method and/or procedure can also include operations of block <NUM>, in which the subscriber device can, in response to a request comprising the security ID, receive a public key (PK) usable to encrypt data for sending to a particular SP, wherein the data is decryptable using a corresponding secret key (SK) associated with an established consent for the particular SP. In some embodiments, receiving the PK usable to encrypt data for sending to a particular SP can include sending a request for the PK, wherein the request comprises the security ID and is encrypted using a second key derivable based on the security ID; receiving a response comprising the PK; and decrypting the response using the second key. In some embodiments, these operations can correspond to various ones of operations <NUM> to <NUM> shown in <FIG>.

The exemplary method and/or procedure can also include operations of block <NUM>, in which the subscriber device can encrypt the data using the PK and the identity hierarchy. In some embodiments, the exemplary method and/or procedure can also include the operations of block <NUM>, in which the subscriber device can send the data, encrypted by the PK, to the SP in association with the security ID, wherein the data encrypted by the PK and the security ID are further encrypted by a fourth key derivable based on the security ID.

<FIG> shows a flow diagram of another exemplary method and/or procedure for facilitating secure communication between a subscriber to a mobile communication network and one or more service providers (SPs), wherein the subscriber is associated with a plurality of entities comprising any combination of devices and profiles, according to various exemplary embodiments of the present disclosure. For example, the exemplary method and/or procedure shown in <FIG> can be performed by a server (e.g., a boostrapping server (BSF) as described herein). Although the operations are illustrated in a particular order, this order is exemplary and the operations shown can be performed in different orders, and can be combined and/or divided into operations having different functionality than shown in <FIG>. Dashed lines indicate optional operations.

Furthermore, the exemplary method and/or procedure shown in <FIG> can be complementary to other exemplary methods and/or procedures disclosed herein, such that they are capable of being used cooperatively to provide the benefits, advantages, and/or solutions to problems described herein. For example, the exemplary method and/or procedure shown in <FIG> can be used with one or more of the exemplary methods and/or procedures shown in <FIG>, <FIG>, and <FIG>.

The exemplary method and/or procedure can include operations of block <NUM>, in which the BSF can perform an authentication key agreement (AKA) with a subscriber device. In some embodiments, this can correspond to various ones of operations <NUM> to <NUM> shown in <FIG> or operations <NUM> to <NUM> shown in <FIG>. The exemplary method and/or procedure can also include the operations of block <NUM>, in which the BSF can derive and store a bootstrap identifier (BTID) and a plurality of keys associated with the BTID. In some embodiments, this can correspond to operation <NUM> shown in <FIG> or operation <NUM> shown in <FIG>. The exemplary method and/or procedure can also include the operations of block <NUM>, in which the BSF can send the BTID to the subscriber device. In some embodiments, this can correspond to operation <NUM> shown in <FIG> or operation <NUM> in <FIG>.

The exemplary method and/or procedure can also include operations of block <NUM>, in which the BSF can receive a first request for a first key of the plurality, wherein the first request comprises an associated BTID. The exemplary method and/or procedure can also include the operations of block <NUM>, in which the BSF can, based on determining that the associated BTID matches the stored BTID, send the first key in response to the first request. In some embodiments, the first request is received from a key-chaining (KC) server; and the first key is sent to the KC server. In some embodiments, these operations can correspond to various ones of operations <NUM> to <NUM> shown in <FIG>, operations <NUM> to <NUM> shown in <FIG>, or operations <NUM> to <NUM> shown in <FIG>.

In some embodiments, the exemplary method and/or procedure can also include the operations of block <NUM>, in which the BSF can receive a second request for a second key of the plurality, wherein the second request comprises an associated BTID. In such embodiments, the exemplary method and/or procedure can also include the operations of block <NUM>, in which the BSF can, based on determining that the associated BTID matches the stored BTID, send the second key in response to the second request. In some embodiments, the second request is received from a context-aware service (CAS) server; and the second key is sent to the CAS server. In some embodiments, these operations can correspond to various ones of operations <NUM> to <NUM> shown in <FIG> or operations <NUM> to <NUM> shown in <FIG>.

In some embodiments, the exemplary method and/or procedure can also include the operations of block <NUM>, in which the BSF can receive a third request for a third key of the plurality, wherein the third request comprises an associated BTID. In such embodiments, the exemplary method and/or procedure can also include the operations of block <NUM>, in which the BSF can, based on determining that the associated BTID matches the stored BTID, send the third key in response to the third request. In some embodiments, the third request is received from a network application (NAF) server associated with a particular SP; and the third key is sent to the NAF server. In some embodiments, these operations can correspond to various ones of operations <NUM> to <NUM> shown in <FIG>.

<FIG> shows a flow diagram of another exemplary method and/or procedure for facilitating secure communication between a subscriber to a mobile communication network and one or more service providers (SPs), wherein the subscriber is associated with a plurality of entities comprising any combination of devices and profiles, according to various exemplary embodiments of the present disclosure. For example, the exemplary method and/or procedure shown in <FIG> can be performed by a server (e.g., a key-chaining (KC) server as described herein). Although the operations are illustrated in a particular order, this order is exemplary and the operations shown can be performed in different orders, and can be combined and/or divided into operations having different functionality than shown in <FIG>. Dashed lines indicate optional operations.

Furthermore, the exemplary method and/or procedure shown in <FIG> can be complementary to other exemplary methods and/or procedures disclosed herein, such that they are capable of being used cooperatively to provide the benefits, advantages, and/or solutions to problems described herein. For example, the exemplary method and/or procedure shown in <FIG> can be used with one or more of the exemplary methods and/or procedures shown in <FIG>, <FIG>, and/or <NUM>.

The exemplary method and/or procedure can include operations of block <NUM>, in which the KC server can receive, from the subscriber device, a request comprising a security identifier (ID) associated with the subscriber. In some embodiments, this can correspond to operation <NUM> shown in <FIG> or operation <NUM> shown in <FIG>. In some embodiments, receiving the request can include receiving a first initialization request from the subscriber device; sending a response instructing the subscriber device to perform bootstrapping; and receiving, from the subscriber device, a further initialization request comprising the security ID. In some embodiments, these operations can correspond to various ones of operations <NUM> to <NUM> shown in <FIG> and operation <NUM> shown in <FIG>.

The exemplary method and/or procedure can include operations of block <NUM>, in which the KC server can, based on the security ID, establish an identity hierarchy comprising the plurality of entities associated with the subscriber. In some embodiments, establishing the identity hierarchy can also include receiving a list of entities, comprising any combination of devices and profiles, associated with the subscriber; and generating the identity hierarchy based on the list of entities. In some embodiments, these operations can correspond to various ones of operations <NUM> to <NUM> shown in <FIG> and operation <NUM> to <NUM> shown in <FIG>. In some embodiments, the identity hierarchy further comprises one or more applications associated with each of the entities. In some embodiments, the identity hierarchy further comprises one or more time periods associated with at least a portion of the applications.

In some embodiments, establishing the identity hierarchy can also include sending a request for a second key of a plurality of keys derivable based on the security ID, wherein the request includes the security ID; receiving the second key and subscriber identity information; and authenticating the subscriber device based on the subscriber identity information. In some embodiments, these operations can correspond to various ones of operations <NUM> to <NUM> shown in <FIG> and operation <NUM> to <NUM> shown in <FIG>.

In some embodiments, establishing the identity hierarchy can also include sending, to the authenticated subscriber device, a request for a first key of the plurality, wherein the request is encrypted using the second key; receiving, from the authenticated subscriber device, a response comprising the first key; and decrypting the response using the second key. In some embodiments, these operations can correspond to various ones of operations <NUM> to <NUM> shown in <FIG> or operation <NUM> to <NUM> shown in <FIG>.

The exemplary method and/or procedure can include operations of block <NUM>, in which the KC server can generate a public key (PK) associated with the subscriber. In some embodiments, the PK can be generated based on the first key. In some embodiments, this can correspond to operations <NUM> shown in <FIG>.

The exemplary method and/or procedure can include operations of block <NUM>, in which the KC server can generate a hierarchy of secret keys (SKs) corresponding to the identity hierarchy. In some embodiments, the hierarchy of SKs comprises respective SKs for the one or more SPs to access data generated by the one or more applications associated with each of the entities. In some embodiments, the hierarchy of SKs comprises respective SKs for the one or more SPs to access data generated during the one or more time periods by the at least a portion of the applications.

In some embodiments, generating the hierarchy of SKs comprises receiving consents for one or more SPs to access data generated by the entities included in the identity hierarchy; and generating the hierarchy of SKs based on the consents and a master secret key (MSK). In some embodiments, these operations can correspond to various ones of operations <NUM> to <NUM> shown in <FIG> or operations <NUM> to <NUM> shown in <FIG>.

The exemplary method and/or procedure can also include operations of block <NUM>, in which the KC server can send the hierarchy of SKs to a key management system (KMS) for storage. In some embodiments, these operations can correspond to operation <NUM> shown in <FIG> or operations <NUM> shown in <FIG>.

The exemplary method and/or procedure can include operations of block <NUM>, in which the KC server can provide the PK to a particular device or profile included in the identity hierarchy. In some embodiments, providing the PK to a particular device or profile included in the identity hierarchy can include receiving a request for the PK from a first device, the request comprising the security ID; sending a request for a second key of a plurality of keys derivable based on the security ID, wherein the request includes the security ID; receiving the second key; and sending the PK to the first device, wherein the PK is encrypted using the second key. In some embodiments, these operations can correspond to operations <NUM> to <NUM> shown in <FIG>. In some embodiments, the security ID comprises a bootstrap identifier (BTID); the request for the second key is sent to a bootstrapping server (BSF); and the second key is received from the BSF.

<FIG> shows a flow diagram of another exemplary method and/or procedure for facilitating secure communication between a subscriber to a mobile communication network and one or more service providers (SPs), wherein the subscriber is associated with a plurality of entities comprising any combination of devices and profiles, according to various exemplary embodiments of the present disclosure. For example, the exemplary method and/or procedure shown in <FIG> can be performed by a server (e.g., a context-aware service (CAS) server as described herein). Although the operations are illustrated in a particular order, this order is exemplary and the operations shown can be performed in different orders, and can be combined and/or divided into operations having different functionality than shown in <FIG>. Dashed lines indicate optional operations.

The exemplary method and/or procedure can include operations of block <NUM>, in which the CAS server can receive, from the subscriber device, a request comprising a security identifier (ID) associated with the subscriber. In some embodiments, this can correspond to operation <NUM> shown in <FIG> or operation <NUM> shown in <FIG>.

The exemplary method and/or procedure can also include operations of block <NUM>, in which the CAS server can authenticate the subscriber based on subscriber information associated with the security ID. In some embodiments, authenticating the subscriber comprises sending a request for a second key derivable based on the security ID, wherein the request includes the security ID; receiving the second key and subscriber identity information; and authenticating the subscriber based on the subscriber identity information. In some embodiments, these operations can correspond to various ones of operations <NUM> to <NUM> shown in <FIG> or operation <NUM> to <NUM> shown in <FIG>.

The exemplary method and/or procedure can also include operations of block <NUM>, in which the CAS server can send, to the subscriber device, a list of entities, comprising any combination of devices and profiles, associated with the subscriber. In some embodiments, the list of entities sent to the subscriber device is encrypted with the second key. In some embodiments, this can correspond to operation <NUM> shown in <FIG> or operation <NUM> shown in <FIG>.

The exemplary method and/or procedure can also include operations of block <NUM>, in which the CAS server can receive, from the subscriber device, consents for one or more service providers (SPs) to access data generated by the entities included in the list. In some embodiments, this can correspond to operation <NUM> shown in <FIG> or operation <NUM> shown in <FIG>. In some embodiments, the consents received from the subscriber device are decrypted using the second key.

The exemplary method and/or procedure can also include operations of block <NUM>, in which the CAS server can map the received consents into an identity hierarchy comprising the entities associated with the subscriber. In some embodiments, mapping the received consents further comprises mapping consents for the one or more SPs to access data generated by the one or more applications associated with each of the entities. In some embodiments, mapping the received consents further comprises mapping consents for the one or more SPs to access data generated during the one or more time periods by the at least a portion of the applications. In some embodiments, this can correspond to operation <NUM> shown in <FIG> or operation <NUM> shown in <FIG>.

Although various embodiments are described herein above in terms of methods, apparatus, devices, computer-readable medium and receivers, the person of ordinary skill will readily comprehend that such methods can be embodied by various combinations of hardware and software in various systems, communication devices, computing devices, control devices, apparatuses, non-transitory computer-readable media, etc. <FIG> shows a block diagram of an exemplary subscriber device or user equipment (UE) configurable according to various exemplary embodiments of the present disclosure described herein. For example, the exemplary device shown in <FIG> can be configured to perform operations corresponding to those shown in the flow diagram of <FIG>.

Exemplary device <NUM> can comprise a processor <NUM> that can be operably connected to a program memory <NUM> and/or a data memory <NUM> via a bus <NUM> that can comprise parallel address and data buses, serial ports, or other methods and/or structures known to those of ordinary skill in the art. Program memory <NUM> comprises software code or program executed by processor <NUM> that facilitates, causes and/or programs exemplary device <NUM> to communicate using one or more wired or wireless communication protocols, including one or more wireless communication protocols standardized by 3GPP, 3GPP2, or IEEE, such as those commonly known as <NUM>/NR, LTE, LTE-A, UMTS, HSPA, GSM, GPRS, EDGE, 1xRTT, CDMA2000, <NUM> WiFi, HDMI, USB, Firewire, etc., or any other current or future protocols that can be utilized in conjunction with communication transceiver <NUM>, user interface <NUM>, and/or host interface <NUM>.

For example, processor <NUM> can execute program code stored in program memory <NUM> that corresponds to MAC, RLC, PDCP, and RRC layer protocols standardized by 3GPP (e.g., for NR and/or LTE). As a further example, processor <NUM> can execute program code stored in program memory <NUM> that, together with communication transceiver <NUM>, implements corresponding PHY layer protocols, such as Orthogonal Frequency Division Multiplexing (OFDM), Orthogonal Frequency Division Multiple Access (OFDMA), and Single-Carrier Frequency Division Multiple Access (SC-FDMA).

Program memory <NUM> can also comprises software code executed by processor <NUM> to control the functions of device <NUM>, including configuring and controlling various components such as communication transceiver <NUM>, user interface <NUM>, and/or host interface <NUM>. Program memory <NUM> can also comprise one or more application programs and/or modules comprising computer-executable instructions embodying any of the exemplary methods and/or procedures described herein. Such software code can be specified or written using any known or future developed programming language, such as e.g., Java, C++, C, Objective C, HTML, XHTML, machine code, and Assembler, as long as the desired functionality, e.g., as defined by the implemented method steps, is preserved. In addition or as an alternative, program memory <NUM> can comprise an external storage arrangement (not shown) remote from device <NUM>, from which the instructions can be downloaded into program memory <NUM> located within or removably coupled to device <NUM>, so as to enable execution of such instructions.

Data memory <NUM> can comprise memory area for processor <NUM> to store variables used in protocols, configuration, control, and other functions of device <NUM>, including operations corresponding to, or comprising, any of the exemplary methods and/or procedures described herein. Moreover, program memory <NUM> and/or data memory <NUM> can comprise non-volatile memory (e.g., flash memory), volatile memory (e.g., static or dynamic RAM), or a combination thereof. Furthermore, data memory <NUM> can comprise a memory slot by which removable memory cards in one or more formats (e.g., SD Card, Memory Stick, Compact Flash, etc.) can be inserted and removed.

Persons of ordinary skill in the art will recognize that processor <NUM> can comprise multiple individual processors (including, e.g., multi-core processors), each of which implements a portion of the functionality described above. In such cases, multiple individual processors can be commonly connected to program memory <NUM> and data memory <NUM> or individually connected to multiple individual program memories and or data memories. More generally, persons of ordinary skill in the art will recognize that various protocols and other functions of device <NUM> can be implemented in many different computer arrangements comprising different combinations of hardware and software including, but not limited to, application processors, signal processors, general-purpose processors, multi-core processors, ASICs, fixed and/or programmable digital circuitry, analog baseband circuitry, radio-frequency circuitry, software, firmware, and middleware.

Communication transceiver <NUM> can comprise a radio-frequency transmitter and/or receiver functionality that facilitates the device <NUM> to communicate with other equipment supporting like wireless communication standards and/or protocols. In some exemplary embodiments, communication transceiver <NUM> includes a transmitter and a receiver that enable device <NUM> to communicate with various <NUM>/NR networks according to various protocols and/or methods proposed for standardization by 3GPP and/or other standards bodies. For example, such functionality can operate cooperatively with processor <NUM> to implement a PHY layer based on OFDM, OFDMA, and/or SC-FDMA technologies, such as described herein with respect to other figures.

In some exemplary embodiments, communication transceiver <NUM> includes an LTE transmitter and receiver that can facilitate the device <NUM> to communicate with various LTE LTE-Advanced (LTE-A), and/or NR networks according to standards promulgated by 3GPP. In some exemplary embodiments of the present disclosure, communication transceiver <NUM> includes circuitry, firmware, etc. necessary for the device <NUM> to communicate with various <NUM>/NR, LTE, LTE-A, UMTS, and/or GSM/EDGE networks, also according to 3GPP standards. In some exemplary embodiments of the present disclosure, communication transceiver <NUM> includes circuitry, firmware, etc. necessary for the device <NUM> to communicate with various CDMA2000 networks, according to 3GPP2 standards.

In some exemplary embodiments of the present disclosure, communication transceiver <NUM> is capable of communicating using radio technologies that operate in unlicensed frequency bands, such as IEEE <NUM> WiFi that operates using frequencies in the regions of <NUM>, <NUM>, and/or <NUM>. In some exemplary embodiments of the present disclosure, communication transceiver <NUM> can comprise a transceiver that is capable of wired communication, such as by using IEEE <NUM> Ethernet technology. The functionality particular to each of these embodiments can be coupled with or controlled by other circuitry in the device <NUM>, such as the processor <NUM> executing program code stored in program memory <NUM> in conjunction with, or supported by, data memory <NUM>.

User interface <NUM> can take various forms depending on the particular embodiment of device <NUM>, or can be absent from device <NUM> entirely. In some exemplary embodiments, user interface <NUM> can comprise a microphone, a loudspeaker, slidable buttons, depressable buttons, a display, a touchscreen display, a mechanical or virtual keypad, a mechanical or virtual keyboard, and/or any other user-interface features commonly found on mobile phones. In other embodiments, the device <NUM> can comprise a tablet computing device including a larger touchscreen display. In such embodiments, one or more of the mechanical features of the user interface <NUM> can be replaced by comparable or functionally equivalent virtual user interface features (e.g., virtual keypad, virtual buttons, etc.) implemented using the touchscreen display, as familiar to persons of ordinary skill in the art. In other embodiments, the device <NUM> can be a digital computing device, such as a laptop computer, desktop computer, workstation, etc. that comprises a mechanical keyboard that can be integrated, detached, or detachable depending on the particular exemplary embodiment. Such a digital computing device can also comprise a touch screen display. Many exemplary embodiments of the device <NUM> having a touch screen display are capable of receiving user inputs, such as inputs related to exemplary methods and/or procedures described herein or otherwise known to persons of ordinary skill in the art.

A control interface <NUM> of the device <NUM> can take various forms depending on the particular exemplary embodiment of device <NUM> and of the particular interface requirements of other devices that the device <NUM> is intended to communicate with and/or control. For example, the control interface <NUM> can comprise an RS-<NUM> interface, an RS-<NUM> interface, a USB interface, an HDMI interface, a Bluetooth interface, an IEEE ("Firewire") interface, an I<NUM>C interface, a PCMCIA interface, or the like. In some exemplary embodiments of the present disclosure, control interface <NUM> can comprise an IEEE <NUM> Ethernet interface such as described above. In some exemplary embodiments of the present disclosure, the control interface <NUM> can comprise analog interface circuitry including, for example, one or more digital-to-analog (D/A) and/or analog-to-digital (A/D) converters.

Persons of ordinary skill in the art can recognize the above list of features, interfaces, and radio-frequency communication standards is merely exemplary, and not limiting to the scope of the present disclosure. In other words, the device <NUM> can comprise more functionality than is shown in <FIG> including, for example, a video and/or still-image camera, microphone, media player and/or recorder, etc. Moreover, communication transceiver <NUM> can include circuitry necessary to communicate using additional radio-frequency communication standards including Bluetooth, GPS, and/or others. Moreover, the processor <NUM> can execute software code stored in the program memory <NUM> to control such additional functionality.

<FIG> is a block diagram of an exemplary server apparatus configurable according to one or more exemplary embodiments of the present disclosure. For example, apparatus <NUM> can be configured to perform any of the exemplary methods and/or procedures described herein, such as those shown in <FIG>. Apparatus <NUM> comprises a controller <NUM> that is connected to a plurality of processing elements (PEs, or "processors") <NUM>-<NUM> via a virtual switch (Vswitch) <NUM>. Although four PEs and one Vswitch are shown, this is merely exemplary, and configurations involving more (or less) PEs and additional Vswitches can be employed advantageously. In some embodiments, PEs <NUM>-<NUM> can be configured as one or more virtual computing machines (VMs), the number of which can be the same as, or different than, the number of PEs <NUM>-<NUM>.

Vswitch <NUM> can also facilitate communications among the various PEs <NUM>-<NUM> (and/or the configured VMs) via local-area network (LAN) functionality, such as Ethernet. For example, when a new VM is initialized, cloud orchestrator <NUM> can allocate a medium access control (MAC) address to this new VM. All subsequent communications to and from the VM can use this unique MAC address. An exemplary Cloud Orchestrator <NUM> is OpenStack, in which the "Nova" component pre-determines MAC and Internet Protocol (IP) addresses of VMs in the DC. Apparatus <NUM> can communicate externally via one (or more) gateways, such as gateway <NUM>. For example, apparatus <NUM> can communicate with a peer parallel computing apparatus via gateway <NUM> and a compatible peer gateway. In some embodiments, gateway <NUM> can comprise a communication transceiver <NUM> (e.g., a Gigabit Ethernet transceiver, an optical transceiver, a radio transceiver, etc.).

Apparatus <NUM> can comprise memory/storage <NUM> that is operably connected to PEs <NUM>-<NUM> and controller <NUM>. Memory/storage <NUM> can store various information including, e.g., program(s) and/or modules executable by PEs <NUM>-<NUM> and/or controller <NUM>. For example, memory/storage <NUM> can store computer-executable instructions that, when executed, configure controller <NUM> and/or PEs <NUM>-<NUM> to perform operations corresponding to any of the exemplary methods and/or procedures described above. As another example, memory/storage <NUM> can comprise software code that can facilitate and specifically configure apparatus <NUM> to communicate via gateway <NUM> using appropriate protocols known to skilled persons.

A portion of memory/storage <NUM> can also be used for permanent, semi-permanent, and/or temporary storage of data for further processing and/or communication by controller <NUM> and/or PEs <NUM>-<NUM>. Moreover, a portion of memory/storage <NUM> can also be used for permanent, semi-permanent, and/or temporary storage of configuration(s) pertaining to controller <NUM>, PEs <NUM>-<NUM>, and/or any other component of apparatus <NUM>. Persons of ordinary skill in the art will recognize that memory/storage <NUM> can be configured in various ways with respect to controller <NUM> and/or PEs <NUM>-<NUM>. For example, multiple individual PEs can be commonly connected to memory/storage <NUM>, or individually connected to multiple individual memories comprising memory/storage <NUM>. More generally, persons of ordinary skill in the art will recognize that various protocols and other functions of apparatus <NUM> can be implemented in many different combinations of hardware and software including, but not limited to, application processors, signal processors, general-purpose processors, multi-core processors, ASICs, fixed digital circuitry, programmable digital circuitry, analog baseband circuitry, radio-frequency circuitry, software, firmware, and middleware.

<FIG> illustrates an exemplary functional module or circuit architecture as can be implemented in an exemplary communication device <NUM>. For example, exemplary communication device <NUM> can represent a substantially similar device as exemplary device <NUM> shown in <FIG>, albeit configured in a different manner according to various functional modules. As shown in <FIG>, device <NUM> can include communication transceiver circuitry <NUM>, which in some embodiments can be substantially similar to communication transceiver <NUM> of device <NUM>. In other embodiments, transceiver circuitry <NUM> can have more, less, or different features than the features of transceiver <NUM>.

In addition, device <NUM> can include a plurality of functional modules, labelled <NUM>-<NUM> respectively in <FIG>. Although five modules are shown, this is merely exemplary such that device <NUM> can be configured with a greater or lesser number of modules. In various embodiments, each of modules <NUM>-<NUM> can comprise different combinations of analog and/or digital hardware, one or more processors, and/or memory storing computer-executable instructions (e.g., executable by the one or more processors). Furthermore, the hardware and/or software comprising a particular module need not be mutually exclusive, such that different modules can utilize the same hardware and/or software (e.g., in a time-shared manner).

Regardless of the particular combination, each module can be configured to perform one or more particular functions or operations. For example, each module can be configured to perform a particular operation corresponding to one (or more) of the operations shown in or described above in relation to <FIG>. As a more specific example, each of modules <NUM>-<NUM> can be configured to perform a respective one of operations <NUM>-<NUM> shown in <FIG>. As noted above, other modules can be included in device <NUM> to perform additional, or different, operations.

<FIG> illustrates an exemplary functional module or circuit architecture as can be implemented in an exemplary server device <NUM>. For example, server device <NUM> can represent a substantially similar device as exemplary server device <NUM> shown in <FIG>, albeit configured in a different manner according to various functional modules. As shown in <FIG>, server device <NUM> can include communication transceiver circuitry <NUM>, which in some embodiments can be substantially similar to communication transceiver <NUM> comprising gateway <NUM> of server device <NUM>. In other embodiments, transceiver circuitry <NUM> can have more, less, or different features than the features of communication transceiver <NUM>.

Regardless of the particular combination, each module can be configured to perform one or more particular functions or operations. For example, each module can be configured to perform a particular operation corresponding to one (or more) of the operations shown in or described above in relation to <FIG>. As a more specific example, each of modules <NUM>-<NUM> can be configured to perform a respective one of operations <NUM>-<NUM> shown in <FIG>. As noted above, other modules can be included in device <NUM> to perform additional operations, such as operations <NUM>-<NUM> shown in <FIG>.

As another example, each of modules <NUM>-<NUM> can be configured to perform a respective one of operations <NUM>-<NUM> shown in <FIG>, and an additional module (e.g., a module <NUM>) can be included to perform operation <NUM>. As yet another example, each of modules <NUM>-<NUM> can be configured to perform a respective one of operations <NUM>-<NUM> shown in <FIG>.

Notably, modifications and other embodiments of the disclosed embodiments will come to mind to one skilled in the art having the benefit of the teachings presented in the foregoing descriptions and the associated drawings. Although specific terms may be employed herein, they are used in a generic and descriptive sense only and not for purposes of limitation.

Claim 1:
A method (<NUM>), performed by a subscriber device, for facilitating secure communication between a subscriber to a mobile communication network and one or more service providers (SPs), wherein the subscriber is associated with a plurality of entities comprising any combination of devices and profiles, the method comprising:
obtaining (<NUM>, <NUM>) a security identifier (ID) associated with the subscriber;
based on the security ID (<NUM>), receiving (<NUM>), from a multi-X context-aware service, MX-CAS, server, a list of entities, comprising any combination of devices and profiles, associated with the subscriber and establishing (<NUM>) an identity hierarchy comprising the list of entities associated with the subscriber;
based on the security ID, establishing (<NUM>, <NUM>) consents for one or more SPs to access data generated by the entities included in the identity hierarchy, and sending (<NUM>) the consents to the MX-CAS server;
in response to a request (<NUM>) comprising the security ID, receiving (<NUM>, <NUM>), from a multi-X key-chaining, MX-KC, server, a public key (PK) usable to encrypt data for sending to a particular SP, wherein the data is decryptable using a corresponding secret key (SK) associated with an established consent for the particular SP;
encrypting (<NUM>, <NUM>) the data using the PK and the identity hierarchy.