Patent Description:
In a communication network, a communication session and data paths may be established to support transmission of data flows between a terminal device and a service application. The transmission of such data flows may be protected by encryption/decryption keys. The generation and validity management of various levels of encryption/decryption keys may be provided by collaborative efforts of various network functions or network nodes in the communication network during registration procedures to authenticate the terminal device to the communication network and during active communication sessions between the terminal device and the service application.

3GPP TR <NUM> V2. <NUM>, <NPL>, and 3GPP TS <NUM> V0. <NUM> (<NUM>-<NUM>-<NUM>) are related prior art documents.

This disclosure relates to anchor key and application key generation and management for encrypted communication between terminal devices and service applications in communication networks.

In some implementations, a method for generation of an anchor key in a network device in a communication network for enabling encrypted data transmission with a service application registered with the communication network is disclosed. The method may be performed by the network device and may include: obtaining a subscription data packet associated with a subscription of a user network module to an anchor key management service provided by the communication network; extracting from the subscription data packet a subscription dataset related to the service application; generating a base authentication key upon successful completion of an authentication process for registering the user network module with the communication network; generating the anchor key based on the base authentication key and the subscription dataset; and enabling encrypted communication between a user equipment associated with the user network module and the service application via an application encryption key generated based on the anchor key.

In some implementations, the network device above may include a user equipment or an authentication network node in the communication network.

In any one of the implementations above, the subscription dataset may include an identifier of an application key management network node in the communication network that is associated with the service application. Further in any one of the implementations above, generating the anchor key may include generating the anchor key based on the base authentication key and at least one of the identifier of the application key management network node, an identifier of the user network module, a type of the user network module, and an authentication dataset generated during the authentication process for registering the user equipment with the communication network.

In some other implementations, a network device is disclosed. The network device main include one or more processors and one or more memories, wherein the one or more processors are configured to read computer code from the one or more memories to implement any one of the methods above.

In yet some other implementations, a computer program product is disclosed. The computer program product may include a non-transitory computer-readable program medium with computer code stored thereupon, the computer code, when executed by one or more processors, causing the one or more processors to implement any one of the methods above.

The above embodiments and other aspects and alternatives of their implementations are explained in greater detail in the drawings, the descriptions, and the claims below.

An exemplary communication network, shown as <NUM> in <FIG>, may include terminal devices <NUM> and <NUM>, a carrier network <NUM>, various service applications <NUM>, and other data networks <NUM>. The carrier network <NUM>, for example, may include access networks <NUM> and a core network <NUM>. The carrier network <NUM> may be configured to transmit voice, data, and other information (collectively referred to as data traffic) among terminal devices <NUM> and <NUM>, between the terminal devices <NUM> and <NUM> and the service applications <NUM>, or between the terminal devices <NUM> and <NUM> and the other data networks <NUM>. Communication sessions and corresponding data paths may be established and configured for such data transmission. The Access networks <NUM> may be configured to provide terminal devices <NUM> and <NUM> network access to the core network <NUM>. The core network <NUM> may include various network nodes or network functions configured to control the communication sessions and perform network access management and data traffic routing. The service applications <NUM> may be hosted by various application servers that are accessible by the terminal devices <NUM> and <NUM> through the core network <NUM> of the carrier network <NUM>. A service application <NUM> may be deployed as a data network outside of the core network <NUM>. Likewise, the other data networks <NUM> may be accessible by the terminal devices <NUM> and <NUM> through the core network <NUM> and may appear as either data destination or data source of a particular communication session instantiated in the carrier network <NUM>.

The core network <NUM> of <FIG> may include various network nodes or functions geographically distributed and interconnected to provide network coverage of a service region of the carrier network <NUM>. These network nodes or functions may be implemented as dedicated hardware network elements. Alternatively, these network nodes or functions may be virtualized and implemented as virtual machines or as software entities. A network node may each be configured with one or more types of network functions. These network nodes or network functions may collectively provide the provisioning and routing functionalities of the core network <NUM>. The term "network nodes" and "network functions" are used interchangeably in this disclosure.

<FIG> further shows an exemplary division of network functions in the core network <NUM> of a communication network <NUM>. While only single instances of network nodes or functions are illustrated in <FIG>, those having ordinary skill in the art understand that each of these network nodes may be instantiated as multiple instances of network nodes that are distributed throughout the core network <NUM>. As shown in <FIG>, the core network <NUM> may include but is not limited to network nodes such as access management network node (AMNN) <NUM>, authentication network node (AUNN) <NUM>, network data management network node (NDMNN) <NUM>, session management network node (SMNN) <NUM>, data routing network node (DRNN) <NUM>, policy control network node (PCNN) <NUM>, and application data management network node (ADMNN) <NUM>. Exemplary signaling and data exchange between the various types of network nodes through various communication interfaces are indicated by the various solid connection lines in <FIG>. Such signaling and data exchange may be carried by signaling or data messages following predetermined formats or protocols.

The implementations described above in <FIG> and <FIG> may be applied to both wireless and wireline communication systems. <FIG> illustrates an exemplary cellular wireless communication network <NUM> based on the general implementation of the communication network <NUM> of <FIG>. <FIG> shows that the wireless communication network <NUM> may include user equipment (UE) <NUM> (functioning as the terminal device <NUM> of <FIG>), radio access network (RAN) <NUM> (functioning as the access network <NUM> of <FIG>), service applications <NUM>, data network (DN) <NUM>, and core network <NUM> including access management function (AMF) <NUM> (functioning as the AMNN <NUM> of <FIG>), session management function (SMF) <NUM> (functioning as the SMNN <NUM> of <FIG>), application function (AF) <NUM> (functioning as the ADMNN <NUM> of <FIG>), user plane function (UPF) <NUM> (functioning as the DRNN <NUM> of <FIG>), policy control function <NUM> (functioning as the PCNN <NUM> of <FIG>), authentication server function (AUSF) <NUM> (functioning as the AUNN <NUM> of <FIG>), and universal data management (UDM) function <NUM> (functioning as the UDMNN <NUM> of <FIG>). Again, while only single instances for some network functions or nodes of the wireless communication network <NUM> (the core network <NUM> in particular) are illustrated in <FIG>, those of ordinary skill in the art understand that each of these network nodes or functions may have multiple instances that are distributed throughout the wireless communication network <NUM>.

In <FIG>, the UE <NUM> may be implemented as various types of mobile devices that are configured to access the core network <NUM> via the RAN <NUM>. The UE <NUM> may include but is not limited to mobile phones, laptop computers, tablets, Internet-Of-Things (IoT) devices, distributed sensor network nodes, wearable devices, and the like. The RAN <NUM> for example, may include a plurality of radio base stations distributed throughout the service areas of the carrier network. The communication between the UE <NUM> and the RAN <NUM> may be carried in over-the-air (OTA) radio interfaces as indicated by <NUM> in <FIG>.

Continuing with <FIG>, the UDM <NUM> may form a permanent storage or database for user contract and subscription data. The UDM may further include an authentication credential repository and processing function (ARPF, as indicated in <NUM> of <FIG>) for storage of long-term security credentials for user authentication, and for using such long-term security credentials as input to perform computation of encryption keys as described in more detail below. To prevent unauthorized exposure of UDM/ARPF data, the UDM/ARPF <NUM> may be located in a secure network environment of a network operator or a third-party.

The AMF/SEAF <NUM> may communicate with the RAN <NUM>, the SMF <NUM>, the AUSF <NUM>, the UDM/ARPF <NUM>, and the PCF <NUM> via communication interfaces indicated by the various solid lines connecting these network nodes or functions. The AMF/SEAF <NUM> may be responsible for UE to non-access stratum (NAS) signaling management, and for provisioning registration and access of the UE <NUM> to the core network <NUM> as well as allocation of SMF <NUM> to support communication need of a particular UE. The AMF/SEAF <NUM> may be further responsible for UE mobility management. The AMF may also include a security anchor function (SEAF, as indicated in <NUM> of <FIG>) that, as described in more detail below, and interacts with AUSF <NUM> and UE <NUM> for user authentication and management of various levels of encryption/decryption keys. The AUSF <NUM> may terminate user registration/authentication/key generation requests from the AMF/SEAF <NUM> and interact with the UDM/ARPF <NUM> for completing such user registration/authentication/key generation.

The SMF <NUM> may be allocated by the AMF/SEAF <NUM> for a particular communication session instantiated in the wireless communication network <NUM>. The SMF <NUM> may be responsible for allocating UPF <NUM> to support the communication session and data flows therein in a user data plane and for provisioning/regulating the allocated UPF <NUM> (e.g., for formulating packet detection and forwarding rules for the allocated UPF <NUM>). Alternative to being allocated by the SMF <NUM>, the UPF <NUM> may be allocated by the AMF/SEAF <NUM> for the particular communication session and data flows. The UPF <NUM> allocated and provisioned by the SMF <NUM> and AMF/SEAF <NUM> may be responsible for data routing and forwarding and for reporting network usage by the particular communication session. For example, the UPF <NUM> may be responsible for routing end-end data flows between UE <NUM> and the DN <NUM>, between UE <NUM> and the service applications <NUM>. The DN <NUM> and the service applications <NUM> may include but are not limited to data network and services provided by the operator of the wireless communication network <NUM> or by third-party data network and service providers.

The service applications <NUM> may be managed and provisioned by the AF <NUM> via, for example, network exposure functions provided by the core network <NUM> (not shown in <FIG>, but is shown in <FIG> which is described below). The SMF <NUM>, in managing a particular communication session involving a service application <NUM> (e.g., between the UE <NUM> and the service application <NUM>), may interact with the AF <NUM> associated with service application <NUM> via a communication interface indicated by <NUM>.

The PCF <NUM> may be responsible for managing and providing various levels of policies and rules applicable to a communication session associated with the UE <NUM> to the AMF/SEAF <NUM> and SMF <NUM>. As such, the AMF/SEAF <NUM>, for example, may assign SMF <NUM> for the communication session according to policies and rules associated with the UE <NUM> and obtained from the PCF <NUM>. Likewise, the SMF <NUM> may allocate UPF <NUM> to handle data routing and forwarding of the communication session according to policies and rules obtained from the PCF <NUM>.

While <FIG> and the various exemplary implementations described below are based on cellular wireless communication networks, the scope of this disclosure is not so limited and the underlying principles are applicable to other types of wireless and wireline communication networks.

Network identity and data security in the wireless communication network <NUM> of <FIG> may be managed via user authentication processes provided by the AMF/SEAF <NUM>, the AUSF <NUM>, and the UDM/ARPF <NUM>. In particularly, the UE <NUM> may first communicate with AMF/SEAF <NUM> for network registration and may then be authenticated by the AUSF <NUM> according to user contract and subscription data in the UDM/ARPF <NUM>. Communication sessions established for the UE <NUM> after user authentication to the wireless communication network <NUM> may then be protected by the various levels of encryption/decryption keys. The generation and management of the various keys may be orchestrated by the AUSF <NUM> and other network functions in the communication network.

The authentication of the UE <NUM> to the wireless communication network <NUM> may be based on verification of network identity associated with the UE <NUM>. In some implementations, the UE <NUM> may include an identify module in addition to a main mobile equipment (ME). The ME, for example, may include the main terminal device having information processing capabilities (one or more processors and one or more memories) and installed with a mobile operating system and other software components to provide communication and processing needs for the UE <NUM>. The identity module may be included with the UE <NUM> for identifying and authenticating the user to the communication network, and to associate the user with the ME. The identity module may be implemented as various generations of a subscriber identification module (SIM). For example, the identity module may be implemented as a universal subscriber identity module (USIM) or universal integrated circuit card (UICC). The identity module may include a user identification or a derivative thereof. The user identification may be assigned by the operator of the communication network when the user initially subscribes to the wireless communication network <NUM>.

The User identification, for example, may include a subscription permanent identifier (SUPI) assigned by the operator of the wireless communication network to the user. In some implementations, the SUPI may include an international mobile subscriber identification number (IMSI), or a network access identifier (NAI). Alternative to SUPI, the user identification may be provided in the form of a hidden identification such as subscription concealed identifier (SUCI). In a SUCI, the identification of the user may be concealed and protected by encryption. For example, a SUCI may include: <NUM>) a SUPI type which may occupy a predetermined number of information bits (e.g., three-bits for value <NUM>-<NUM>, where the value <NUM> may indicate that the user identification is of IMSI type, value <NUM> may indicate that the user identification is of the NAI type, and other values may be reserved for other possible types); <NUM>) home network identifier for the wireless network that the user subscribes to, which may include a mobile country code (MCC) and a mobile network code (MNC) for the operator of the wireless communication network <NUM> when the SUPI for the user is of IMSI type, and may alternatively include an identifier specified in, e.g., Section <NUM> of IETF RFC <NUM>, when the SUPI for the user is of the NAI type; <NUM>) routing indicator (RID ) assigned by the operator of the wireless communication network <NUM>, which together with the home network identifier above determines the AUSF and UDM associated with the UE <NUM>; <NUM>) protection scheme identifier (PSI) for indicating a choice between no protection ( null-scheme ) or with protection (non-null-scheme); <NUM>) home network public key identifier for specifying an identifier for a public key provided by the home network for protecting the SUPI (this identifier value may be set as zero when the PSI above indicates null-scheme); and <NUM>) a scheme output which may include a mobile subscriber identification number (MSIN) portion of the IMSI or the NAI encrypted by the home network public key using, e.g., an elliptical curve encryption when the PSI above indicates a non-null-scheme, and may include the MSIN or NAI (without encryption) when the PSI above indicates a null-scheme. As an example for the SUCI, when the IMSI is <NUM> , i.e., MCC = <NUM>, MNC = <NUM>, and MSIN = <NUM>, and assuming that the RID is <NUM> and that the home network public key identifier is <NUM>, an unprotected SUCI may include {<NUM>, (<NUM>, <NUM>), <NUM>, <NUM>, <NUM>, and <NUM>}, and a protected SUCI may include {<NUM>, (<NUM>, <NUM>), <NUM>, <NUM>, <NUM>, < elliptic curve encryption of <NUM> using the public key indicated by public key identifier <NUM>>}.

Because portions the data paths of the communication sessions between the UE <NUM> with other UEs, the DN <NUM>, or the service applications <NUM> via the core network <NUM> may be outside of a secure communication environment within, e.g., the core network <NUM>, user identity and user data transmitted in these data paths may thus be exposed to unsecure network environment and may be subject to security breaches. As such, it may be preferable to further protect the data transmitted in the communication sessions using various levels of encryption/decryption keys. As indicated above, these keys may be managed by the AUSF <NUM> in conjunction with the user authentication process to the wireless communication network <NUM>. These encryption/decryption keys may be organized in multiple levels and in a hierarchical manner. For example, a first-level base key may be generated by the AUSF <NUM> for the UE <NUM> upon initial subscription to the service of the wireless communication network <NUM>. A second level base key may be configured for the UE <NUM> upon each registration and authentication to the wireless communication network. Such a second-level base key may be valid during a registration session for the UE <NUM> and may be used as a base key for generating other higher level keys. An example of such higher level keys may include, an anchor key that may be used to derive keys of even higher levels for use as actual encryption/decryption keys for transmitting data in communication sessions.

Such multi-level key scheme may be particularly useful for communication sessions involving the UE <NUM> and service applications <NUM>. In particular, an application anchor key may be generated based on a base key and managed as a security anchor for communications between the UE <NUM> and multiple service applications. Different communication sessions with different service applications <NUM> for the UE <NUM> may use different data encryption/decryption keys. These different data encryption/decryption keys may each be independently generated and managed based on the anchor key.

In some implementations, the core network <NUM> may be configured to encompass a special architecture for authentication and key management for service applications (AKMA). The wireless communication network <NUM>, for example, may further include AKMA Anchor functions (AAnFs) or network nodes in its core network <NUM>. An exemplary AAnF <NUM> is illustrated in <FIG>. The AAnF <NUM> may be responsible for generation and management of data encryption/decryption keys for various service applications in collaboration with the AUSF <NUM> and various AFs <NUM> associated with the various service applications. The AAnF <NUM> may further be responsible for maintenance of the security context for the UE <NUM>. For example, the functionality of the AAnF <NUM> may be similar to the bootstrapping server function (BSF) in general bootstrapping architecture (GBA). Multiple AAnFs <NUM> may be deployed in the core network <NUM> and each AAnF <NUM> may be associated with and responsible for key management of one or more service applications and corresponding AFs <NUM>.

<FIG> and <FIG> illustrates exemplary implementations for the hierarchical AKMA above. For example, <FIG> illustrates an implementation <NUM> for generation of a base key and an anchor key for communication sessions involving a service application. Specifically, the implementation <NUM> may include user authentication procedure <NUM> and the anchor key generation procedure <NUM>. The user authentication procedure <NUM>, for example, may involve actions from the UE <NUM>, the AMF/SEAF <NUM>, the AUSF <NUM>, and the UDM/ARPF <NUM>. For example, the UE <NUM>, upon entering the wireless communication network, may communicate a network registration and authentication request to the AMF/SEAF <NUM>. Such request may be forwarded by the AMF/SEAF <NUM> to the AUSF <NUM> for processing. During the authentication process, the AUSF <NUM> may obtain user contract and subscription information from the UDM/ARPF <NUM>. The authentication process for a <NUM> wireless system, for example, may be based on <NUM>-AKA (Authentication and Key Agreement) protocol or EAP-AKA (Extended Authentication Protocol-AKA). Upon successful authentication, an authentication vector may be generated by the UDM/ARPF <NUM> and such authentication vector may be transmitted to the AUSF <NUM>. Following successful user authentication procedure <NUM>, a base key may be generated at both the UE <NUM> side and the AUSF <NUM> at the network side. Such a base key may be referred to as KAUSF.

As further shown by <NUM> and <NUM> in <FIG>, an anchor key may be derived based on the base key KAUSF at both the UE <NUM> and the AUSF <NUM> in the anchor key generation procedure <NUM>. Such an anchor key, may be referred to as KAKMA. As further shown by <NUM> and <NUM> in <FIG>, an identifier for the anchor key KAKMA may be generated at the UE <NUM> and the AUSF <NUM>. Such an identifier may be referred to as KID.

<FIG> further illustrates an exemplary implementation <NUM> for generation of an application key <NUM> for encrypted communication between the UE and a service application, in addition to the generation of the base key KAUSF <NUM> and the anchor key KAKMA <NUM>. As shown in <FIG>, the application key <NUM>, denoted as KAF, may be generated on both the network side and the UE side based on the anchor key KAKMA <NUM>. Particularly on the network side, while the anchor key KAKMA <NUM> may be generated by the AUSF <NUM> based on the base key KAUSF <NUM>, the generation of the application key KAF <NUM> may involve the AAnF <NUM>. On the UE side of the <FIG>, the generation of the anchor key KAKMA <NUM> and application key KAF <NUM> is illustrated as being performed by the ME (mobile equipment) portion <NUM> of the UE. In particular, such key generation on the UE side may mainly involve utilizing the processing power and capability of the ME after the user authentication procedure <NUM> involving the identity module (e.g., SIM) within the UE is completed.

In the application key management scheme illustrated in <FIG> and <FIG>, one or more AAnFs <NUM> may be distributed in the core network and each of the one or more AAnFs <NUM> may be associated with one or more AFs <NUM>. As such, each of the one or more AAnFs <NUM> may be associated with one or more service applications and may be responsible for generation and management of application keys for encrypted communication involving these service applications. While the application keys each for one of these service applications may all be generated based on the same anchor key KAKMA <NUM>, these application keys, on the network side, may be generated independently by the corresponding AAnF <NUM>.

<FIG> further illustrates an exemplary logic flow <NUM> for the generation of an application key associated with a service application for enabling encrypted communication between the UE <NUM> and the corresponding AF <NUM>. In Step <NUM>-<NUM>, the UE <NUM> may first be successfully registered and authenticated by the AMF/SEAF <NUM>, the AUSF <NUM>, and the UDM/ARPF <NUM> (similar to <NUM> in <FIG>). Following the UE registration and authentication, the base key KAUSF may be generated. In Step <NUM>-<NUM>, the anchor key KAKMA and corresponding identifier KID may be generated on both the UE side and the network side (similar to <NUM>, <NUM>, <NUM>, and <NUM> of <FIG>). In Step <NUM>, the UE <NUM> initiates a communication session with the service application associated with the AF <NUM> by sending a communication request message. The request may include the identifier KID generated in Step <NUM>-<NUM> and associated with the anchor key KAKMA generated in Step <NUM>-<NUM>. In Step <NUM>, the AF <NUM> may send a key request message to the AAnF <NUM>, where the key request message include the anchor key identifier KID and an identifier of the AF <NUM>, AFID. In Step <NUM>, the AAnF <NUM> determines whether the anchor key KAKMA associated with the anchor key identifier KID can be located in AAnF <NUM>. If KAKMA is found in AAnF <NUM>, the logic flow <NUM> continues to Step <NUM>. Otherwise, the AAnF <NUM> may send an anchor key request to AUSF <NUM> in Step <NUM> carrying the anchor key identifier KID, and receive the anchor key KAKMA from the AUSF <NUM> in Step <NUM> after the AUSF <NUM> identifies the anchor key KAKMA according to the anchor key identifier KID in a response to the anchor key request from the AAnF <NUM>. In Step <NUM>, the AAnF <NUM> derives the application key KAF based on the anchor key KAKMA if the KAF has not been previously derived at the AAnF <NUM> yet or has already expired. The derived KAKMA may be associated with an application key validity time period (or expiration time). In Step <NUM>, the AAnF <NUM> may send the application key KAF and the corresponding expiration time to the AF <NUM>. After obtaining the KAKMA from the AAnF <NUM>, the AF may finally respond to the communication request sent from the UE <NUM> in Step <NUM>. The response in step <NUM>, for example, may include the expiration time for KAF and such expiration time may be recorded and stored by the UE <NUM>.

<FIG> illustrates another exemplary architectural view <NUM> for the AKMA implementations by the various network functions disclosed above. The various functions such AMF/SEAF <NUM>, AUSF <NUM>, AF <NUM>, UDM /ARPF <NUM>, UE <NUM>, and AAnF <NUM> are illustrated to interact with one another according to the exemplary implementations described above via the various interfaces associated with these network functions, such as the Namf interface for the AMF/SEAF <NUM>, the Nausf interface for the AUSF <NUM>, the Naf interface from the AF <NUM>, the Nudm interface for the UDM/ARPF <NUM>, and the Naanf interface for the AAnF <NUM>, as indicated in <FIG> further shows the network exposure function (NEF) <NUM> as a gateway for providing capability exposure of the core network to the AF <NUM> associated with the service applications. In the exemplary architectural view <NUM> of <FIG>, the UE <NUM> may communicate with the AF <NUM> via the Ua interface, and the AMF/SEAF <NUM> via the N1 interface. The communication from the UE <NUM> to the core network is relayed by the RAN <NUM>.

In the implementations described above, the AUSF, the UDM, the AUSF, and the AAnF belong to the home network of the UE <NUM>. They may be located within a secure network environment provided by the operator or authorized third party and may not be exposed to unauthorized network access. In a roaming scenario, the home UDM and AUSF provide authentication information for the UE, maintain roaming location of the UE, and supply subscription information to the visited network.

The application key generation and encryption/decryption of the data transmitted in the communication sessions with the service applications may involve substantial data processing that requires a significant level of computing capability and energy consumption. Some lower-end UEs that are incapable of such level of computation may not be able to communicate with the service applications if the data encryption/decryption described above is made mandatory. In some further implementations described below, options may be provided such that a UE may communicate with the service applications with the data flows therein either protected or unprotected by application keys. As such, a lower-end UE that may not be capable of timely performing application key generation and data encryption/decryption may nevertheless have the option of requesting an unprotected communication session with the service applications, thereby avoiding having to perform any complex key generation and data encryption/decryption.

Such options may be provided via a service subscription mechanism. For example, AKMA may be provided as a service that may be subscribed to by UEs. For example, a UE may either subscribe to or not subscribe to the AKMA service. When the UE subscribe to the AKMA service, the UE may request a protected communication session with a service application. The UE and the various network functions (such as the AAnF <NUM>) may correspondingly carry out the necessary application key generation for data encryption/decryption. Otherwise, when the UE does not have subscription to the AKMA service, the UE may only request an un-protected communication session with a service application and no application key and data encryption/decryption may be needed.

For another example, rather than subscribing to the AKMA service in its entirety, a UE may subscribe to the AKMA service for none, some, or all of the service applications available and registered with the communication network via the network exposure functions. When the UE have subscription to the AKMA service for a particular service application, the UE may request a protected communication session with that service application. The UE and the various network functions (such as the AAnF <NUM>) may correspondingly carry out the necessary application key generation for data encryption/decryption. Otherwise, when the UE does not have subscription to the AKMA service for a particular service application, the UE may only request an un-protected communication session with that service application and no applications key and data encryption/decryption may be needed for communication with that particular service application.

The UE subscription information of the AKMA service for the service applications may be managed on the network side by the UDM/ARPF <NUM>. In particular, the UDM/ARPF <NUM> may keep track of the AKMA service subscription information for each UE. The UDM/ARPF <NUM> may be configured to provide an interface for other network functions of the communication network, such as the AUSF <NUM>, to request AKMA service subscription information of a particular UE. The UDM/ARPF <NUM>, for example, may deliver UE AKMA service subscription information to the AUSF <NUM> via the Nudm interface illustrated in <FIG> upon request. In these implementations, the UDM/ARPF <NUM> is essentially configured to act as a repository of the AKMA service subscription information in addition to other user data management functionalities. Alternatively, dedicated network functions separate from and other than the UDM/ARPF <NUM> may be included in the core network and configured to manage the AKMA service subscription.

Such subscription information may be recorded in various forms in the UDM/ARPF <NUM>. The subscription information may be indexed by UE. For example, each AKMA service subscription may be associated with an UE identifier. Each AKMA service subscription may further include one or more of (<NUM>) an indicator for whether the UE subscribes to the AKMA service, (<NUM>) identifiers for one or more AAnFs associated with the subscription of the UE, and (<NUM>) the validity time periods (or expiration time) of the anchor keys KAKMA corresponding to the AAnFs. The identifier for an AAnF may be provided in the form of a network address of the AAnF. Alternatively, the identifier of the AAnF may be provided in the form of a full qualified domain name (FQDN) of the AAnF. Each UE may correspond to one or more AAnFs to which it subscribes.

Correspondingly, the identity module of the UE (e.g., a University Subscriber Identity Module (USIM) or Universal Integrated Identity Card (UICC)) may include the AKMA service subscription information for the UE. Such subscription information may include one or more of (<NUM>) an indicator for whether the UE subscribes to the AKMA service, (<NUM>) identifiers of one or more AAnFs associated with the AKMA service subscription of the UE, (<NUM>) the validity time periods of the anchor keys KAKMA corresponding to the AAnFs, and (<NUM>) identifiers of AFs corresponding to application services subscribed by the UE. Again, the identifier for an AAnF may be provided in the form of a network address of the AAnF. Alternatively, the identifier of an AAnF may be provided in the form of an FQDN of the AAnF. Each UE may correspond to one or more subscribed AAnFs. Likewise, the identifier for an AF may be provided in the form of the network address of the AF. Alternatively, the identifier of the AF may be provided in the form of an FQDN of the AF. Each UE may correspond to one or more AFs. In some implementations, multiple AFs may be associated with a same AAnF, but each AF may only be associated with one AAnF.

<FIG> shows exemplary logic flows <NUM>, <NUM>, and <NUM> for user authentication and generation of the anchor key KAKMA when the UE has subscribed to the AKMA service. Logic flow <NUM> illustrates an exemplary UE registration and authentication procedure, whereas logic flow <NUM> illustrates an exemplary process for generation of the anchor key KAKMA and logic flow <NUM> illustrates another exemplary process for generation of the anchor key KAKMA alternative to the logic flow <NUM>. As shown by <NUM>, the UE <NUM> may subscribe to the AKMA service and the AKMA service subscription information corresponding to the UE <NUM> may be recorded in the UE <NUM>. Such subscription information may include one or more combinations of: an indicator for whether the UE <NUM> has subscribed to the AKMA service; one or more AAnF identifiers; one or more AF identifiers; and AKMA anchor key validity time periods. As further indicated by <NUM>, the corresponding user subscription information recorded in the UDM/ARPF <NUM> may include one or more of: an indicator for whether the UE <NUM> has subscribe to the AKMA service; one or more AAnF identifiers; and the AKMA anchor key validity time period. During the UE registration and authentication procedure, the UDM/ARPF <NUM> may transmit the AKMA service subscription information to the AUSF <NUM>. Upon successful UE registration and authentication, the AUSF <NUM> may derive the AKMA anchor key based on the AKMA service subscription information received from the UDM/ARPF <NUM>. In the meanwhile, the UE <NUM> may also derive the AKMA anchor key based on the AKMA service subscription information stored in the UE <NUM>.

The specific exemplary steps for the UE registration/authentication and the AKMA anchor key generation are illustrated by steps <NUM> to <NUM> in <FIG>. In Step <NUM>, the UE <NUM> sends a request message to the AMF/SEAF <NUM> to initiate a registration/authentication of the UE <NUM> to the network. The AMF/SEAF <NUM> may be provided by the home network of the UE or by a visiting network in the scenario that the UE is roaming. The request message may include a user identifier of the UE <NUM>, such as SUCI or <NUM>-Globally Unique Temporary UE Identity (<NUM>-GUTI). In Step <NUM>, the AMF/SEAF <NUM> sends an AUSF authentication request to AUSF <NUM> (e.g., a Nausf_UEAuthentication_Authenticate Request). Such AUSF request may include the SUCI or SUPI of the UE <NUM>. In the case that the registration/authentication request in Step <NUM> includes <NUM>-GUTI, the AMF/SEAF <NUM> may first obtain SUPI from home AMF of the UE. If that fails, the AMF/SEAF <NUM> may obtain SUCI from the UE <NUM>. The AUSF request may further include the identity or name of the servicing network (SN) for the UE <NUM>. In Step <NUM>, after the AUSF <NUM> (the home AUSF for the UE) determines that the SN name is valid, the AUSF <NUM> initiates a user authentication request message (e.g., a Nudm_UEAuthentication_Get Request) to the UDM/ARPF <NUM>. Such user authentication request message may include SUCI or SUPI of the UE <NUM>, and may further include the SN name.

Continuing with <FIG> in Step <NUM>, the UDM/ARPF <NUM> receives the user authentication request message of Step <NUM>, and may decrypt the SUCI contained in the message to obtain SUPI. The UDM/ARPF <NUM> then determines the type of user authentication (e.g., <NUM>-AKA or EAP-AKA) and generate an authentication vector. The UDM/ARPF <NUM> further queries its subscription data repository to determine whether the UE <NUM> has subscribed to the AKMA service, and if so, obtain AKMA service subscription information for the UE <NUM>. The UDM/ARPF <NUM> then responds to the user authentication request message of Step <NUM> by a return message including the authentication vector, the SUPI decrypted from the SUCI, and/or the AKMA service subscription information for the UE <NUM> (e.g., Nudm_UEAuthentication_Get the response) to the AUSF <NUM>. The authentication vector generated by the UDM/ARPF <NUM> and included in the return message may include, for example, an authentication token (AUTN), a random number (RAND), and/or various authentication keys. The AKMA service subscription information for the UE may include, for example, identifiers for one or more AAnFs, and or validity time period of the AKMA anchor key.

Further in Step <NUM>, the AUSF <NUM> verifies the authentication vector sent form the UDM/ARPF <NUM> in Step <NUM> and initiates the main authentication procedure. Such authentication procedure, for example, may be based on <NUM>-AKA or EAP-AKA. After successful completion of the main authentication procedure, both the UE <NUM> and the AUSF <NUM> would have generated the base key KAUSF. UE <NUM> and AMF/SEAF <NUM> would have further generated stratum and non-stratum access keys.

Logic flow <NUM> following Step <NUM> in <FIG> illustrates an exemplary implementation for anchor key generation. Specifically, in Step <NUM>, after the UE main authentication logic flow <NUM> is successful, the UE <NUM> and the AUSF <NUM> may generate the AKMA anchor key KAKMA = KDF ( KAUSF, AKMA Type, RAND , SUPI , AAnF identifier). The term "KDF" represents an exemplary key generation algorithm involving HMAC-SHA-<NUM> (<NUM>-bit Hash-based Message Authentication Code for Secure Hash Algorithm). KAUSF represents the base key. The "AKMA type" parameter represent various AKMA type, for example, the AKMA may be based on the ME (the ME portion of the UE is responsible for key generation and encryption/decryption calculation). For another example, the AKMA may be based on UICC, where the processing capability in the UICC of the UE is used for key generation and encryption/decryption. The "RAND' parameter represents the random number in the authentication vector generated by the UDM/ARPF <NUM> in Step <NUM> above. The AAnF identifiers may include network addresses of the AAnFs or the FQDNs of the AAnFs. While the exemplary KDF calculation above lists all parameters discussed above, not all these parameters need to be included in the calculation. Any combinations of any of these parameters may be used for the KDF calculation and for the generation of KAKMA. In some implementations, the KAUSF parameter may be made mandatory and the other parameters may be made optional. In some other implementations, the KAUSF parameter and the at least part of the AKMA subscription information (e.g., AKMA Type, AAnF identifier) may be made mandatory and the other parameters may be made optional.

In Step <NUM>, the UE <NUM> and the AUSF <NUM> may generate an identifier for the AKMA anchor key as, for example, KID=RAND@ AAnF identifier, or KID = base64encode (RAND)@AAnF identifier. Here, RAND is the random number in the authentication vector obtained from the UDM/ARPF <NUM> above, and the AAnF identifier include the AAnF network address or FQDN address. The exemplary encoding method defined by "base64encode" is specified, for example in IEFT RFC <NUM> protocol. Further in Step <NUM>, the AUSF <NUM>, after calculating the AKMA anchor key in Step <NUM> and the AKMA anchor key identifier in Step <NUM>, may transmit a push message to the AAnF <NUM>. The push message, for example, may include the anchor key KAKMA, the anchor key identifier KID, The push message may further include the validity time period for the anchor key KAKMA. The AAnF <NUM> may then store the anchor key KAKMA and anchor key identifier KID. The AAnF <NUM> may further identify a local validity time period for the anchor key KAKMA determined according to local key management strategies at the AAnF <NUM>. The AAnF <NUM> may compare the local validity time period for the anchor key and the validity time period for the anchor key received from the AUSF <NUM> in Step <NUM> and use the smaller value as actual validity time period for the anchor key. If the validity time period for the anchor key is not in the message sent from the AUSF <NUM> to the AAnF <NUM> in Step <NUM>, the AAnF <NUM> may then use the local validity time period as actual validity time period for the anchor key. If no local validity time period for the anchor key is found in the AAnF <NUM>, then the validity time period received from the AUSF <NUM> in Step <NUM> may be used as the actual validity time period for the anchor key. Further in Step <NUM>, the AAnF <NUM> transmits response to the AUSF <NUM> upon successful transmission of the push message from the AUSF <NUM> to the AAnF <NUM> in step <NUM>.

Logic flow <NUM> further illustrates an exemplary implementation for anchor key generation alternative to the logic flow <NUM> above. Steps 806A, 807A, 808A, and 809A of the logic flow <NUM> correspond to Steps <NUM>, <NUM>, <NUM>, and <NUM>, respectively. The logic flow <NUM> is similar to the logic flow <NUM> except that the identifier KID for the anchor key KAKMA is generated by the AAnF <NUM> rather than the AUSF <NUM> on the network side (as shown by Step 808A performed by the AAnF <NUM>). Correspondingly, the push message sent from AUSF <NUM> to the AAnF <NUM> may include parameter RAND, which may be used as one of the components for the generation of KID by the AAnF <NUM> at Step 808A. Details for the various other steps in the logic flow <NUM> may be found in the description above for the logic flow <NUM>.

After a successful generation of the anchor key according to the logic flow <NUM> or <NUM> above, the UE <NUM> may initiate communication with the AF <NUM>, as described in more detail below. Finally for <FIG>, as shown by Step <NUM>, the AMF/SEAF <NUM> may sent a response message to the UE <NUM> indicating a successful completion of the registration/authentication request of Step <NUM> and successful completion of anchor key generation for subscribed AAnF. In some other alternative implementations, the Step <NUM> may be performed prior to Step <NUM> for indicating a successful completion of the registration/authentication request of Step <NUM>.

In the implementations above for <FIG>, the AKMA service is offered as an option rather than being mandatory and is provided to the UE for subscription. The subscription information may be stored and managed by the UDM/ARPF <NUM> on the home network side and in the UE <NUM>. As such, the UE <NUM> is provided options of either subscribing to the AKMA service or not subscribing to the AKMA service. In the case that the UE does not subscribe to the AKMA service (when, for example, the UE lacks the capability to handle the key generation and data encryption), the UE may forgo the process of generating application anchor keys and may communicate with application servers without using any application keys. In the case that the UE does subscribe to the AKMA, the subscription information may be optionally used, as shown by the optional parameter AAnF ID, and AKMA type in Step <NUM>, 806A, <NUM>, and 807A, for the generation of the AKMA anchor key and its identifier.

The application anchor key KAKMA, once generated as described above in <FIG>, may then be used as a basis for generation application key for encrypted communication between the UE <NUM> and a service application to which the UE <NUM> has subscribed to the AKMA service. As illustrated above with respect to <FIG>, parameters such as the random number RAND in the authentication vector generated by the UDM/ARPF <NUM> may be used for constructing KID (see, for example, Steps <NUM> and <NUM> in <FIG>). The identifier KID may be further used as search index to identify the corresponding AKMA anchor key during each communication between the UE <NUM> and the service applications. Frequent transmission of these parameters such as the RAND parameter through data path outside the secure environment of the core network may lead to security breach or leakage of these parameters. The exemplary implementations of application key generation for encrypted communication with a service application as illustrated in the logic flows of <FIG> and described below may provide schemes for reducing the security risk of these parameters.

In <FIG>, after main registration and authentication of the UE <NUM> and the generation of the application anchor key following, for example, the authentication and anchor key generation steps <NUM>-<NUM> as illustrated in <FIG>, the UE <NUM> may generate an initial application key and send a request for communication to the AF associated with the service application. The AF may obtain the initial application key from the AAnF. The AAnF in the meanwhile may generate a new random number (NewRAND) or a new anchor key identifier and send the NewRAND or the new anchor key identifier to the UE <NUM> via the AF. The UE may then generate a new application key based on the NewRAND or the new anchor key identifier, and use the new application key to request and establish an actual communication session with the service application. The NewRAND and new anchor key identifier used for generating the new application key may be referred to as a key seed for the generation of the new application key.

As shown by <NUM> in <FIG>, it is assumed that the UE <NUM> has subscribed to the AKMA service and that the AKMA service subscription information stored in the UE <NUM> may include one or more combinations of: an indicator for whether the UE has subscribed to the AKMA service; one or more AAnF identifiers; one or more AF identifiers; and AKMA anchor key validity time period. As further indicated by <NUM> in <FIG>, the corresponding user subscription information recorded in the UDM/ARPF <NUM> may include one or more of: an indicator for whether the UE has subscribe to the AKMA service; one or more AAnF identifiers; and the AKMA anchor key validity time period. The identifier for an AAnF may be provided in the form of a network address of the AAnF. Alternatively, the identifier of an AAnF may be provided in the form of an FQDN of the AAnF. Each UE may correspond to one or more subscribed AAnFs. Likewise, the identifier for an AF may be provided in the form of the network address of the AF. Alternatively, the identifier of the AF may be provided in the form of an FQDN of the AF. Each UE may correspond to one or more AFs. In some implementations, multiple AFs may be associated with a same AAnF, but each AF may only be associated with one AAnF.

Turning to the logic flow <NUM> of <FIG> and as shown in <NUM>, the UE <NUM>, the AMF/SEAF <NUM>, the AUSF <NUM>, and UDM/ARPF <NUM> may first perform the main registration and authentication of the UE <NUM> and the generation of the AKMA anchor key following the authentication and anchor key generation steps <NUM>-<NUM> as illustrated in <FIG>. Details for the main authentication and AKMA anchor key generation are described above with respect to <FIG>. In Step <NUM>, the UE <NUM> and AUSF <NUM> generate an initial identifier for the AKMA anchor key as, for example, KID=RAND@AAnF ID, or KID = base64encode (RAND)@AAnF ID. Upon successful UE registration and authentication, in Step <NUM>, the AMF/SEAF <NUM> communicates a response message to the UE <NUM> to indicate that the registration and authentication was successful. The Step <NUM> may be performed at other times. For example, Step <NUM> may be performed before step <NUM> among the procedure <NUM>.

Continuing with <FIG>, in Step <NUM> , the UE <NUM> may generate an initial application key Kin-AF= KDF (KAKMA, RAND , AF ID) , where KDF represents the exemplary key generation algorithm described with respect to Step <NUM> of <FIG>. In Step <NUM>, the UE <NUM> sends an initial communication request to the AF <NUM> associated with the service application. The initial communication request, for example may include the identifier for the AKMA anchor key, KID. Further in Step <NUM>, the AF <NUM> receives the initial communication request from the UE <NUM> and sends a request for the initial application key Kin-AF to the AAnF <NUM> according to the AAnF ID included in KID. The request for the initial application key Kin-AF from the AF <NUM>, for example, may include KID and identifier for the AF, AFID. The AAnF <NUM> may query for the AKMA anchor key KAKMA according to KID sent from the AF <NUM> in Step <NUM>. If the AAnF <NUM> finds the AKMA anchor key KAKMA, the logic flow <NUM> may proceed to <NUM>. If the AAnF <NUM> does not find the AKMA anchor key KAKMA, it may sent an AKMA anchor key request to the AUSF <NUM> in Step <NUM>. Such request my include KID. Upon receiving the request of Step <NUM>, the AUSF <NUM> may identify the requested AKMA anchor key KAKMA according to KID, and respond to the AAnF <NUM> with the KAKMA and its validity time period in Step <NUM>. In Step <NUM>, The AAnF <NUM> may then store the anchor key KAKMA and its validity time period. The AAnF <NUM> may further identify a local validity time period for the anchor key KAKMA determined according to local key management strategies at the AAnF <NUM>. The AAnF <NUM> may compare the local validity time period for the anchor key and the validity time period for the anchor key received from the AUSF <NUM> in Step <NUM> and use the smaller value as actual validity time period for the anchor key. If the validity time period for the anchor key is not included in the message sent from the AUSF <NUM> to the AAnF <NUM> in Step <NUM>, the AAnF <NUM> may then use the local validity time period as actual validity time period for the anchor key. If no local validity time period for the anchor key is found in the AAnF <NUM>, then the validity time period received from the AUSF <NUM> in Step <NUM> may be used as the actual validity time period for the anchor key. Further in Step <NUM>, the AAnF <NUM> may generate the Kin-AF based on Kin-AF =KDF(KAKMA, RAND, AFID). The exemplary key calculation KDF algorithm was described previously with respect to Step <NUM> of <FIG> and Step <NUM> in <FIG>.

Continuing with <FIG>, in Step <NUM>, the AAnF <NUM> may generate a new random number denoted as NewRAND. The AAnF <NUM> may further generates a new identifier for the AKMA anchor key as KID-New=NewRAND@AAnF ID, or KID-New=Base64Encode (NewRAND)@AAnF ID. In Step <NUM>, the AAnF <NUM> sends a response to the request for the initial Kin-AF in Step <NUM>. Such a response may include the initial application key Kin-AF, the NewRAND, KID-New, and/or the validity time period for KID-New. In some implementations, the validity time period for KID-New may not be longer than the validity time period for the AKMA anchor key. If the Step <NUM> (see the description below) is performed prior to the Step <NUM>, the response in Step <NUM> may further include the New KAF generated in Step <NUM> below.

In Step <NUM>, the AAnF <NUM> generates a new application key KAF-New as KAF-New=KDF (KAKMA, NewRAND, AFID). The KDF algorithm is similar to the ones described above already. The Step <NUM> may be alternatively performed prior to Step <NUM>. In Step <NUM>, the AF <NUM> may record the pair of KAF-New and KID-New. AF <NUM> may further respond to the request of Step <NUM> and send the response message to the UE <NUM>. Such response message may include the new random number NewRAND and/or the new AKMA anchor key identifier KID-New. The response message may further include validity time period for KAF-New. In some implementations, the transmission of this response message may be encrypted using the Kin-AF. In other words, the various transmitted components of the response in Step <NUM> may be encrypted using Kin-AF. Afterwards, the AF <NUM> may remove the initial Kin-AF.

In Step <NUM>, the UE <NUM> receives the response of Step <NUM>. If the response is encrypted with Kin-AF, the UE <NUM> may decrypted the response using Kin-AF it derives in Step <NUM>. If the response includes NewRAND, the UE <NUM> may obtain the NewRAND component included in the response after decryption. The UE <NUM> may then generate the new identifier for the AKMA anchor ken KID-New as Kin-AF=NewRAND@AAnF ID. If the encrypted KID-New is already included in the response of Step <NUM>, the UE <NUM> may decrypt the response to obtain the KID-New directly.

In Step <NUM>, the UE <NUM> may generate the new application key KAF-New as KAF-New = KDF (KAKMA, newRAND, AF ID), where KDF is a key generation algorithm described above with respect to Step <NUM> of <FIG>. The UE <NUM> may store the new AKMA anchor key ID KID-New and the new application key KAF-New. If the validity time period for the new application key KAF-New was included in the response of Step <NUM>, the UE <NUM> may also decrypt the response to obtain the validity time period for KAF-New and store it locally.

In Step <NUM>, the UE <NUM> may initiate another communication request to the AF <NUM>. The request message may include the new identifier for the AKMA anchor key KID-New, and the request message may be further encrypted by the UE <NUM> using the new application key KAF-New. In Step <NUM>, the AF <NUM> receives the communication request of Step <NUM>, and may first determine whether the new application key KAF-New exist locally. If KAF-New exists locally, then the AF <NUM> may use such a KAF-New to decrypt the communication request from the UE <NUM> in Step <NUM>. If the AF <NUM> cannot find the KAF-New, it may then send a request message to the AAnF <NUM> for the new application key KAF-New. The request message may include the new identifier for the AKMA anchor key KID-New, and AFID. In Step <NUM>, the AAnF <NUM> receives the request message from Step <NUM>, and query for the new application key KAF-New based on KID-New, and returns the KAF-New to the AF <NUM> in response. If Step <NUM> did not include any validity time period for KAF-New, such validity time period may be included in the response message to AF <NUM> in Step <NUM>. Finally in Step <NUM>, the AF <NUM> may use the KAF-New to decrypt the communication request sent from the UE <NUM> in Step <NUM>, and respond to the UE <NUM> for establishing communication with the UE <NUM>. Such response may include validity time period for the new application key KAF-New.

<FIG> shows logic flow <NUM> as an alternative implementation to <FIG>. The logic flow <NUM> is similar to the logic flow <NUM> of <FIG> (as shown by the identical labeling in <FIG> and <FIG>), except that step <NUM> of <FIG> is removed from <FIG> (as shown by <NUM>). As such, the AUSF <NUM> in <FIG> may not need to generate the initial identifier for the AKMA anchor key, KID. Accordingly, at Step <NUM> in <FIG> (shown as an underlined step) replaces the Step <NUM> of <FIG>. Specifically, because no initial KID is generated at AUSF <NUM>, the request from the AAnF <NUM> to the AUSF <NUM> for the AKMA anchor key information may be queried under RAND rather than KID. The AAnF <NUM> may derive the RAND parameter from the KID it receives from AF <NUM> in Step <NUM> of <FIG>.

<FIG> shows another logic flow <NUM> alternative to the logic flows <NUM> and <NUM> of <FIG> and <FIG>. The logic flow <NUM> is similar to the logic flow <NUM> of <FIG> (as shown by the identical labeling in <FIG> and <FIG>) with differences from <FIG> annotated in <FIG>. For example, Steps <NUM> and <NUM> (the underlined Steps in <FIG>) are added in the logic flow <NUM>. In particular, in Step <NUM>, the AKMA anchor key is proactively pushed from AUSF <NUM> to the AAnF <NUM> once it is generated by the AUSF <NUM> rather than being passively requested by the AAnF <NUM> from the AUSF <NUM>, as was implemented in Steps <NUM> and <NUM> of <FIG> (which are removed from the implementation of <FIG>, as shown by <NUM>). In Step <NUM>, the AAnF <NUM> provides a response to the AUSF <NUM> if the AKMA anchor key is successfully received by the AAnF <NUM>. Further, Step <NUM> of <FIG>, compared with the same step in <FIG>, may be modified as indicated in <FIG> for the reason that the AAnF <NUM> would already have the AKMA anchor key as a result of the proactive push from the AUSF <NUM> in Step <NUM>.

<FIG> shows yet another logic flow <NUM> alternative to the logic flows <NUM>, <NUM>, and <NUM> of <FIG>, <FIG>, and <FIG>. The logic flow <NUM> follows the implementations of both the logic flow <NUM> of <FIG> and logic flow <NUM> of <FIG> in that the Steps <NUM>, <NUM>, and <NUM> of <FIG> are removed, as shown by <NUM> and <NUM>, steps <NUM> is modified from <FIG>, as indicated in <FIG>, and the push steps <NUM> and <NUM> are added. As such, in the implementation of <FIG>, the AKMA anchor key is proactively pushed from the AUSF <NUM> to the AAnF <NUM>, just as the implementation in <FIG>. Further, there is no need to generate any initial KID at the AUSF <NUM> because no request needs to be directed later to the AUSF <NUM> for querying the AKMA anchor key as a result of the information push in Step <NUM> and <NUM>.

In the implementations illustrated in <FIG>, a new random number is generated by the AAnF <NUM> and used for generation of a new application key and new identifier for the AKMA anchor key. The original RAND generated as part of the authentication vector by the UDM/ARPF <NUM> may only be transmitted between the various network functions in a limited manner and thus may be less exposed to security breaches. The new random number may be generated for each communication between the UE <NUM> and AF <NUM> and thus security breach of one new random number may not pose a risk for a separate communication session. The communication security is thus improved in the implementations of <FIG>.

As described above, in order to further improve communication security, the various keys involved in encrypted communication between the UE <NUM> and a service application may be associated with validity time periods (or expiration time). In other words, these keys are only valid within such validity time periods. In particular, when these keys becomes invalid, the communication between the UE <NUM> and the service applications may not be protected by encryption. As such, these keys may need to be updated when they becomes invalid. <FIG> described below show various implementations for updating the various keys (including e.g., the AKMA anchor key and the application key) when they are invalid or become invalid.

<FIG> illustrates an UE-initiated implementation <NUM> for updating invalid keys. The user authentication procedure <NUM> and steps <NUM>, <NUM>, <NUM>, <NUM> are identical to corresponding steps described with respect to <FIG>. The description of <FIG> above applies to these steps in <FIG>. Following these steps, the AKMA anchor key may be generated. In Step <NUM>, the UE <NUM> determines that the AKMA anchor key or the AKMA application key is or becomes invalid. The UE <NUM> then deletes the invalid AKMA anchor key or application key, the corresponding validity time periods, and the identifier for the invalid AKMA anchor key.

In Step <NUM>, when the UE is in an idle state, the UE may initiate a registration request message to the wireless network (to network functions such as AMF/SEAF <NUM> or AUSF <NUM>). Such registration request message may include the SUCI, or <NUM>-GUTI and an ngKSI (security context index) of, for example, <NUM>, indicating that the UE security context is invalid. When the UE <NUM> is in an active state handling non-emergency services or a non-high-priority services, and the UE <NUM> enters into an idle state, the UE may initiate the registration request to the network. When the UE <NUM> is in an active state handling emergency services or high priority services, the UE may wait until completion of the emergency or high-priority services and then enter into the idle state and initiate the request to registration to the network. In some other implementations, when the UE is in an active state, the UE may wait for completion of the active services and then initiate the registration request to the network regardless of the emergency or priority of the active services.

In Step <NUM>, the UE may go through main authentication and registration with the network and then generate new AKMA anchor key and/or application key, and determine validity time periods and identifiers for these new keys. The UE and the network both record these keys, validity time periods and identifiers.

<FIG> shows a network-initiated update of invalid AKMA keys. In <FIG>, the UE may have subscribed to the AKMA service. In <NUM> of <FIG>, the AKMA service subscription information corresponding to the UE may be recorded in the UE. Such subscription information may include one or more combinations of: an indicator for whether the UE has subscribed to the AKMA service; one or more AAnF identifiers; one or more AF identifiers; and AKMA anchor key validity time period. In <NUM> of <FIG>, the corresponding user subscription information recorded in the UDM/ARPF <NUM> may include one or more of: an indicator for whether the UE has subscribe to the AKMA service; one or more AAnF identifiers; and the AKMA anchor key validity time period. During the UE registration and authentication procedure, the UDM/ARPF <NUM> may transmit the AKMA service subscription information to the AUSF <NUM>.

In Step <NUM> of <FIG>, the UE and the network complete main authentication procedure and generate AKMA anchor key KAKMA and the corresponding identifier KID, the AKMA application key KAF, and validity time periods for these keys. These keys may be invalid for various reasons. In <FIG>, logic flow <NUM>, <NUM>, and <NUM> illustrate key updates under various exemplary scenarios in which at least one of these keys becomes invalid.

For the exemplary logic flow <NUM>, the AKMA anchor key may be invalid. In Step <NUM>, the UE <NUM> may initiate a communication request to the AF <NUM>. The communication request may include the identifier for the AKMA anchor key, KID. In Step <NUM>, the AF <NUM> may send an initial application key request message including KID and AFID to the AAnF <NUM> according to the AAnF identifier in the KID. In Step <NUM>, the AAnF <NUM> may query for the AKMA anchor key KAKMA according to KID. If the AAnF <NUM> does not find the AKMA anchor key KAKMA, it may send an AKMA anchor key request message to the AUSF <NUM>. The request message may include KID. In Step <NUM>, the AUSF <NUM> may query for a valid AKMA anchor key according to KID and may not be able to find a valid AKMA anchor key. The AUSF <NUM> may then respond with a failure message to the AAnF <NUM> indicating that no valid AKMA anchor key was found. In Step <NUM>, the AAnF <NUM> respond to AF <NUM> with a failure message indicating that no valid AKMA anchor key was found. In Step <NUM>, the AF <NUM> may respond with a failure message to the UE <NUM> indicating that no valid AKMA anchor key was found. In Step <NUM>, the UE <NUM> initiates another registration request to the network. Such registration request message may include the SUCI of the UE, or <NUM>-GUTI of the UE and an ngKSI (security context index) of, for example, <NUM>, indicating that the UE security context is invalid. In Step <NUM>, after the UE <NUM> and the network complete the another main authentication and registration, a new AKMA anchor key and/or AKMA application key, their identifiers, and/or their validity time periods may be generated. The UE <NUM> and the network may save these keys, validity time periods, and identifiers.

For the exemplary logic flow <NUM>, the application key may have expired. In Step <NUM>, the UE <NUM> may initiate a communication request to the AF <NUM>. The communication request may include the identifier for the AKMA anchor key, KID. In Step <NUM>, the AF <NUM> may determine that the application key has expired. In Step <NUM>, the AF <NUM> may respond with a failure message to the UE <NUM> indicating that the application key has expired. In Step <NUM>, the UE <NUM> initiates another registration request to the network. Such registration request message may include the SUCI of the UE, or <NUM>-GUTI of the UE and an ngKSI (security context index) of, for example, <NUM>, indicating that the UE security context is invalid. In Step <NUM>, after the UE <NUM>
and the network complete another main authentication and registration, a new AKMA anchor key and/or AKMA application key, their identifiers, and/or their validity time periods may be generated. The UE <NUM> and the network may save these keys, validity time periods, and identifiers.

For the exemplary logic flow <NUM>, the AKMA anchor key may have expired. In Step <NUM>, the UE <NUM> may initiate a communication request to the AF <NUM>. The communication request may include the identifier for the AKMA anchor key, KID. In Step <NUM>, the AF <NUM> may send an application key request message including KID and AFID to the AAnF <NUM> according to the AAnF identifier in the KID. In Step <NUM>, the AAnF <NUM> may determine that the AKMA anchor key KAKMA has expired. In Step <NUM>, the AAnF <NUM> respond to AF <NUM> with a failure message indicating that the AKMA anchor key has expired. In Step <NUM>, the AF <NUM> may respond with a failure message to the UE <NUM> indicating that the AKMA anchor key has expired. In Step <NUM>, the UE <NUM> initiates another registration request to the network. Such registration request message may include the SUCI of the UE, or <NUM>-GUTI of the UE and an ngKSI (security context index) of, for example, <NUM>, indicating that the UE security context is invalid. In Step <NUM>, after the UE <NUM> and the network complete another main authentication and registration, a new AKMA anchor key and/or AKMA application key, their identifiers, and/or their validity time periods may be generated. The UE <NUM> and the network may save these keys, validity time periods, and identifiers.

The implementations above described for <FIG> thus provide an architecture for a communication network to offer an application key service that can be subscribed to by terminal devices. These implementations further provide various schemes for generation, management, and update of various hierarchical levels of keys for enabling encrypted communication between the terminal devices and service applications via the communication network. The disclosed implementations facilitate flexibility in communication with the service applications, and reduce risk to security breaches.

The accompanying drawings and description above provide specific example embodiments and implementations. The described subject matter may, however, be embodied in a variety of different forms and, therefore, covered or claimed subject matter is intended to be construed as not being limited to any example embodiments set forth herein. A reasonably broad scope for claimed or covered subject matter is intended. Among other things, for example, subject matter may be embodied as methods, devices, components, systems, or non-transitory computer-readable media for storing computer codes. Accordingly, embodiments may, for example, take the form of hardware, software, firmware, storage media or any combination thereof. For example, the method embodiments described above may be implemented by components, devices, or systems including memory and processors by executing computer codes stored in the memory.

Throughout the specification and claims, terms may have nuanced meanings suggested or implied in context beyond an explicitly stated meaning. Likewise, the phrase "in one embodiment/implementation" as used herein does not necessarily refer to the same embodiment and the phrase "in another embodiment/implementation" as used herein does not necessarily refer to a different embodiment. It is intended, for example, that claimed subject matter includes combinations of example embodiments in whole or in part.

For example, terms, such as "and", "or", or "and/or," as used herein may include a variety of meanings that may depend at least in part on the context in which such terms are used. Typically, "or" if used to associate a list, such as A, B or C, is intended to mean A, B, and C, here used in the inclusive sense, as well as A, B or C, here used in the exclusive sense. In addition, the term "one or more" as used herein, depending at least in part upon context, may be used to describe any feature, structure, or characteristic in a singular sense or may be used to describe combinations of features, structures or characteristics in a plural sense. Similarly, terms, such as "a," "an," or "the," may be understood to convey a singular usage or to convey a plural usage, depending at least in part upon context.

Reference throughout this specification to features, advantages, or similar language does not imply that all of the features and advantages that may be realized with the present solution should be or are included in any single implementation thereof.

Claim 1:
A method for generation of an anchor key in a network device in a communication network, the method being performed by the network device and comprising:
obtaining a subscription data packet associated with an application security subscription of a user network module to an anchor key management service, the anchor key management service being provided as a service subscribed to by a user equipment associated with the user network module;
extracting from the subscription data packet a subscription dataset, wherein the subscription dataset comprises an identifier of an application key management network node in the communication network that is associated with a service application;
sending an authentication request message that includes a subscription permanent identifier, SUPI, of the user equipment associated with the user network module;
generating a base authentication key upon successful completion of an authentication process for registering the user network module with the communication network;
generating the anchor key based on the base authentication key and the SUPI:
generating a unique identifier for the anchor key based on the identifier of the application key management network node; and
wherein the anchor key is used for the user equipment associated with the user network module and the service application to generate an application encryption key for encrypted communication therebetween.