WO2021083012A1 - 一种保护认证流程中参数的方法及装置 - Google Patents
一种保护认证流程中参数的方法及装置 Download PDFInfo
- Publication number
- WO2021083012A1 WO2021083012A1 PCT/CN2020/122598 CN2020122598W WO2021083012A1 WO 2021083012 A1 WO2021083012 A1 WO 2021083012A1 CN 2020122598 W CN2020122598 W CN 2020122598W WO 2021083012 A1 WO2021083012 A1 WO 2021083012A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- key
- authentication
- abba
- security
- message
- Prior art date
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W12/00—Security arrangements; Authentication; Protecting privacy or anonymity
- H04W12/04—Key management, e.g. using generic bootstrapping architecture [GBA]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W12/00—Security arrangements; Authentication; Protecting privacy or anonymity
- H04W12/06—Authentication
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W12/00—Security arrangements; Authentication; Protecting privacy or anonymity
- H04W12/10—Integrity
- H04W12/106—Packet or message integrity
Definitions
- This application relates to the field of communication technology, and in particular to a method and device for protecting parameters in an authentication process.
- the core network equipment needs to authenticate the user equipment, so as to prevent the core network from being illegally accessed and attacked, and to prevent other legitimate terminals from normally accessing core network resources.
- the standard 3rd Generation Partnership Project (3rd Generation Partnership Project, 3GPP) TS 33.501 defines the main authentication and key agreement (Authentication and Key Agreement, AKA) processes of the fifth generation mobile communication technology (5th-Generation, 5G) system This process is used to implement mutual authentication between User Equipment (UE) and the network, and to provide key materials that can be used in subsequent secure interactions between the UE and the serving network.
- AKA Authentication and Key Agreement
- the UE and the network side device exchange security-related parameters, and the security-related parameters are used to derive the key, but there is a risk of tampering with these security-related parameters during the interaction process.
- the embodiments of the application provide a parameter protection method and device, which identify the safety of transmission during the authentication process by performing integrity verification on security-related parameters such as Anti-Bidding Down Between Architectures (ABBA) in the main authentication process Whether the relevant parameters have been tampered with.
- ABBA Anti-Bidding Down Between Architectures
- the embodiments of the present application involve both the first message authentication code and the second message authentication code for integrity protection.
- the first message authentication code and the second message authentication code may be generated by different network elements.
- the keys and parameters used at the time may also be different, so the first message authentication code or the second message authentication code in different embodiments cannot be regarded as the same message authentication code.
- the above-mentioned words such as "first” and "second” are only used for the purpose of distinguishing description, and cannot be understood as indicating or implying relative importance.
- an embodiment of the present application provides a parameter protection method in an authentication process, and the method includes:
- the user equipment receives an authentication request message sent by a security anchor function network element (Security Anchor Function, SEAF); the authentication request message includes an inter-architecture anti-dimensionality reduction parameter (ABBA); and the user equipment performs integrity verification on the ABBA.
- SEAF Security Anchor Function
- ABBA inter-architecture anti-dimensionality reduction parameter
- the user equipment UE sends a registration request message to the SEAF, so that after the SEAF receives the registration request message from the UE, the authentication service function (Authentication Server Function) , AUSF) initiates an authentication request.
- the authentication service function Authentication Server Function
- the method further includes: if the integrity verification of the ABBA succeeds, the user equipment sends an authentication response message to the SEAF .
- the method further includes: if the integrity verification of the ABBA fails, the user equipment sends indication information to the SEAF, The indication information is used to indicate that the integrity verification fails. It is understandable that if the integrity authentication fails, the authentication process is terminated in time, thereby saving signaling resources for subsequent interactions.
- the UE receives the authentication request message sent by the SEAF, and the authentication request message contains security related parameters such as ABBA and/or key set identifier ngKSI.
- the authentication request message also carries a first message authentication code for integrity protection.
- the authentication request message also contains parameters such as authentication token AUTN and random number RAND.
- the above-mentioned first message authentication code is a message authentication code of security related parameters such as ABBA and /ngKSI;
- the above-mentioned first message authentication code is the above-mentioned message authentication code of the authentication request message carrying security related parameters such as ABBA and /ngKSI.
- the UE After receiving the above authentication request message, the UE performs integrity verification on the security-related parameters such as ABBA and/or ngKSI or the authentication message carrying the security-related parameters, including: the UE generates a security key and uses the security key Generate the security-related parameter or the second message authentication code of the authentication message carrying the security-related parameter.
- security-related parameters such as ABBA and/or ngKSI or the authentication message carrying the security-related parameters
- the generation of the security key is different.
- the UE can generate an encryption key CK and an integrity key IK according to the root key K, and use (CK, IK) to generate or serve as a security key; the UE can also use the CK, IK and service network name SN name, etc. generate CK', IK', and use (CK', IK') to generate or serve as a security key; the UE can also generate a security key according to the CK, IK, and access type, where The access type can be 3GPP type or non-3GPP type, the 3GPP type identifier is 1, and the non-3GPP type identifier is 2.
- the UE can also generate MK according to parameters such as CK', IK', and user identity, And use MK to generate or serve as a security key; UE can also use KAUSF to generate or serve as a security key, wherein the KAUSF is a part of the MK.
- the UE can generate an encryption key CK and an integrity key IK according to the root key K, and use (CK, IK) to generate or serve as a security key; the UE can also generate an encryption key CK and an integrity key IK according to the root key K. And the service network name SN name, etc.
- the UE can also generate a 5G AKA response RES based on the response RES, the random numbers RAND and SN name carried in the received authentication request message *, and use the RES* to generate or serve as a security key; the UE can also perform a hash operation on the RES* and the RAND to generate a hash response HRES*, and use the HRES* to generate or serve as a security key ;
- the UE uses the generated security key to generate the message authentication code of ABBA and/or security related parameters such as ngKSI as the second message authentication code.
- the UE uses the generated security key to generate the message authentication code of the authentication request message carrying the security-related parameters as the second message authentication code.
- the UE verifies the integrity of the security-related parameter or the authentication request message carrying the security-related parameter according to the received first message authentication code and the generated second message authentication code. Specifically, the UE compares the first message authentication code with the second message authentication code. If the results are the same, the integrity verification is successful; if the results are different, the integrity verification fails.
- the UE sends an authentication response to SEAF, and the network side continues the authentication process.
- the UE receives the authentication result (verification result) or N1 message sent by the SEAF.
- the UE generates a lower layer key KAMF according to the anchor key KSEAF, the user permanent identity (SUPI) and the ABBA.
- the UE generates a non-access stratum key according to the KAMF.
- the UE sends indication information or an authentication rejection message for indicating the integrity verification failure to the SEAF.
- the authentication rejection message carries the indication information used to indicate failure of integrity verification.
- an embodiment of the present application provides a parameter protection method in an authentication process, and the method includes:
- the security anchor function network element SEAF receives the registration request message sent by the user equipment UE. After receiving the registration request message from the UE, SEAF initiates an authentication request to the authentication service function AUSF.
- the SEAF sends an authentication request message to the UE.
- the authentication request message contains security related parameters such as ABBA and/or key set identifier ngKSI.
- the authentication request message also carries a first message authentication code for integrity protection.
- the SEAF generates the message authentication code of the security-related parameters such as ABBA and /ngKSI as the first message authentication code.
- the SEAF generates the message authentication code of the authentication request message carrying security related parameters such as ABBA and /ngKSI as the first message authentication code.
- the SEAF uses the security key to generate the security-related parameters or the message authentication code of the authentication request message carrying the security-related parameters as the first message authentication code.
- the SEAF receives the security key sent by the AUSF, and uses the received security key to perform integrity protection on the security-related parameters or the authentication request message carrying the security-related parameters to generate the first message authentication code;
- the SEAF generates a security key, and uses the generated security key to perform integrity protection on the security-related parameters or the authentication request message carrying the security-related parameters to generate the first message authentication code.
- SEAF can use HXRES* and/or a part of HXRES* as a security key, or use HXRES* and/or a part of HXRES* to generate a security key.
- the HXRES* is the hash expected response from AUSF.
- the generation of the security key may also include other input parameters, which are not limited in this application.
- the embodiment of the present application does not limit the algorithm used to generate the security key and the length of the security key.
- an embodiment of the present application provides a parameter protection method in an authentication process, and the method includes:
- the authentication service function AUSF receives the authentication request message sent by the security anchor function network element SEAF. After receiving the authentication request message, the AUSF sends an authentication vector acquisition request to a unified data management network element (Unified Data Manager, UDM). AUSF receives the authentication vector returned by UDM and optional user permanent identification SUPI. Optionally, AUSF also receives the encryption key CK and the integrity key IK returned by UDM.
- UDM Unified Data Manager
- the authentication vector received by AUSF includes authentication token AUTN, random number RAND, expected response XRES, intermediate encryption key CK’ and intermediate integrity key IK’;
- the authentication vector received by AUSF includes: authentication token AUTN, random number RAND, 5G AKA expected response XRES* and authentication service function key KAUSF;
- AUSF also receives the UDM expected response XRES.
- the AUSF After the AUSF receives the above authentication vector and the optional user permanent identification SUPI, encryption key CK, and integrity key IK, it generates a security key, which is used for integrity protection of security related parameters such as ABBA and ngKSI.
- the generation of the security key is different.
- AUSF can be generated or used as a security key based on the received CK and IK, namely (CK, IK); AUSF can also be based on CK', IK' in the received authentication vector, namely (CK', IK') is generated or used as a security key; AUSF can also generate a security key according to the CK, IK, and access type, where the access type can be 3GPP type or non-3GPP type, and the 3GPP type The identifier is 1, the non-3GPP type identifier is 2.
- AUSF can also generate MK according to the CK', IK', and user ID and other parameters, and use MK to generate or serve as a security key; AUSF can also use KAUSF to generate or As a security key, the KAUSF is a part of the MK.
- AUSF can be generated or used as a security key according to the received CK and IK, namely (CK, IK); AUSF can also be generated or used as a security key according to KAUSF in the received authentication vector; AUSF can also use XRES* in the received authentication vector to generate or serve as a security key; AUSF can also hash XRES* and RAND to generate HXRES*, and use the HXRES* to generate or serve as a security key;
- AUSF sends the generated security key to SEAF.
- AUSF receives ABBA and/or ngKSI and other security-related parameters sent by SEAF, and AUSF uses the generated security key to perform integrity protection on ABBA and/or ngKSI and other security-related parameters to generate the first A message authentication code, and send the first message authentication code to SEAF.
- an embodiment of the present application provides a device, which includes:
- the receiving module is configured to receive an authentication request message sent by a security anchor function network element (SEAF); the authentication request message includes an inter-architecture anti-dimensionality reduction parameter (ABBA);
- SEAF security anchor function network element
- ABBA inter-architecture anti-dimensionality reduction parameter
- the processing module is used to verify the integrity of the ABBA.
- the sending module is used to send a registration request message to the SEAF before the receiving module receives the authentication request message sent by the SEAF, so that the SEAF initiates an authentication request to the Authentication Server Function (Authentication Server Function, AUSF) after receiving the UE registration request message .
- Authentication Server Function Authentication Server Function, AUSF
- the processing module performs integrity verification on the ABBA
- the integrity verification of the ABBA is successful
- the sending module sends an authentication response message to the SEAF.
- the processing module performs the integrity verification of the ABBA
- the user equipment sends instruction information to the SEAF, and the instruction information is used for Indicates that integrity verification failed.
- the receiving module is used to receive the authentication request message sent by the SEAF; the authentication request message includes security related parameters such as ABBA and/or ngKSI; the authentication request message also includes the first message Authentication Code.
- the first message authentication code is used to perform integrity protection on the security-related parameters or the authentication request message
- the above-mentioned first message authentication code is a message authentication code of security related parameters such as ABBA and /ngKSI;
- the above-mentioned first message authentication code is the above-mentioned message authentication code of the authentication request message carrying security related parameters such as ABBA and /ngKSI.
- the processing module After the receiving module receives the authentication request message, the processing module performs integrity verification on the security-related parameters such as ABBA and/or ngKSI or the authentication message carrying the security-related parameters, including: the processing module generates security And use the security key to generate the security-related parameter or the second message authentication code of the authentication message carrying the security-related parameter.
- security-related parameters such as ABBA and/or ngKSI or the authentication message carrying the security-related parameters
- the processing module uses the generated security key to generate ABBA, and/or a message authentication code of security related parameters such as ngKSI, as the second message authentication code.
- the processing module uses the generated security key to generate the message authentication code of the authentication request message carrying the security-related parameters as the second message authentication code.
- the processing module verifies the integrity of the security-related parameter or the authentication request message carrying the security-related parameter according to the received first message authentication code and the generated second message authentication code. Specifically, the processing module compares the first message authentication code with the second message authentication code. If the results are the same, the integrity verification is successful; if the results are different, the integrity verification fails.
- the sending module sends an authentication response to SEAF, and the network side continues the authentication process.
- the receiving module receives the authentication result (verification result) or N1 message sent by the SEAF.
- the processing module generates the lower layer key KAMF according to the anchor key KSEAF, the user permanent identity (SUPI) and the ABBA.
- the processing module generates a non-access stratum key according to the KAMF.
- the sending module sends indication information or an authentication rejection message for indicating the integrity verification failure to the SEAF.
- the authentication rejection message carries the indication information used to indicate failure of integrity verification.
- the device has the function of realizing the behavior of the user equipment UE in any one of the possible implementations of the first aspect described above.
- an embodiment of the present application provides a device, which includes:
- the sending module is used to send an authentication request message to the UE, where the authentication request message contains security related parameters such as ABBA and/or ngKSI.
- security related parameters such as ABBA and/or ngKSI.
- the safety-related parameters or the authentication request message are integrity protected.
- the processing module is used to perform integrity protection on the security-related parameters such as ABBA and/or ngKSI or the authentication request message carrying the security-related parameters.
- the receiving module is used to receive the registration request message and the authentication response message sent by the UE; the receiving module may also be used to receive the security key sent by the AUSF.
- the device has the function of realizing the SEAF behavior in any one of the possible realizations of the second aspect.
- an embodiment of the present application provides a device, which includes:
- the receiving module is used to receive the authentication request sent by SEAF;
- a processing module configured to generate a security key, which is used to perform integrity protection on security-related parameters such as ABBA and/or ngKSI or an authentication request message carrying the above-mentioned security-related parameters;
- the sending module is used to send the security key generated by the processing module to SEAF;
- the device has the function of realizing the AUSF behavior in any one of the possible realizations of the third aspect.
- an embodiment of the present application provides a parameter protection method, and the method includes:
- the user equipment UE sends a registration request message carrying the user identity to the security anchor function network element SEAF on the network side, so that the SEAF initiates an authentication request to the authentication service function AUSF after receiving the registration request message from the UE.
- the UE receives an authentication request message sent by SEAF.
- the authentication request message includes security related parameters such as ABBA and/or ngKSI.
- the authentication request message also includes parameters such as an authentication token AUTN and a random number RAND.
- the UE After the UE receives the authentication request message carrying the security-related parameters, the UE performs integrity protection on the security-related parameters, including: the UE generates a security key, and uses the security key to complete the security-related parameters Sexual protection, that is, the security key is used to generate the first message authentication code.
- the generation of the security key is different.
- the UE can generate an encryption key CK and an integrity key IK according to the root key K, and use the (CK, IK) to generate or serve as a security key; the UE can also use the CK, IK and the service network name SN name generate CK', IK', and use the (CK', IK') to generate or serve as a security key; the UE can also generate a security key according to the CK, IK and access type Key, where the access type can be 3GPP type or non-3GPP type, the 3GPP type identifier is 1, the non-3GPP type identifier is 2, and the UE can also be based on parameters such as CK', IK', and user identity
- the generated MK is generated using MK or used as a security key; the UE can also use KAUSF to generate or use as a security key, wherein the KAUSF is a part of the MK.
- the UE can generate an encryption key CK and an integrity key IK according to the root key K, and use the (CK, IK) to generate or serve as a security key; the UE can also generate an encryption key according to the CK , IK and the service network name SN name generate KAUSF, and use the KAUSF to generate or serve as a security key; the UE can also generate a 5G AKA response RES based on the response RES, the random numbers RAND and SN name carried in the received authentication request message *, and use the RES* to generate or serve as a security key; the UE can also perform a hash operation on the RES* and the RAND to generate a hash response HRES*, and use the HRES* to generate or serve as a security key ;
- the UE uses the security key to perform integrity protection on the relevant security parameters, including the UE using the generated security key to calculate the above ABBA, and/or ngKSI and other security related parameter message authentication And use the message authentication code as the first message authentication code.
- the UE uses the security key to perform integrity protection on the authentication response message carrying the related security parameters, including the UE using the generated security key to calculate the security related parameters
- the message authentication code of the authentication response message is used as the first message authentication code.
- the authentication response message carries security related parameters such as ABBA and/or ngKSI.
- the UE sending the first message authentication code to the SEAF includes the UE sending an authentication response message carrying the first message authentication code to the SEAF, or the UE sending an authentication response message and the first message authentication code to the SEAF.
- an embodiment of the present application provides a parameter protection method, and the method includes:
- the security anchor function network element SEAF receives the registration request message sent by the user equipment UE. After receiving the registration request message from the UE, SEAF initiates an authentication request to the authentication service function AUSF.
- the SEAF sends an authentication request message to the UE.
- the authentication request message contains security related parameters such as ABBA and/or ngKSI.
- the SEAF receives the authentication response message carrying the first message authentication code sent by the UE, or the SEAF receives the authentication response message and the first message authentication code.
- the first message authentication code is ABBA, and/or the message authentication code of security related parameters such as ngKSI, or the message authentication code of the authentication response message carrying the security related parameters.
- the SEAF After receiving the authentication response message sent by the UE, the SEAF verifies the integrity of the security-related parameters such as ABBA, and/or ngKSI, or the authentication response message carrying the security-related parameters.
- SEAF generates a second message authentication code, where the second message authentication code is the message authentication code of the security-related parameter or is the message authentication code of the authentication response message carrying the security-related parameter, and is based on the first The second message authentication code and the first message authentication code from the UE perform integrity verification.
- the SEAF receives the security key sent by the AUSF, and uses the received security key to calculate the second message authentication code.
- the second message authentication code is a message authentication code of the security related parameter or a message authentication code of an authentication response message carrying the security related parameter.
- SEAF generates a security key, and uses the generated security key to calculate the second message authentication code.
- the SEAF may use the hash expected response HXRES*, and/or a part of the HXRES* as a security key, or use HXRES*, and/or, a part of the HXRES* to generate a security key.
- HXRES* is a hash expected response from AUSF, and SEAF receives the HXRES* sent by the AUSF.
- SEAF when SEAF receives the first message authentication code, SEAF sends the first message authentication code to AUSF, so that AUSF generates a security key and uses the generated security key Perform integrity verification of safety-related parameters.
- the AUSF fails to verify the integrity, the AUSF notifies the SEAF that the integrity verification fails.
- the SEAF If the integrity verification performed by the SEAF fails or the SEAF receives a notification that the integrity verification failed from the AUSF, the SEAF terminates the authentication process. Optionally, the SEAF sends an authentication rejection message to the UE.
- an embodiment of the present application provides a device, which includes:
- the sending module is used to send a registration request message to the security anchor function network element SEAF on the network side; the receiving module is used to receive an authentication request message sent by the SEAF; the authentication request message includes security related ABBA and/or ngKSI parameter.
- the processing module is configured to generate a security key, and use the security key to perform integrity protection on the security-related parameters such as ABBA and/or ngKSI or the authentication response message carrying the security-related parameters.
- the sending module is also used to send integrity-protected security-related parameters to SEAF, or send integrity-protected authentication response messages carrying security-related parameters.
- the device has the function of implementing the user equipment UE behavior in any one of the possible implementations of the seventh aspect.
- an embodiment of the present application provides a device, which includes:
- the sending module is configured to send an authentication request message to the UE, where the authentication request message includes security related parameters such as ABBA and/or ngKSI;
- the processing module is used to verify the integrity of the security-related parameters such as ABBA and/or ngKSI or the authentication response message carrying the security-related parameters;
- the receiving module is used to receive the registration request message and the authentication response message sent by the UE; the receiving module may also be used to receive the security key sent by the AUSF.
- the device has the function of realizing the SEAF behavior in any possible realization of the eighth aspect.
- an embodiment of the present application provides a method for updating an authentication result, and the method includes:
- the user equipment UE After the main authentication process on the user side and the network side, the user equipment UE receives the non-access layer security mode command (NAS SMC) sent by the SEAF/AMF, and the NAS SMC message is integrity protected by the network side using the NAS integrity key .
- the NAS integrity key is generated based on KAMF deduction.
- the NAS SMC message includes UE security capabilities, NAS algorithms, ngKSI, ABBA and other parameters.
- the UE After receiving the NAS SMC, the UE derives an integrity key based on KAMF, and uses the key to perform integrity verification. The UE also verifies whether the UE security capability in the NAS SMC is the same as the security capability saved by the UE.
- the UE sends a security mode complete message to SEAF/AMF;
- the UE sends a security mode rejection message to SEAF/AMF.
- the SEAF/AMF After the SEAF/AMF receives the security mode completion or security mode rejection message sent by the UE, it sends a notification to the unified data management function network element UDM for notifying the UDM, the authentication result or the authentication status of the UE, or for updating all At the UDM, the authentication result or authentication status of the UE.
- the SEAF/AMF after the SEAF/AMF receives the security mode completion message or the security mode rejection message sent by the UE, it sends a notification to the AUSF for notifying the AUSF of the authentication result of the UE or the authentication status of the UE; After receiving the notification, the AUSF sends a notification to UDM for notifying UDM of the authentication result or authentication status of the UE, or for updating the authentication result or authentication status of the UE in the UDM.
- the UDM After receiving the notification from SEAF/or AUSF, the UDM saves or updates the authentication result or authentication status of the UE.
- an embodiment of the present application provides a device, which includes: a receiving module, a sending module, and a processing module.
- the receiving module is configured to receive a notification message sent by SEAF/or AUSF, where the notification includes the authentication result or authentication status of the UE;
- the processing module is used to save or update the authentication result or authentication status of the UE;
- the sending module is used to send the authentication vector to the AUSF in the authentication process.
- the device has the function of realizing the UDM behavior in any one of the possible implementations of the eleventh aspect.
- a device which includes: a storage unit for storing computer instructions, a communication interface for sending and receiving data, and a processor coupled with the storage unit and the communication interface;
- the processor executes the computer instructions to implement the function of the user equipment UE behavior in any one of the possible designs of the first aspect.
- a device comprising: a storage unit for storing computer instructions, a communication interface for sending and receiving data, and a processor coupled with the storage unit and the communication interface;
- the processor executes the computer instructions to implement the function of the SEAF behavior in any one of the possible designs of the second aspect.
- a device which includes: a storage unit for storing computer instructions, a communication interface for sending and receiving data, and a processor coupled with the storage unit and the communication interface;
- the processor executes the computer instructions to implement the function of the AUSF behavior in any one of the possible designs of the third aspect.
- a device comprising: a storage unit for storing computer instructions, a communication interface for sending and receiving data, and a processor coupled with the storage unit and the communication interface;
- the processor executes the computer instructions to implement the function of the user equipment UE behavior in any one of the possible designs of the seventh aspect.
- a device which includes: a storage unit for storing computer instructions, a communication interface for sending and receiving data, and a processor coupled with the storage unit and the communication interface;
- the processor executes the computer instructions to implement the function of the SEAF behavior in any one of the possible designs of the eighth aspect.
- a device comprising: a storage unit for storing computer instructions, a communication interface for sending and receiving data, and a processor coupled with the storage unit and the communication interface;
- the processor executes the computer instructions to implement the function of the UDM behavior in any possible design of the eleventh aspect.
- a device which includes a communication interface for sending and receiving data and a processor coupled with the communication interface;
- the processor implements the function of the user equipment UE in any one of the possible designs of the first aspect; the processor also executes the user equipment UE in any one of the possible designs of the first aspect through the communication interface The data involved is sent and received.
- a device which includes a communication interface for sending and receiving data and a processor coupled with the communication interface;
- the processor implements the function of the SEAF behavior in any one of the possible designs of the second aspect; the processor also executes the data involved in the SEAF in any one of the possible designs of the second aspect through the communication interface Send and receive.
- a device which includes a communication interface for sending and receiving data and a processor coupled with the communication interface;
- the processor implements the function of the AUSF behavior in any one of the possible designs of the third aspect; the processor also executes the data related to the AUSF in any one of the possible designs of the third aspect through the communication interface Send and receive.
- a device including a communication interface for sending and receiving data and a processor coupled with the communication interface;
- the processor implements the function of the user equipment UE in any one of the possible designs of the seventh aspect; the processor also executes the user equipment UE in any one of the possible designs of the seventh aspect through the communication interface The data involved is sent and received.
- a device which includes a communication interface for sending and receiving data and a processor coupled with the communication interface;
- the processor implements the function of the SEAF behavior in any one of the possible designs of the eighth aspect; the processor also executes the data involved in the SEAF in any one of the possible designs of the eighth aspect through the communication interface Send and receive.
- a device including a communication interface for sending and receiving data and a processor coupled with the communication interface;
- the processor implements the function of the UDM behavior in any possible design of the eleventh aspect; the processor also executes the UDM involved in any possible design of the eleventh aspect through the communication interface Data sending and receiving.
- a non-volatile computer-readable storage medium is provided, and a program stored in the computer-readable storage medium is executed by a processor to complete the execution of any device provided in the embodiments of the present application. Part or all of the steps in any one of the methods.
- a computer program product which when the computer program product runs on a computer device, causes the computer device to execute part or part of any method executed by any device provided in the embodiments of this application. All steps.
- the network side when the network side sends the authentication request to the user equipment UE, it carries security-related parameters such as ABBA and/or ngKSI; the network side uses the security key to pair the security-related parameters or carry security
- the authentication request message of related parameters is integrity protected, and the UE uses the same method as the network side to generate a security key and performs integrity verification; or the UE uses the security key to authenticate the security-related parameters or carry the security-related parameters
- the response message is integrity protected, and the network side uses the same method to generate a security key and perform integrity verification.
- FIG. 1a is a diagram of a network system architecture related to an embodiment of this application.
- FIG. 1b is a diagram of another network system architecture involved in an embodiment of this application.
- Figure 2 is a schematic diagram of a main authentication process in the prior art
- Fig. 3 is a schematic diagram of another main authentication process in the prior art
- Figure 4 is a schematic diagram of a key architecture in the prior art
- FIG. 5 is a schematic flowchart of a parameter protection method according to an embodiment of the application.
- FIG. 6 is a schematic flowchart of yet another parameter protection method according to an embodiment of this application.
- FIG. 7 is a schematic flowchart of yet another parameter protection method according to an embodiment of this application.
- FIG. 8 is a schematic flowchart of yet another parameter protection method according to an embodiment of the application.
- FIG. 9 is a schematic flowchart of yet another parameter protection method according to an embodiment of the application.
- FIG. 10 is a schematic flowchart of yet another parameter protection method according to an embodiment of the application.
- FIG. 11 is a schematic flowchart of yet another parameter protection method according to an embodiment of this application.
- FIG. 12 is a schematic flowchart of yet another parameter protection method according to an embodiment of this application.
- FIG. 13 is a schematic flowchart of a method for updating authentication results according to an embodiment of the application.
- FIG. 14 is a schematic flowchart of another authentication result update method according to an embodiment of the application.
- FIG. 15 is a schematic structural diagram of a device according to an embodiment of the application.
- FIG. 16 is a schematic structural diagram of a device according to an embodiment of the application.
- FIG. 17 is a schematic structural diagram of another device according to an embodiment of the application.
- the embodiments of the present application provide a parameter protection method and device, which introduces integrity verification of security-related parameters in the main authentication process to solve resource waste and potential network fraud caused by tampering of security-related parameters by attackers problem.
- the method and the device are based on the same inventive concept. Since the principles of the method and the device to solve the problem are similar, the implementation of the device and the method can be referred to each other, and the repetition will not be repeated.
- MAC Message Authentication Codes
- Hash operation is mainly used in encryption algorithms in the field of information security. It converts information of different lengths into a messy 128-bit code, which is called a hash value.
- the term "and/or" in the embodiments of the present application describes the association relationship of the associated objects, indicating that there can be three relationships, for example, A and/or B, which can mean that A exists alone, and A and B exist at the same time. There is B alone, where A and B can be singular or plural.
- the character "/” generally indicates that the associated objects before and after are in an "or” relationship. Unless otherwise stated, the ordinal numbers such as “first” and “second” mentioned in the embodiments of this application are used to distinguish multiple objects, and are not used to limit the order, timing, priority, or importance of multiple objects. .
- the parameter protection method provided by the embodiments of the present application can be applied to various communication systems, such as 5G communication systems, or various future communication systems.
- the 5G system Take the 5G system as an example. Specifically, new communication scenarios are defined in the 5G system: Ultra-Reliable and Low-Latency Communication (URLLC), Enhanced Mobile Broadband (eMBB) Connecting and communicating with a large number of machines (Massive Machine Type Communication, mMTC), these communication scenarios have more stringent requirements for communication security. Therefore, before data transmission between the terminal and the core network, authentication, as the most basic security technology, is particularly important in the 5G communication process.
- the terminal and the core network authenticate each other through the AKA process, and negotiate a security context that can be used in the subsequent security process.
- the security context includes security parameters for authentication, integrity protection, and encryption.
- the main 5G authentication process is divided into 5G AKA and the improved extensible authentication protocol EAP AKA’.
- FIG. 1a is a schematic diagram of a possible network architecture applicable to the embodiments of this application.
- the network architecture consists of User Equipment (UE), Access Network (Radio Access Network, RAN), and operator network.
- the operator network includes In the Core Network (CN) and Data Network (DN), the UE accesses the operator's network through the RAN.
- CN provides an interface to DN, providing UE with communication connection, authentication, management, policy control, and carrying data services.
- CN includes: Access and Mobility Management Function (AMF), Security Anchor Function (SEAF), Session Management Function (SMF), User Plane Node Function ( User Plane Function (UPF), Authentication Server Function (AUSF), Unified Data Manager (UDM), Network Exposure Function (NEF), Application Function (AF), Network slice selection function (Network Slice Selection Function, NSSF), policy control function (Policy Control Function, PCF), network function repository function (NF Repository Function, NRF), etc.
- AMF Access and Mobility Management Function
- SEAF Security Anchor Function
- SMF Session Management Function
- UPF User Plane Node Function
- AUSF Authentication Server Function
- UDM Unified Data Manager
- NEF Network Exposure Function
- AF Application Function
- Network slice selection function Network Slice Selection Function
- PCF Policy Control Function
- NRF network function repository function
- N1, N2, N3, N4, and N6 are the interfaces between the corresponding network elements;
- Namf, Nsmf, Nausf, Nudm, Nnef, Npcf, Naf, Nnssf, and Nnrf are AMF, SMF, AUSF, UDM, NEF, respectively , PCF, AF, NSSF and NRF service interface.
- Fig. 1b shows the main network elements and their connection relationships involved in the embodiment of the present application in the above-mentioned network architecture diagram, including UE, AMF, AUSF, UDM, etc.
- the specific description is as follows:
- the UE is a logical entity.
- the UE may be any one of a terminal device (Terminal Equipment), a communication device (Communication Device), an Internet of Things (IoT) device, and a car networking device.
- the terminal device may be a smart phone (Smart Phone), a smart watch (Smart Watch), a smart tablet (Smart Tablet), a wearable device, a locomotive (automobile or electric vehicle), or a vehicle-mounted terminal, etc.
- the communication device may be a server, a gateway (Gateway, GW), a controller, and so on.
- IoT devices can be sensors, electricity meters, water meters, and so on.
- the UE communicates with the AMF through the N1 interface.
- AMF is responsible for terminal access management and mobility management, such as registration management, connection management, mobility management, reachability management, etc.; in practical applications, it includes the mobility in the network framework of the Long Term Evolution (LTE) system.
- LTE Long Term Evolution
- MME mobility management entity
- SEAF Security Anchor Function
- SEAF and AMF are set together in the current standard definition.
- Namf is a service interface provided by AMF.
- UDM is a control plane network element provided by the operator, responsible for generating authentication parameters, and storing the subscriber permanent identifier (SUPI) of the operator's network, registration information, credential (Credential), subscription data, etc.
- Nudm is a service interface provided by UDM.
- the authentication credential repository and processing function Authentication credential Repository and Processing Function, ARPF are located in UDM and used to generate authentication parameters.
- AUSF is a control plane network element provided by the operator, which can be used to authenticate the operator's network to network subscribers.
- Nausf is a service-oriented interface provided by AUSF.
- SEAF/AMF and AUSF can be located in the same network, for example, SEAF/AMF and AUSF are both located in the home public land mobile network (Home Public Land Mobile Network, HPLMN), referred to as the home network; SEAF/AMF and AUSF can also be located in different In the network, for example, SEAF/AMF is located in the Visited Public Land Mobile Network (VPLMN), which is referred to as the visited network for short, while AUSF is located in the home network.
- VLMN Visited Public Land Mobile Network
- AUSF Visited Public Land Mobile Network If the UE is outside the coverage area of the home, it cannot directly access the home. The network obtains services. At this time, if the UE is within the coverage of the visited network, the UE needs to access the visited network in order to obtain the network services provided by the visited network and the home network;
- the UE sends a registration request to the SEAF/AMF through a Non-Access Stratum (NAS) message, and the SEAF/AMF decides to initiate authentication, and sends the user permanent identity SUPI or user hidden identity (Subscription Concealed Identifier, SUCI) to AUSF, And the authentication request of the service network name (Serving Network Name, SN name), the service network name is composed of the service code (Service Code) and the service network identifier SN Id, for example, the service code can be a string of 5G, 6G Or 7G, there is no restriction here; AUSF checks whether the service network name in the authentication request is consistent with the expected service network name, and if the verification succeeds, it sends an authentication vector acquisition request to UDM; after UDM receives the request, it selects the authentication method and generates the authentication vector ( Authentication Vector, AV), where the authentication method can be EAP AKA' or 5G AKA.
- NAS Non-Access Stratum
- the UDM generates an authentication vector.
- AV' includes authentication token (Authentication Token, AUTN), random number RAND, expected response (eXpected RESponse, XRES), intermediate encryption key CK' (Cipher Key) and intermediate Integrity key IK' (Integrity Key).
- authentication token Authentication Token, AUTN
- random number RAND random number RAND
- expected response eXpected RESponse
- CK' Cipher Key
- IK' Intelligent Integrity key
- the UDM sends the deformed authentication vector AV' to the AUSF through the Nudm authentication response message Nudm_UEAuthentication_GetResponse, and the Nudm_UEAuthentication_GetResponse may also carry the user permanent identity SUPI.
- the AUSF After receiving the deformed authentication vector sent by the UDM, the AUSF sends an EAP Request/AKA'-Challenge message to the SEAF/AMF through the Nausf authentication response message Nausf_UEAuthentication_Authenticate Response.
- the message includes parameters such as AUTN and RAND.
- SEAF/AMF transparently transmits the EAP Request/AKA'-Challenge message in S203 to the UE through the NAS authentication request message.
- the above authentication request message also carries security related information such as ABBA and Key Set Identifier (ngKSI) parameter.
- SEAF will forward the authentication parameters sent by AUSF to AMF, and then AMF will send ABBA and ngKSI to UE through NAS authentication request message.
- the UE verifies the freshness of the deformed authentication vector, and generates an encryption key CK, an integrity key IK and a response RES after successful verification. After the above authentication request is successfully verified, the UE will also derive the intermediate encryption key CK' and the intermediate integrity key IK'. As a possible implementation, the UE also generates an extended master session key EMSK from CK' and IK', and uses the 256 most significant bits of EMSK as the AUSF key K AUSF , and then calculates the anchor key K SEAF . And use K SEAF , ABBA and SUPI to calculate K AMF .
- the UE sends a NAS authentication response message to the SEAF/AMF, where the NAS authentication response message carries an EAP Response/AKA'-Challenge message, and the EAP Response/AKA'-Challenge message includes a response RES.
- the SEAF/AMF transparently transmits the EAP Response/AKA’-Challenge message to the AUSF through the Nausf_UEAuthentication_Authenticate Request, and the corresponding AUSF receives the above message.
- AUSF verifies the received message and notifies the UDM authentication result. AUSF notifies UDM of the authentication status of the UE through Nudm_UEAuthentication_ResultConfirmation Request, including SUPI, authentication result, time stamp of the authentication process, and service network name. Possibly, AUSF only informs UDM of successful authentication, but this depends on the operator's strategy.
- AUSF will return an error message to SEAF/AMF;
- the AUSF and the UE may exchange notification messages EAP-Request/AKA'-Notification and EAP-Response/AKA'-Notification through SEAF/AMF, and the SEAF/AMF transparently transmits the message between the AUSF and the UE.
- AUSF uses the CK' and IK' received from UDM to calculate and derive the extended master session key EMSK, and selects the 256 most significant bits of EMSK as the AUSF key K AUSF , and then derives the anchor key K SEAF from K AUSF .
- the AUSF sends the EAP Success message and the anchor key K SEAF to the SEAF/AMF through the Nausf authentication response Nausf_UEAuthentication_Authenticate Response, and the corresponding SEAF/AMF receives the EAP Success message, that is, the authentication success message.
- SEAF/AMF After SEAF/AMF receives the authentication success message, it uses ABBA, SUPI and K SEAF from AUSF to generate the AMF key K AMF .
- the SEAF sends an EAP Success message to the UE through a NAS message, and the NAS message also carries security related parameters such as ngKSI and ABBA.
- the UE calculates K AUSF , K SEAF , K AMF after receiving the authentication success message, where K AMF is derived from ABBA, SUPI, and K SEAF ; optionally, the UE calculates the key after receiving the authentication request (step S204) and A temporary security context (including K AUSF , K SEAF, and K AMF ) is established. After the UE receives an authentication success message, the UE uses the temporary security context as a partial security context.
- the keys K AUSF , K SEAF , and K AMF can refer to the key structure of FIG. 4.
- UDM generates an authentication vector.
- the authentication vector in 5G AKA is the first authentication vector 5G HE AV, which is a four-tuple containing AUTN, RAND, 5G AKA expected response XRES* and K AUSF.
- the UDM sends the first authentication vector 5G HE AV and the optional user permanent identity SUPI to the AUSF through the Nudm authentication response message Nudm_UEAuthentication_GetResponse, and correspondingly, the AUSF receives the first authentication vector and the optional user permanent identity SUPI.
- AUSF performs a hash operation on XRES* and RAND to generate a hash expected response HXRES*, derives K AUSF to generate K SEAF , and uses AUTN, RAND, HXRES* and K SEAF as the second authentication vector 5G SE AV.
- the AUSF sends the AUTN, RAND and HXRES* in the second authentication vector to the SEAF/AMF through the Nausf_UEAuthentication_Authenticate Response message Nausf_UEAuthentication_Authenticate Response.
- the SEAF/AMF transmits the AUTN and RAND in the second authentication vector to the UE through the NAS authentication request message.
- the above authentication request will also carry security related parameters such as ngKSI and ABBA.
- the UE After the UE verifies the authentication request, it generates a 5G AKA response RES*, and the UE can also generate K AUSF and K SEAF ;
- the UE sends the RES* to the SEAF/AMF through the NAS authentication response.
- SEAF/AMF After receiving the authentication response, SEAF/AMF performs a hash operation on RES* and RAND to calculate the hash response HRES*, and compares HRES* with HXRES* from AUSF. If they are the same, continue the authentication process, if they are not the same, then Terminate the certification process.
- the SEAF/AMF forwards the RES* returned by the UE to the AUSF through the Nausf_UEAuthentication_Authenticate Request message, and the AUSF performs the next step of verification.
- AUSF After receiving the Nausf authentication request message including the response RES*, AUSF verifies the response RES*. Specifically, AUSF compares the RES* with the XRES* saved in step S303. If they are the same, the authentication is successful. If they are not the same, then the authentication is successful. Indicates that the authentication failed.
- AUSF sends the authentication result to SEAF/AMF through Nausf_UEAuthentication_Authenticate Response message Nausf_UEAuthentication_Authenticate Response. If the authentication is successful, AUSF also includes the anchor key K SEAF in the Nausf authentication response message. AUSF notifies UDM of the authentication status of the UE through Nudm_UEAuthentication_ResultConfirmation Request, including SUPI, authentication result, time stamp of the authentication process, and service network name. Possibly, AUSF only informs UDM of successful authentication, but this depends on the operator's strategy.
- SEAF/AMF After SEAF/AMF receives the Nausf authentication response message Nausf_UEAuthentication_Authenticate Response, it uses ABBA, SUPI, and K SEAF from AUSF to generate the AMF key K AMF , and can send a NAS security mode command (SMC) message to the UE.
- the message may include security parameters such as ABBA and ngKSI.
- the user side and the network side conduct key negotiation to establish a security context between the UE and the AMF to determine the key material and key algorithm for data transmission between the user side and the network side.
- the AMF initiates a NAS security mode control (Security Mode Control, SMC) process, and sends a NAS security mode command (Security Mode Command, SMC) message to the UE.
- SMC Security Mode Control
- the NAS SMC message is generated by the NAS based on the K AMF indicated by ngKSI.
- the integrity key performs integrity protection; after the UE receives the NAS SMC message, it uses the same calculation method as the network side to calculate the NAS integrity key, and performs NAS SMC message integrity verification.
- the UE shall use the security context indicated by ngKSI to start NAS integrity protection and encryption/decryption, and send a NAS Security Mode Complete (SMP) message to the network side; if the verification fails, the UE shall send NAS security to the network side Mode rejection message.
- SMP NAS Security Mode Complete
- SEAF/AMF carries parameters such as ABBA and ngKSI when sending an authentication request to the UE, where ABBA is an input parameter when K SEAF derives K AMF , and ngKSI is used to indicate K AMF .
- K AMF is used to protect the integrity of the NAS SMC message.
- the above-mentioned ABBA, ngKSI and other parameters are not protected. If they are tampered with by an attacker, the UE side and the network side will infer different K AMFs , resulting in different NAS integrity keys generated on the UE side.
- Fig. 4 is the key deduction flow corresponding to the authentication methods of Fig. 2 and Fig. 3 respectively.
- the UE saves the same long-term key K as the network side; when the authentication method is 5G AKA authentication, the UE will generate CK and IK according to K; generate K according to CK, IK and the service network name SN name, etc. AUSF ; generate anchor key K SEAF according to K AUSF and SN name; generate K AMF according to K SEAF , SUPI and ABBA.
- the UE When the authentication method is EAP AKA', the UE will generate CK and IK according to K; generate CK', IK' according to CK, IK and SN name; generate K AUSF according to CK', IK' and SUPI; generate K AUSF according to K AUSF and SN name generates anchor key K SEAF ; generates K AMF according to K SEAF , SUPI and ABBA.
- UDM saves the same root key K as the UE side, and generates CK and IK based on K; when the authentication method is 5G AKA, UDM generates K AUSF based on CK, IK, and SN name, etc. The K AUSF is sent to AUSF; when the authentication mode is EAP AKA', UDM generates CK', IK' according to CK, IK and SN name, etc., and sends the CK', IK' to AUSF, and AUSF according to CK', IK' and SUPI generate K AUSF .
- All the keys listed in the key architecture described in FIG. 4 can be used for key protection of security parameters. For details, refer to the specific protection methods in the following embodiments. Of course, the key used for integrity protection can also be derived from the keys listed in the key structure.
- the expression "user equipment or SEAF/AMF or AUSF or UDM uses one or some parameters to generate a key" in the embodiments or claims of this application is not exclusive, that is, there may be other types of generated keys.
- the input parameters of this application are not limited.
- the UE may generate K AUSF according to the CK, IK, and the service network name SN name, which does not mean that the input parameters for the UE to generate K AUSF can only include CK, IK, and SN name, and may also include other input parameters that are not listed.
- FIG. 5 is a schematic flow diagram of a parameter protection method according to an embodiment of the application; this embodiment introduces integrity protection of security-related parameters such as ABBA and ngKSI in the authentication process; specifically, the security key is generated by AUSF and sent For SEAF/AMF, the SEAF/AMF uses the received security key to perform integrity protection on security-related parameters, and the UE uses the same method as the network side to generate the security key and complete the integrity verification of the security-related parameters.
- This embodiment is applicable to the EAP AKA process in Fig. 2 and the 5G AKA process in Fig. 3.
- SEAF/AMF initiates an authentication request.
- UE sends a registration request to SEAF/AMF through NAS message
- SEAF/AMF After SEAF/AMF receives the registration request, it initiates an authentication request to AUSF, and SEAF/AMF sends the permanent user identification SUPI or the hidden user identification SUCI, and the service network name to AUSF; optionally, SEAF/AMF sends the access type to AUSF Identifier; common access types include 3GPP access types and non-3GPP access types, where the 3GPP type identifier is 1; the non-3GPP type identifier is 2.
- the AUSF After the AUSF receives the authentication request sent by the SEAF/AMF, it sends a request to the UDM to obtain the authentication vector; after receiving the request, the UDM selects the authentication method and generates the authentication vector.
- UDM sends an authentication vector and optional user permanent identification SUPI to AUSF, and correspondingly, AUSF receives the authentication vector and optional user permanent identification SUPI sent by UDM.
- UDM sends the deformed authentication vector AV' (RAND, AUTN, XRES, CK', IK') to AUSF.
- UDM sends the first authentication vector 5G HE AV (RAND, AUTN, XRES*, K AUSF ) to AUSF.
- the UDM may also send the encryption key CK and the integrity key IK to AUSF.
- UDM may also send the expected response XRES to AUSF.
- the expected response XRES is generated by UDM according to the root key K and the random number RAND.
- UDM sends the encryption key CK and integrity key IK to AUSF.
- UDM sends CK and IK to AUSF through the Nudm_UEAuthentication_getResponse message.
- UDM can also be sent in other ways, which is not limited in this application.
- AUSF After receiving the authentication vector and optional SUPI, CK, and IK sent by UDM, AUSF generates a security key.
- the security key is used for integrity protection of security related parameters such as ABBA and ngKSI, and the generation of the security key can refer to the key structure described in FIG. 4. Depending on the authentication method, the generation of the security key is different.
- AUSF uses any one or a combination of the following parameters to generate a security key, or AUSF uses any one or a combination of the following parameters as the security key:
- K part of CK, IK, part of IK, CK', part of CK', IK', part of IK', master key MK, part of master key MK, extended master session key EMSK, extended EMSK a portion of the master session key, K AUSF, a portion of the K AUSF, XRES, XRES is, K SEAF, a portion of the K SEAF.
- any one or a combination of the above parameters is used as an input parameter for AUSF, and a predefined algorithm is used.
- the security key generated by AUSF may also use other parameters as input parameters. There are no restrictions on other parameters here.
- AUSF uses any combination of the above parameters as the security key, it means that AUSF uses the concatenation of multiple parameters as the security key.
- AUSF uses CK or a part of CK to generate or serves as a security key. It also includes that AUSF receives CK sent by UDM, and AUSF uses the received CK or part of CK to generate or serve as a security key.
- AUSF uses IK or a part of IK to generate or serve as a security key. It also includes that AUSF receives IK sent by UDM, and AUSF uses the received IK or part of IK to generate or serve as a security key.
- AUSF can use (CK, IK) as a security key.
- CK CK
- IK IK
- AUSF uses CK as a security key, and/or uses IK as a security key, or CK and IK are connected in series with CK
- AUSF uses a part of CK' or CK' to generate or serves as a security key. It also includes that AUSF receives CK' sent by UDM, and AUSF uses a part of received CK' or CK' to generate or serve as a security key. Key.
- AUSF uses a part of IK' or IK' to generate or as a security key, and also includes that AUSF receives IK' sent by UDM, and AUSF uses a part of received IK' or IK' to generate or as a security key. Key.
- CK’, IK’ are keys generated by UDM according to parameters such as CK, IK, and SN name;
- AUSF can use (CK', IK') as a security key.
- CK' CK'
- IK' a security key
- AUSF uses CK' as a security key, and/or uses IK' as a security key, or connects CK' and IK' in series CK'
- AUSF uses CK, IK, and access type identifiers to generate security keys.
- Common access types include 3GPP access types and non-3GPP access types, where the 3GPP type identifier is 1; The type identifier of the non-3GPP is 2.
- AUSF uses a part of the master key MK or MK to generate or serve as a security key. It also includes that AUSF receives CK' and IK' sent by UDM, and AUSF uses the received CK' and IK', and SUPI and others generate the MK, and AUSF uses the generated MK or a part of the MK to generate or use as a security key.
- AUSF uses the master key EMSK or a part of EMSK to generate or serve as a security key. It also includes that AUSF receives CK' and IK' sent by UDM, and AUSF uses the received CK' and IK', and SUPI, etc. generate an EMSK, and use the EMSK or a part of the EMSK to generate or serve as a security key.
- AUSF uses K AUSF or a part of K AUSF to generate or serve as a security key. It also includes that AUSF receives CK' and IK' sent by UDM, and AUSF uses the received CK' and IK', and SUPI When the EMSK is generated, AUSF uses a part of the EMSK as K AUSF and uses the K AUSF or a part of the K AUSF to generate or use as a security key.
- AUSF uses XRES or a part of XRES to generate security or as a key. It also includes that AUSF receives XRES sent by UDM, and AUSF uses the received XRES or part of XRES to generate or serve as a security key.
- AUSF uses K SEAF or a part of K SEAF to generate or serve as a security key. It also includes that AUSF receives CK' and IK' sent by UDM, and AUSF uses received CK' and IK', and SUPI When EMSK is generated, AUSF uses a part of EMSK as K AUSF , AUSF uses the K AUSF and the service network name to generate K SEAF , and AUSF uses the generated K SEAF or a part of K SEAF to generate or use as a security key.
- AUSF uses any one or a combination of the following parameters as the security key, or AUSF uses any one or a combination of the following parameters to generate the security key:
- K AUSF Part of K AUSF, part of K AUSF of, XRES *, XRES *, and a portion of HXRES *, HXRES * a, K SEAF, K SEAF's, CK, a portion of the CK, IK, part of IK, XRES, XRES's.
- AUSF uses any one or a combination of the above parameters to generate a security key, it is not excluded that AUSF may also use other parameters at the same time. There are no restrictions on other parameters here.
- AUSF uses any combination of the above parameters as the security key, it means that AUSF uses the concatenation of multiple parameters as the security key.
- AUSF uses a part of K AUSF or K AUSF to generate or serves as a security key. It also includes that AUSF receives K AUSF sent by UDM, and AUSF uses a part of received K AUSF or K AUSF to generate or serve as a security key. Key.
- AUSF uses XRES* or a part of XRES* to generate or serves as a security key. It also includes that AUSF receives XRES* sent by UDM, and AUSF uses a part of XRES* or XRES* to generate or serves as a security key. Key.
- AUSF uses XRES or a part of XRES to generate or serve as a security key. It also includes that AUSF receives XRES sent by UDM and uses the received XRES or part of XRES to generate or serve as a security key.
- AUSF uses a part of HXRES* or HXRES* to generate or serve as a security key. It also includes that AUSF performs a hash calculation on XRES* and RAND received from UDM to generate a hash expected response HXRES*, AUSF uses the generated HXRES* or a part of HXRES* to generate or serve as a security key.
- AUSF uses K SEAF or a part of K SEAF to generate or serve as a security key. It also includes that AUSF receives K AUSF sent by UDM, and AUSF uses the received K AUSF and service network name to generate K SEAF , AUSF Use the generated K SEAF or a part of the K SEAF to generate or serve as a security key.
- the embodiment of the present invention does not limit the algorithm used to generate the security key and the length of the security key.
- AUSF sends a security key to SEAF/AMF, and correspondingly, SEAF/AMF receives the security key sent by AUSF.
- the AUSF can send the security key to SEAF/AMF by sending a Nausf_UEAuthentication_Authenticate Response message, or it can be sent in other ways, which is not limited in this application.
- SEAF/AMF uses the security key sent by AUSF to perform integrity protection on security related parameters such as ABBA and/or ngKSI.
- SEAF/AMF uses the security key sent by AUSF to generate the first message authentication code.
- the first message authentication code is a message authentication code of a security-related parameter generated by SEAF/AMF according to a security key.
- SEAF/AMF takes the security key, ABBA and/or ngKSI as input, and uses the integrity protection algorithm to generate the first message authentication code.
- the generated first message authentication code may also include other input parameters, and the other input parameters may be the length of the security key, and/or the length of ABBA, and/or the length of ngKSI, etc. This application does not limit other input parameters and the integrity protection algorithm used to generate the first message authentication code.
- SEAF/AMF sends an authentication request message to the UE, the authentication request message carries ABBA, ngKSI, and the first message authentication code generated in S504; or SEAF/AMF sends an authentication request message to the UE and the first message generated in S504 A message authentication code.
- the UE receives the authentication request message sent by the SEAF/AMF, or the UE receives the authentication request message and the first message authentication code sent by the SEAF/AMF.
- the UE generates a security key, and uses the generated security key to verify the integrity of the security-related parameters.
- the UE uses the same algorithm and parameters as the network side to generate a security key, that is, the key generation method described in S502.
- the UE uses any one or a combination of the following parameters to generate a security key, or the UE uses any one or a combination of the following parameters as the security key:
- CK part of CK, IK, part of IK, CK', part of CK', IK', part of IK', master key MK, part of MK, extended master session key EMSK, extended master session EMSK the part of the key, K AUSF, K AUSF portion, a portion of RES, a part of the RES, K SEAF, K SEAF's.
- the UE uses any one or a combination of the above parameters to generate the security key, it is not excluded that the UE also uses other parameters at the same time, and the other parameters here are the same as those used when the AUSF generates the security key.
- the UE uses any combination of the above parameters as the security key, it means that the UE uses the concatenation of the multiple parameters as the security key.
- the UE uses the CK or a part of the CK to generate or serve as a security key. It also includes that the UE generates the CK according to the root key K, and uses the generated CK or part of the CK to generate or serve as the security key.
- the UE uses an IK or a part of the IK to generate or serve as a security key. It also includes that the UE generates an IK according to the root key K, and uses the generated IK or a part of the IK to generate or serve as a security key.
- the UE may use (CK, IK) as a security key.
- AUSF uses CK as a security key, and/or uses IK as a security key, or connects CK and IK in series with CK
- the UE uses CK' or a part of CK' to generate or as a security key. It also includes that the UE generates CK according to the root key K, and uses the generated CK and service network name to generate CK', and Use the generated CK' or part of CK' to generate or serve as a security key.
- the UE uses IK' or a part of IK' to generate or serve as a security key. It also includes that the UE generates IK according to the root key K, uses the generated IK and the service network name to generate IK', and Use the generated IK' or part of the IK' to generate or serve as a security key.
- the UE may use (CK', IK') as a security key.
- AUSF uses CK' as a security key, and/or uses IK' as a security key, or connects CK' and IK' in series CK'
- the UE can also generate a security key according to CK, IK, and access type identification.
- Common access types include 3GPP access type and non-3GPP access type, where the 3GPP type identification is 1; The type identifier of the non-3GPP is 2.
- the UE uses the master key MK or a part of the MK to generate the security key. It also includes that the UE generates CK and IK according to the root key K, and uses the generated CK, IK, and service network name to generate CK. 'And IK', and use the generated CK' and IK', SUPI, etc. to generate the MK, and the UE uses the generated MK or a part of the MK to generate or use as a security key.
- the UE uses the extended master session key EMSK or a part of the EMSK to generate or serve as a security key. It also includes that the UE generates CK and IK according to the root key K, and uses the generated CK, IK and service Generate CK' and IK' with names such as network, and use the generated CK', IK', SUPI, etc. to generate EMSK, and use the EMSK or a part of the EMSK to generate or serve as a security key.
- EMSK extended master session key
- the UE uses the extended master session key EMSK or a part of the EMSK to generate or serve as a security key. It also includes that the UE generates CK and IK according to the root key K, and uses the generated CK, IK and service Generate CK' and IK' with names such as network, and use the generated CK', IK', SUPI, etc. to generate EMSK, and use the EMSK or a part of the EMSK to
- the UE uses K AUSF or a part of K AUSF to generate or as a security key. It also includes that the UE generates CK and IK according to the root key K, and uses the generated CK, IK and service network name to generate CK' and IK', and use the generated CK' and IK', SUPI, etc. to generate an EMSK, the UE uses a part of the EMSK as K AUSF , and uses the K AUSF or a part of the K AUSF to generate or serve as a security key.
- the UE uses the RES or a part of the RES to generate security or as a key. It also includes that the UE generates the RES according to the root key K and RAND, and uses the generated RES or part of the RES to generate or serve as a security secret. key.
- the UE uses K SEAF or a part of K SEAF to generate or as a security key. It also includes that the UE generates CK and IK according to the root key K, and uses the generated CK, IK and service network name to generate CK' and IK', and use the generated CK' and IK', SUPI, etc. to generate EMSK, and use a part of EMSK as K AUSF .
- the UE uses the K AUSF and the service network name to generate K SEAF , and AUSF uses the generated K Part of SEAF or K SEAF is generated or used as a security key.
- the possible ways for the UE to generate a security key are as follows:
- the UE uses any one or a combination of the following parameters as the security key, or the UE uses any one or a combination of the following parameters as the security key:
- K AUSF part the part of K AUSF, RES *, RES *, in part HRES *, HRES *, and K SEAF, part of the K SEAF, RES, RES part of.
- the UE uses any one or a combination of the above parameters to generate the security key, it is not excluded that the UE also uses other parameters at the same time.
- the other parameters here are the same as those used when AUSF generates the security key.
- the UE uses any combination of the above parameters as the security key, it means that the UE uses the concatenation of the multiple parameters as the security key.
- the UE uses the RES or a part of the RES to generate security or as a key. It also includes that the UE generates the RES according to the root key K and RAND, and uses the generated RES or part of the RES to generate or serve as a security secret. key.
- the UE uses K AUSF or a part of K AUSF to generate or as a security key. It also includes that the UE generates CK and IK according to the root key K, and uses the generated CK, IK and service network name to generate K AUSF and use the generated K AUSF or a part of K AUSF to generate or use as a security key.
- the UE uses a part of RES* or RES* to generate or as a security key. It also includes that the UE generates CK, IK, and RES according to the root key K and RAND, and uses the generated CK, IK, RES, RAND and service network name SN name generate RES*, and use the generated RES* or part of RES* to generate or use as a security key.
- the UE uses HRES* or a part of HRES* to generate or serve as a security key. It also includes that the UE generates CK, IK, and RES according to the root key K and RAND, and uses the generated CK, IK, RES , RAND and the service network name SN name generate RES*, hash RES* and RAND to generate HRES*, and the UE uses the generated HRES* or a part of HRES* to generate or use it as a security key.
- the UE uses K SEAF or a part of K SEAF to generate or as a security key. It also includes that the UE generates CK and IK according to the root key K, and uses the generated CK, IK and service network name to generate K AUSF , use the generated K AUSF and service network name parameters to generate K SEAF , and the UE uses the generated K SEAF or a part of K SEAF to generate or use as a security key.
- the UE generating the security key can occur from after the authentication process starts to S506.
- this application does not limit the algorithm used to generate the security key and the length of the security key.
- the UE uses the security key to verify the integrity of the security-related parameters. Specifically, the UE uses the security key, uses the same parameters and methods as the network side to generate the second message authentication code of the security-related parameters, and compares the calculated second message authentication code with the received first message authentication code.
- the UE If the UE verifies the integrity of the safety-related parameters, the UE continues the authentication process and sends an authentication response message. Optionally, if the verification is passed, the UE starts to use the received ABBA and/or ngKSI. Specifically, the UE uses the received ABBA as the input for generating K AMF ; the UE uses the received ngKSI as the key identifier of the K AMF;
- the UE fails to verify the integrity of the safety-related parameters, the UE terminates the authentication process.
- the UE sends indication information to the SEAF/AMF, where the indication information is used to indicate that the integrity verification fails or is used to notify the network side to stop the authentication of the authentication process.
- the UE sends an authentication rejection message to the SEAF/AMF.
- the authentication rejection message carries the indication information.
- the UE sending indication information to the SEAF/AMF includes, possibly, the UE sending a NAS message to the SEAF/AMF, where the NAS message is used to indicate that the integrity verification fails or is used to notify the network side to stop the authentication process.
- the NAS message may be an authentication rejection message.
- steps S307 to S312 are performed.
- the UE will generate the anchor key K SEAF according to K AUSF and the service network name SN name , and generate K AMF according to the K SEAF , the user ID SUPI and ABBA.
- the UE generates a non-access stratum NAS key according to the K AMF , and the NAS key is used to protect the communication between the user equipment and the SEAF/AMF on the network side.
- the NAS key includes a NAS layer encryption key and an integrity protection key, which are respectively used for encryption and integrity protection of NAS layer communication.
- S508 ⁇ S509 are NAS security mode control procedures.
- SEAF/AMF initiates the NAS security mode control procedure to determine the security context established using the above-mentioned 5G AKA or EAP AKA’ main authentication procedure.
- the SEAF/AMF sends a non-access stratum security mode command message (NAS SMC) to the UE, and correspondingly, the UE receives the NAS SMC message sent by the SEAF/AMF.
- NAS SMC non-access stratum security mode command message
- the NAS SMC message includes UE security capabilities, the selected NAS algorithm, and ngKSI for identifying K AMF ; the NAS SMC message may also include ABBA, an indication K_AMF_change_flag and the like indicating that a new AMF key is derived.
- the SEAF/AMF uses a NAS integrity key to perform integrity protection on the NAS SMC message, where the NAS integrity key is generated based on K AMF deduction.
- the UE verifies the NAS SMC message.
- the UE performs verification after receiving the NAS SMC message sent by the network side. Specifically, the UE verifies whether the received UE security capability is the same as the UE security capability saved by the UE; the UE also uses the integrity key verification based on K AMF deduction The integrity of the NAS SMC message. If the NAS SMC message contains the indication K_AMF_change_flag indicating that a new AMF key is derived, the UE will derive a new K AMF and derive the NAS key based on the new K AMF , including the NAS integrity key and NAS Encrypt the key, and then the UE uses the derived NAS integrity key to verify the integrity of the NAS SMC message.
- the UE starts to use the security context indicated by the ngKSI in the NAS SMC to perform NAS integrity protection and encryption/decryption, and sends an integrity-protected and encrypted NAS security mode completion message to the SEAF/AMF.
- the UE sends a NAS security mode rejection message to SEAF/AMF.
- the UE may verify whether the ABBA and/or ngKSI carried in the NAS SMC is the same as the ABBA and/or ngKSI received in S505.
- the UE can send a NAS security mode rejection message to SEAF/AUSF.
- the rejection message carries the reason for the verification failure, that is, the ABBA and/or ngKSI has been tampered with, or the UE can use the security indicated by the ngKSI received in S505 Context.
- SEAF/AMF uses the security key generated by AUSF to protect the integrity of the security-related parameters such as ABBA and/or ngKSI in the authentication request message sent by the network to the user equipment, so that the user equipment can be used in the authentication process. Identify whether security-related parameters such as ABBA and/or ngKSI have been tampered with. If the above-mentioned parameters are tampered with, the authentication process will be terminated in time, thereby solving the problem of the UE side and network caused by the tampering of security-related parameters by attackers in the prior art. The problem of failure of side key negotiation.
- FIG. 6 is a schematic flowchart of a parameter protection method according to an embodiment of the present application; this embodiment introduces integrity protection for ABBA, ngKSI and other parameters in the authentication process; specifically, the security key is generated by AUSF and sent to SEAF /AMF, SEAF/AMF uses the received security key to protect the integrity of the authentication request message containing security-related parameters, and then the UE uses the same method as the network side to generate the security key and verify the authentication containing the security-related parameters The integrity of the request message.
- This embodiment is applicable to the EAP AKA process in Fig. 2 and the 5G AKA process in Fig. 3.
- SEAF/AMF initiates an authentication request.
- the specific content is the same as that of S500, so I won't repeat it here.
- UDM sends an authentication vector and an optional user permanent identification SUPI to AUSF, and correspondingly, AUSF receives an authentication vector and an optional user permanent identification SUPI sent by UDM.
- the specific content is the same as S501, and will not be repeated here.
- AUSF generates a security key to protect the integrity of the authentication request message.
- the generation of the security key can refer to the key structure described in FIG. 4. Depending on the authentication method, the generation of the security key is different. The possible way of generating the security key is the same as S502, and will not be repeated here.
- AUSF sends a security key to SEAF/AMF, and correspondingly, SEAF/AMF receives the security key sent by AUSF.
- the AUSF can send the security key to SEAF/AMF by sending a Nausf_UEAuthentication_Authenticate Response message, or it can be sent in other ways, which is not limited in this application.
- the SEAF/AMF uses the security key sent by the AUSF to perform integrity protection on the authentication request message (Authentication Request), where the authentication request message includes security related parameters such as ABBA and/or ngKSI.
- SEAF/AMF uses the security key sent by AUSF to protect the integrity of the above authentication request message, including SEAF/AMF using the security key sent by AUSF to generate the above authentication request message carrying security related parameters Message authentication code, and use the message authentication code as the first message authentication code.
- the SEAF/AMF generates the first message authentication code according to the security key and the authentication request message.
- the security key and the authentication request message are used as input, and the integrity protection algorithm is used to generate the first message authentication code.
- the generated first message authentication code may also include other input parameters, and the other input parameters may be the length of the security key, and/or the length of ngKSI, and/or the length of ABBA, etc. This application does not limit other input parameters and the integrity protection algorithm used to generate the first message authentication code.
- the SEAF/AMF sends an authentication request message with integrity protection to the UE, and correspondingly, the UE receives an authentication request message with integrity protection sent by the SEAF/AMF.
- the SEAF/AMF may send the first message authentication code generated in S604 as a part of the authentication request message to the UE;
- the SEAF/AMF may also send the authentication request message together with the first message authentication code generated in S604 to the UE, which is not limited in this application.
- the UE After receiving the authentication request message sent by the SEAF/AMF, the UE verifies the integrity of the authentication request message.
- the UE generates a security key and uses the security key to verify the integrity of the authentication request message.
- the UE uses the same algorithm and parameters as the network side to generate the security key, and the specific content is the same as S506, which will not be repeated here.
- the UE uses the security key to verify the integrity of the authentication request message. Specifically, the UE uses the security key to calculate the message authentication code of the authentication request message using the same algorithm and parameters as the network side, and uses the message authentication code as the second message
- the specific content of the authentication code is the same as that of S604, so I won’t repeat it here.
- the UE compares the generated second message authentication code with the received first message authentication code, and if they are the same, the integrity verification is successful; otherwise, the integrity verification fails.
- the UE verifies the integrity of the authentication request message, the UE continues the authentication process and sends an authentication response message to SEAF/AMF.
- the UE starts to use the received ABBA and/or ngKSI. Specifically, the UE uses the received ABBA as the input for generating K AMF ; the UE uses the received ngKSI as the key identifier of the K AMF;
- the UE fails to verify the integrity of the authentication request message, the UE terminates the authentication process.
- the UE sends indication information to the SEAF/AMF, where the indication information is used to indicate that the integrity verification fails or is used to notify the network side to stop the authentication process.
- the UE sends indication information to the SEAF/AMF, including, possibly, the UE sends a NAS message to the SEAF/AMF.
- the NAS message is used to indicate that the integrity verification fails or is used to notify the network side to stop the authentication process, or, possibly, the UE Send an authentication rejection message to SEAF/AMF, and the authentication rejection message carries the indication information.
- S607 ⁇ S609 are the same as S507 ⁇ S509.
- SEAF/AMF uses the security key generated by AUSF to protect the integrity of the authentication request message containing security-related parameters such as ABBA and/or ngKSI sent by the network to the user equipment, so that the user equipment can be authenticated
- the integrity of the authentication request message is verified to identify whether security-related parameters such as ABBA and/or ngKSI have been tampered with. If the above-mentioned parameters are tampered with, the authentication process is terminated in time, thereby solving the existing technology that is attacked by security-related parameters.
- FIG. 7 is a schematic flowchart of a parameter protection method according to an embodiment of the present application; this embodiment introduces integrity protection for ABBA, ngKSI and other parameters in the authentication process; specifically, the security key is generated by SEAF/AMF, and Perform integrity protection on parameters such as ABBA and ngKSI, or perform integrity protection on the authentication request message containing the above-mentioned security-related parameters, and then complete integrity verification by the UE.
- This embodiment is applicable to the 5G AKA process in FIG. 3.
- S700 and SEAF/AMF initiate an authentication request.
- the specific content is the same as that of S500, so I won’t repeat it here.
- UDM sends an authentication vector and optional user permanent identification SUPI to AUSF.
- AUSF receives the authentication vector and optional user permanent identification SUPI sent by UDM.
- the authentication vector is the first authentication vector 5G HE AV (RAND ,AUTN,XRES*,K AUSF ).
- AUSF sends a Nausf authentication response message Nausf_UEAuthentication_Authenticate Response to SEAF/AMF.
- SEAF/AMF receives the message, and the message includes HXRES*, RAND, AUTN and other parameters.
- the HXRES* is a parameter generated by the hash operation of XRES* and RAND by AUSF.
- the SEAF/AMF generates a security key, and uses the generated security key to perform integrity protection on security-related parameters such as ABBA and/or ngKSI or the authentication request message carrying the aforementioned security-related parameters.
- SEAF/AMF can use HXRES*, and/or a part of HXRES*, as a security key, or use HXRES*, and/or, a part of HXRES*, as an input parameter to generate a security key.
- the generation of the security key may also include other input parameters, which are not limited in this application.
- the embodiment of the present application does not limit the algorithm used to generate the security key and the length of the security key.
- SEAF/AMF uses the generated security key to perform integrity protection on security-related parameters such as ABBA and/or ngKSI or authentication request messages carrying the above-mentioned security-related parameters, including SEAF/AMF using the generated security key to generate the first message
- the authentication code that is, the message authentication code of the authentication request message that the SEAF/AMF uses the generated security key to generate security-related parameters or includes the security-related parameters.
- SEAF/AMF takes as input the security key and security related parameters such as ABBA and/or ngKSI or an authentication request message including the security related parameters, and uses an integrity protection algorithm to generate the first message authentication code.
- the generation of the first message authentication code may also include other input parameters, such as the length of the security key, and/or the length of the security-related parameter ABBA, and/or the length of the ngKSI. This application does not restrict other input parameters and the integrity protection algorithm used to generate the first message authentication code.
- the SEAF/AMF sends an authentication request message to the UE, and correspondingly, the UE receives the authentication request message sent by the SEAF/AMF.
- the authentication request message carries security related parameters such as ABBA, and/or ngKSI, and the first message authentication code;
- the UE After receiving the authentication request message sent by the SEAF/AMF, the UE verifies the integrity of the safety-related parameters.
- the UE generates a security key, and uses the security key to verify the integrity of the security-related parameters.
- the UE uses the same method as the network side to generate a security key.
- the UE can use HRES*, and/or a part of HRES* as a security key, or the UE can use HRES*, and/or, a part of HRES* , As an input parameter, generate a security key.
- the HRES* is a parameter generated by the UE performing a hash operation on RES* and RAND; the RES* is a parameter generated by the UE according to the RES, RAND, service network name, etc. after receiving the authentication request.
- the generation of the security key may also include other input parameters used by the network side.
- the UE uses the security key to verify the integrity of the security-related parameters. Specifically, the UE uses the security key to generate the second message authentication code, that is, the UE uses the security key and uses the same parameters and methods as the network side to generate security-related parameters or the message authentication code of the authentication request message, and authenticate the message
- the code is used as the second message authentication code; the UE compares the generated second message authentication code with the received first message authentication code. If they are the same, the integrity verification is successful, otherwise, the integrity verification fails.
- the comparison result is the same, it means that the security-related parameters such as ABBA, and/or ngKSI have not been tampered with, and the verification is passed. If the UE verifies the integrity of the safety-related parameters, the UE continues the authentication process and sends an authentication response message to the SEAF/AMF. Optionally, if the verification is passed, the UE starts to use the received ABBA and/or ngKSI. Specifically, the UE uses the received ABBA as the input for generating the K AMF ; the UE uses the received ngKSI as the key identifier of the K AMF.
- the UE If the UE fails to verify the integrity of the safety-related parameters, the UE terminates the authentication process. In one possible manner, the UE sends indication information to the SEAF/AMF, where the indication information is used to indicate that the integrity verification fails or is used to notify the network side to stop the authentication process.
- the UE sends indication information to the SEAF/AMF, including, possibly, the UE sends a NAS message to the SEAF/AMF.
- the NAS message is used to indicate that the integrity verification fails or is used to notify the network side to stop the authentication process, or, possibly, the UE Send an authentication rejection message to SEAF/AMF, and the authentication rejection message carries the indication information.
- S706 ⁇ S708 are the same as S507 ⁇ S509.
- SEAF/AMF generates a security key, and uses the generated security key to pair the security-related parameters such as ABBA and/or ngKSI in the authentication request message sent by the network side to the user equipment or include ABBA and/or ngKSI.
- the integrity protection of the authentication request message of security-related parameters so that the user equipment can verify the integrity during the authentication process to identify whether the security-related parameters such as ABBA and/or ngKSI have been tampered with. If the above parameters are tampered with, the authentication will be terminated in time This solves the problem that the key negotiation between the user side and the network side fails due to the tampering of security-related parameters by an attacker in the prior art.
- FIG. 8 is a schematic flowchart of a parameter protection method according to an embodiment of the present application; this embodiment introduces integrity protection of security-related parameters such as ABBA and ngKSI in the authentication process; specifically, AUSF generates a security key, and The above-mentioned ABBA, and/or ngKSI and other security-related parameters are integrity protected, and then the UE verifies the integrity of the security-related parameters.
- This embodiment is applicable to the EAP AKA process in Fig. 2 and the 5G AKA process in Fig. 3.
- the SEAF/AMF initiates an authentication request to AUSF.
- SEAF/AMF sends a Nausf authentication request message Nausf_UEAuthentication_Authenticate Request to AUSF, which contains security related parameters such as ABBA and/or ngKSI. Accordingly, AUSF receives the Nausf authentication request message.
- SEAF/AMF can use other methods to send ABBA, and/or ngKSI and other security-related parameters to AUSF, which is not limited by this application.
- AUSF requests an authentication vector from UDM, and accordingly, UDM returns the authentication vector and optional user permanent identification SUPI to AUSF after receiving the request.
- AUSF sends a Nudm authentication request message Nudm_UEAuthenticate_Get Request to UDM to request an authentication vector, and the corresponding UDM receives the Nudm authentication request message Nudm_UEAuthenticate_Get Request sent by AUSF; UDM sends a Nudm authentication response message Nudm_UEAuthenticate_Get Response to AUSF after receiving the above request message.
- the Nudm response message contains the authentication vector and optional user permanent identification SUPI.
- UDM sends the deformed authentication vector AV' (RAND, AUTN, XRES, CK', IK') to AUSF.
- UDM sends the first authentication vector 5G HE AV (RAND, AUTN, XRES*, K AUSF ) to AUSF.
- UDM can also send the encryption key CK and the integrity key IK to AUSF.
- the UDM includes the encryption key CK and the integrity key IK in the Nudm authentication response Nudm_UEAuthenticate_Get Response, or the UDM sends the encryption key CK and the integrity key IK to AUSF through other messages. This application does not restrict this.
- UDM also sends XRES to AUSF.
- the UDM includes the encryption key CK and the integrity key IK in the Nudm authentication response Nudm_UEAuthenticate_Get Response, or the UDM sends the encryption key CK and the integrity key IK to AUSF through other messages. This application does not restrict this.
- AUSF generates a security key, and uses the generated security key to perform integrity protection on security related parameters such as ABBA and/or ngKSI.
- the AUSF uses the generated security key to perform integrity protection on security related parameters such as ABBA and/or ngKSI. Specifically, the AUSF may use the generated security key to generate the first message authentication code.
- AUSF takes the security key and security related parameters as input, and uses the integrity protection algorithm to generate the first message authentication code.
- the generation of the first message authentication code may also include other input parameters, such as the length of the security key, and/or the length of the security-related parameter ABBA, and/or the length of the ngKSI. This application does not limit other input parameters and the integrity protection algorithm used to generate the first message authentication code.
- AUSF sends the first message authentication code calculated by AUSF in S803 to SEAF/AMF, and correspondingly, SEAF/AMF receives the first message authentication code sent by AUSF.
- AUSF can send the first message authentication code to SEAF/AMF by carrying the first message authentication code in the Nausf authentication response message Nausf_UEAuthentication_Authenticate Response; AUSF can also send the first message authentication code in other possible ways. This application Not limited.
- the SEAF/AMF sends an authentication request message to the UE, and correspondingly, the UE receives the authentication request message sent by the SEAF/AMF.
- the authentication request message carries the first message authentication code generated by the AUSF in S803.
- S806 ⁇ S809 are the same as S506 ⁇ S509, and will not be repeated here.
- AUSF generates a security key, and performs integrity protection on the security-related parameters such as ABBA and/or ngKSI received from SEAF/AMF, so that the user equipment can be identified through integrity verification in the authentication process Whether the security-related parameters such as ABBA and/or ngKSI have been tampered with, if the above-mentioned parameters are tampered with, the authentication process will be terminated in time, thereby solving the user-side and network-side secrets caused by the tampering of security-related parameters by attackers in the prior art. The key negotiation failed.
- FIG. 9 is a schematic flowchart of a parameter protection method according to an embodiment of the present application; this embodiment introduces integrity protection of security-related parameters such as ABBA and ngKSI in the authentication process; specifically, AUSF receives ABBA from SEAF/AUSF After ngKSI and other security-related parameters, the EAP Request/AKA’-Challenge message sent to SEAF/AUSF carries the above parameters, and the integrity of the EAP Request/AKA’-Challenge is protected. The protected EAP Request/AKA'-Challenge message is transparently transmitted to the UE, and the UE completes the integrity verification.
- This embodiment is applicable to the EAP AKA' process in FIG. 2.
- SEAF/AMF sends ABBA, and/or ngKSI and other security related parameters to AUSF.
- SEAF/AMF sends a Nausf authentication request Nausf_UEAuthentication_Authenticate Request to AUSF, which contains security related parameters such as ABBA, and/or ngKSI, and correspondingly, AUSF receives the request.
- SEAF/AMF can use other methods to send ABBA, and/or ngKSI and other security-related parameters to AUSF, which is not limited by this application.
- AUSF requests an authentication vector from UDM, and accordingly, UDM returns the authentication vector to AUSF after receiving the request, and an optional user permanent identification SUPI.
- the specific content is the same as that of S802, and will not be repeated here.
- AUSF performs integrity protection on the security-related parameters to generate a first message authentication code, and sends the first message authentication code to SEAF/AMF.
- AUSF sends an "EAP Request/AKA'-Challenge" message to SEAF/AMF, and the "EAP Request/AKA'-Challenge" message contains the first message authentication code.
- the AUSF generates the first message authentication code before sending the "EAP Request/AKA'-Challenge" message, and the input parameters for the AUSF to generate the first message authentication code include security related parameters such as ABBA and/or ngKSI.
- AUSF also includes security-related parameters in the "EAP Request/AKA'-Challenge” message, and sends the "EAP Request/AKA'-Challenge” message including the security-related parameters to SEAF/AMF.
- SEAF/AMF receives the "EAP Request/AKA'-Challenge" message from AUSF.
- the AUSF may carry the "EAP Request/AKA'-Challenge" message in the Nausf authentication response message Nausf_UEAuthentication_Authenticate Response, or may use other possible methods to transmit the "EAP Request/AKA'-Challenge", which is not limited in this application.
- the SEAF/AMF sends an authentication request to the UE, and correspondingly, the UE receives the authentication request from the SEAF/AMF.
- the authentication request message carries an "EAP Request/AKA'-Challenge" message from AUSF, and the authentication request message also carries security related parameters such as ngKSI and/or ABBA;
- the authentication request message carries an "EAP Request/AKA'-Challenge" message from AUSF, where the "EAP Request/AKA'-Challenge" message includes security related parameters.
- the UE After receiving the authentication request from the SEAF/AMF, the UE verifies the integrity of the EAP Request/AKA’-Challenge message.
- the UE verifies the integrity of the "EAP Request/AKA'-Challenge" message, including the UE calculating the second message authentication code of the received "EAP Request/AKA'-Challenge” message, and then the UE will calculate the second message authentication code Compare with the received first message authentication code.
- the comparison result is the same, it means that the security-related parameters such as ABBA, and/or ngKSI have not been tampered with, and the verification is passed. If the UE verifies the integrity of the "EAP Request/AKA'-Challenge", the UE continues to perform the authentication process and sends an authentication response message to the SEAF/AMF. Optionally, if the verification is passed, the UE starts to use the received ABBA and/or ngKSI. Specifically, the UE uses the received ABBA as the input for generating K AMF ; the UE uses the received ngKSI as the key identifier of the K AMF;
- the UE If the UE fails to verify the integrity of the "EAP Request/AKA'-Challenge" message, the UE terminates the authentication process. In one possible manner, the UE sends indication information to the SEAF/AMF, where the indication information is used to indicate that the integrity verification fails or is used to notify the network side to stop the authentication process.
- the UE sends indication information to the SEAF/AMF, including, possibly, the UE sends a NAS message to the SEAF/AMF.
- the NAS message is used to indicate that the integrity verification fails or is used to notify the network side to stop the authentication process, or, possibly, the UE Send an authentication rejection message to SEAF/AMF, and the authentication rejection message carries the indication information.
- S906 ⁇ S908 are the same as S507 ⁇ S509, and will not be repeated here.
- AUSF receives security related parameters such as ABBA and/or ngKSI from SEAF/AMF, adds the security related parameters to the EAP Request/AKA'-Challenge message, and uses the security related parameters as the calculation "EAP Request" /AKA'-Challenge” message authentication code input parameter.
- SEAF/AMF receives the "EAP Request/AKA'-Challenge” from AUSF and forwards the above message to the UE, and the UE performs integrity verification, so that the user equipment can identify whether the security-related parameters such as ABBA and/or ngKSI have been checked during the authentication process.
- Tampering if the above parameters are tampered with, the authentication process will be terminated in time, thereby solving the problem of the failure of key negotiation between the user side and the network side caused by the tampering of security-related parameters by an attacker in the prior art.
- FIG. 10 is a schematic flowchart of a parameter protection method according to an embodiment of the present application; this embodiment introduces integrity protection of security-related parameters such as ABBA and/or ngKSI in the authentication process; specifically, the UE generates the security secret Key and integrity protection of security related parameters, AUSF generates a security key and sends the security key to SEAF/AMF, SEAF/AMF saves the security key, and uses the saved security key for security Integrity verification of related parameters.
- This embodiment is applicable to the EAP AKA process in Fig. 2 and the 5G AKA process in Fig. 3.
- UDM sends an authentication vector and optional user permanent identification SUPI to AUSF, and correspondingly, AUSF receives the authentication vector and optional user permanent identification SUPI sent by UDM.
- the specific content is the same as S501, and will not be repeated here.
- AUSF generates a security key, which is used to verify the integrity of security-related parameters such as ABBA and/or ngKSI.
- security-related parameters such as ABBA and/or ngKSI.
- the generation of the security key is different. For details, see S502, which will not be repeated here.
- AUSF sends a security key to SEAF/AMF, and correspondingly, SEAF/AMF receives the security key sent by AUSF;
- the AUSF may send the security key to the SEAF/AMF by sending the Nausf authentication response message Nausf_UEAuthentication_Authenticate Response that carries the security key;
- AUSF can also use other possible methods to send security keys to SEAF/AMF, which is not limited in this application.
- the SEAF/AMF After receiving the security key sent by AUSF, the SEAF/AMF saves the security key
- the SEAF/AMF sends an authentication request message to the UE, and correspondingly, the UE receives the authentication request message sent by the SEAF/AMF.
- the authentication request message carries security related parameters such as ABBA and/or ngKSI.
- the UE After receiving the authentication request message sent by the SEAF/AMF, the UE performs integrity protection on the safety-related parameters.
- the UE performs integrity protection on the security related parameters, including the UE generating a security key, and using the generated security key to perform integrity protection on the security related parameters to generate the first message authentication code.
- the UE generates a security key. For details, see S506, which will not be repeated here.
- the UE uses the generated security key to generate the first message authentication code.
- the UE uses the generated security key to calculate the message authentication code of the security-related parameter as the first message authentication code, or the UE includes the security-related parameter in the authentication response message and uses the generated security key Calculate the message authentication code of the authentication response message including the safety-related parameters as the first message authentication code.
- the UE inputs the security key and the security related parameters or the authentication response message including the security related parameters into the integrity protection algorithm to generate the first message authentication code.
- the UE generating the first message authentication code may also include other input parameters, and the other input parameters may be the length of the security key, and/or the length of ngKSI, and/or the length of ABBA, etc. This application does not limit other input parameters and the integrity protection algorithm used when generating the first message authentication code.
- the UE sends an authentication response message to the SEAF/AMF, and correspondingly, the SEAF/AMF receives the authentication response message.
- the authentication response message includes the first message authentication code calculated in S1006.
- the authentication response message includes the security related parameters.
- the SEAF/AMF After receiving the authentication response message, the SEAF/AMF verifies the integrity of the safety-related parameters.
- SEAF/AMF uses the security key stored in S1004 to verify the integrity of security-related parameters. Specifically, the SEAF/AMF uses the same method as the UE side to generate the second message authentication code, and compares the generated second message authentication code with the received first message authentication code.
- SEAF/AMF uses the security key to calculate the message authentication code of the above-mentioned security-related parameters as the second message authentication code; in another possible implementation If the UE performs integrity protection on the authentication response message carrying the security related parameters, the SEAF/AMF uses the security key to calculate the message authentication code of the authentication response message as the second message authentication code.
- steps S309 to S312 are performed.
- the UE will generate the anchor key K SEAF according to K AUSF and SN name, and generate K AMF according to the K SEAF , user ID SUPI and ABBA.
- the UE generates a non-access stratum NAS key according to the K AMF , and the NAS key is used to protect the communication between the user equipment and the SEAF/AMF on the network side.
- the NAS key includes a NAS layer encryption key and an integrity protection key, which are respectively used for encryption and integrity protection of NAS layer communication.
- S1010 ⁇ S1011 are the same as S508 ⁇ S509.
- the UE generates a security key and performs integrity protection on security-related parameters such as ABBA and/or ngKSI or an authentication response message carrying the above-mentioned security-related parameters.
- SEAF/AUSF uses the security key from AUSF to perform integrity protection on the above-mentioned security-related parameters. Integrity verification is performed on parameters or authentication response messages carrying the above-mentioned security-related parameters, so that the network-side device can identify whether security-related parameters such as ABBA and/or ngKSI have been tampered with in the authentication process. If the above-mentioned parameters are tampered with, the authentication process will be terminated in time. This solves the problem that the key negotiation between the user side and the network side fails due to the tampering of security related parameters by an attacker in the prior art.
- Figure 11 is a schematic flow diagram of a parameter protection method according to an embodiment of the present application; this embodiment introduces integrity protection for parameters such as ABBA and/or ngKSI in the authentication process; specifically, the UE generates a security key and Safety-related parameters are integrity protected, and SEAF/AMF verifies the integrity of safety-related parameters.
- This embodiment is applicable to the 5G AKA process in FIG. 3.
- S1101 to S1103 are steps in the normal 5G AKA process, and the specific content is the same as S302 to S306.
- the UE After receiving the authentication request message sent by the SEAF/AMF, the UE performs integrity protection on the security related parameters such as ABBA and/or ngKSI.
- the UE performs integrity protection on the security-related parameters, including the UE generating a security key and using the generated security key to perform integrity protection on the security-related parameters.
- the UE can use HRES*, and/or, a part of HRES*, as a security key, or use HRES*, and/or, a part of HRES*, as an input parameter to generate a security key, where HRES* is The parameters generated by the UE performing the hash operation on RES* and RAND; where RES* is the parameters generated by the UE according to RES, RAND and service network name after receiving the authentication request.
- the generation of the security key may also include other input parameters, which are not limited in this application.
- the UE uses the generated security key to protect the integrity of the security-related parameters, which may include the UE using the generated security key to generate the first message authentication code, including the message in which the UE uses the generated security key to calculate the security-related parameters
- the authentication code is used as the first message authentication code, or the UE includes security-related parameters in the authentication response message, and the UE uses the generated security key to calculate the message authentication code of the authentication response message including the security-related parameters as the first message Authentication Code.
- the UE inputs the security key and security related parameters into the integrity protection algorithm to generate the first message authentication code.
- the UE generating the first message authentication code may also include other input parameters, and the other input parameters may be the length of the security key, and/or the length of ngKSI, and/or the length of ABBA, etc. This application does not limit other input parameters and the integrity protection algorithm used when generating the MAC message authentication code.
- the UE sends the first message authentication code to SEAF/AMF.
- the UE sends an authentication response message to the SEAF/AMF, and correspondingly, the SEAF/AMF receives the authentication response message.
- the authentication response message includes the first message authentication code calculated in S1104.
- the SEAF/AMF receives the authentication response message carrying the first message authentication code.
- the UE sends an authentication response message and the first message authentication code to the SEAF/AMF.
- the SEAF/AMF receives the authentication response message and the first message authentication code.
- the SEAF/AMF After receiving the authentication response message, the SEAF/AMF verifies the integrity of the safety-related parameters.
- SEAF/AMF generates a security key, and uses the security key to verify the integrity of security-related parameters.
- SEAF/AMF uses the same method as the UE to calculate the security key.
- SEAF/AMF can use the HXRES* received in S1102, and/or, a part of HXRES* as a security key, or use XHRES*, and/or, A part of HXRES* is used as an input parameter to generate a security key; if possible, the generated security key may also include other input parameters used by the UE side.
- the generation of the security key by the SEAF/AMF can occur at any time between after the SEAF/AMF receives the authentication response message (step S1102) sent by the AUSF and this step.
- SEAF/AMF uses the generated security key to verify the integrity of the security-related parameters. Specifically, SEAF/AMF uses the same algorithm and parameters as the UE side to calculate the second message authentication code, and combines the generated second message authentication code Compare with the received first message authentication code. In one possible implementation, SEAF/AMF uses the generated security key to calculate the message authentication code of the above-mentioned security-related parameters as the second message authentication code; in another possible implementation, SEAF/AMF uses the generated security key Calculate the message authentication code of the authentication response message with the security key as the second message authentication code.
- steps S310 to S312 are performed.
- the UE will generate the anchor key K SEAF according to K AUSF and SN name, and generate K AMF according to the K SEAF , user ID SUPI and ABBA.
- the UE generates a non-access stratum NAS key according to the K AMF , and the NAS key is used to protect the communication between the user equipment and the SEAF/AMF on the network side.
- the NAS key includes a NAS layer encryption key and an integrity protection key, which are respectively used for encryption and integrity protection of NAS layer communication.
- S1108 ⁇ S1109 are the same as S508 ⁇ S509.
- the UE generates a security key and performs integrity protection on security-related parameters such as ABBA and/or ngKSI or an authentication response message carrying the aforementioned security-related parameters.
- SEAF/AMF uses the same method as the UE to generate the security key. And verify the integrity of the above-mentioned security-related parameters or the authentication response message carrying the above-mentioned security-related parameters, so that the network-side device can identify whether security-related parameters such as ABBA and/or ngKSI have been tampered with in the authentication process. If the above-mentioned parameters are tampered with The authentication process is terminated in time, thereby solving the problem of the failure of key negotiation between the user side and the network side caused by the tampering of security-related parameters by an attacker in the prior art.
- FIG. 12 is a schematic flowchart of a parameter protection method according to an embodiment of the present application; this embodiment introduces integrity protection of security-related parameters such as ABBA and/or ngKSI in the authentication process; specifically, the UE generates the security secret Key and integrity protection of security-related parameters, and integrity verification of security-related parameters by AUSF.
- This embodiment is applicable to the EAP AKA process in Fig. 2 and the 5G AKA process in Fig. 3.
- UDM sends an authentication vector and optional user permanent identification SUPI to AUSF.
- AUSF receives the authentication vector and optional SUPI sent by UDM.
- UDM can send the above authentication vector and optional and/or user identification to AUSF by sending and calling Nudm_UEAuthentication_getRespons message service, or can also send the above message in other ways, which is not limited in this application.
- UDM sends the deformed authentication vector AV' (RAND, AUTN, XRES, CK', IK') to AUSF.
- UDM sends the first authentication vector 5G HE AV (RAND, AUTN, XRES*, KAUSF) to AUSF.
- 5G HE AV RAND, AUTN, XRES*, KAUSF
- UDM can also send the encryption key CK and the integrity key IK to AUSF.
- UDM also sends the expected response XRES to AUSF.
- S1202 to S1203 are steps in the normal authentication process.
- the specific content is the same as S203 to S204.
- the specific content is the same as S303 to S306.
- the UE After receiving the authentication request message sent by the SEAF/AMF, the UE performs integrity protection on the security related parameters such as ABBA and/or ngKSI.
- the UE generates a security key, and uses the generated security key to perform integrity protection on the security-related parameters.
- the UE generates a security key. For details, see S506, which will not be repeated here.
- the UE uses the generated security key to perform integrity protection on the security-related parameters. Specifically, the UE may use the generated security key to calculate the message authentication code of the security-related parameter as the first message authentication code.
- the calculation of the security key by the UE may occur during the period from the start of the authentication process to when the UE receives the authentication request from the network side, that is, before this step.
- the UE sends the first message authentication code to SEAF/AMF.
- the UE sends an authentication response message to the SEAF/AMF, and correspondingly, the SEAF/AMF receives the authentication response message.
- the authentication response message includes the first message authentication code calculated in S1204.
- the SEAF/AMF receives an authentication response message carrying the first message authentication code.
- the UE sends an authentication response message and the first message authentication code to the SEAF/AMF.
- the SEAF/AMF receives the first message authentication code and the authentication response message
- the SEAF/AMF sends the first message authentication code to the AUSF.
- the AUSF receives the first message authentication code sent by the SEAF/AMF.
- SEAF/AMF can send the first message authentication code to AUSF through the Nausf authentication response message Nausf_UEAuthentication_Authenticate Response; SEAF/AMF can also send the above information in other ways, which is not limited in this application.
- the AUSF After receiving the first message authentication code sent by the SEAF/AMF, the AUSF performs integrity verification on the safety-related parameters.
- AUSF generates a security key, and uses the generated security key to verify the integrity of security-related parameters.
- AUSF uses the same parameters and methods as the user to generate the security key.
- the generation of the security key is different depending on the authentication method.
- the possible way of AUSF to generate a security key is the same as S502, and will not be repeated here. It should be pointed out that if the UE uses one or some other input parameters when generating the security key, the AUSF will also use the same other input parameters when generating the security key.
- AUSF may calculate the security key at any time between receiving the relevant parameters and this step.
- AUSF uses the generated security key to verify the integrity of security-related parameters. Specifically, AUSF uses the security key to calculate the message authentication code of the security-related parameter as the second message authentication code, and the calculated second message authentication code Compare with the received first message authentication code.
- the authentication process is terminated.
- steps S311 to S312 are performed.
- the UE will generate the anchor key K SEAF according to K AUSF and SN name, and generate K AMF according to the K SEAF , user ID SUPI and ABBA.
- the UE generates a non-access stratum NAS key according to the K AMF , and the NAS key is used to protect the communication between the user equipment and the SEAF/AMF on the network side.
- the NAS key includes a NAS layer encryption key and an integrity protection key, which are respectively used for encryption and integrity protection of NAS layer communication.
- S1209 ⁇ S1210 are the same as S508 ⁇ S509.
- the UE generates a security key and performs integrity protection on security-related parameters such as ABBA and/or ngKSI.
- AUSF uses the same method as the UE to generate a security key and performs integrity verification on the above security-related parameters, so that The network-side device can identify whether security-related parameters such as ABBA and/or ngKSI have been tampered with in the authentication process. If the above-mentioned parameters are tampered, the authentication process will be terminated in time, thereby solving the problem of security-related parameters being tampered with by attackers in the prior art This causes the problem that the key negotiation between the user side and the network side fails.
- the foregoing embodiment provides a method for parameter protection during the main authentication procedure between the UE side and the network side.
- the embodiments in FIG. 13 and FIG. 14 provide a method for updating the authentication result after the authentication process ends, so that the UDM can update the authentication result in a timely manner to prevent visiting network fraud.
- FIG. 13 is a schematic diagram of a UE authentication status update process according to an embodiment of the present application; in this embodiment, after the authentication and key agreement process ends, the SEAF notifies the UDM of the UE authentication status update, so that the UDM can update the UE authentication status in time.
- This embodiment is applicable to the EAP AKA' process and the 5G AKA process.
- the UE side and the network side successfully perform the main authentication process, where the authentication process may be any of the possible main authentication processes in FIG. 2 to FIG. 12.
- AUSF After AUSF judges that the UE is successfully authenticated, AUSF informs SEAF/AMF that the UE is authenticated successfully, that is
- AUSF indicates that the UE authentication is successful in the Nausf_UEAuthentication_Authenticate Response, and includes K SEAF in the Nausf_UEAuthentication_Authenticate Response
- AUSF includes the EAP Success message and K SEAF in the Nausf_UEAuthentication_Authenticate Response .
- AUSF after receiving the EAP-Reponse/AKA'-Challenge message, or after receiving the RES, AUSF verifies the EAP-Reponse/AKA'-Challenge message, or verifies the RES. If the AUSF verification is successful, the AUSF shall skip the step of notifying the UDM certification result.
- AUSF after AUSF receives the Nausf_UEAuthentication_Authentication Request message including RES*, AUSF should verify whether RES* is the same as XRES* and whether AV has expired. If the verification is successful, the authentication is successful. If the authentication is successful, AUSF shall skip the step of notifying the UDM authentication result.
- the SEAF/AMF After the SEAF/AMF receives the indication of successful UE authentication or the EAP Success message in the Nausf_UEAuthentication_Authenticate Response, the SEAF/AMF sends a non-access stratum security mode command message (NAS SMC) to the UE, and accordingly, the UE receives the SEAF/AMF sent NAS SMC message.
- the NAS SMC message includes UE security capabilities, the selected NAS algorithm, and ngKSI for identifying K AMF ; the NAS SMC message may also include ABBA parameters, an indication K_AMF_change_flag for indicating that a new AMF key is derived, and so on.
- the SEAF/AMF uses a 5G NAS integrity key to perform integrity protection on the NAS SMC message, where the 5G NAS integrity key is generated based on K AMF deduction.
- the UE verifies the NAS SMC message.
- the UE performs verification after receiving the NAS SMC message sent by the network side. Specifically, the UE verifies whether the received UE security capability is the same as the UE security capability saved by the UE; the UE also uses the integrity key verification based on K AMF deduction The integrity of the NAS SMC message.
- the UE sends a security mode complete (Security Mode Complete) message to the SEAF/AMF, and correspondingly, the SEAF/AMF receives the security mode complete message sent by the UE.
- a security mode complete Security Mode Complete
- SEAF/AMF After SEAF/AMF receives the security mode completion message, optionally, SEAF/AMF sends a notification to UDM to notify UDM, the authentication status or authentication result of the UE, or to update the authentication status or authentication of the UE in the UDM result. UDM accordingly saves or updates the authentication status or authentication result of the UE.
- the authentication status of the UE includes, but is not limited to, the identity of the UE, the authentication result, the timestamp, and the name of the serving network.
- the identifier of the UE is SUPI, for example.
- the authentication result of the UE sent by the SEAF/AMF to the UDM is that the authentication is successful.
- SEAF can notify UDM by invoking an existing service provided by UDM, such as by using Nudm_UEAuthentication_ResultConfirmation Request, to notify UDM of the authentication status or result of the UE, or update the UDM, the authentication status or result of the UE; or SEAF can This application does not restrict the UE's authentication status or authentication result by invoking new UDM services to notify UDM or update UDM.
- the UDM After receiving the notification or update notification of the authentication status or the authentication result of the UE of the SEAF, the UDM saves or updates the authentication status or the authentication result of the UE.
- the UE sends a Security Mode Reject message to the SEAF/AMF.
- the SEAF/AMF receives the Security Mode Reject message sent by the UE.
- SEAF/AMF receives the security mode rejection message, optionally, SEAF/AMF sends a notification to UDM to notify UDM, the authentication status or authentication result of the UE, or to update the authentication status or authentication of the UE in the UDM result.
- UDM accordingly saves or updates the authentication status or authentication result of the UE.
- the authentication status of the UE includes, but is not limited to, the identity of the UE, the authentication result, the timestamp, and the name of the serving network.
- the identifier of the UE is SUPI, for example.
- the authentication result of the UE sent by the SEAF/AMF to the UDM is an authentication failure.
- the SEAF can notify UDM or update the authentication status or result of the UE at the UDM by invoking an existing service provided by UDM, for example, by using Nudm_UEAuthentication_ResultConfirmation Request; or SEAF can call the service newly added by UDM. Notifying the UDM or updating the UDM, the authentication status or authentication result of the UE, this application is not limited.
- the UDM After receiving the notification or update notification of the authentication status or the authentication result of the UE of the SEAF, the UDM saves or updates the authentication status or the authentication result of the UE.
- the SEAF/AMF after the SEAF/AMF receives the security mode control process success/failure message, it notifies UDM of the authentication status or authentication result of the UE, so that UDM can save or update the authentication status or authentication result of the UE in a timely manner to prevent visiting network fraud .
- FIG. 14 is a schematic diagram of a UE authentication status or authentication result update procedure according to an embodiment of this application; in this embodiment, after the authentication and key agreement procedure ends, SEAF/AMF notifies AUSF, and then AUSF notifies UDM of UE authentication The status or authentication result enables UDM to obtain or update the UE authentication status or authentication result in time.
- This embodiment is applicable to the EAP AKA process in Fig. 2 and the 5G AKA process in Fig. 3.
- the UE side and the network side successfully perform an authentication process, where the authentication process may be any of the possible main authentication processes shown in FIGS. 2-12.
- AUSF After the AUSF judges that the UE is successfully authenticated, AUSF informs SEAF/AMF that the UE is successfully authenticated, namely:
- AUSF indicates that the UE is successfully authenticated in the Nausf_UEAuthentication_Authenticate Response, and includes K SEAF in the Nausf_UEAuthentication_Authenticate Response;
- AUSF includes the EAP Success message and K SEAF in the Nausf_UEAuthentication_Authenticate Response .
- AUSF after receiving the EAP-Reponse/AKA'-Challenge message, or after receiving the RES, AUSF verifies the EAP-Reponse/AKA'-Challenge message, or verifies the RES. If the AUSF verification is successful, the AUSF shall skip the step of notifying the UDM certification result.
- AUSF after AUSF receives the Nausf_UEAuthentication_Authentication Request message including RES*, AUSF should verify whether RES* is the same as XRES* and whether AV has expired. If the verification is successful, the authentication is successful. If the authentication is successful, AUSF shall skip the step of notifying the UDM authentication result.
- the SEAF/AMF After the SEAF/AMF receives the indication of successful UE authentication or the EAP Success message in the Nausf_UEAuthentication_Authenticate Response, the SEAF/AMF sends a non-access stratum security mode command message (NAS SMC) to the UE, and accordingly, the UE receives the SEAF/AMF sent NAS SMC news. For details, see S1302, which will not be repeated here.
- NAS SMC non-access stratum security mode command message
- steps S1404 to S1407 are executed. If the verification fails, steps S1408 to S1411 are executed.
- the UE sends a security mode complete (Security Mode Complete) message to the SEAF/AMF, and correspondingly, the SEAF/AMF receives the security mode complete message sent by the UE.
- a security mode complete Security Mode Complete
- the SEAF/AMF After the SEAF/AMF receives the security mode completion message, it sends a notification to the AUSF for notifying the AUSF of the authentication status or the authentication result of the UE. Correspondingly, AUSF receives the authentication status or authentication result of the UE.
- the authentication status of the UE includes, but is not limited to, the identity of the UE, the authentication result, the timestamp, and the name of the serving network.
- the identifier of the UE is SUPI, for example.
- the authentication result of the UE sent by the SEAF/AMF to the AUSF is that the authentication is successful.
- SEAF can send a notification to AUSF by calling an existing service provided by AUSF, such as Nausf_UEAuthentication; or SEAF can send a notification to AUSF by calling a service newly added by AUSF, and this application is not limited.
- the AUSF After receiving the notification sent by the SEAF, the AUSF sends a notification to the UDM for notifying the authentication status or authentication result of the UE, or updating the authentication status or authentication result of the UE at the UDM.
- UDM saves or updates the authentication status or authentication result of the UE.
- AUSF can send a notification to UDM by invoking an existing service provided by UDM, such as Nudm_UEAuthentication; or AUSF can send a notification to UDM by invoking a service newly added by UDM, which is not limited by this application.
- the UDM After the UDM receives the notification or update of the authentication status or the authentication result of the UE of the AUSF, the UDM saves or updates the authentication status or the authentication result of the UE.
- the UE sends a Security Mode Reject message to the SEAF/AMF.
- the SEAF/AMF receives the Security Mode Reject message sent by the UE.
- the SEAF/AMF After the SEAF/AMF receives the security mode rejection message, it sends a notification to the AUSF for notifying the AUSF of the authentication status or the authentication result of the UE.
- AUSF receives the authentication status or authentication result of the UE.
- the authentication status of the UE includes, but is not limited to, the identity of the UE, the authentication result, the timestamp, and the name of the serving network.
- the identifier of the UE is SUPI, for example.
- the authentication result of the UE sent by the SEAF/AMF to the AUSF is an authentication failure.
- SEAF can send a notification to AUSF by calling an existing service provided by AUSF, such as Nausf_UEAuthentication; or SEAF can send a notification to AUSF by calling a service newly added by AUSF, and this application is not limited.
- the AUSF After receiving the notification sent by the SEAF, the AUSF sends a notification to the UDM for notifying the UDM, the authentication status or the authentication result of the UE, or updating the authentication status or the authentication result of the UE at the UDM.
- UDM saves or updates the authentication status or authentication result of the UE.
- AUSF can send a notification to UDM by invoking an existing service provided by UDM, such as Nudm_UEAuthentication; or AUSF can send a notification to UDM by invoking a service newly added by UDM, which is not limited by this application.
- AUSF can notify UDM by invoking an existing service provided by UDM, such as by using Nudm_UEAuthentication_ResultConfirmation Request, to notify the UDM of the authentication status or result of the UE, or update the UDM, the authentication status or result of the UE; or AUSF can This application does not restrict the UE's authentication status or authentication result by invoking new UDM services to notify UDM or update UDM.
- the UDM After the UDM receives the notification or update of the authentication status or the authentication result of the UE of the AUSF, the UDM saves or updates the authentication status or the authentication result of the UE.
- the SEAF/AMF after the SEAF/AMF receives the security mode completion/rejection message, it notifies AUSF of the authentication status of the UE, or the authentication result of the UE, and then the AUSF notifies the UDM of the authentication status of the UE, or the authentication result of the UE. , So that UDM can obtain or update the authentication status of the UE in time, and/or the authentication result, to prevent visiting network fraud.
- an embodiment of the present application also provides a device Schematic diagram of the 1500 structure.
- the device includes a processing module 1501, a receiving module 1502 and a sending module 1503.
- the apparatus 1500 may be used for a UE or a UE, and the apparatus may perform operations performed by the UE in the foregoing method embodiments.
- the receiving module 1502 is used to receive the authentication request message sent by SEAF/AMF that carries security-related parameters such as ABBA and/or ngKSI, and can also be used to receive the NAS SMC message sent by SEAF/AMF
- the processing module 1501 is used to verify the integrity of security-related parameters such as ABBA and/or ngKSI, and can also be used for SMC verification;
- the sending module 1503 is used to send authentication response messages to SEAF/AMF, and can also be used to send to SEAF/AMF NAS SMC responded.
- the device 1500 can also be used for SEAF/AMF, or SEAF/AMF, and the device can perform operations performed by SEAF/AMF in the foregoing method embodiments.
- the receiving module 1502 can be used to receive the security key sent by AUSF;
- the processing module 1501 can be used to use the security key from AUSF to perform integrity protection on security related parameters such as ABBA and/or ngKSI
- the sending module 1503 can be used to send an authentication request message carrying security related parameters such as ABBA and/or ngKSI and the first message authentication code to the UE.
- the device 1500 may also be used for AUSF or AUSF, and the device may perform operations performed by AUSF in each of the foregoing method embodiments.
- the receiving module 1502 can be used to receive the authentication vector and optional user permanent identification sent by UDM;
- the processing module 1501 can be used to generate security related ABBA and/or ngKSI for integrity protection
- the sending module 1503 can be used to send the security key to SEAF/AMF.
- the device 1500 can also be used for UDM or UDM, and the device can perform the operations performed by the UDM in the foregoing method embodiments.
- the receiving module 1502 can be used to receive the authentication request sent by the AUSF;
- the processing module 1501 can be used to generate an authentication vector;
- the sending module 1503 can be used to send the authentication vector generated by the processing module to the AUSF.
- the embodiment of the present application also provides a device.
- the device 1600 includes a processor 1601, a communication interface 1602, and a memory 1603.
- connection medium between the aforementioned communication interface 1602, the processor 1601, and the memory 1603 is not limited in the embodiment of the present application.
- the communication interface 1602, the processor 1601, and the memory 1603 are connected by a bus 1604 in FIG. 16, and the bus 1604 is represented by a thick line in FIG. 16.
- the connection mode between other components is only illustrative. Explain, not to be taken as a limit.
- the bus 1604 can be divided into an address bus, a data bus, a control bus, and so on. For ease of representation, only one thick line is used in FIG. 16, but it does not mean that there is only one bus or one type of bus.
- the processor 1601 is configured to execute program instructions, and when the program is executed, the processor 1601 executes operations performed by the UE, SEAF/AMF, AUSF, or UDM in each authorization method provided in the foregoing embodiments.
- the processor 1601 may, but is not limited to, a central processing unit (Central Processing Unit, CPU), a network processor (Network Processor, NP), or a combination of CPU and NP.
- CPU Central Processing Unit
- NP Network Processor
- the processor 1601 may be a single-core CPU or a multi-core CPU.
- the processor 1601 may further include a hardware chip.
- the aforementioned hardware chip may be an application-specific integrated circuit (ASIC), a programmable logic device (Programmable Logic Device, PLD), or a combination thereof.
- ASIC application-specific integrated circuit
- PLD programmable logic device
- the above-mentioned PLD may be a complex programmable logic device (Complex Programmable Logic Device, CPLD), a field programmable logic gate array (Field-Programmable Gate Array, FPGA), a general array logic (Generic Array Logic, GAL) or any combination thereof.
- the communication interface 1602 is used to communicate with other devices under the control of the processor 1601, such as sending data and/or receiving data.
- the sending module and the receiving module in FIG. 15 can be implemented through the communication interface 1602.
- the communication interface can also be a communication circuit or an input/output circuit.
- the memory 1603 is used to store programs executed by the processor 1601.
- the memory 1603 may include, but is not limited to, Random Access Memory (RAM), Read-Only Memory (ROM), Erasable Programmable Read-Only Memory (EPROM), Portable read-only memory (Compact Disc Read-Only Memory, CD-ROM), flash memory (flash memory), hard disk (HDD) or solid-state drive (SSD); memory 1603 may also include Any combination of the above types of memory.
- an embodiment of the present application also provides a communication device 1700, which may be a terminal device or a chip.
- the communication device 1700 may be used to perform the actions performed by the user equipment in the foregoing method embodiments.
- FIG. 17 shows a simplified schematic diagram of the structure of the terminal device. It is easy to understand and easy to illustrate.
- the terminal device uses the user equipment as an example, such as a mobile phone.
- the terminal equipment includes a processor, a memory, a control circuit, an antenna, and an input and output device.
- the processor is mainly used to process the communication protocol and communication data, and to control the terminal device, execute the software program, and process the data of the software program.
- the memory is mainly used to store software programs and data.
- the radio frequency circuit is mainly used for the conversion of baseband signal and radio frequency signal and the processing of radio frequency signal.
- the antenna is mainly used to send and receive radio frequency signals in the form of electromagnetic waves.
- Input and output devices such as touch screens, display screens, keyboards, etc.
- touch screens touch screens
- display screens keyboards
- etc. are mainly used to receive data input by users and output data to users.
- some types of terminal devices may not have input and output devices.
- only one memory and processor are shown in FIG. 17.
- the memory may also be referred to as a storage medium or storage device.
- the memory can be set independently of the processor, or can be integrated with the processor, which is not limited in the embodiment of the present application.
- the antenna and radio frequency circuit with the transceiver function are denoted as the transceiver unit 1701
- the processor with the processing function is denoted as the processing unit 1702.
- the terminal device includes a transceiving unit 1701 and a processing unit 1702.
- the transceiving unit 1701 may also be called a transceiver, a transceiver, a transceiving device, and so on.
- the processing unit 1702 may also be called a processor, a processing board, a processing module, a processing device, and so on.
- the device for implementing the receiving function in the transceiving unit 1701 can be regarded as the receiving unit, and the device for implementing the sending function in the transceiving unit 1701 as the sending unit, that is, the transceiving unit 1701 includes a receiving unit and a sending unit.
- the transceiver unit may sometimes be called a transceiver, a transceiver, or a transceiver circuit.
- the receiving unit may sometimes be called a receiver, a receiver, or a receiving circuit.
- the transmitting unit may sometimes be called a transmitter, a transmitter, or a transmitting circuit.
- the transceiving unit 1701 is further configured to perform the receiving operation on the user equipment side in step S505 shown in FIG. 5, and/or the transceiving unit 1701 is further configured to perform other transceiving steps on the user equipment side.
- the processing unit 1702 is configured to execute step S506 shown in FIG. 5, and/or the processing unit 1702 is also configured to execute other processing steps on the terminal device side.
- the transceiving unit 1701 is further configured to perform the receiving operation on the terminal device side in step S704 shown in FIG. 7, and/or the transceiving unit 1701 is further configured to perform other transceiving steps on the user equipment side.
- the processing unit 1702 is configured to execute step S705 shown in FIG. 7, and/or the processing unit 1702 is also configured to execute other processing steps on the terminal device side.
- FIG. 17 is only an example and not a limitation, and the foregoing terminal device including a transceiver unit and a processing unit may not rely on the structure shown in FIG. 17.
- the chip When the communication device 1700 is a chip, the chip includes a transceiver unit and a processing unit.
- the transceiver unit may be an input/output circuit or a communication interface;
- the processing unit may be a processor, microprocessor, or integrated circuit integrated on the chip.
- An embodiment of the present application provides a communication device.
- the device includes a communication interface for sending and receiving data and a processor coupled with the communication interface, wherein the processor executes the method provided in the foregoing embodiment, and the processor also uses the communication interface. Perform the data transmission and reception involved in the foregoing embodiment.
- the embodiments of the present application provide a non-volatile computer-readable storage medium, the non-volatile computer-readable storage medium stores a computer program, and the computer program includes instructions for executing the method provided in the above-mentioned embodiments.
- the embodiments of the present application provide a computer program product containing instructions, which when run on a computer, cause the computer to execute the method provided in the above-mentioned embodiments.
- this application can be provided as methods, devices, equipment (systems) or computer program products. Therefore, this application may adopt the form of a complete hardware embodiment, a complete software embodiment, or an embodiment combining software and hardware. Moreover, this application may adopt the form of a computer program product implemented on one or more computer-usable storage media (including but not limited to disk storage, CD-ROM, optical storage, etc.) containing computer-usable program codes.
- computer-usable storage media including but not limited to disk storage, CD-ROM, optical storage, etc.
- These computer program instructions can also be stored in a computer-readable memory that can guide a computer or other programmable data processing equipment to work in a specific manner, so that the instructions stored in the computer-readable memory produce an article of manufacture including the instruction device.
- the device implements the functions specified in one process or multiple processes in the flowchart and/or one block or multiple blocks in the block diagram.
- These computer program instructions can also be loaded on a computer or other programmable data processing equipment, so that a series of operation steps are executed on the computer or other programmable equipment to produce computer-implemented processing, so as to execute on the computer or other programmable equipment.
- the instructions provide steps for implementing the functions specified in one process or multiple processes in the flowchart and/or one block or multiple blocks in the block diagram.
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Mobile Radio Communication Systems (AREA)
- Storage Device Security (AREA)
Abstract
本申请实施例公开了一种保护认证流程中参数的方法及装置,该方法包括:在认证流程中,SEAF/AMF向UE发送有完整性保护的安全相关参数,UE验证所述安全相关参数的完整性,以防止安全相关参数在传输的过程中被篡改,从而影响后续的认证流程。
Description
本申请要求于2019年11月1日提交国家知识产权局、申请号为201911060007.1、申请名称为“一种保护认证流程中参数的方法及装置”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。
本申请涉及通信技术领域,尤其涉及一种保护认证流程中参数的方法及装置。
在无线通信场景中,用户设备与核心网进行数据传输之前,核心网设备需要对用户设备进行认证鉴权,从而避免核心网遭受非法访问和攻击,以及避免影响其他合法终端正常访问核心网资源。标准第三代合作伙伴项目(3rd Generation Partnership Project,3GPP)TS 33.501中定义了第五代移动通信技术(5th-Generation,5G)系统的主认证和密钥协商(Authentication and Key Agreement,AKA)流程,该流程用于实现用户设备(User Equipment,UE)和网络之间的相互认证,并提供可在后续UE和服务网络之间的安全交互中使用的密钥材料。
在认证过程中,UE和网络侧设备之间交互安全相关参数,所述安全相关参数用于推演密钥,但是在交互的过程中这些安全相关参数存在被篡改的风险。
发明内容
本申请实施例提供了参数保护方法及装置,通过在主认证流程中对架构间抗降维(Anti-Bidding down Between Architectures,ABBA)等安全相关参数进行完整性验证来识别认证过程中传输的安全相关参数是否被篡改。
本申请实施例涉及第一消息认证码和第二消息认证码均用于完整性保护,不同实施例中,所述第一消息认证码和第二消息认证码可能由不同的网元生成,生成时采用的密钥和参数也可能不同,因此不能将不同实施例中的第一消息认证码或第二消息认证码视为同一个消息认证码。另外上述“第一”、“第二”等词汇,仅用于区分描述的目的,而不能理解为指示或暗示相对重要性。
第一方面,本申请实施例提供一种认证过程中参数保护方法,该方法包括:
用户设备接收安全锚功能网元(Security Anchor Function,SEAF)发送的认证请求消息;所述认证请求消息包括架构间抗降维参数(ABBA);所述用户设备对所述ABBA进行完整性验证。
其中,需要指出的是,在用户设备接收SEAF发送的认证请求消息之前,所述用户设备UE向SEAF发送注册请求消息,使得SEAF收到UE的注册请求消息后向鉴权服务功能(Authentication Server Function,AUSF)发起认证请求。
另外,进一步需要指出的是,所述用户设备对所述ABBA进行完整性验证之后,所述方法还包括:若所述ABBA的完整性验证成功,所述用户设备向所述SEAF发送认证响应消息。
另外,进一步需要指出的是,所述用户设备对所述ABBA进行完整性验证之后,所述方 法还包括:若所述ABBA的完整性验证失败,所述用户设备向所述SEAF发送指示信息,所述指示信息用于指示完整性验证失败。可以理解的是,如果完整性认证失败,则及时终止认证流程,从而节省后续交互的信令资源。
另外,还需要指出的是,认证过程中,UE接收SEAF发送的认证请求消息,该认证请求消息包含ABBA和/或密钥集标识符ngKSI等安全相关参数。该认证请求消息还携带用于完整性保护的第一消息认证码。该认证请求消息还包含认证令牌AUTN和随机数RAND等参数。
在一种实现方式中,上述第一消息认证码为ABBA和/ngKSI等安全相关参数的消息认证码;
在另一种实现方式中,上述第一消息认证码为上述携带ABBA和/ngKSI等安全相关参数的认证请求消息的消息认证码。
UE接收上述认证请求消息后,对所述ABBA和/或ngKSI等安全相关参数或者携带所述安全相关参数的认证消息进行完整性验证,包括:UE生成安全密钥,并利用所述安全密钥生成所述安全相关参数或者携带所述安全相关参数的认证消息的第二消息认证码。
根据认证方法的不同,所述安全密钥的生成有所不同。
当认证方法为EAP AKA’时,UE可以根据根密钥K生成加密密钥CK,完整性密钥IK,并使用(CK,IK)生成或作为安全密钥;UE还可以使用所述CK,IK以及服务网络名称SN name等生成CK’,IK’,并使用(CK’,IK’)生成或作为安全密钥;UE还可以根据所述CK,IK以及接入类型生成安全密钥,其中接入类型可以为3GPP类型或非3GPP类型,所述3GPP的类型标识为1,所述非3GPP的类型标识为2;UE还可以根据所述CK’,IK’以及用户标识等参数生成MK,并使用MK生成或作为安全密钥;UE还可以使用KAUSF生成或作为安全密钥,其中所述KAUSF为所述MK的一部分。
当认证方法为5G AKA时,UE可以根据根密钥K生成加密密钥CK,完整性密钥IK,并使用(CK,IK)生成或作为安全密钥;UE还可以根据所述CK,IK以及服务网络名称SN name等生成KAUSF,并使用所述KAUSF生成或作为安全密钥;UE还可以根据响应RES,在接收到的认证请求消息中携带的随机数RAND和SN name生成5G AKA响应RES*,并使用所述RES*生成或作为安全密钥;UE还可以对所述RES*和所述RAND进行哈希运算生成哈希响应HRES*,并使用所述HRES*生成或作为安全密钥;
UE采用所生成的安全密钥生成ABBA,和/或ngKSI等安全相关参数的消息认证码,作为第二消息认证码。
在另一种可能的实现中,UE采用所生成的安全密钥生成携带安全相关参数的认证请求消息的消息认证码,作为第二消息认证码。
UE根据接收到的第一消息认证码和所生成的第二消息认证码对所述安全相关参数或携带所述安全相关参数的认证请求消息的完整性进行验证。具体地,UE对所述第一消息认证码和第二消息认证码进行比对。若结果为相同则完整性验证成功;若结果为不同则完整性验证失败。
若所述完整性验证成功,UE向SEAF发送认证响应,网络侧继续认证流程。UE接收SEAF发送的认证结果(验证结果)或N1消息。若认证成功,所述UE根据锚密钥KSEAF,用户永久标识(SUPI)以及所述ABBA生成下层密钥KAMF。所述UE根据所述KAMF生成非接入层密钥。
若所述完整性验证失败,所述UE向SEAF发送用于指示完整性验证失败的指示信息或者认证拒绝消息。所述认证拒绝消息携带所述用于指示完整性验证失败的指示信息。
第二方面,本申请实施例提供一种认证过程中参数保护方法,所述方法包括:
安全锚点功能网元SEAF接收用户设备UE发送的注册请求消息。SEAF收到UE的注册请求消息后向鉴权服务功能AUSF发起认证请求。
在认证过程中,SEAF向UE发送认证请求消息,该认证请求消息包含ABBA和/或密钥集标识符ngKSI等安全相关参数。
该认证请求消息还携带用于完整性保护的第一消息认证码。
在一种可能的实现中,SEAF生成ABBA和/ngKSI等安全相关参数的消息认证码,作为第一消息认证码。
在另一种可能的实现中,SEAF生成上述携带ABBA和/ngKSI等安全相关参数的认证请求消息的消息认证码,作为第一消息认证码。
具体地,SEAF使用安全密钥生成上述安全相关参数或者上述携带安全相关参数的认证请求消息的消息认证码,作为第一消息认证码。
一种可能的实现中,SEAF接收AUSF发送的安全密钥,并利用接收到的安全密钥对安全相关参数或携带上述安全相关参数的认证请求消息进行完整性保护以生成第一消息认证码;
另一种可能的实现中,SEAF生成安全密钥,并利用所生成的安全密钥对安全相关参数或携带上述安全相关参数的认证请求消息进行完整性保护以生成第一消息认证码。具体地,SEAF可使用HXRES*,和/或,HXRES*的一部分,作为安全密钥,或者使用HXRES*,和/或,HXRES*的一部分,生成安全密钥。其中所述HXRES*为来自AUSF的哈希预期响应。安全密钥的生成还可以包括其他的输入参数,本申请不作限制。本申请实施例对生成安全密钥所使用的算法以及安全密钥的长度不作限制。
第三方面,本申请实施例提供一种认证过程中参数保护方法,所述方法包括:
鉴权服务功能AUSF接收安全锚点功能网元SEAF发送的认证请求消息。AUSF接收该认证请求消息后向统一数据管理网元(Unified Data Manager,UDM)发送认证向量获取请求。AUSF接收UDM返回的认证向量和可选的用户永久标识SUPI。可选地,AUSF还接收UDM返回的加密密钥CK,完整性密钥IK。
当认证方法为EAP AKA’时,AUSF接收的认证向量包含包含认证令牌AUTN,随机数RAND,期望响应XRES,中间加密密钥CK’和中间完整性密钥IK’;
当认证方法为5G AKA时,AUSF接收的认证向量包含:认证令牌AUTN,随机数RAND,5G AKA预期响应XRES*和鉴权服务功能密钥KAUSF;
可选地,5G AKA时AUSF还接收UDM预期响应XRES。
AUSF接收上述认证向量和可选的用户永久标识SUPI,加密密钥CK,完整性密钥IK后,生成安全密钥,该安全密钥用于对ABBA,ngKSI等安全相关参数进行完整性保护。
根据认证方法的不同,所述安全密钥的生成有所不同。
当认证方法为EAP AKA’时,AUSF可以根据接收到的CK和IK,即(CK,IK)生成或作为安全密钥;AUSF还可以根据接收到的认证向量中的CK’,IK’,即(CK’,IK’)生成或作为安全密钥;AUSF还可以根据所述CK,IK以及接入类型生成安全密钥,其中接入 类型可以为3GPP类型或非3GPP类型,所述3GPP的类型标识为1,所述非3GPP的类型标识为2;AUSF还可以根据所述CK’,IK’以及用户标识等参数生成MK,并使用MK生成或作为安全密钥;AUSF还可以使用KAUSF生成或作为安全密钥,其中所述KAUSF为所述MK的一部分。
当认证方法为5G AKA时,AUSF可以根据接收到的CK和IK,即(CK,IK)生成或作为安全密钥;AUSF还可以根据接收到的认证向量中的KAUSF生成或作为安全密钥;AUSF还可以使用接收到的认证向量中的XRES*生成或作为安全密钥;AUSF还可以对XRES*和RAND进行哈希运算生成HXRES*,并使用所述HXRES*生成或作为安全密钥;
一种可能的实现中,AUSF向SEAF发送所生成的安全密钥。
在一种可能的实现中,AUSF接收SEAF发送的ABBA,和/或ngKSI等安全相关参数,AUSF采用所生成的安全密钥对ABBA,和/或ngKSI等安全相关参数进行完整性保护以生成第一消息认证码,并向SEAF发送该第一消息认证码。
第四方面,本申请实施例提供一种装置,该装置包括:
接收模块,用于接收安全锚功能网元(Security Anchor Function,SEAF)发送的认证请求消息;所述认证请求消息包括架构间抗降维参数(ABBA);
处理模块,用于对所述ABBA进行完整性验证。
发送模块,用于,在接收模块接收SEAF发送的认证请求消息之前,向SEAF发送注册请求消息,使得SEAF收到UE的注册请求消息后向鉴权服务功能(Authentication Server Function,AUSF)发起认证请求。
另外,进一步需要指出的是,所述处理模块对所述ABBA进行完整性验证之后,若所述ABBA的完整性验证成功,所述发送模块向所述SEAF发送认证响应消息。
另外,进一步需要指出的是,所述处理模块对所述ABBA进行完整性验证之后,若所述ABBA的完整性验证失败,所述用户设备向所述SEAF发送指示信息,所述指示信息用于指示完整性验证失败。
另外,需要指出的是,所述接收模块,用于接收所述SEAF发送的认证请求消息;所述认证请求消息包含ABBA和/或ngKSI等安全相关参数;所述认证请求消息还包含第一消息认证码。所述第一消息消息认证码用于对所述安全相关参数或所述认证请求消息进行完整性保护
在一种实现方式中,上述第一消息认证码为ABBA和/ngKSI等安全相关参数的消息认证码;
在另一种实现方式中,上述第一消息认证码为上述携带ABBA和/ngKSI等安全相关参数的认证请求消息的消息认证码。
所述接收模块接收上述认证请求消息后,所述处理模块对所述ABBA和/或ngKSI等安全相关参数或者携带所述安全相关参数的认证消息进行完整性验证,包括:所述处理模块生成安全密钥,并利用所述安全密钥生成所述安全相关参数或者携带所述安全相关参数的认证消息的第二消息认证码。
一种可能的实现中,所述处理模块采用所生成的安全密钥生成ABBA,和/或ngKSI等安全相关参数的消息认证码,作为第二消息认证码。
在另一种可能的实现中,所述处理模块采用所生成的安全密钥生成携带上述安全相关参 数的认证请求消息的消息认证码,作为第二消息认证码。
所述处理模块根据接收到的第一消息认证码和所生成的第二消息认证码对所述安全相关参数或携带所述安全相关参数的认证请求消息的完整性进行验证。具体地,所述处理模块对所述第一消息认证码和第二消息认证码进行比对。若结果为相同则完整性验证成功;若结果为不同则完整性验证失败。
若所述完整性验证成功,所述发送模块向SEAF发送认证响应,网络侧继续认证流程。所述接收模块接收SEAF发送的认证结果(验证结果)或N1消息。若认证成功,所述处理模块根据锚密钥KSEAF,用户永久标识(SUPI)以及所述ABBA生成下层密钥KAMF。所述处理模块根据所述KAMF生成非接入层密钥。
若所述完整性验证失败,所述发送模块向SEAF发送用于指示完整性验证失败的指示信息或者认证拒绝消息。所述认证拒绝消息携带所述用于指示完整性验证失败的指示信息。
该装置具有实现上述第一方面的任意一种可能的实现中用户设备UE行为的功能。
第五方面,本申请实施例提供一种装置,该装置包括:
发送模块,用于向UE发送认证请求消息,所述认证请求消息包含ABBA和/或ngKSI等安全相关参数。所述安全相关参数或所述认证请求消息经完整性保护。
处理模块,用于对ABBA和/或ngKSI等安全相关参数或者携带上述安全相关参数的认证请求消息进行完整性保护。
接收模块,用于接收所述UE发送的注册请求消息和认证响应消息;所述接收模块还可以用于接收AUSF发送的安全密钥。
该装置具有实现上述第二方面的任意一种可能的实现中SEAF行为的功能。
第六方面,本申请实施例提供一种装置,该装置包括:
接收模块,用于接收SEAF发送的认证请求;
处理模块,用于生成安全密钥,所述安全密钥用于对ABBA和/或ngKSI等安全相关参数或者携带上述安全相关参数的认证请求消息进行完整性保护;
发送模块,用于向SEAF发送处理模块所生成的安全密钥;
该装置具有实现上述第三方面的任意一种可能的实现中AUSF行为的功能。
第七方面,本申请实施例提供一种参数保护方法,该方法包括:
用户设备UE向网络侧的安全锚点功能网元SEAF发送携带用户标识的注册请求消息,使得SEAF收到UE的注册请求消息后向鉴权服务功能AUSF发起认证请求。
认证过程中,UE接收SEAF发送的认证请求消息,所述认证请求消息包含ABBA和/或ngKSI等安全相关参数,所述认证请求消息还包含认证令牌AUTN和随机数RAND等参数。
UE收到所述携带安全相关参数的认证请求消息之后,UE对所述安全相关参数进行完整性保护,包括:UE生成安全密钥,并利用所述安全密钥对所述安全相关参数进行完整性保护,即使用所述安全密钥生成第一消息认证码。
根据认证方法的不同,所述安全密钥的生成有所不同。
当认证方法为EAP AKA’时,UE可以根据根密钥K生成加密密钥CK,完整性密钥IK,并使用所述(CK,IK)生成或作为安全密钥;UE还可以使用所述CK,IK以及服务网络名称SN name生成CK’,IK’,并使用所述(CK’,IK’)生成或作为安全密钥;UE还可以根据所述CK,IK以及接入类型生成安全密钥,其中接入类型可以为3GPP类型或非3GPP类型, 所述3GPP的类型标识为1,所述非3GPP的类型标识为2;UE还可以根据所述CK’,IK’以及用户标识等参数生成的MK,并使用MK生成或作为安全密钥;UE还可以使用KAUSF生成或作为安全密钥,其中所述KAUSF为所述MK的一部分。
当认证方法为5G AKA时,UE可以根据根密钥K生成加密密钥CK,完整性密钥IK,并使用所述(CK,IK)生成或作为安全密钥;UE还可以根据所述CK,IK以及服务网络名称SN name生成KAUSF,并使用所述KAUSF生成或作为安全密钥;UE还可以根据响应RES,接收到的认证请求消息中携带的随机数RAND和SN name生成5G AKA响应RES*,并使用所述RES*生成或作为安全密钥;UE还可以对所述RES*和所述RAND进行哈希运算生成哈希响应HRES*,并使用所述HRES*生成或作为安全密钥;
在一种可能的实现中,UE使用所述安全密钥对所述相关安全参数进行完整性保护,包括UE使用所生成的安全密钥计算上述ABBA,和/或ngKSI等安全相关参数的消息认证码,并将该消息认证码作为第一消息认证码。
在另一种可能的实现中,UE使用所述安全密钥对携带所述相关安全参数的认证响应消息进行完整性保护,包括UE使用所生成的安全密钥,计算携带所述安全相关参数的认证响应消息的消息认证码,将该消息认证码作为第一消息认证码。其中所述认证响应消息携带ABBA,和/或ngKSI等安全相关参数。
UE向SEAF发送所述第一消息认证码,包括UE向SEAF发送携带所述第一消息认证码的认证响应消息,或者UE向SEAF发送认证响应消息和所述第一消息认证码。
第八方面,本申请实施例提供一种参数保护方法,该方法包括:
安全锚点功能网元SEAF接收用户设备UE发送的注册请求消息。SEAF收到UE的注册请求消息后向鉴权服务功能AUSF发起认证请求。
在认证过程中,SEAF向UE发送认证请求消息,该认证请求消息包含ABBA和/或ngKSI等安全相关参数。
SEAF接收UE发送的携带第一消息认证码的认证响应消息,或,SEAF接收到认证响应消息和第一消息认证码。所述第一消息认证码为ABBA,和/或ngKSI等安全相关参数的消息认证码,或者为携带所述安全相关参数的认证响应消息的消息认证码。
SEAF接收UE发送的认证响应消息后,对所述ABBA,和/或,ngKSI等安全相关参数或所述携带安全相关参数的认证响应消息进行完整性验证。
具体地,SEAF生成第二消息认证码,所述第二消息认证码为所述安全相关参数的消息认证码或为携带所述安全相关参数的认证响应消息的消息认证码,并根据所述第二消息认证码和来自UE的第一消息认证码进行完整性验证。
可能的,SEAF接收AUSF发送的安全密钥,并使用接收到的安全密钥计算所述第二消息认证码。所述第二消息认证码为所述安全相关参数的消息认证码或为携带所述安全相关参数的认证响应消息的消息认证码。
可能的,SEAF生成安全密钥,并使用所生成的安全密钥,计算所述第二消息认证码。具体地,SEAF可使用哈希预期响应HXRES*,和/或,所述HXRES*的一部分,作为安全密钥,或者使用HXRES*,和/或,HXRES*的一部分,生成安全密钥。其中所述HXRES*为来自AUSF的哈希预期响应,SEAF接收所述AUSF发送的所述HXRES*。
在另一种可能的实现中,当SEAF接收到的所述第一消息认证码时,SEAF将所述第一消 息认证码发送给AUSF,使得AUSF生成安全密钥并使用所生成的安全密钥进行安全相关参数的完整性验证。可选地,若AUSF验证完整性失败,则AUSF通知SEAF完整性验证失败。
若SEAF进行的完整性验证成功,则继续进行认证流程;
若SEAF进行的完整性验证失败或SEAF接收到AUSF发送的完整性验证失败的通知,则SEAF终止认证流程。可选地,SEAF向所述UE发送认证拒绝消息。
第九方面,本申请实施例提供一种装置,该装置包括:
发送模块,用于向网络侧的安全锚点功能网元SEAF发送注册请求消息;接收模块,用于接收所述SEAF发送的认证请求消息;所述认证请求消息包含ABBA和/或ngKSI等安全相关参数。
处理模块,用于生成安全密钥,并利用所述安全密钥对所述ABBA和/或ngKSI等安全相关参数或携带所述安全相关参数的认证响应消息进行完整性保护。
所述发送模块还用于向SEAF发送经完整性保护的安全相关参数,或者发送经完整性保护的携带安全相关参数的认证响应消息。
该装置具有实现上述第七方面的任意一种可能的实现中用户设备UE行为的功能。
第十方面,本申请实施例提供一种装置,该装置包括:
发送模块,用于向UE发送认证请求消息,所述认证请求消息包含ABBA和/或ngKSI等安全相关参数;
处理模块,用于对ABBA和/或ngKSI等安全相关参数或者携带上述安全相关参数的认证响应消息进行完整性验证;
接收模块,用于接收所述UE发送的注册请求消息和认证响应消息;所述接收模块还可以用于接收AUSF发送的安全密钥。
该装置具有实现上述第八方面的任意一种可能的实现中SEAF行为的功能。
第十一方面,本申请实施例提供一种认证结果更新的方法,该方法包括:
在用户侧与网络侧主认证流程之后,用户设备UE接收SEAF/AMF发送的非接入层安全模式命令(NAS SMC),所述NAS SMC消息经网络侧使用NAS完整性密钥进行完整性保护。其中所述NAS完整性密钥基于KAMF推演所生成。所述NAS SMC消息包含UE安全能力,NAS算法,ngKSI,ABBA等参数。
所述UE接收NAS SMC后基于KAMF推演完整性密钥,并使用所述密钥进行完整性验证。所述UE还验证所述NAS SMC中的UE安全能力是否与UE所保存的安全能力相同。
若验证通过,UE向SEAF/AMF发送安全模式完成消息;
若验证不通过,UE向SEAF/AMF发送安全模式拒绝消息。
所述SEAF/AMF接收UE发送的安全模式完成或安全模式拒绝消息之后,向统一数据管理功能网元UDM发送通知,用于通知所述UDM,UE的认证结果或认证状态,或者用于更新所述UDM处,UE的认证结果或者认证状态。
在另一种可能的实现中,所述SEAF/AMF接收UE发送的安全模式完成消息或安全模式拒绝消息之后,向AUSF发送通知,用于向AUSF通知UE的认证结果或UE的认证状态;所述AUSF接收所述通知后,向UDM发送通知,用于向UDM通知UE的认证结果或认证状态,或用于更新UDM处UE的认证结果或认证状态。
UDM在接收到SEAF/或AUSF的通知之后,保存或更新UE的认证结果或认证状态。
第十二方面,本申请实施例提供一种装置,该装置包括:接收模块,发送模块以及处理模块。
所述接收模块用于接收SEAF/或AUSF发送的通知消息,所述通知包含UE的认证结果或认证状态;
所述处理模块用于保存或更新UE的认证结果或认证状态;
所述发送模块用于在认证流程中向AUSF发送认证向量。
该装置具有实现上述第十一方面的任意一种可能的实现中UDM行为的功能。
第十三方面,提供一种设备,该设备包括:用于存储计算机指令的存储单元、用于收发数据的通信接口,以及与所述存储单元和通信接口耦合的处理器;
所述处理器执行所述计算机指令以实现上述第一方面的任意一种可能的设计中用户设备UE行为的功能。
第十四方面,提供一种设备,该设备包括:用于存储计算机指令的存储单元、用于收发数据的通信接口,以及与所述存储单元和通信接口耦合的处理器;
所述处理器执行所述计算机指令以实现上述第二方面的任意一种可能的设计中SEAF行为的功能。
第十五方面,提供一种设备,该设备包括:用于存储计算机指令的存储单元、用于收发数据的通信接口,以及与所述存储单元和通信接口耦合的处理器;
所述处理器执行所述计算机指令以实现上述第三方面的任意一种可能的设计中AUSF行为的功能。
第十六方面,提供一种设备,该设备包括:用于存储计算机指令的存储单元、用于收发数据的通信接口,以及与所述存储单元和通信接口耦合的处理器;
所述处理器执行所述计算机指令以实现上述第七方面的任意一种可能的设计中用户设备UE行为的功能。
第十七方面,提供一种设备,该设备包括:用于存储计算机指令的存储单元、用于收发数据的通信接口,以及与所述存储单元和通信接口耦合的处理器;
所述处理器执行所述计算机指令以实现上述第八方面的任意一种可能的设计中SEAF行为的功能。
第十八方面,提供一种设备,该设备包括:用于存储计算机指令的存储单元、用于收发数据的通信接口,以及与所述存储单元和通信接口耦合的处理器;
所述处理器执行所述计算机指令以实现上述第十一方面的任意一种可能的设计中UDM行为的功能。
第十九方面,提供一种设备,该设备包括用于收发数据的通信接口以及与所述通信接口耦合的处理器;
所述处理器实现上述第一方面的任意一种可能的设计中用户设备UE行为的功能;所述处理器还通过所述通信接口执行上述第一方面的任意一种可能的设计中用户设备UE所涉及的数据收发。
第二十方面,提供一种设备,该设备包括用于收发数据的通信接口以及与所述通信接口耦合的处理器;
所述处理器实现上述第二方面的任意一种可能的设计中SEAF行为的功能;所述处理器 还通过所述通信接口执行上述第二方面的任意一种可能的设计中SEAF所涉及的数据收发。
第二十一方面,提供一种设备,该设备包括用于收发数据的通信接口以及与所述通信接口耦合的处理器;
所述处理器实现上述第三方面的任意一种可能的设计中AUSF行为的功能;所述处理器还通过所述通信接口执行上述第三方面的任意一种可能的设计中AUSF所涉及的数据收发。
第二十二方面,提供一种设备,该设备包括用于收发数据的通信接口以及与所述通信接口耦合的处理器;
所述处理器实现上述第七方面的任意一种可能的设计中用户设备UE行为的功能;所述处理器还通过所述通信接口执行上述第七方面的任意一种可能的设计中用户设备UE所涉及的数据收发。
第二十三方面,提供一种设备,该设备包括用于收发数据的通信接口以及与所述通信接口耦合的处理器;
所述处理器实现上述第八方面的任意一种可能的设计中SEAF行为的功能;所述处理器还通过所述通信接口执行上述第八方面的任意一种可能的设计中SEAF所涉及的数据收发。
第二十四方面,提供一种设备,该设备包括用于收发数据的通信接口以及与所述通信接口耦合的处理器;
所述处理器实现上述第十一方面的任意一种可能的设计中UDM行为的功能;所述处理器还通过所述通信接口执行上述第十一方面的任意一种可能的设计中UDM所涉及的数据收发。
第二十五方面,提供一种非易失性计算机可读存储介质,所述计算机可读存储介质存储的程序,所述程序被处理器执行,以完成本申请实施例提供的任意一个设备执行的任意一种方法的部分或全部步骤。
第二十六方面,提供一种计算机程序产品,当所述计算机程序产品在计算机设备上运行时,使得所述计算机设备执行本申请实施例提供的任意一个设备执行的任意一种方法的部分或全部步骤。
可以看到,本申请实施例的认证过程中,网络侧向用户设备UE发送认证请求时,携带ABBA和/或ngKSI等安全相关参数;网络侧使用安全密钥对所述安全相关参数或携带安全相关参数的认证请求消息进行完整性保护,并由UE采用与网络侧相同的方法生成安全密钥并进行完整性验证;或者UE使用安全密钥对所述安全相关参数或携带安全相关参数的认证响应消息进行完整性保护,并由网络侧采用相同的方法生成安全密钥并进行完整性验证。从而识别认证过程中传输的所述安全相关参数是否被攻击者篡改,若所述参数被篡改则及时终止认证流程。
为了更清楚地说明本申请实施例或背景技术中的技术方案,下面将对本申请实施例或背景技术中所需要使用的附图进行说明。
图1a为本申请实施例涉及的一种网络系统架构图;
图1b为本申请实施例涉及的又一种网络系统架构图;
图2为现有技术中的一种主认证流程示意图;
图3为现有技术中的另一种主认证流程示意图;
图4为现有技术中的密钥架构示意图;
图5为本申请实施例的一种参数保护方法的流程示意图;
图6为本申请实施例的又一种参数保护方法的流程示意图;
图7为本申请实施例的又一种参数保护方法的流程示意图;
图8为本申请实施例的又一种参数保护方法的流程示意图;
图9为本申请实施例的又一种参数保护方法的流程示意图;
图10为本申请实施例的又一种参数保护方法的流程示意图;
图11为本申请实施例的又一种参数保护方法的流程示意图;
图12为本申请实施例的又一种参数保护方法的流程示意图;
图13为本申请实施例的一种认证结果更新方法的流程示意图;
图14为本申请实施例的又一种认证结果更新方法的流程示意图;
图15为本申请实施例的一种装置的结构示意图;
图16为本申请实施例的一种设备的结构示意图;
图17为本申请实施例的又一种设备的结构示意图。
本申请实施例提供了一种参数保护方法及装置,在主认证流程中引入对安全相关参数的完整性验证,用以解决因安全相关参数被攻击者篡改而造成的资源浪费和潜在的网络欺诈问题。其中,方法和装置是基于同一发明构思的,由于方法及装置解决问题的原理相似,因此装置与方法的实施可以相互参见,重复之处不再赘述。
以下对本申请实施例中涉及的部分用语进行解释说明,以便于理解。
1)消息认证码(Message Authentication Codes,MAC),一种对消息进行完整性验证及其来源进行认证的技术,它通过收发双方共享的密钥对消息进行计算得到一个固定长度的MAC值来实现的。
2)哈希运算,主要用于信息安全领域中加密算法,它把一些不同长度的信息转化成杂乱的128位的编码里,叫做哈希值。
另外,本申请实施例中的术语“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B的情况,其中,A,B可以是单数或者复数。字符“/”一般表示前后关联对象是一种“或”的关系。除非有相反的说明,本申请实施例提及“第一”、“第二”等序数词是用于对多个对象进行区分,不用于限定多个对象的顺序、时序、优先级或者重要程度。
此外,本申请实施例和权利要求书及附图中的术语“包括”和“具有”不是排他的。例如,包括了一系列步骤或模块的过程、方法、系统、产品或设备,不限定于已列出的步骤或模块,还可以包括没有列出的步骤或模块。
本申请实施例提供的参数保护方法可以应用于各种通信系统,例如:5G通信系统,或未来的各种通信系统等。
本申请实施例描述的网络架构以及业务场景是为了更加清楚的说明本申请实施例的技术方案,并不构成对于本申请实施例提供的技术方案的限定,本领域普通技术人员可知,随着网络架构的演变和新业务场景的出现,本申请实施例提供的技术方案对于类似的技术问题, 同样适用。
以5G系统为例,具体来说,5G系统中定义了新的通信场景:超高可靠低时延通信(Ultra-Reliable and Low-Latency Communication,URLLC)、增强移动宽带(Enhanced Mobile Broadband,eMBB)和海量机器连接通信(Massive Machine Type Communication,mMTC),这些通信场景对通信安全有更严苛的需求。因此,终端与核心网进行数据传输之前,认证鉴权作为最基本的安全防范技术,在5G通信过程中尤为重要。终端与核心网之间通过AKA流程相互认证,并协商可在后续安全过程中可使用的安全上下文,所述安全上下文包括用于认证,完整性保护和加密的安全参数等。5G主认证流程分为5G AKA和改进的可扩展认证协议EAP AKA’两种。
图1a为本申请实施例适用的一种可能的网络架构示意图,该网络架构由用户设备(User Equipment,UE)、接入网(Radio Access Network,RAN)和运营商网络组成,运营商网络包括核心网(Core Network,CN)和数据网(Data network,DN),UE通过RAN接入运营商网络。CN作为承载网络提供到DN的接口,为UE提供通信连接、认证、管理、策略控制以及对数据业务完成承载等。其中,CN包括:接入和移动管理网元(Access and Mobility Management Function,AMF)、安全锚点功能(Security Anchor Function,SEAF)、会话管理功能(Session Management Function,SMF)、用户面节点功能(User Plane Function,UPF)、认证服务器功能(Authentication Server Function,AUSF)、统一数据管理功能(Unified Data Manager,UDM)、网络暴露功能(Network Exposure Function,NEF)、应用功能(Application Function,AF)、网络切片选择功能(Network Slice Selection Function,NSSF)、策略控制功能(Policy Control Function,PCF)、网络功能仓储功能(NF Repository Function,NRF)等。
图1a中,N1、N2、N3、N4和N6为相应网元之间的接口;Namf、Nsmf、Nausf、Nudm、Nnef、Npcf、Naf、Nnssf和Nnrf分别为AMF、SMF、AUSF、UDM、NEF、PCF、AF、NSSF和NRF所展现的服务化接口。
图1b为上述网络架构图中本申请实施例涉及的主要网元及其连接关系,包括UE、AMF、AUSF和UDM等。具体描述如下:
UE为逻辑实体,具体的,UE可以是终端设备(Terminal Equipment)、通信设备(Communication Device)、物联网(Internet of Things,IoT)设备、车联网设备中的任意一种。其中,终端设备可以是智能手机(Smart Phone)、智能手表(Smart Watch),智能平板(Smart Tablet)、穿戴式设备、机车(汽车或电动车)或车载终端等等。通信设备可以是服务器、网关(Gateway,GW)、控制器等等。物联网设备可以是传感器,电表以及水表等等。UE通过N1接口与AMF通信。
AMF负责终端的接入管理和移动性管理,如注册管理,连接管理,移动管理,可达性管理等;在实际应用中,其包括了长期演进系统(Long Term Evolution,LTE)中网络框架中移动性管理实体(Mobility Management Entity,MME)里的移动性管理功能,并加入了接入管理功能。此外,安全锚点功能(Security Anchor Function,SEAF)提供主认证服务。目前的标准定义中SEAF和AMF合设置。Namf为AMF所提供的服务化接口。
UDM是由运营商提供的控制面网元,负责生成认证参数,存储运营商网络的签约用户永久标识(Subscriber Permanent Identifier,SUPI)、注册信息、信任状(Credential)、签约数据等。Nudm为UDM所提供的服务化接口。此外,认证凭据库和处理功能(Authentication credential Repository and Processing Function,ARPF)位于UDM中,用于生成鉴权参数。
AUSF是由运营商提供的控制面网元,可用于运营商网络对网络签约用户的认证。Nausf为AUSF所提供的服务化接口。
SEAF/AMF和AUSF可以位于同一个网络中,例如SEAF/AMF和AUSF均位于归属公共陆地移动网(Home Public Land Mobile Network,HPLMN),简称为归属网络;SEAF/AMF和AUSF也可以位于不同的网络中,例如,SEAF/AMF位于拜访公共陆地移动网(Visited Public Land mobile Network,VPLMN),简称为拜访网络,而AUSF位于归属网络,若UE在归属的覆盖范围之外则无法直接接入归属网络获取服务,此时,若UE在拜访网络的覆盖范围之内,UE为了能够获取拜访网络和归属网络提供的网络服务,则需要接入拜访网络;
UE通过非接入层(Non-Access Stratum,NAS)消息向SEAF/AMF发送注册请求,SEAF/AMF决定发起认证,向AUSF发送携带用户永久标识SUPI或者用户隐藏标识(Subscription Concealed Identifier,SUCI),以及服务网络名称(Serving Network Name,SN name)的认证请求,所述服务网络名称由服务编码(Service Code)和服务网络标识SN Id组成,举例来说,该服务编码可以是字符串5G、6G或7G,在此不作限制;AUSF检验认证请求中的服务网络名称是否与预期的服务网络名称相符,验证成功则向UDM发送认证向量获取请求;UDM收到请求后选择认证方法并生成认证向量(Authentication Vector,AV),其中,认证方法可以是EAP AKA’或5G AKA。
图2描述了EAP AKA’主认证流程:
S201、UDM生成认证向量。
EAP AKA’中UDM生成变形认证向量AV',AV’包含认证令牌(Authentication Token,AUTN),随机数RAND,期望响应(eXpected RESponse,XRES),中间加密密钥CK’(Cipher Key)和中间完整性密钥IK’(Integrity Key)。
S202、UDM通过Nudm认证响应消息Nudm_UEAuthentication_Get Response向AUSF发送上述变形认证向量AV’,所述Nudm_UEAuthentication_Get Response还可能携带用户永久标识SUPI。
S203、AUSF收到UDM发送的变形认证向量后,通过Nausf认证响应消息Nausf_UEAuthentication_Authenticate Response向SEAF/AMF发送EAP Request/AKA’-Challenge消息,该消息中包括参数AUTN和RAND等参数。
S204、SEAF/AMF通过NAS认证请求消息将S203中的EAP Request/AKA’-Challenge消息透传输给UE,上述认证请求消息还携带ABBA和密钥集标识符(Key Set Identifier,ngKSI)等安全相关参数。
其中,需要指出的是,如果SEAF和AMF没有合设,那么在一种实现方式中,SEAF会将AUSF发送的认证参数转发给AMF,然后AMF通过NAS认证请求消息将ABBA和ngKSI发送给UE。
S205、UE验证变形认证向量的新鲜性,验证成功后生成加密密钥CK,完整性密钥IK和响应RES。上述认证请求验证成功后,UE还将推演中间加密密钥CK’和中间完整性密钥IK’。作为一种可能的实现方式,UE还从CK’和IK’生成扩展的主会话密钥EMSK,并使用EMSK的256位最高有效位作为AUSF密钥K
AUSF,然后计算锚密钥K
SEAF。并使用K
SEAF,ABBA和SUPI计算K
AMF。
S206、UE向SEAF/AMF发送NAS认证响应消息,该NAS认证响应消息携带EAP Response/AKA’-Challenge消息,该EAP Response/AKA’-Challenge消息中包括响应RES。
S207、SEAF/AMF通过Nausf认证请求Nausf_UEAuthentication_Authenticate Request将EAP Response/AKA’-Challenge消息透明传输给AUSF,相应的AUSF接收上述消息。
S208、AUSF对接收到的消息进行验证,并通知UDM认证结果。AUSF通过Nudm_UEAuthentication_ResultConfirmation Request向UDM通知UE的认证状态,包括SUPI、认证结果、认证流程的时间戳、和服务网络名称。可能地,AUSF只通知UDM成功的认证,但是这取决于运营商策略。
若验证失败AUSF则向SEAF/AMF返回错误消息;
若验证成功则继续以下步骤:
S209、可选地,AUSF和UE可以通过SEAF/AMF交换通知消息EAP-Request/AKA'-Notification和EAP-Response/AKA'-Notification,SEAF/AMF透明传输AUSF与UE之间的消息。
S210、AUSF利用从UDM接收到的CK’和IK’计算推演扩展的主会话密钥EMSK,并选取EMSK的256位最高有效位作为AUSF密钥K
AUSF,接着从K
AUSF推演锚密钥K
SEAF。
AUSF通过Nausf认证响应Nausf_UEAuthentication_Authenticate Response向SEAF/AMF发送EAP Success消息和锚密钥K
SEAF,相应的SEAF/AMF接收EAP Success消息,即认证成功消息。
SEAF/AMF接收认证成功消息之后,利用ABBA、SUPI和来自AUSF的K
SEAF来生成AMF密钥K
AMF。
S211、SEAF通过NAS消息向UE发送EAP Success消息,该NAS消息中还携带ngKSI,ABBA等安全相关参数。
UE收到认证成功消息后计算K
AUSF,K
SEAF,K
AMF,其中K
AMF由ABBA、SUPI和K
SEAF推演而成;可选的,UE在收到认证请求后(步骤S204)计算密钥并建立临时安全上下文(包括K
AUSF,K
SEAF和K
AMF),当UE收到认证成功消息后UE将临时安全上下文作为部分安全上下文。另外,所述密钥K
AUSF,K
SEAF,K
AMF可参考图4的密钥架构。
图3描述了5G AKA主认证流程:
S301、UDM生成认证向量。
5G AKA中认证向量为第一认证向量5G HE AV,是包含AUTN,RAND,5G AKA预期响应XRES*和K
AUSF的四元组。
S302、UDM通过Nudm认证响应消息Nudm_UEAuthentication_Get Response将第一认证向量5G HE AV和可选的用户永久标识SUPI发送给AUSF,相应的,AUSF接收第一认证向量和可选的用户永久标识SUPI。
S303、AUSF保存认证向量中的XRES*和可选的用户永久标识SUPI。
S304、AUSF对XRES*和RAND进行哈希运算生成哈希预期响应HXRES*,对K
AUSF进行推演生成K
SEAF,并将AUTN,RAND,HXRES*和K
SEAF作为第二认证向量5G SE AV。
S305、AUSF通过Nausf认证响应消息Nausf_UEAuthentication_Authenticate Response将第二认证向量中的AUTN,RAND和HXRES*发送给SEAF/AMF。
S306、SEAF/AMF通过NAS认证请求消息将第二认证向量中的AUTN和RAND传输给 UE,上述认证请求还将携带ngKSI、ABBA等安全相关参数。
S307、UE验证认证请求后,生成5G AKA响应RES*,UE还可以生成K
AUSF和K
SEAF;
S308、UE通过NAS认证响应将RES*发送给SEAF/AMF。
S309、SEAF/AMF收到认证响应后对RES*和RAND进行哈希运算计算哈希响应HRES*,并将HRES*与来自AUSF的HXRES*进行对比,若相同则继续认证流程,若不相同则终止认证流程。
S310、SEAF/AMF通过Nausf认证请求消息Nausf_UEAuthentication_Authenticate Request将UE返回的RES*转发给AUSF,由AUSF进行下一步的验证。
S311、AUSF收到包括响应RES*的Nausf认证请求消息后,验证响应RES*,具体地,AUSF将RES*与步骤S303中保存的XRES*进行对比,若相同则说明认证成功,若不相同则说明认证失败。
S312、AUSF通过Nausf认证响应消息Nausf_UEAuthentication_Authenticate Response向SEAF/AMF发送认证结果。如果认证成功,则AUSF还在该Nausf认证响应消息中包括锚密钥K
SEAF。AUSF通过Nudm_UEAuthentication_ResultConfirmation Request向UDM通知UE的认证状态,包括SUPI、认证结果、认证流程的时间戳、和服务网络名称。可能地,AUSF只通知UDM成功的认证,但是这取决于运营商策略。
SEAF/AMF接收到Nausf认证响应消息Nausf_UEAuthentication_Authenticate Response后,使用ABBA、SUPI和来自AUSF的K
SEAF来生成AMF密钥K
AMF,并可以向UE发送NAS安全模式命令(Security Mode Command,SMC)消息,该消息中可能包括ABBA、ngKSI等安全参数。
主认证流程成功之后,用户侧与网络侧进行密钥协商,建立UE与AMF之间的安全上下文,以确定用户侧与网络侧数据传输的密钥材料及密钥算法。具体地,AMF发起NAS安全模式控制(Security Mode Control,SMC)流程,向UE发送NAS安全模式命令(Security Mode Command,SMC)消息,所述NAS SMC消息由基于ngKSI所指示的K
AMF生成的NAS完整性密钥进行完整性保护;UE收到NAS SMC消息后,采用跟网络侧相同的计算方法计算NAS完整性密钥,并进行NAS SMC消息完整性验证。验证成功后,UE应使用ngKSI指示的安全上下文启动NAS完整性保护和加密/解密,向网络侧发送NAS安全模式完成(Security Mode Complete,SMP)消息;验证失败,UE则向网络侧发送NAS安全模式拒绝消息。
参见图2、图3中描述的认证流程,SEAF/AMF向UE发送认证请求时携带ABBA、ngKSI等参数,其中ABBA是由K
SEAF推演K
AMF时的输入参数,而ngKSI用于指示K
AMF。主认证流程成功之后的NAS SMC流程中,K
AMF用于对NAS SMC消息进行完整性保护。现有技术中,上述ABBA、ngKSI等参数没有经过保护,若被攻击者篡改,UE侧与网络侧将推演出不同的K
AMF,导致两侧生成的NAS完整性密钥不相同,UE侧的NAS SMC验证失败,从而导致密钥协商失败。由于主认证流程已成功,UDM保存了该UE认证成功的状态,若不通知UDM删除认证成功状态,则可能导致拜访网络欺诈。并且,UE和网络侧不能及时检测参数被篡改,而是进行认证流程,导致资源浪费。
另外,进一步需要指出的是,图4为分别与图2、图3认证方式对应的密钥推演流程。
具体的,针对UE侧,UE保存与网络侧相同的长期密钥K;当认证方式为5G AKA认证时,UE会根据K生成CK,IK;根据CK,IK以及服务网络名称SN name等生成K
AUSF;根 据K
AUSF以及SN name生成锚密钥K
SEAF;根据K
SEAF,SUPI以及ABBA生成K
AMF。当认证方式为EAP AKA’时,UE会根据K生成CK,IK;根据CK,IK以及SN name等生成CK’,IK’;根据CK’,IK’和SUPI生成K
AUSF;根据K
AUSF及SN name生成锚密钥K
SEAF;根据K
SEAF,SUPI以及ABBA生成K
AMF。
具体的针对网络侧,UDM保存与UE侧相同的根密钥K,并根据K生成CK,IK;当认证方式为5G AKA时,UDM根据CK,IK以及SN name等生成K
AUSF,并将所述K
AUSF发送给AUSF;当认证方式为EAP AKA’时,UDM根据CK,IK以及SN name等生成CK’,IK’,并将所述CK’,IK’发送给AUSF,AUSF根据CK’,IK’以及SUPI生成K
AUSF。
AUSF根据接收到的或者生成的K
AUSF以及SN name生成锚密钥K
SEAF,并在主认证流程成功之后将所述K
SEAF发送给SEAF/AMF;SEAF/AMF收到K
SEAF之后根据所述K
SEAF,SUPI以及ABBA生成K
AMF。
图4所述的密钥架构中所列举的密钥均可以用于对安全参数进行密钥保护,具体的,可参考下述实施例中的具体保护方式。当然,用于完整性保护的密钥也可以根据密钥架构中所列举的密钥推演而来。
另外需要指出的是,本申请实施例或权利要求中的表述“用户设备或SEAF/AMF或AUSF或UDM使用某个或某些参数生成密钥”不具有排他性,即生成密钥还可能有其他的输入参数,本申请不作限定。例如,UE可以根据所述CK,IK以及服务网络名称SN name生成K
AUSF,不代表UE生成K
AUSF的输入参数只能包含CK,IK以及SN name,还可能包含没有列出的其他输入参数。
图5为本申请实施例的一种参数保护方法的流程示意图;该实施例在认证流程中引入了对ABBA,ngKSI等安全相关参数的完整性保护;具体地,由AUSF生成安全密钥并发送给SEAF/AMF,SEAF/AMF使用接收到的安全密钥对安全相关参数进行完整性保护,UE采用与网络侧相同的方法生成安全密钥并完成对安全相关参数完整性验证。该实施例适用于图2中的EAP AKA’流程和图3中的5G AKA流程。
S500、SEAF/AMF发起认证请求。
UE通过NAS消息向SEAF/AMF发送注册请求;
SEAF/AMF接收到该注册请求之后,向AUSF发起认证请求,SEAF/AMF向AUSF发送用户永久标识SUPI或者用户隐藏标识SUCI,以及服务网络名称;可选地,SEAF/AMF向AUSF发送接入类型标识;常见的接入类型包括3GPP接入类型以及非3GPP接入类型,其中所述3GPP的类型标识为1;所述非3GPP的类型标识为2。
AUSF接收到SEAF/AMF发送的认证请求之后,向UDM发送请求以获取认证向量;UDM收到请求后选择认证方法并生成认证向量。
S501、UDM向AUSF发送认证向量和可选的用户永久标识SUPI,相应的,AUSF接收UDM发送的认证向量和可选的用户永久标识SUPI。
在EAP AKA’场景下,UDM向AUSF发送变形认证向量AV’(RAND,AUTN,XRES,CK’,IK’)。
在5G AKA场景下,UDM向AUSF发送第一认证向量5G HE AV(RAND,AUTN,XRES*,K
AUSF)。
可选地,UDM还可以向AUSF发送加密密钥CK和完整性密钥IK。
可选地,在5G AKA场景下,UDM还可以向AUSF发送预期响应XRES。该预期响应XRES为UDM根据根密钥K和随机数RAND生成。
UDM向AUSF发送加密密钥CK和完整性密钥IK,一种可能的实现方式中,UDM通过Nudm_UEAuthentication_get Response消息向AUSF发送CK和IK,UDM也可以通过其他方式发送,本申请不作限定。
S502、AUSF收到UDM发送的认证向量和可选的SUPI,CK,IK后,生成安全密钥。
其中,需要指出的是,该安全密钥用于对ABBA,ngKSI等安全相关参数进行完整性保护,安全密钥的生成可以参考图4所述的密钥架构。根据认证方法的不同,安全密钥的生成有所不同。
在EAP AKA’场景下,AUSF生成安全密钥的可能方式如下:
可选的,AUSF使用以下参数中的任意一种或多种的组合生成安全密钥,或者,AUSF使用以下参数中的任意一种或多种的组合作为安全密钥:
CK,CK的一部分,IK,IK的一部分,CK’,CK’的一部分,IK’,IK’的一部分,主密钥MK,主密钥MK的一部分,扩展的主会话密钥EMSK,扩展的主会话密钥EMSK的一部分,K
AUSF,K
AUSF的一部分,XRES,XRES的一部分,K
SEAF,K
SEAF的一部分。
应理解,在该发明中,AUSF使用以上参数的任意一种或多种的组合生成安全密钥时,为AUSF使用以上参数的任意一种或者多种的组合作为输入参数,采用预定义的算法,生成安全密钥。AUSF生成安全密钥还可能使用其他的参数作为输入参数。这里对其他参数不做限制。AUSF使用以上参数的任意多种的组合作为安全密钥时,指AUSF将多种参数的串联作为安全密钥。
一种可能的实现中,AUSF使用CK或CK的一部分生成或者作为安全密钥,还包括,AUSF接收UDM发送的CK,AUSF使用接收到的CK或CK的一部分生成或者作为安全密钥。
一种可能的实现中,AUSF使用IK或IK的一部分生成或者作为安全密钥,还包括,AUSF接收UDM发送的IK,AUSF使用接收到的IK或IK的一部分生成或者作为安全密钥。
可选的,AUSF可以将(CK,IK)作为安全密钥,具体地,AUSF将CK作为安全密钥,和/或将IK作为安全密钥,或者将CK,IK串联CK||IK作为安全密钥,或者将上述参数作为输入参数生成安全密钥。
一种可能的实现中,AUSF使用CK’或CK’的一部分生成或者作为安全密钥,还包括,AUSF接收UDM发送的CK’,AUSF使用接收到的CK’或CK’的一部分生成或者作为安全密钥。
一种可能的实现中,AUSF使用IK’或IK’的一部分生成或者作为安全密钥,还包括,AUSF接收UDM发送的IK’,AUSF使用接收到的IK’或IK’的一部分生成或者作为安全密钥。
其中所述CK’,IK’为UDM根据CK,IK以及SN name等参数生成的密钥;
可选的,AUSF可以将(CK’,IK’)作为安全密钥,具体地,AUSF将CK’作为安全密钥,和/或将IK’作为安全密钥,或者将CK’,IK’串联CK’||IK’作为安全密钥,或者将上述参数作为输入参数生成安全密钥。
一种可能的实现中,AUSF使用CK,IK以及接入类型标识来生成安全密钥,常见的接入类型包括3GPP接入类型以及非3GPP接入类型,其中所述3GPP的类型标识为1;所述非 3GPP的类型标识为2。
一种可能的实现中,AUSF使用主密钥MK或MK的一部分生成或者作为安全密钥,还包括,AUSF接收UDM发送的CK’和IK’,AUSF使用接收到的CK’和IK’、以及SUPI等生成MK,AUSF使用生成的MK或MK的一部分生成或者作为安全密钥。
一种可能的实现中,AUSF使用主密钥EMSK或EMSK的一部分生成或者作为安全密钥,还包括,AUSF接收UDM发送的CK’和IK’,AUSF使用接收到的CK’和IK’、以及SUPI等生成EMSK,并使用该EMSK或该EMSK的一部分生成或者作为安全密钥。
一种可能的实现中,AUSF使用K
AUSF或K
AUSF的一部分生成或者作为安全密钥,还包括,AUSF接收UDM发送的CK’和IK’,AUSF使用接收到的CK’和IK’、以及SUPI等生成EMSK,AUSF将EMSK的一部分作为K
AUSF,并使用该K
AUSF或该K
AUSF的一部分生成或者作为安全密钥。
一种可能的实现中,AUSF使用XRES或XRES的一部分生成安全或者作为密钥,还包括,AUSF接收UDM发送的XRES,AUSF使用接收到的XRES或者XRES的一部分生成或者作为安全密钥。
一种可能的实现方式,AUSF使用K
SEAF或K
SEAF的一部分生成或者作为安全密钥,还包括,AUSF接收UDM发送的CK’和IK’,AUSF使用接收到的CK’和IK’、以及SUPI等生成EMSK,AUSF将EMSK的一部分作为K
AUSF,AUSF使用该K
AUSF和服务网络名称生成K
SEAF,AUSF使用生成的K
SEAF或K
SEAF的一部分生成或者作为安全密钥。
在5G AKA场景下,AUSF生成安全密钥的可能方式如下:
可选的,AUSF使用以下参数中的任意一种或多种的组合作为安全密钥,或者,AUSF使用以下参数中的任意一种或多种的组合生成安全密钥:
K
AUSF,K
AUSF的一部分,XRES*,XRES*的一部分,HXRES*,HXRES*的一部分,K
SEAF,K
SEAF的一部分,CK,CK的一部分,IK,IK的一部分,XRES,XRES的一部分。
应理解,AUSF使用以上参数的任意一种或多种的组合生成安全密钥时,不排除AUSF同时还可使用其他的参数。这里对其他参数不做限制。AUSF使用以上参数的任意多种的组合作为安全密钥时,指AUSF将多种参数的串联作为安全密钥。
一种可能的实现中,AUSF使用K
AUSF或K
AUSF的一部分生成或者作为安全密钥,还包括,AUSF接收UDM发送的K
AUSF,AUSF使用接收到的K
AUSF或K
AUSF的一部分生成或者作为安全密钥。
一种可能的实现中,AUSF使用XRES*或XRES*的一部分生成或者作为安全密钥,还包括,AUSF接收UDM发送的XRES*,AUSF使用接收到的XRES*或XRES*的一部分生成或者作为安全密钥。
一种可能的实现中,AUSF使用XRES或XRES的一部分生成或者作为安全密钥,还包括,AUSF接收UDM发送的XRES,并使用接收到的XRES或XRES的一部分生成或者作为安全密钥。
一种可能的实现中,AUSF使用HXRES*或HXRES*的一部分生成或者作为安全密钥,还包括,AUSF对从UDM处接收到的XRES*和RAND进行哈希计算生成哈希预期响应HXRES*,AUSF使用生成的HXRES*或HXRES*的一部分生成或者作为安全密钥。
一种可能的实现中,AUSF使用K
SEAF或K
SEAF的一部分生成或者作为安全密钥,还包括, AUSF接收UDM发送的K
AUSF,AUSF使用接收到的K
AUSF和服务网络名称生成K
SEAF,AUSF使用生成的K
SEAF或K
SEAF的一部分生成或者作为安全密钥。
本发明实施例对生成安全密钥所使用的算法以及安全密钥的长度不作限定。
S503、AUSF向SEAF/AMF发送安全密钥,相应的,SEAF/AMF接收AUSF发送的安全密钥。
AUSF可以通过发送Nausf_UEAuthentication_Authenticate Response消息向SEAF/AMF发送所述安全密钥,也可以采用其他方式发送,本申请不作限定。
S504、SEAF/AMF使用AUSF发送的安全密钥对ABBA和/或ngKSI等安全相关参数进行完整性保护。
具体地,SEAF/AMF使用AUSF发送的安全密钥,生成第一消息认证码。举例来说,该第一消息认证码为SEAF/AMF根据安全密钥生成的安全相关参数的消息认证码。比如SEAF/AMF将安全密钥,ABBA和/或ngKSI作为输入,使用完整性保护算法以生成第一消息认证码。生成第一消息认证码还可以包含其他输入参数,其他输入参数可以是安全密钥的长度、和/或ABBA的长度、和/或ngKSI的长度等。本申请对其他输入参数和生成第一消息认证码所使用的完整性保护算法不作限制。
S505、SEAF/AMF向UE发送认证请求消息,所述认证请求消息携带ABBA,ngKSI以及S504中所生成的第一消息认证码;或者SEAF/AMF向UE发送认证请求消息以及S504中所生成的第一消息认证码。相应的,UE接收SEAF/AMF发送的认证请求消息,或者UE接收SEAF/AMF发送的认证请求消息和第一消息认证码。
S506、UE收到SEAF/AMF发送的认证请求消息后,验证安全相关参数的完整性。
具体地,UE生成安全密钥,并使用所生成的安全密钥验证安全相关参数的完整性。
UE采用与网络侧相同的算法和参数生成安全密钥,即S502中所述密钥生成方法。
在EAP AKA’场景下,UE生成安全密钥的可能方式如下:
可选的,UE使用以下参数中的任意一种或多种的组合生成安全密钥,或者,UE使用以下参数中的任意一种或多种的组合作为安全密钥:
CK,CK的一部分,IK,IK的一部分,CK’,CK’的一部分,IK’,IK’的一部分,,主密钥MK,MK的一部分,扩展的主会话密钥EMSK,扩展的主会话密钥EMSK的一部分,K
AUSF,K
AUSF的一部分,RES,RES的一部分,K
SEAF,K
SEAF的一部分。
应理解,UE使用以上参数的任意一种或多种的组合生成安全密钥时,不排除UE同时还使用其他的参数,这里其他参数与AUSF生成安全密钥时使用的其他参数相同。UE使用以上参数的任意多种的组合作为安全密钥时,指UE将多种参数的串联作为安全密钥。
一种可能的实现中,UE使用CK或CK的一部分生成或者作为安全密钥,还包括,UE根据根密钥K生成CK,并使用所生成的CK或CK的一部分生成或者作为安全密钥。
一种可能的实现中,UE使用IK或IK的一部分生成或者作为安全密钥,还包括,UE根据根密钥K生成IK,并使用所生成的IK或IK的一部分生成或者作为安全密钥。
可选的,UE可以将(CK,IK)作为安全密钥,具体地,AUSF将CK作为安全密钥,和/或将IK作为安全密钥,或者将CK,IK串联CK||IK作为安全密钥,或者将上述参数作为输入参数生成安全密钥。
一种可能的实现中,UE使用CK’或CK’的一部分生成或者作为安全密钥,还包括,UE 根据根密钥K生成CK,使用所生成的CK以及服务网络名称等生成CK’,并使用所生成的CK’或CK’的一部分生成或者作为安全密钥。
一种可能的实现中,UE使用IK’或IK’的一部分生成或者作为安全密钥,还包括,UE根据根密钥K生成IK,使用所生成的IK以及服务网络名称等生成IK’,并使用所生成的IK’或IK’的一部分生成或者作为安全密钥。
可选的,UE可以将(CK’,IK’)作为安全密钥,具体地,AUSF将CK’作为安全密钥,和/或将IK’作为安全密钥,或者将CK’,IK’串联CK’||IK’作为安全密钥,或者将上述参数作为输入参数生成安全密钥。
一种可能的实现中,UE还可以根据CK,IK以及接入类型标识来生成安全密钥,常见的接入类型包括3GPP接入类型以及非3GPP接入类型,其中所述3GPP的类型标识为1;所述非3GPP的类型标识为2。
一种可能的实现中,UE使用主密钥MK或MK的一部分生成安全密钥,还包括,UE根据根密钥K生成CK,IK,并使用所生成CK,IK以及服务网络名称等生成CK’和IK’,并使用所生成的CK’和IK’、以及SUPI等生成MK,UE使用生成的MK或MK的一部分生成或者作为安全密钥。
一种可能的实现中,UE使用扩展的主会话密钥EMSK或EMSK的一部分生成或者作为安全密钥,还包括,UE根据根密钥K生成CK,IK,使用所生成的CK,IK以及服务网络等名称生成CK’和IK’,并使用所生成的CK’和IK’、以及SUPI等生成EMSK,并使用该EMSK或该EMSK的一部分生成或者作为安全密钥。
一种可能的实现中,UE使用K
AUSF或K
AUSF的一部分生成或者作为安全密钥,还包括,UE根据根密钥K生成CK,IK,使用所生成的CK,IK以及服务网络名称等生成CK’和IK’,并使用所生成的CK’和IK’、以及SUPI等生成EMSK,UE将EMSK的一部分作为K
AUSF,并使用该K
AUSF或该K
AUSF的一部分生成或者作为安全密钥。
一种可能的实现中,UE使用RES或RES的一部分生成安全或者作为密钥,还包括,UE根据根密钥K以及RAND生成RES,并使用所生成的RES或者RES的一部分生成或者作为安全密钥。
一种可能的实现中,UE使用K
SEAF或K
SEAF的一部分生成或者作为安全密钥,还包括,UE根据根密钥K生成CK,IK,使用所生成的CK,IK以及服务网络名称等生成CK’和IK’,并使用所生成的CK’和IK’、以及SUPI等生成EMSK,并将EMSK的一部分作为K
AUSF,UE使用该K
AUSF和服务网络名称生成K
SEAF,AUSF使用生成的K
SEAF或K
SEAF的一部分生成或者作为安全密钥。
在5G AKA场景下,UE生成安全密钥的可能方式如下:
可选的,UE使用以下参数中的任意一种或多种的组合作为安全密钥,或者,UE使用以下参数中的任意一种或多种的组合作为安全密钥:
K
AUSF,K
AUSF的一部分,RES*,RES*的一部分,HRES*,HRES*的一部分,K
SEAF,K
SEAF的一部分,RES,RES的一部分。
应理解,UE使用以上参数的任意一种或多种的组合生成安全密钥时,不排除UE同时还使用其他的参数。这里其他参数与AUSF生成安全密钥时使用的其他参数相同。UE使用以上参数的任意多种的组合作为安全密钥时,指UE将多种参数的串联作为安全密钥。
一种可能的实现中,UE使用RES或RES的一部分生成安全或者作为密钥,还包括,UE根据根密钥K以及RAND生成RES,并使用所生成的RES或者RES的一部分生成或者作为安全密钥。
一种可能的实现中,UE使用K
AUSF或K
AUSF的一部分生成或者作为安全密钥,还包括,UE根据根密钥K生成CK,IK,使用所生成的CK,IK以及服务网络名称等生成K
AUSF,并使用所生成的K
AUSF或K
AUSF的一部分生成或者作为安全密钥。
一种可能的实现中,UE使用RES*或RES*的一部分生成或者作为安全密钥,还包括,UE根据根密钥K以及RAND生成CK,IK,和RES,使用所生成的CK,IK,RES,RAND以及服务网络名称SN name生成RES*,并使用所生成的RES*或RES*的一部分生成或者作为安全密钥。
一种可能的实现中,UE使用HRES*或HRES*的一部分生成或者作为安全密钥,还包括,UE根据根密钥K以及RAND生成CK,IK和RES,使用所生成的CK,IK,RES,RAND以及服务网络名称SN name生成RES*,并对RES*和RAND进行哈希计算生成HRES*,UE使用所生成的HRES*或HRES*的一部分生成或者作为安全密钥。
一种可能的实现中,UE使用K
SEAF或K
SEAF的一部分生成或者作为安全密钥,还包括,UE根据根密钥K生成CK,IK,使用所生成的CK,IK以及服务网络名称等生成K
AUSF,使用所生成的K
AUSF和服务网络名称参数生成K
SEAF,UE使用所生成的K
SEAF或K
SEAF的一部分生成或者作为安全密钥。
UE生成安全密钥可以发生在认证流程开始之后到S506之间。
另外,本申请对生成安全密钥所使用的算法以及安全密钥的长度不作限定。
UE使用安全密钥验证安全相关参数的完整性。具体地,UE使用安全密钥,采用与网络侧相同的参数和方法生成安全相关参数的第二消息认证码,并将计算的第二消息认证码与接收到的第一消息认证码相比较。
若比较结果为相同,则完整性验证成功,否则,完整性验证失败。
如果UE验证所述安全相关参数的完整性通过,则UE继续进行认证流程,发送认证响应消息。可选地,如果验证通过,UE开始使用接收到的ABBA和/或ngKSI。具体地,UE使用接收到的ABBA作为生成K
AMF的输入;UE使用接收到的ngKSI作为K
AMF的密钥标识符;
如果UE验证所述安全相关参数的完整性没有通过,UE则终止认证流程。一种可能的方式中,UE向所述SEAF/AMF发送指示信息,该指示信息用于指示完整性验证失败或用于通知网络侧停止认证流程的认证终止。一种可能的方式中,UE向所述SEAF/AMF发送认证拒绝消息。所述认证拒绝消息携带所述指示信息。
UE向所述SEAF/AMF发送指示信息,包括,可能地,UE向SEAF/AMF发送一个NAS消息,该NAS消息用于指示完整性验证失败或用于通知网络侧停止认证流程。该NAS消息可能是认证拒绝消息。
S507、上述完整性验证通过后,用户侧和网络侧继续进行剩余的认证流程。
可选的,在EAP AKA’场景下,执行步骤S205~S211;
可选的,在5G AKA场景下,执行步骤S307~S312。
若认证流程结果为认证成功,即UE身份验证成功,所述UE将根据K
AUSF以及服务网络名称SN name生成锚密钥K
SEAF,并根据所述K
SEAF,用户标识SUPI以及ABBA生成K
AMF。 UE根据所述K
AMF生成非接入层NAS密钥,所述NAS密钥用于对所述用户设备和所述网络侧的SEAF/AMF之间的通信进行保护。可以理解的是,该NAS密钥包括NAS层加密密钥和完整性保护密钥,分别用于NAS层通信的加密和完整性保护。
S508~S509为NAS安全模式控制流程,当上述主认证流程成功后,SEAF/AMF发起NAS安全模式控制流程,用以确定使用上述5G AKA或EAP AKA’主认证流程所建立的安全上下文。
S508、SEAF/AMF向UE发送非接入层安全模式命令消息(NAS SMC),相应的,UE接收SEAF/AMF发送的NAS SMC消息。
所述NAS SMC消息包含UE安全能力,选定的NAS算法以及用于识别K
AMF的ngKSI;所述NAS SMC消息还可以包含ABBA,用于指示推演了新的AMF密钥的指示K_AMF_change_flag等。
所述SEAF/AMF采用NAS完整性密钥对所述NAS SMC消息进行完整性保护,其中NAS完整性密钥基于K
AMF推演所生成。
S509、UE验证NAS SMC消息。
所述UE接收网络侧发送的NAS SMC消息后进行验证,具体地,UE验证接收到的UE安全能力是否与UE所保存的UE安全能力相同;UE还使用基于K
AMF推演的完整性密钥验证所述NAS SMC消息的完整性。如果所述NAS SMC消息包含用于指示推演了新的AMF密钥的指示K_AMF_change_flag,则所述UE将推演新的K
AMF,基于新的K
AMF推演NAS密钥,包括NAS完整性密钥和NAS加密密钥,然后UE使用推演的NAS完整性密钥验证NAS SMC消息的完整性。
若验证通过,UE则开始使用NAS SMC中的ngKSI所指示的安全上下文进行NAS完整性保护和加密/解密,并向SEAF/AMF发送经过完整性保护和加密的NAS安全模式完成消息。
若验证不通过,UE则向SEAF/AMF发送NAS安全模式拒绝消息。
可选的,UE可以验证NAS SMC中携带的ABBA和/或ngKSI是否与S505中接收到的ABBA和/或ngKSI相同。
如果不同,UE可以向SEAF/AUSF发送NAS安全模式拒绝消息,所述拒绝消息携带验证失败的原因,即ABBA和/或ngKSI被篡改,或者,UE可以使用S505中接收到的ngKSI所指示的安全上下文。
本实施例中,SEAF/AMF利用AUSF生成的安全密钥对网络侧向用户设备发送的认证请求消息中的ABBA和/或ngKSI等安全相关参数进行了完整性保护,使得用户设备可以在认证流程中识别ABBA和/或ngKSI等安全相关参数是否被篡改,若上述参数被篡改则及时终止认证流程,从而解决了现有技术中存在的因安全相关参数被攻击者篡改而造成的UE侧与网络侧密钥协商失败的问题。
图6是本申请实施例的一种参数保护方法的流程示意图;该实施例在认证流程中引入了对ABBA,ngKSI等参数的完整性保护;具体地,由AUSF生成安全密钥并发送给SEAF/AMF,SEAF/AMF使用接收到的安全密钥对包含安全相关参数的认证请求消息进行完整性保护,再由UE采用与网络侧相同的方法生成安全密钥,并验证包含安全相关参数的认证请求消息的完整性。该实施例适用于图2中的EAP AKA’流程和图3中的5G AKA流程。
S600、SEAF/AMF发起认证请求。具体内容同S500,此处不再赘述。
S601、UDM向AUSF发送认证向量和可选的用户永久标识SUPI,相应的,AUSF接收UDM发送的认证向量和可选的用户永久标识SUPI。具体内容同S501,此处不再赘述。
S602、AUSF生成安全密钥,用于保护认证请求消息的完整性。安全密钥的生成可以参考图4所述的密钥架构。根据认证方法的不同,安全密钥的生成有所不同。生成安全密钥的可能方式同S502,此处不再赘述。
S603、AUSF向SEAF/AMF发送安全密钥,相应的,SEAF/AMF接收AUSF发送的安全密钥。
AUSF可以通过发送Nausf_UEAuthentication_Authenticate Response消息向SEAF/AMF发送所述安全密钥,也可以采用其他方式发送,本申请不作限定。
S604、SEAF/AMF使用AUSF发送的安全密钥,对认证请求消息(Authentication Request)进行完整性保护,所述认证请求消息包含ABBA,和/或ngKSI等安全相关参数。
一种可能的实现方式,SEAF/AMF使用AUSF发送的安全密钥,对上述认证请求消息进行完整性保护,包括SEAF/AMF使用AUSF发送的安全密钥生成上述携带安全相关参数的认证请求消息的消息认证码,并将该消息认证码作为第一消息认证码。
举例来说,SEAF/AMF根据安全密钥以及认证请求消息生成第一消息认证码。比如将安全密钥和认证请求消息作为输入,使用完整性保护算法以生成第一消息认证码。生成第一消息认证码还可以包含其他输入参数,其他输入参数可以是安全密钥的长度,和/或ngKSI的长度,和/或ABBA的长度等。本申请对其他输入参数和生成第一消息认证码所使用的完整性保护算法不作限制。
S605、SEAF/AMF向UE发送有完整性保护的认证请求消息,相应的,UE接收SEAF/AMF发送的有完整性保护的认证请求消息。
可选的,SEAF/AMF可将S604生成的第一消息认证码作为认证请求消息的一部分发送给UE;
可选的,SEAF/AMF还可将认证请求消息和S604生成的第一消息认证码一同发送给UE,本申请不作限定。
S606、UE收到SEAF/AMF发送的认证请求消息后,验证所述认证请求消息的完整性。
具体地,UE生成安全密钥,并使用安全密钥验证认证请求消息的完整性。UE采用与网络侧相同的算法和参数生成安全密钥,具体内容同S506,此处不再赘述。
UE使用安全密钥验证认证请求消息的完整性,具体地,UE使用安全密钥,采用与网络侧相同的算法和参数计算认证请求消息的消息认证码,并将该消息认证码作为第二消息认证码,具体内容同S604,此处不再赘述。
UE将所生成的的第二消息认证码与接收到的第一消息认证码相比较,如果相同,则完整性验证成功,否则,完整性验证失败。
如果UE验证所述认证请求消息的完整性通过,则UE继续进行认证流程,向SEAF/AMF发送认证响应消息。可选地,如果验证通过,UE开始使用接收到的ABBA和/或ngKSI。具体地,UE使用接收到的ABBA作为生成K
AMF的输入;UE使用接收到的ngKSI作为K
AMF的密钥标识符;
如果UE验证所述认证请求消息的完整性没有通过,则UE终止认证流程。一种可能的方 式中,UE向所述SEAF/AMF发送指示信息,该指示信息用于指示完整性验证失败或用于通知网络侧停止认证流程。
UE向所述SEAF/AMF发送指示信息,包括可能地,UE向SEAF/AMF发送一个NAS消息,该NAS消息用于指示完整性验证失败或用于通知网络侧停止认证流程,或者可能地,UE向SEAF/AMF发送认证拒绝消息,该认证拒绝消息中携带该指示信息。
S607~S609同S507~S509。
本实施例中,SEAF/AMF利用AUSF生成的安全密钥,对网络侧向用户设备发送的包含ABBA和/或ngKSI等安全相关参数的认证请求消息进行了完整性保护,使得用户设备可以在认证流程中通过验证认证请求消息的完整性识别ABBA和/或ngKSI等安全相关参数是否被篡改,若上述参数被篡改则及时终止认证流程,从而解决了现有技术中存在的因安全相关参数被攻击者篡改而造成的用户侧与网络侧密钥协商失败的问题。
图7是本申请实施例的一种参数保护方法的流程示意图;该实施例在认证流程中引入了对ABBA,ngKSI等参数的完整性保护;具体地,由SEAF/AMF生成安全密钥,并对ABBA,ngKSI等参数进行完整性保护,或者对包含上述安全相关参数的认证请求消息进行完整性保护,再由UE完成完整性验证。该实施例适用于图3中的5G AKA流程。
S700、SEAF/AMF发起认证请求,具体内容同S500,此处不再赘述。
S701、UDM向AUSF发送认证向量和可选的用户永久标识SUPI,相应的,AUSF接收UDM发送的认证向量和可选的用户永久标识SUPI,所述认证向量为第一认证向量5G HE AV(RAND,AUTN,XRES*,K
AUSF)。
S702、AUSF向SEAF/AMF发送Nausf认证响应消息Nausf_UEAuthentication_Authenticate Response,相应的,SEAF/AMF接收所述消息,所述消息包含HXRES*,RAND,AUTN等参数。
其中所述HXRES*为AUSF对XRES*和RAND进行哈希运算所生成的参数。
S703、SEAF/AMF生成安全密钥,并使用所生成的安全密钥对ABBA和/或ngKSI等安全相关参数或携带上述安全相关参数的认证请求消息进行完整性保护。
具体地,SEAF/AMF可使用HXRES*,和/或,HXRES*的一部分,作为安全密钥,或者使用HXRES*,和/或,HXRES*的一部分,作为输入参数,生成安全密钥。安全密钥的生成还可以包括其他的输入参数,本申请不作限制。
本申请实施例对生成安全密钥所使用的算法以及安全密钥的长度不作限制。
SEAF/AMF使用所生成的安全密钥对ABBA和/或ngKSI等安全相关参数或携带上述安全相关参数的认证请求消息进行完整性保护,包括SEAF/AMF使用所生成的安全密钥生成第一消息认证码,即SEAF/AMF使用所生成的安全密钥生成安全相关参数的或者包括安全相关参数的认证请求消息的消息认证码。
举例来说,SEAF/AMF将安全密钥以及ABBA和/或ngKSI等安全相关参数或包括所述安全相关参数的认证请求消息作为输入,使用完整性保护算法生成第一消息认证码。生成第一消息认证码还可以包含其他输入参数,例如安全密钥的长度、和/或安全相关参数ABBA的长度,和/或ngKSI的长度等。本申请对其他输入参数和生成第一消息认证码使用的完整性保护算法不作限制。
S704、SEAF/AMF向UE发送认证请求消息,相应的,UE接收SEAF/AMF发送的认证 请求消息。
所述认证请求消息携带ABBA,和/或ngKSI等安全相关参数以及第一消息认证码;
S705、UE收到SEAF/AMF发送的认证请求消息后,验证安全相关参数的完整性。
具体地,UE生成安全密钥,并使用安全密钥验证安全相关参数的完整性。
UE采用与网络侧相同的方法生成安全密钥,具体地,UE可使用HRES*,和/或,HRES*的一部分,作为安全密钥,或者UE使用HRES*,和/或,HRES*的一部分,作为输入参数,生成安全密钥。其中所述HRES*为UE对RES*和RAND进行哈希运算所生成的参数;所述RES*为UE在收到认证请求后根据RES,RAND和服务网络名称等所生成的参数。可能的,安全密钥的生成还可以包括网络侧使用的其他输入参数。
UE使用安全密钥验证安全相关参数的完整性。具体地,UE使用安全密钥生成第二消息认证码,即UE使用安全密钥,并使用与网络侧相同的参数和方法生成安全相关参数或者认证请求消息的消息认证码,并将该消息认证码作为第二消息认证码;UE将生成的第二消息认证码与接收到的第一消息认证码比较。如果相同,则完整性验证成功,否则,完整性验证失败。
若比较结果为相同,则说明ABBA,和/或,ngKSI等安全相关参数没有被篡改,验证通过。如果UE验证所述安全相关参数的完整性通过,则UE继续进行认证流程,向SEAF/AMF发送认证响应消息。可选地,如果验证通过,UE开始使用接收到的ABBA和/或ngKSI。具体地,UE使用接收到的ABBA作为生成K
AMF的输入;UE使用接收到的ngKSI作为K
AMF的密钥标识符。
如果UE验证所述安全相关参数的完整性没有通过,则UE终止认证流程。一种可能的方式中,UE向所述SEAF/AMF发送指示信息,该指示信息用于指示完整性验证失败或用于通知网络侧停止认证流程。
UE向所述SEAF/AMF发送指示信息,包括可能地,UE向SEAF/AMF发送一个NAS消息,该NAS消息用于指示完整性验证失败或用于通知网络侧停止认证流程,或者可能地,UE向SEAF/AMF发送认证拒绝消息,该认证拒绝消息中携带该指示信息。
S706~S708同S507~S509。
本实施例中,SEAF/AMF生成安全密钥,并利用所生成的安全密钥对网络侧向用户设备发送的认证请求消息中的ABBA和/或ngKSI等安全相关参数或者包含ABBA和/或ngKSI等安全相关参数的认证请求消息进行了完整性保护,使得用户设备可以在认证流程中通过验证完整性来识别ABBA和/或ngKSI等安全相关参数是否被篡改,若上述参数被篡改则及时终止认证流程,从而解决了现有技术中存在的因安全相关参数被攻击者篡改而造成的用户侧与网络侧密钥协商失败的问题。
图8是本申请实施例的一种参数保护方法的流程示意图;该实施例在认证流程中引入了对ABBA,ngKSI等安全相关参数的完整性保护;具体地,AUSF生成安全密钥,并对上述ABBA,和/或ngKSI等安全相关参数进行完整性保护,再由UE验证安全相关参数的完整性。该实施例适用于图2中的EAP AKA’流程和图3中的5G AKA流程。
S801、SEAF/AMF向AUSF发起认证请求。
SEAF/AMF向AUSF发送Nausf认证请求消息Nausf_UEAuthentication_Authenticate Request,其中包含ABBA,和/或ngKSI等安全相关参数,相应的,AUSF接收所述Nausf认 证请求消息。
可选的,SEAF/AMF可以采用其他方式将ABBA,和/或,ngKSI等安全相关参数发送给AUSF,本申请不作限定。
S802、AUSF向UDM请求认证向量,相应的,UDM收到请求后向AUSF返回认证向量和可选的用户永久标识SUPI。
AUSF向UDM发送用于请求认证向量的Nudm认证请求消息Nudm_UEAuthenticate_Get Request,相应的UDM接收AUSF发送的Nudm认证请求消息Nudm_UEAuthenticate_Get Request;UDM收到上述请求消息后向AUSF发送Nudm认证响应消息Nudm_UEAuthenticate_Get Response,所述Nudm响应消息包含认证向量和可选的用户永久标识SUPI。
在EAP AKA’场景下,UDM向AUSF发送变形认证向量AV’(RAND,AUTN,XRES,CK’,IK’)。
在5G AKA场景下,UDM向AUSF发送第一认证向量5G HE AV(RAND,AUTN,XRES*,K
AUSF)。
在一种可能的实现中,UDM还可以向AUSF发送加密密钥CK和完整性密钥IK。可选的,UDM在Nudm认证响应Nudm_UEAuthenticate_Get Response中包括加密密钥CK和完整性密钥IK,或者UDM通过其他消息将加密密钥CK和完整性密钥IK发送给AUSF。本申请不对此做限制。
在一种可能的实现中,在5G AKA场景下,UDM还向AUSF发送XRES。可选的,UDM在Nudm认证响应Nudm_UEAuthenticate_Get Response中包括加密密钥CK和完整性密钥IK,或者UDM通过其他消息将加密密钥CK和完整性密钥IK发送给AUSF。本申请不对此做限制。
S803、AUSF生成安全密钥,并利用所生成的安全密钥对ABBA,和/或ngKSI等安全相关参数进行完整性保护。
根据认证方法的不同,安全密钥的生成有所不同,具体内容详见S502,此处不再赘述。
AUSF使用所生成的安全密钥对ABBA和/或ngKSI等安全相关参数进行完整性保护,具体地,AUSF可使用所生成的安全密钥,生成第一消息认证码。
举例来说,AUSF将安全密钥以及安全相关参数作为输入,使用完整性保护算法生成第一消息认证码。生成第一消息认证码还可以包含其他输入参数,例如安全密钥的长度、和/或安全相关参数ABBA的长度,和/或ngKSI的长度等。本申请对其他输入参数和生成第一消息认证码所使用的完整性保护算法不作限制。
S804、AUSF向SEAF/AMF发送S803中AUSF计算的第一消息认证码,相应的,SEAF/AMF接收AUSF发送的第一消息认证码。
AUSF可以通过在Nausf认证响应消息Nausf_UEAuthentication_Authenticate Response中携带第一消息认证码来向SEAF/AMF发送所述第一消息认证码;AUSF还可以采用其他可能的方式发送所述第一消息认证码,本申请不作限定。
S805、SEAF/AMF向UE发送认证请求消息,相应的,UE接收SEAF/AMF发送的认证请求消息。所述认证请求消息携带S803中AUSF生成的第一消息认证码。
S806~S809同S506~S509,此处不再赘述。
本实施例中,AUSF生成安全密钥,并对接收到的来自SEAF/AMF的ABBA和/或ngKSI等安全相关参数进行了完整性保护,使得用户设备可以在认证流程中通过完整性验证来识别ABBA和/或ngKSI等安全相关参数是否被篡改,若上述参数被篡改则及时终止认证流程,从而解决了现有技术中存在的因安全相关参数被攻击者篡改而造成的用户侧与网络侧密钥协商失败的问题。
图9是本申请实施例的一种参数保护方法的流程示意图;该实施例在认证流程中引入了对ABBA,ngKSI等安全相关参数的完整性保护;具体地,AUSF接收来自SEAF/AUSF的ABBA,ngKSI等安全相关参数后,在向SEAF/AUSF发送的EAP Request/AKA’-Challenge消息中携带上述参数,并对EAP Request/AKA’-Challenge进行完整性保护,SEAF/AUSF将上述经完整性保护的EAP Request/AKA’-Challenge消息透明传输给UE,由UE完成完整性验证。该实施例适用于图2中的EAP AKA’流程。
S901、SEAF/AMF向AUSF发送ABBA,和/或,ngKSI等安全相关参数。
一种可能的实现方式中,SEAF/AMF向AUSF发送Nausf认证请求Nausf_UEAuthentication_Authenticate Request,其中包含ABBA,和/或,ngKSI等安全相关参数,相应的,AUSF接收所述请求。
可选的,SEAF/AMF可以采用其他方式将ABBA,和/或,ngKSI等安全相关参数发送给AUSF,本申请不作限定。
S902、AUSF向UDM请求认证向量,相应的,UDM收到请求后向AUSF返回认证向量,和可选的用户永久标识SUPI。具体内容同S802,此处不再赘述。
S903、AUSF对所述安全相关参数进行完整性保护,以生成第一消息认证码,并向SEAF/AMF发送第一消息认证码。
一种可能的实现方式,AUSF向SEAF/AMF发送“EAP Request/AKA’-Challenge”消息,所述“EAP Request/AKA’-Challenge”消息包含第一消息认证码。
AUSF在发送“EAP Request/AKA’-Challenge”消息之前,生成第一消息认证码,AUSF生成所述第一消息认证码的输入参数包含ABBA和/或ngKSI等安全相关参数。
可选的,AUSF在“EAP Request/AKA’-Challenge”消息中还包含安全相关参数,并将包括安全相关参数的“EAP Request/AKA’-Challenge”消息发送给SEAF/AMF。
相应的,SEAF/AMF接收来自AUSF的“EAP Request/AKA’-Challenge”消息。
AUSF可以在Nausf认证响应消息Nausf_UEAuthentication_Authenticate Response中携带所述“EAP Request/AKA’-Challenge”消息,也可以采用其他可能的方式传送所述“EAP Request/AKA’-Challenge”,本申请不作限定。
S904、SEAF/AMF向UE发送认证请求,相应的,UE接收来自SEAF/AMF的认证请求。所述认证请求消息中携带来自AUSF的“EAP Request/AKA’-Challenge”消息,所述认证请求消息还携带ngKSI,和/或ABBA等安全相关参数;
可选的,所述认证请求消息携带来自AUSF的“EAP Request/AKA’-Challenge”消息,其中所述“EAP Request/AKA’-Challenge”消息包含安全相关参数。
S905、UE收到来自SEAF/AMF的认证请求后,验证EAP Request/AKA’-Challenge消息的完整性。
UE验证“EAP Request/AKA’-Challenge”消息的完整性包括,UE计算接收到的“EAP Request/AKA’-Challenge”消息的第二消息认证码,然后UE将计算出的第二消息认证码与接收到的第一消息认证码进行比较。
若比较结果为相同,则说明ABBA,和/或,ngKSI等安全相关参数没有被篡改,验证通过。如果UE验证所述“EAP Request/AKA’-Challenge”的完整性通过,则UE继续执行认证流程,向SEAF/AMF发送认证响应消息。可选地,如果验证通过,UE开始使用接收到的ABBA和/或ngKSI。具体地,UE使用接收到的ABBA作为生成K
AMF的输入;UE使用接收到的ngKSI作为K
AMF的密钥标识符;
如果UE验证所述“EAP Request/AKA’-Challenge”消息的完整性没有通过,则UE终止认证流程。一种可能的方式中,UE向所述SEAF/AMF发送指示信息,该指示信息用于指示完整性验证失败或用于通知网络侧停止认证流程。
UE向所述SEAF/AMF发送指示信息,包括可能地,UE向SEAF/AMF发送一个NAS消息,该NAS消息用于指示完整性验证失败或用于通知网络侧停止认证流程,或者可能地,UE向SEAF/AMF发送认证拒绝消息,该认证拒绝消息中携带该指示信息。
S906~S908同S507~S509,此处不再赘述。
本实施例中,AUSF接收来自SEAF/AMF的ABBA和/或ngKSI等安全相关参数,将上述安全相关参数添加到EAP Request/AKA’-Challenge消息中,并将上述安全相关参数作为计算“EAP Request/AKA’-Challenge”的消息认证码的输入参数。SEAF/AMF从AUSF接收“EAP Request/AKA’-Challenge”并将上述消息转发给UE,由UE进行完整性验证,使得用户设备可以在认证流程中识别ABBA和/或ngKSI等安全相关参数是否被篡改,若上述参数被篡改则及时终止认证流程,从而解决了现有技术中存在的因安全相关参数被攻击者篡改而造成的用户侧与网络侧密钥协商失败的问题。
图10是本申请实施例的一种参数保护方法的流程示意图;该实施例在认证流程中引入了对ABBA,和/或ngKSI等安全相关参数的完整性保护;具体地,由UE生成安全密钥并对安全相关参数进行完整性保护,由AUSF生成安全密钥并将所述安全密钥发送至SEAF/AMF,SEAF/AMF保存所述安全密钥,并使用所保存的安全密钥进行安全相关参数的完整性验证。该实施例适用于图2中的EAP AKA’流程和图3中的5G AKA流程。
S1000、SEAF/AMF发起认证请求。具体内容同S500,此处不再赘述。
S1001、UDM向AUSF发送认证向量和可选的用户永久标识SUPI,相应的,AUSF接收UDM发送的认证向量和可选的用户永久标识SUPI。具体内容同S501,此处不再赘述。
S1002、AUSF生成安全密钥,用于验证ABBA和/或ngKSI等安全相关参数的完整性。安全密钥的生成可参考图4中的密钥架构。根据认证方法的不同,安全密钥的生成有所不同,具体内容参见S502,此处不再赘述。
S1003、AUSF向SEAF/AMF发送安全密钥,相应的,SEAF/AMF接收AUSF发送的安全密钥;
AUSF可以通过发送携带安全密钥的Nausf认证响应消息Nausf_UEAuthentication_Authenticate Response来向SEAF/AMF发送所述安全密钥;
AUSF还可以采用其他可能的方式向SEAF/AMF发送安全密钥,本申请不作限定。
S1004、SEAF/AMF接收AUSF发送安全密钥后保存所述安全密钥;
S1005、SEAF/AMF向UE发送认证请求消息,相应的,UE接收SEAF/AMF发送的认证 请求消息。所述认证请求消息携带ABBA和/或ngKSI等安全相关参数。
S1006、UE接收来自SEAF/AMF发送的认证请求消息后,对安全相关参数进行完整性保护。
UE对安全相关参数进行完整性保护,包括UE生成安全密钥,并使用所生成的安全密钥对安全相关参数进行完整性保护,以生成第一消息认证码。
UE生成安全密钥,具体详见S506,此处不再赘述。
UE使用所生成的安全密钥生成第一消息认证码。可选的,UE使用所生成的安全密钥,计算安全相关参数的消息认证码,作为第一消息认证码,或者,UE在认证响应消息中包括安全相关参数,并使用所生成的安全密钥,计算包括安全相关参数的认证响应消息的消息认证码,作为第一消息认证码。比如UE将安全密钥以及安全相关参数或包括安全相关参数的认证响应消息输入到完整性保护算法中以生成第一消息认证码。UE生成第一消息认证码还可以包含其他输入参数,其他输入参数可以是安全密钥的长度,和/或ngKSI的长度,和/或ABBA的长度等。本申请对其他输入参数和生成第一消息认证码时使用的完整性保护算法不作限制。
S1007、UE向SEAF/AMF发送认证响应消息,相应的,SEAF/AMF接收认证响应消息。
所述认证响应消息包含S1006中计算的第一消息认证码。
可能地,所述认证响应消息包括所述安全相关参数。
S1008、SEAF/AMF接收认证响应消息后,验证安全相关参数的完整性。
SEAF/AMF使用S1004中保存的安全密钥验证安全相关参数的完整性。具体地,SEAF/AMF使用与UE侧相同的方法生成第二消息验证码,并将所生成的第二消息认证码与接收到的第一消息认证码进行比较。
一种可能的实现中,若UE对安全相关参数进行完整性保护,SEAF/AMF使用安全密钥计算上述安全相关参数的消息认证码,作为第二消息认证码;在另一种可能的实现中,若UE对携带上述安全相关参数的认证响应消息进行完整性保护,SEAF/AMF则使用安全密钥计算所述认证响应消息的消息认证码,作为第二消息认证码。
如果比较结果相同,则完整性验证成功,否则,完整性验证失败。如果SEAF/AMF验证安全相关参数的完整性通过,则SEAF/AMF继续执行认证流程;
如果SEAF/AMF验证安全相关参数的完整性没有通过,则终止认证流程。
S1009、上述完整性验证通过后,用户侧和网络侧继续进行剩余的认证流程。
可选的,在EAP AKA’场景下,执行步骤S207~S211;
可选的,在5G AKA场景下,执行步骤S309~S312。
若认证流程结果为认证成功,即UE身份验证成功,所述UE将根据K
AUSF以及SN name生成锚密钥K
SEAF,并根据所述K
SEAF,用户标识SUPI以及ABBA生成K
AMF。UE根据所述K
AMF生成非接入层NAS密钥,所述NAS密钥用于对所述用户设备和所述网络侧的SEAF/AMF之间的通信进行保护。可以理解的是,该NAS密钥包括NAS层加密密钥和完整性保护密钥,分别用于NAS层通信的加密和完整性保护。
S1010~S1011同S508~S509。
本实施例中,UE生成安全密钥并对ABBA和/或ngKSI等安全相关参数或者携带上述安全相关参数的认证响应消息进行完整性保护,SEAF/AUSF使用来自AUSF的安全密钥对上述安全相关参数或携带上述安全相关参数的认证响应消息进行完整性验证,使得网络侧设备可 以在认证流程中识别ABBA和/或ngKSI等安全相关参数是否被篡改,若上述参数被篡改则及时终止认证流程,从而解决了现有技术中存在的因安全相关参数被攻击者篡改而造成的用户侧与网络侧密钥协商失败的问题。
图11是本申请实施例的一种参数保护方法的流程示意图;该实施例在认证流程中引入了对ABBA和/或ngKSI等参数的完整性保护;具体地,由UE生成安全密钥并对安全相关参数进行完整性保护,由SEAF/AMF对安全相关参数的完整性进行验证。该实施例适用于图3中的5G AKA流程。
S1100、SEAF/AMF发起认证请求,具体内容同S500。
S1101~S1103为正常的5G AKA流程中的步骤,具体内容同S302~S306。
S1104、UE接收来自SEAF/AMF发送的认证请求消息后,对ABBA和/或ngKSI等安全相关参数进行完整性保护。
UE对安全相关参数进行完整性保护,包括UE生成安全密钥,并使用所生成的安全密钥对安全相关参数进行完整性保护。
具体地,UE可使用HRES*,和/或,HRES*的一部分,作为安全密钥,或者使用HRES*,和/或,HRES*的一部分,作为输入参数,生成安全密钥,其中HRES*为UE对RES*和RAND进行哈希运算所生成的参数;其中RES*为UE在收到认证请求后根据RES,RAND和服务网络名称等所生成的参数。安全密钥的生成还可以包括其他的输入参数,本申请不作限制。
UE使用所生成的安全密钥对安全相关参数进行完整性保护,可以包括UE使用所生成的安全密钥生成第一消息认证码,包括UE使用所生成的安全密钥,计算安全相关参数的消息认证码,作为第一消息认证码,或者,UE在认证响应消息中包括安全相关参数,UE使用所生成的安全密钥,计算包括安全相关参数的认证响应消息的消息认证码,作为第一消息认证码。
比如UE将安全密钥以及安全相关参数输入到完整性保护算法中以生成第一消息认证码。UE生成第一消息认证码还可以包含其他输入参数,其他输入参数可以是安全密钥的长度,和/或ngKSI的长度,和/或ABBA的长度等。本申请对其他输入参数和生成MAC消息认证码时使用的完整性保护算法不作限制。
S1105、UE向SEAF/AMF发送第一消息认证码。
一种可能的实现方式中,UE向SEAF/AMF发送认证响应消息,相应的,SEAF/AMF接收认证响应消息。所述认证响应消息包含S1104中计算的第一消息认证码。相应地,SEAF/AMF接收携带第一消息认证码的认证响应消息。
一种可能的实现方式,UE向SEAF/AMF发送认证响应消息和第一消息认证码。相应地,SEAF/AMF接收认证响应消息和第一消息认证码。
S1106、SEAF/AMF接收认证响应消息后,验证安全相关参数的完整性。
具体地,SEAF/AMF生成安全密钥,并使用安全密钥验证安全相关参数的完整性。SEAF/AMF使用与UE相同的方法计算安全密钥,SEAF/AMF可使用S1102中接收到的HXRES*,和/或,HXRES*的一部分,作为安全密钥,或者使用XHRES*,和/或,HXRES*的一部分,作为输入参数,生成安全密钥;可能的,生成安全密钥还可以包括UE侧使用的其他输入参数。
可选的,SEAF/AMF生成安全密钥可以发生在SEAF/AMF收到AUSF发送的认证响应消 息(步骤S1102)之后到本步骤之间的任意时刻。
SEAF/AMF使用所生成的安全密钥验证安全相关参数的完整性,具体地,SEAF/AMF采用与UE侧相同的算法和参数计算第二消息认证码,并将所生成的第二消息认证码与接收到的第一消息认证码进行比较。一种可能的实现中,SEAF/AMF使用所生成的安全密钥计算上述安全相关参数的消息认证码,作为第二消息认证码;在另一种可能的实现中,SEAF/AMF则使用所生成的安全密钥计算所述认证响应消息的消息认证码,作为第二消息认证码。
如果比较结果相同,则完整性验证成功,否则,完整性验证失败。如果SEAF/AMF验证安全相关参数的完整性通过,则SEAF/AMF继续进行认证流程;
如果SEAF/AMF验证安全相关参数的完整性没有通过,则终止认证流程。
S1107、上述完整性验证通过后,用户侧和网络侧继续进行剩余的认证流程,即执行步骤S309~S314。
可选的,在EAP AKA’场景下,执行步骤S207~S211;
可选的,在5G AKA场景下,执行步骤S310~S312。
若认证流程结果为认证成功,即UE身份验证成功,所述UE将根据K
AUSF以及SN name生成锚密钥K
SEAF,并根据所述K
SEAF,用户标识SUPI以及ABBA生成K
AMF。UE根据所述K
AMF生成非接入层NAS密钥,所述NAS密钥用于对所述用户设备和所述网络侧的SEAF/AMF之间的通信进行保护。可以理解的是,该NAS密钥包括NAS层加密密钥和完整性保护密钥,分别用于NAS层通信的加密和完整性保护。
S1108~S1109同S508~S509。
本实施例中,UE生成安全密钥并对ABBA和/或ngKSI等安全相关参数或者携带上述安全相关参数的认证响应消息进行完整性保护,SEAF/AMF使用与UE相同的方法生成安全密钥,并对上述安全相关参数或携带上述安全相关参数的认证响应消息进行完整性验证,使得网络侧设备可以在认证流程中识别ABBA和/或ngKSI等安全相关参数是否被篡改,若上述参数被篡改则及时终止认证流程,从而解决了现有技术中存在的因安全相关参数被攻击者篡改而造成的用户侧与网络侧密钥协商失败的问题。
图12是本申请实施例的一种参数保护方法的流程示意图;该实施例在认证流程中引入了对ABBA,和/或ngKSI等安全相关参数的完整性保护;具体地,由UE生成安全密钥并对安全相关参数进行完整性保护,由AUSF进行安全相关参数的完整性验证。该实施例适用于图2中的EAP AKA’流程和图3中的5G AKA流程。
S1200、SEAF/AMF发起认证请求,具体内容同S500。
S1201、UDM向AUSF发送认证向量和可选的用户永久标识SUPI,相应的,AUSF接收UDM发送的认证向量和可选的SUPI。
UDM可以通过发送调用Nudm_UEAuthentication_get Respons消息服务向AUSF发送上述认证向量和可选的和/或用户标识,也可以通过其他方式发送上述消息,本申请不作限定。
可选的,在EAP AKA’场景下,UDM向AUSF发送变形认证向量AV’(RAND,AUTN,XRES,CK’,IK’)。
可选的,在5G AKA场景下,UDM向AUSF发送第一认证向量5G HE AV(RAND,AUTN,XRES*,KAUSF)。
在一种可能的实现中,UDM还可以向AUSF发送加密密钥CK和完整性密钥IK。
在一种可能的实现中,在5G AKA场景中,UDM还向AUSF发送预期响应XRES。
S1202~S1203为正常的认证流程中的步骤。
可选的,在EAP AKA’场景下,具体内容同S203~S204。
可选的,在5G AKA场景下,具体内容同S303~S306。
S1204、UE接收来自SEAF/AMF发送的认证请求消息后,对ABBA和/或ngKSI等安全相关参数进行完整性保护。
具体地,UE生成安全密钥,并使用所生成的安全密钥对安全相关参数进行完整性保护。
UE生成安全密钥,具体详见S506,此处不再赘述。
UE使用所生成的安全密钥对安全相关参数进行完整性保护,具体地,UE可以使用所生成的安全密钥,计算安全相关参数的消息认证码,作为第一消息认证码。
可选的,UE计算安全密钥可以发生在,从认证流程开始到UE接收网络侧的认证请求期间,即本步骤之前。
S1205、UE向SEAF/AMF发送第一消息认证码。
一种可能的实现方式,UE向SEAF/AMF发送认证响应消息,相应的,SEAF/AMF接收认证响应消息。所述认证响应消息包含S1204中计算的第一消息认证码。所述SEAF/AMF接收携带所述第一消息认证码的认证响应消息。
一种可能的实现方式,UE向SEAF/AMF发送认证响应消息和第一消息认证码。所述SEAF/AMF接收第一消息认证码和认证响应消息
S1206、SEAF/AMF向AUSF发送所述第一消息认证码,相应的,AUSF接收SEAF/AMF发送的第一消息认证码。
SEAF/AMF可以通过Nausf认证响应消息Nausf_UEAuthentication_Authenticate Response向AUSF发送所述第一消息认证码;SEAF/AMF还可以通过其他方式发送上述信息,本申请不作限定。
S1207、AUSF接收SEAF/AMF发送的第一消息认证码后进行对安全相关参数的完整性验证。
具体地,AUSF生成安全密钥,并使用所生成的安全密钥验证安全相关参数的完整性。
AUSF采用与用户相同的参数和方法生成安全密钥,根据认证方法的不同,安全密钥的生成有所不同。AUSF生成安全密钥的可能的方式同S502,此处不再赘述。需要指出的是,若UE在生成安全密钥时使用了某个或某些其他输入参数,则AUSF生成安全密钥时也将采用相同的其他输入参数。
可选的,AUSF可以在接收到所述相关参数到本步骤之间的任意时刻计算安全密钥。
AUSF使用所生成的安全密钥验证安全相关参数的完整性,具体地,AUSF使用安全密钥计算安全相关参数的消息认证码,作为第二消息认证码,并将计算出的第二消息认证码与接收到的第一消息认证码进行比较。
如果比较结果相同,则完整性验证成功,否则,完整性验证失败。如果AUSF验证安全相关参数的完整性通过,则AUSF继续进行认证流程;
如果AUSF验证安全相关参数的完整性没有通过,则终止认证流程。
S1208、上述完整性验证通过后,用户侧和网络侧继续进行剩余的认证流程。
可选的,在EAP AKA’场景下,执行步骤S208~S211;
可选的,在5G AKA场景下,执行步骤S311~S312。
若认证流程结果为认证成功,即UE身份验证成功,所述UE将根据K
AUSF以及SN name生成锚密钥K
SEAF,并根据所述K
SEAF,用户标识SUPI以及ABBA生成K
AMF。UE根据所述K
AMF生成非接入层NAS密钥,所述NAS密钥用于对所述用户设备和所述网络侧的SEAF/AMF之间的通信进行保护。可以理解的是,该NAS密钥包括NAS层加密密钥和完整性保护密钥,分别用于NAS层通信的加密和完整性保护。
S1209~S1210同S508~S509。
本实施例中,UE生成安全密钥并对ABBA和/或ngKSI等安全相关参数进行完整性保护,AUSF使用与UE相同的方法生成安全密钥,并对上述安全相关参数进行完整性验证,使得网络侧设备可以在认证流程中识别ABBA和/或ngKSI等安全相关参数是否被篡改,若上述参数被篡改则及时终止认证流程,从而解决了现有技术中存在的因安全相关参数被攻击者篡改而造成的用户侧与网络侧密钥协商失败的问题。
上述实施例提供了UE侧与网络侧进行主认证流程过程中的参数保护方法。图13、图14中的实施例提供了认证流程结束后认证结果更新的方法,使得UDM及时更新认证结果,防止拜访网络欺诈。
图13是本申请实施例的一种UE认证状态更新的流程示意图;该实施例在认证与密钥协商流程结束后,SEAF向UDM通知UE认证状态更新,使得UDM及时更新UE认证状态。该实施例适用于EAP AKA’流程和5G AKA流程。
S1301、UE侧与网络侧成功进行主认证流程,其中所述认证流程可以是图2~图12中的任意一种可能的主认证流程。
AUSF在判断UE认证成功之后,AUSF通知SEAF/AMF,UE认证成功,即
在5G AKA场景中,AUSF在Nausf认证响应Nausf_UEAuthentication_Authenticate Response中指示UE认证成功,并在Nausf_UEAuthentication_Authenticate Response中包括K
SEAF
在EAP-AKA’场景中,AUSF在Nausf认证响应Nausf_UEAuthentication_Authenticate Response中包括EAP Success消息,和K
SEAF。
可选地,在EAP-AKA’场景中,AUSF在接收到EAP-Reponse/AKA’-Challenge消息之后,或者AUSF在接收到RES之后,验证该EAP-Reponse/AKA’-Challenge消息,或验证该RES。如果AUSF验证成功,AUSF应跳过通知UDM认证结果的步骤。
可选地,在5G AKA场景中,AUSF在接收到包括RES*的Nausf_UEAuthentication_Authentication Request消息之后,AUSF应验证RES*是否和XRES*相同,以及AV是否过期。如果验证成功,则认证成功。如果认证成功过,AUSF应跳过通知UDM认证结果的步骤。
S1302、SEAF/AMF在Nausf_UEAuthentication_Authenticate Response中接收到UE认证成功的指示或者EAP Success消息之后,SEAF/AMF向UE发送非接入层安全模式命令消息(NAS SMC),相应的,UE接收SEAF/AMF发送的NAS SMC消息。所述NAS SMC消息包含UE安全能力,选定的NAS算法以及用于识别K
AMF的ngKSI;所述NAS SMC消息还可能包含ABBA参数,用于指示推演了新的AMF密钥的指示K_AMF_change_flag等。
所述SEAF/AMF采用5G NAS完整性密钥对所述NAS SMC消息进行完整性保护,其中 5G NAS完整性密钥基于K
AMF推演所生成。
S1303、UE验证NAS SMC消息。
所述UE接收网络侧发送的NAS SMC消息后进行验证,具体地,UE验证接收到的UE安全能力是否与UE所保存的UE安全能力相同;UE还使用基于K
AMF推演的完整性密钥验证所述NAS SMC消息的完整性。
如果UE验证NAS SMC消息通过,执行S1304~S1306步骤;否则执行S1307~S1309步骤。
S1304、UE向SEAF/AMF发送安全模式完成(Security Mode Complete)消息,相应的,SEAF/AMF接收UE发送的安全模式完成消息。
S1305、SEAF/AMF接收到安全模式完成消息之后,可选地,SEAF/AMF向UDM发送通知,用于通知UDM,UE的认证状态或者认证结果,或者用于更新UDM处UE的认证状态或者认证结果。相应地UDM保存或更新UE的认证状态或者认证结果。
UE的认证状态包括但不限于,UE的标识、认证结果、时间戳、和服务网络的名称。其中UE的标识比如SUPI。
一种可能的实现方式中,SEAF/AMF接收到安全模式完成消息之后,SEAF/AMF向UDM发送的UE的认证结果为认证成功。
可选地,SEAF可以通过调用UDM提供的某个现有服务,例如通过使用Nudm_UEAuthentication_ResultConfirmation Request,来通知UDM,UE的认证状态或者认证结果或更新UDM处,UE的认证状态或者认证结果;或者SEAF可以通过调用UDM新增的服务来通知UDM或者更新UDM处,UE的认证状态或者认证结果,本申请不作限制。
S1306、UDM在接收到SEAF的UE认证状态或认证结果的通知或更新通知之后,保存或者更新UE的认证状态或认证结果。
S1307、UE向SEAF/AMF发送安全模式拒绝(Security Mode Reject)消息,相应的,SEAF/AMF接收UE发送的安全模式拒绝消息。
S1308、SEAF/AMF接收到安全模式拒绝消息之后,可选地,SEAF/AMF向UDM发送通知,用于通知UDM,UE的认证状态或者认证结果,或者用于更新UDM处UE的认证状态或者认证结果。相应地UDM保存或更新UE的认证状态或者认证结果。
UE的认证状态包括但不限于,UE的标识、认证结果、时间戳、和服务网络的名称。其中UE的标识比如SUPI。
一种可能的实现方式中,SEAF/AMF接收到安全模式拒绝消息之后,SEAF/AMF向UDM发送的UE的认证结果为认证失败。
可选地,SEAF可以通过调用UDM提供的某个现有服务,例如通过使用Nudm_UEAuthentication_ResultConfirmation Request,来通知UDM或更新UDM处,UE的认证状态或者认证结果;或者SEAF可以通过调用UDM新增的服务来通知UDM或者更新UDM处,UE的认证状态或者认证结果,本申请不作限制。
S1309、UDM在接收到SEAF的UE认证状态或认证结果的通知或更新通知之后,保存或者更新UE的认证状态或认证结果。
本实施例中,SEAF/AMF收到安全模式控制流程成功/失败消息之后,向UDM通知,UE的认证状态或认证结果,使得UDM及时保存或更新UE的认证状态或认证结果,防止拜访网 络欺诈。
图14是本申请实施例的一种UE认证状态或认证结果更新的流程示意图;该实施例在认证与密钥协商流程结束后,SEAF/AMF通知AUSF,再由AUSF向UDM通知,UE的认证状态或认证结果,使得UDM及时获取或更新UE认证状态或认证结果。该实施例适用于图2中的EAP AKA’流程和图3中的5G AKA流程。
S1401、UE侧与网络侧成功进行认证流程,其中所述认证流程可以是图2~图12中的任意一种可能的主认证流程。
AUSF在判断UE认证成功之后,AUSF通知SEAF/AMF,UE认证成功,即:
在5G AKA场景中,AUSF在Nausf认证响应Nausf_UEAuthentication_Authenticate Response中指示UE认证成功,并在Nausf_UEAuthentication_Authenticate Response中包括K
SEAF;
在EAP-AKA’场景中,AUSF在Nausf认证响应Nausf_UEAuthentication_Authenticate Response中包括EAP Success消息,和K
SEAF。
可选地,在EAP-AKA’场景中,AUSF在接收到EAP-Reponse/AKA’-Challenge消息之后,或者AUSF在接收到RES之后,验证该EAP-Reponse/AKA’-Challenge消息,或验证该RES。如果AUSF验证成功,AUSF应跳过通知UDM认证结果的步骤。
可选地,在5G AKA场景中,AUSF在接收到包括RES*的Nausf_UEAuthentication_Authentication Request消息之后,AUSF应验证RES*是否和XRES*相同,以及AV是否过期。如果验证成功,则认证成功。如果认证成功过,AUSF应跳过通知UDM认证结果的步骤。
S1402、SEAF/AMF在Nausf_UEAuthentication_Authenticate Response中接收到UE认证成功的指示或者EAP Success消息之后,SEAF/AMF向UE发送非接入层安全模式命令消息(NAS SMC),相应的,UE接收SEAF/AMF发送的NAS SMC消息。具体详见S1302,此处不再赘述。
S1403、UE验证NAS SMC消息。具体详见S1303,此处不再赘述。
如果UE验证NAS SMC消息通过,执行S1404~S1407步骤。如果验证不通过则执行S1408~S1411步骤。
S1404、UE向SEAF/AMF发送安全模式完成(Security Mode Complete)消息,相应的,SEAF/AMF接收UE发送的安全模式完成消息。
S1405、SEAF/AMF接收到安全模式完成消息之后,向AUSF发送通知,用于向AUSF通知UE的认证状态或认证结果。相应地,AUSF接收UE的认证状态或认证结果。
UE的认证状态包括但不限于,UE的标识、认证结果、时间戳、和服务网络的名称。其中UE的标识比如SUPI。
一种可能的实现方式中,SEAF/AMF接收到安全模式完成消息之后,SEAF/AMF向AUSF发送的UE的认证结果为认证成功。
可选地,SEAF可以通过调用AUSF提供的某个现有服务,例如Nausf_UEAuthentication,来向AUSF发送通知;或者SEAF可以通过调用AUSF新增的服务来向AUSF发送通知,本申请不作限制。
S1406、AUSF接收到SEAF发送的通知之后,向UDM发送通知,用于通知UE的认证 状态或认证结果,或更新UDM处,UE的认证状态或认证结果。相应地,UDM保存或更新UE的认证状态或认证结果。
可选地,AUSF可以通过调用UDM提供的某个现有服务,例如Nudm_UEAuthentication,来向UDM发送通知;或者AUSF可以通过调用UDM新增的服务来向UDM发送通知,本申请不作限制。
S1407、UDM在接收到AUSF的UE认证状态或认证结果的通知或更新之后,UDM保存或者更新UE的认证状态或认证结果。
S1408、UE向SEAF/AMF发送安全模式拒绝(Security Mode Reject)消息,相应的,SEAF/AMF接收UE发送的安全模式拒绝消息。
S1409、SEAF/AMF接收到安全模式拒绝消息之后,向AUSF发送通知,用于向AUSF通知UE的认证状态或认证结果。相应地,AUSF接收UE的认证状态或认证结果。
UE的认证状态包括但不限于,UE的标识、认证结果、时间戳、和服务网络的名称。其中UE的标识比如SUPI。
一种可能的实现方式中,SEAF/AMF接收到安全模式拒绝消息之后,SEAF/AMF向AUSF发送的UE的认证结果为认证失败。
可选地,SEAF可以通过调用AUSF提供的某个现有服务,例如Nausf_UEAuthentication,来向AUSF发送通知;或者SEAF可以通过调用AUSF新增的服务来向AUSF发送通知,本申请不作限制。
S1410、AUSF接收到SEAF发送的通知之后,向UDM发送通知,用于通知UDM,UE的认证状态或认证结果,或更新UDM处,UE的认证状态或认证结果。相应地,UDM保存或更新UE的认证状态或认证结果。
可选地,AUSF可以通过调用UDM提供的某个现有服务,例如Nudm_UEAuthentication,来向UDM发送通知;或者AUSF可以通过调用UDM新增的服务来向UDM发送通知,本申请不作限制。
可选地,AUSF可以通过调用UDM提供的某个现有服务,例如通过使用Nudm_UEAuthentication_ResultConfirmation Request,来通知UDM,UE的认证状态或者认证结果或更新UDM处,UE的认证状态或者认证结果;或者AUSF可以通过调用UDM新增的服务来通知UDM或者更新UDM处,UE的认证状态或者认证结果,本申请不作限制。
S1411、UDM在接收到AUSF的UE认证状态或认证结果的通知或更新之后,UDM保存或者更新UE的认证状态或认证结果。
本实施例中,SEAF/AMF收到安全模式完成/拒绝消息之后,向AUSF通知UE的认证状态,或,UE的认证结果,再由AUSF向UDM通知UE的认证状态,或,UE的认证结果,使得UDM及时获得或更新UE的认证状态,和/或,认证结果,防止拜访网络欺诈。
以上结合图2至图14详细说明了本申请实施例的认证流程中的参数保护方法,基于与上述参数保护方法的同一发明构思,如图15所示,本申请实施例还提供了一种装置1500的结构示意图。该装置包括处理模块1501,接收模块1502和发送模块1503。
该装置1500可以用于UE,也可以是UE,该装置可以执行上述各个方法实施例中UE所执行的操作。以图5中的方法实施例为例,接收模块1502用于接收SEAF/AMF发送的携带ABBA和/或ngKSI等安全相关参数的认证请求消息,还可以用于接收SEAF/AMF发送的NAS SMC消息;处理模块1501用于验证ABBA和/或ngKSI等安全相关参数的完整性,还可以用于SMC验证;发送模块1503用于向SEAF/AMF发送认证响应消息,还可以用于向SEAF/AMF发送NAS SMC响应。
该装置1500还可以用于SEAF/AMF,也可以是SEAF/AMF,该装置可以执行上述各个方法实施例中SEAF/AMF所执行的操作。以图5中的方法实施例为例,接收模块1502可用于接收AUSF发送的安全密钥;处理模块1501可用于使用来自AUSF的安全密钥对ABBA和/或ngKSI等安全相关参数进行完整性保护;发送模块1503可用于向UE发送携带ABBA和/或ngKSI等安全相关参数和第一消息认证码的认证请求消息。
该装置1500还可以用于AUSF,也可以是AUSF,该装置可以执行上述各个方法实施例中AUSF所执行的操作。以图5中的方法实施例为例,接收模块1502可用于接收UDM发送的认证向量和可选的用户永久标识;处理模块1501可以用于生成用于完整性保护ABBA和/或ngKSI等安全相关参数的安全密钥;发送模块1503可以用于向SEAF/AMF发送安全密钥。
该装置1500还可以用于UDM,也可以是UDM,该装置可以执行上述各个方法实施例中UDM所执行的操作。以图5中的方法实施例为例,接收模块1502可用于接收AUSF发送的认证请求;处理模块1501可用于生成认证向量;发送模块1503可用于向AUSF发送处理模块生成的认证向量。
基于与方法实施例同一发明构思,本申请实施例还提供了一种设备。参见图16,该设备1600包括处理器1601、通信接口1602和存储器1603。
本申请实施例中不限定上述通信接口1602、处理器1601以及存储器1603之间的具体连接介质。本申请实施例在图16中以通信接口1602、处理器1601以及存储器1603之间通过总线1604连接,总线1604在图16中以粗线表示,其他部件之间的连接方式,仅是进行示意性说明,并不引以为限。该总线1604可以分为地址总线、数据总线、控制总线等。为便于表示,图16中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
处理器1601用于执行程序指令,当程序被执行时,使得处理器1601执行上述实施例提供的各个授权方法中UE、SEAF/AMF、AUSF或UDM执行的操作。处理器1601可以但不限于是中央处理器(Central Processing Unit,CPU),网络处理器(Network Processor,NP)或者CPU和NP的组合。在处理器1601是CPU的情况下,该CPU可以是单核CPU,也可以是多核CPU。
处理器1601还可以进一步包括硬件芯片。上述硬件芯片可以是专用集成电路(Application-specific Integrated Circuit,ASIC),可编程逻辑器件(Programmable Logic Device,PLD)或其组合。上述PLD可以是复杂可编程逻辑器件(Complex Programmable Logic Device,CPLD),现场可编程逻辑门阵列(Field-programmable Gate Array,FPGA),通用阵列逻辑(Generic Array Logic,GAL)或其任意组合。
通信接口1602用于在处理器1601的控制下与其他设备进行通信,例如发送数据和/或接收数据,上述图15中的发送模块和接收模块可以通过通信接口1602来实现。该通信接口也可以是通信电路或输入输出电路。
存储器1603用于存储处理器1601所执行的程序。存储器1603可以包括但不限于是随机存储记忆体(Random Access Memory,RAM)、只读存储器(Read-Only Memory,ROM)、可擦除可编程只读存储器(Erasable Programmable Read Only Memory,EPROM)、便携式只 读存储器(Compact Disc Read-Only Memory,CD-ROM)、快闪存储器(flash memory)、硬盘(hard disk drive,HDD)或固态硬盘(solid-state drive,SSD);存储器1603还可以包括上述种类存储器的任意组合。
基于与方法实施例同一发明构思,本申请实施例还提供了一种通信设备1700,该通信设备1700可以是终端设备也可以是芯片。该通信设备1700可以用于执行上述方法实施例中由用户设备所执行的动作。
当该通信设备1700为终端设备时,图17示出了一种简化的终端设备的结构示意图。便于理解和图示方便,图17中,终端设备以用户设备作为例子,例如手机。如图17所示,终端设备包括处理器、存储器、控制电路、天线以及输入输出装置。处理器主要用于对通信协议以及通信数据进行处理,以及对终端设备进行控制,执行软件程序,处理软件程序的数据等。存储器主要用于存储软件程序和数据。射频电路主要用于基带信号与射频信号的转换以及对射频信号的处理。天线主要用于收发电磁波形式的射频信号。输入输出装置,例如触摸屏、显示屏,键盘等主要用于接收用户输入的数据以及对用户输出数据。需要说明的是,有些种类的终端设备可以不具有输入输出装置。为便于说明,图17中仅示出了一个存储器和处理器,在实际的终端设备产品中,可以存在一个或多个处理器和一个或多个存储器。存储器也可以称为存储介质或者存储设备等。存储器可以独立于处理器设置,也可以与处理器集成在一起,本申请实施例对此不做限制。
作为示例,如图17所示,将具有收发功能的天线和射频电路记为收发单元1701,将具有处理功能的处理器记为处理单元1702。即终端设备包括收发单元1701和处理单元1702。收发单元1701也可以称为收发器、收发机、收发装置等。处理单元1702也可以称为处理器,处理单板,处理模块、处理装置等。可选地,可以将收发单元1701中用于实现接收功能的器件视为接收单元,将收发单元1701中用于实现发送功能的器件视为发送单元,即收发单元1701包括接收单元和发送单元。收发单元有时也可以称为收发机、收发器、或收发电路等。接收单元有时也可以称为接收机、接收器、或接收电路等。发送单元有时也可以称为发射机、发射器或者发射电路等。
例如,在一种实现方式中,收发单元1701还用于执行图5中所示的步骤S505中用户设备侧的接收操作,和/或收发单元1701还用于执行用户设备侧的其他收发步骤。处理单元1702用于执行图5中所示的步骤S506,和/或处理单元1702还用于执行终端设备侧的其他处理步骤。
又例如,在一种实现方式中,收发单元1701还用于执行图7中所示的步骤S704中终端设备侧的接收操作,和/或收发单元1701还用于执行用户设备侧的其他收发步骤。处理单元1702用于执行图7中所示的步骤S705,和/或处理单元1702还用于执行终端设备侧的其他处理步骤。
应理解,图17仅为示例而非限定,上述包括收发单元和处理单元的终端设备可以不依赖于图17所示的结构。
当该通信设备1700为芯片时,该芯片包括收发单元和处理单元。其中,收发单元可以是输入输出电路或通信接口;处理单元可以为该芯片上集成的处理器或者微处理器或者集成电路。
本申请实施例提供了一种通信设备,该设备包括用于收发数据的通信接口以及与所述通 信接口耦合的处理器,其中处理器执行上述实施例提供的方法,该处理器还通过通信接口执行上述实施例中涉及的数据收发。
本申请实施例提供了一种非易失性计算机可读存储介质,该非易失性计算机可读存储介质存储有计算机程序,该计算机程序包括用于执行上述实施例提供的方法的指令。
本申请实施例提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述实施例提供的方法。
本领域内的技术人员应明白,本申请的实施例可提供为方法、装置、设备(系统)或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、装置、设备(系统)和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图中的每一流程。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
以上所述,仅为本申请的一些具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可对这些实施例做出另外的变更和修改。因此,所附权利要求意欲解释为包括上述实施例以及落入本申请范围的说是有变更和修改。因此,本申请保护范围应以所述权利要求的保护范围为准。
Claims (42)
- 一种认证流程中的参数保护方法,其特征在于,所述方法包括:用户设备接收安全锚功能网元SEAF发送的认证请求消息;所述认证请求消息包括架构间抗降维参数ABBA;所述用户设备对所述ABBA进行完整性验证。
- 根据权利要求1所述的方法,其特征在于,所述方法还包括:若所述ABBA的完整性验证成功,所述用户设备向所述SEAF发送认证响应消息。
- 根据权利要求1所述的方法,其特征在于,所述方法还包括:若所述ABBA的完整性验证失败,所述用户设备向所述SEAF发送指示信息,所述指示信息用于指示完整性验证失败。
- 根据权利要求1至3任一所述的方法,其特征在于,所述认证请求消息还包括所述ABBA的第一消息认证码;所述用户设备对所述ABBA进行完整性验证,包括:所述用户设备利用安全密钥对所述ABBA进行完整性保护以生成所述ABBA的第二消息认证码;所述用户设备根据所述第一消息认证码和所述第二消息认证码对所述ABBA的完整性进行验证。
- 根据权利要求4所述的方法,其特征在于,所述用户设备利用所述安全密钥对所述ABBA进行完整性保护以生成所述ABBA的第二消息认证码之前,所述方法还包括:所述用户设备根据根密钥K生成安全密钥(CK,IK);其中,所述CK为加密密钥;所述IK为完整性保护密钥;所述用户设备利用所述安全密钥对所述ABBA进行完整性保护以生成所述ABBA的第二消息认证码,包括:所述用户设备利用所述安全密钥(CK,IK)对所述ABBA进行完整性保护以生成所述ABBA的第二消息认证码。
- 根据权利要求4所述的方法,其特征在于,所述用户设备利用所述安全密钥对所述ABBA进行完整性保护以生成所述ABBA的第二消息认证码之前,所述方法还包括:所述用户设备根据根密钥K生成第一中间密钥(CK,IK);其中,所述CK为第一中间加密密钥;所述IK为第一中间完整性保护密钥;所述用户设备根据CK,IK以及服务网络名称获取安全密钥(CK’,IK’);所述用户设备利用所述安全密钥对所述ABBA进行完整性保护以生成所述ABBA的第二消息认证码,包括:所述用户设备利用所述安全密钥(CK’,IK’)对所述ABBA进行完整性保护以生成所述ABBA的第二消息认证码。
- 根据权利要求4所述的方法,其特征在于,所述用户设备利用所述安全密钥对所述ABBA进行完整性保护以生成所述ABBA的第二消息认证码之前,所述方法还包括:所述用户设备根据根密钥K生成第一中间密钥(CK,IK);其中,所述CK为第一 中间加密密钥;所述IK为第一中间完整性保护密钥;所述用户设备根据CK,IK以及服务网络名称获取安全密钥K AUSF;所述用户设备利用所述安全密钥对所述ABBA进行完整性保护以生成所述ABBA的第二消息认证码,包括:所述用户设备利用所述安全密钥K AUSF对所述ABBA进行完整性保护以生成所述ABBA的第二消息认证码。
- 根据权利要求6或7所述的方法,其特征在于,所述服务网络名称包括服务编码和服务网络标识。
- 根据权利要求4所述的方法,其特征在于,所述用户设备利用所述安全密钥对所述ABBA进行完整性保护以生成所述ABBA的第二消息认证码之前,所述方法还包括:所述用户设备根据根密钥K生成第一中间密钥(CK,IK);其中,所述CK为第一中间加密密钥;所述IK为第一中间完整性保护密钥;所述用户设备根据CK,IK以及接入类型标识获取安全密钥。
- 根据权利要求9所述的方法,其特征在于,所述接入类型标识为3GPP类型标识或非3GPP类型标识。
- 根据权利要求1至3任一所述的方法,其特征在于,所述用户设备对所述ABBA进行完整性验证,包括:所述用户设备利用安全密钥对所述ABBA进行完整性验证;其中,所述安全密钥为下述密钥中的至少一种:鉴权服务功能密钥K AUSF、加密密钥CK、完整性密钥IK、中间加密密钥CK’、中间完整性密钥IK’、5G认证和密钥协商(5G AKA)响应RES*、5G AKA哈希响应HRES*、主密钥MK、鉴权服务功能密钥K AUSF的一部分、加密密钥CK的一部分、完整性密钥IK的一部分、中间加密密钥CK’的一部分、中间完整性密钥IK’的一部分、5G AKA响应RES*的一部分、5G AKA哈希响应HRES*的一部分、主密钥MK的一部分。
- 根据权利要求1所述的方法,其特征在于,所述方法还包括:所述用户设备接收所述SEAF发送的验证结果;若所述验证结果为身份验证成功,所述用户设备根据锚密钥、用户永久标识符(SUPI)以及所述ABBA获取下层密钥K AMF;以及所述用户设备根据所述K AMF生成非接入层密钥。
- 一种认证装置,其特征在于,包括:接收模块,用于接收所述安全锚点功能网元SEAF发送的认证请求消息;所述认证请求消息包括架构间抗降维参数ABBA;处理模块,用于对所述ABBA进行完整性验证。
- 根据权利要求13所述的装置,其特征在于,所述装置还包括:发送模块,用于在所述ABBA的完整性验证成功时,向所述SEAF发送认证响应消息。
- 根据权利要求13所述的装置,其特征在于,所述装置还包括:发送模块,用于在所述ABBA的完整性验证失败时,向所述SEAF发送指示信息,所述指示信息用于指示完整性验证失败。
- 根据权利要求13至15任一所述的装置,其特征在于,所述认证请求消息还包括所述ABBA的第一消息认证码;所述处理模块,还用于利用所述安全密钥对所述ABBA进行完整性保护以生成所述ABBA的第二消息认证码;以及根据所述第一消息认证码和所述第二消息认证码对所述ABBA的完整性进行验证。
- 根据权利要求16所述的装置,其特征在于,所述处理模块,还用于根据根密钥K生成安全密钥(CK,IK);其中,所述CK为加密密钥;所述IK为完整性保护密钥;所述处理模块,具体用于根据所述安全密钥(CK,IK)对所述ABBA进行完整性保护以生成所述ABBA的第二消息认证码。
- 根据权利要求16所述的装置,其特征在于,所述处理模块,还用于根据根密钥K生成第一中间密钥(CK,IK);其中,所述CK为第一中间加密密钥;所述IK为第一中间完整性保护密钥;根据CK,IK以及服务网络名称获取安全密钥(CK’,IK’);以及所述处理模块,具体用于根据所述安全密钥(CK’,IK’)对所述ABBA进行完整性保护以生成所述ABBA的第二消息认证码。
- 根据权利要求16所述的装置,其特征在于,所述处理模块,还用于根据根密钥K生成第一中间密钥(CK,IK);其中,所述CK为第一中间加密密钥;所述IK为第一中间完整性保护密钥;根据CK,IK以及服务网络名称获取安全密钥K AUSF;以及所述处理模块,具体用于利用所述安全密钥K AUSF对所述ABBA进行完整性保护以生成所述ABBA的第二消息认证码。
- 根据权利要求18或19所述的装置,其特征在于,所述服务网络名称包括服务编码和服务网络标识。
- 根据权利要求16所述的装置,其特征在于,所述处理模块,还用于根据根密钥K生成第一中间密钥(CK,IK);其中,所述CK为第一中间加密密钥;所述IK为第一中间完整性保护密钥;根据CK,IK以及接入类型标识获取安全密钥;以及所述处理模块,具体用于利用所述安全密钥对所述ABBA进行完整性保护以生成所述ABBA的第二消息认证码。
- 根据权利要求21所述的装置,其特征在于,所述接入类型标识为3GPP类型标识或非3GPP类型标识。
- 根据权利要求13至15任一所述的装置,其特征在于,所述处理模块用于对所述ABBA进行完整性验证,包括:所述处理模块利用安全密钥对所述ABBA进行完整性验证;其中,所述安全密钥为下述密钥中的至少一种:认证服务器功能密钥K AUSF、加密密钥CK、完整性密钥IK、中间加密密钥CK’、中间完整性密钥IK’、5G认证和密钥协商(5G AKA)响应RES*、5G AKA哈希响应HRES*、主密钥MK、认证服务器功能密钥KAUSF的一部分、加密密钥CK的一部分、完整性密钥IK的一部分、中间加密密钥CK’的一部分、中间完整性密钥IK’的一部分、5G AKA响应RES*的一部分、5G AKA哈希响应HRES*的一部 分、主密钥MK的一部分。
- 根据权利要求13所述的装置,其特征在于,所述接收模块还用于接收所述SEAF发送的验证结果;若所述验证结果为身份验证成功,所述处理模块根据锚密钥、用户永久标识符(SUPI)以及所述ABBA获取下层密钥K AMF;以及所述用户设备根据所述K AMF生成非接入层密钥。
- 一种认证过程中参数保护的方法,所述方法包括:安全锚点功能网元SEAF向用户设备UE发送认证请求消息,所述认证请求消息包含架构间抗降维参数ABBA;所述ABBA经完整性保护,以使得所述UE接收所述认证请求消息后对所述ABBA进行完整性验证。
- 根据权利要求25所述的方法,其特征在于,还包括:所述SEAF接收所述UE发送的认证响应消息。
- 根据权利要求25所述的方法,其特征在于,还包括:所述SEAF接收所述UE发送的指示信息,所述指示信息用于指示完整性验证失败。
- 根据权利要求25至27任一项所述的方法,其特征在于,还包括:所述认证请求消息还包括所述ABBA的第一消息认证码,所述第一消息认证码用于所述UE对所述ABBA进行完整性验证。
- 根据权利要求28所述的方法,其特征在于,还包括:所述SEAF使用安全密钥生成所述ABBA的消息认证码,作为第一消息认证码。
- 根据权利要求28或29所述的方法,其特征在于:所述安全密钥为所述SEAF生成的安全密钥;或者,所述安全密钥为所述SEAF从鉴权服务功能网元AUSF接收的安全密钥。
- 根据权利要求29或30所述的方法,其特征在于,所述安全密钥为下述密钥中的至少一种:鉴权服务功能密钥K AUSF、加密密钥CK、完整性密钥IK、中间加密密钥CK’、中间完整性密钥IK’、5G认证和密钥协商(5G AKA)响应RES*、5G AKA哈希响应HRES*、主密钥MK、鉴权服务功能密钥K AUSF的一部分、加密密钥CK的一部分、完整性密钥IK的一部分、中间加密密钥CK’的一部分、中间完整性密钥IK’的一部分、5G AKA响应RES*的一部分、5G AKA哈希响应HRES*的一部分、主密钥MK的一部分。
- 一种认证装置,其特征在于,包括:发送模块用于向用户设备UE发送认证请求消息,所述认证请求消息包含架构间抗降维参数ABBA;所述ABBA经完整性保护,以使得所述UE接收所述认证请求消息后对所述ABBA进行完整性验证。
- 根据权利要求32所述的装置,其特征在于,还包括:接收模块,用于接收所述UE发送的认证响应消息。
- 根据权利要求32所述的装置,其特征在于,还包括:接收模块,用于接收所述UE发送的指示信息,所述指示信息用于指示完整性验证失败。
- 根据权利要求32至34任一项所述的装置,其特征在于:所述认证请求消息还包括所述ABBA的第一消息认证码,所述第一消息认证码用于所述UE对所述ABBA进行完整性验证。
- 根据权利要求35所述的装置,其特征在于,还包括:处理模块,用于使用安全密钥生成所述ABBA的消息认证码,作为第一消息认证码。
- 根据权利要求35或36所述的装置,其特征在于:所述安全密钥为所述认证装置生成的安全密钥;或者,所述安全密钥为所述认证装置从鉴权服务功能网元AUSF接收的安全密钥。
- 根据权利要求36或37所述的装置,其特征在于,
- 所述安全密钥为下述密钥中的至少一种:鉴权服务功能密钥K AUSF、加密密钥CK、完整性密钥IK、中间加密密钥CK’、中间完整性密钥IK’、5G认证和密钥协商(5G AKA)响应RES*、5G AKA哈希响应HRES*、主密钥MK、鉴权服务功能密钥K AUSF的一部分、加密密钥CK的一部分、完整性密钥IK的一部分、中间加密密钥CK’的一部分、中间完整性密钥IK’的一部分、5G AKA响应RES*的一部分、5G AKA哈希响应HRES*的一部分、主密钥MK的一部分。一种设备,其特征在于,所述设备包括:用于存储计算机指令的存储单元、用于收发数据的通信接口,以及与所述存储单元和通信接口耦合的处理器;当所述计算机指令被运行时,所述处理器执行权利要求1~12任意一项所述方法;或者执行权利要求25~31任意一项所述方法。
- 一种设备,其特征在于,所述设备包括用于收发数据的通信接口以及与所述通信接口耦合的处理器;所述处理器用于执行权利要求1~12任意一项所述方法;其中,所述处理器通过所述通信接口执行权利要求1~12任意一项中所涉及的数据收发;或者所述处理器用于执行权利要求25~31任意一项所述方法;其中,所述处理器通过所述通信接口执行权利要求25~31任意一项中所涉及的数据收发。
- 一种非易失性计算机可读存储介质,其特征在于,所述非易失性计算机可读存储介质中存储有计算机程序,当所述所述计算机程序被执行时,权利要求1~12任意一项所述的方法会被执行;或者权利要求25~31任意一项所述的方法会被执行。
- 一种计算机程序产品,其特征在于,当所述计算机程序产品在计算机设备上运行时,使得权利要求1~12所述的任意一项所述的方法会被运行执行;或者权利要求25~31任意一项所述的方法会被执行。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911060007.1 | 2019-11-01 | ||
CN201911060007.1A CN112788598B (zh) | 2019-11-01 | 2019-11-01 | 一种保护认证流程中参数的方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2021083012A1 true WO2021083012A1 (zh) | 2021-05-06 |
Family
ID=75715672
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/CN2020/122598 WO2021083012A1 (zh) | 2019-11-01 | 2020-10-21 | 一种保护认证流程中参数的方法及装置 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN112788598B (zh) |
WO (1) | WO2021083012A1 (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115835207A (zh) * | 2021-09-19 | 2023-03-21 | 华为技术有限公司 | 通信方法和通信设备 |
CN116528234B (zh) * | 2023-06-29 | 2023-09-19 | 内江师范学院 | 一种虚拟机的安全可信验证方法及装置 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109803262A (zh) * | 2017-11-17 | 2019-05-24 | 华为技术有限公司 | 一种网络参数的传输方法及装置 |
WO2019160069A1 (en) * | 2018-02-16 | 2019-08-22 | Nec Corporation | Method to select the right udm instance and ensure the udm instance security |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090027222A1 (en) * | 2007-07-23 | 2009-01-29 | Sony Ericsson Mobile Communications Ab | Providing services to a mobile device in a personal network |
KR20120091635A (ko) * | 2011-02-09 | 2012-08-20 | 삼성전자주식회사 | 통신 시스템에서 인증 방법 및 장치 |
US10637858B2 (en) * | 2018-02-23 | 2020-04-28 | T-Mobile Usa, Inc. | Key-derivation verification in telecommunications network |
CN110366178A (zh) * | 2018-04-04 | 2019-10-22 | 中兴通讯股份有限公司 | 一种认证方法及网元 |
-
2019
- 2019-11-01 CN CN201911060007.1A patent/CN112788598B/zh active Active
-
2020
- 2020-10-21 WO PCT/CN2020/122598 patent/WO2021083012A1/zh active Application Filing
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109803262A (zh) * | 2017-11-17 | 2019-05-24 | 华为技术有限公司 | 一种网络参数的传输方法及装置 |
WO2019160069A1 (en) * | 2018-02-16 | 2019-08-22 | Nec Corporation | Method to select the right udm instance and ensure the udm instance security |
Non-Patent Citations (2)
Title |
---|
NTT DOCOMO: "Editorials to 33.501", 3GPP TSG-SA WG3 MEETING #91, S3-181439, 20 April 2018 (2018-04-20), XP051433279 * |
QUALCOMM INCORPORATED: "Correcting the anti-bidding down parameter in figure 6.7.2-1", 3GPP TSG-SA WG3 MEETING #91, S3-181319, 20 April 2018 (2018-04-20), XP051438422 * |
Also Published As
Publication number | Publication date |
---|---|
CN112788598B (zh) | 2022-11-11 |
CN112788598A (zh) | 2021-05-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113225176B (zh) | 密钥获取方法及装置 | |
EP3668042B1 (en) | Registration method and apparatus based on service-oriented architecture | |
Chen et al. | Lightweight and provably secure user authentication with anonymity for the global mobility network | |
KR102024653B1 (ko) | 사용자 장비(ue)를 위한 액세스 방법, 디바이스 및 시스템 | |
US9668139B2 (en) | Secure negotiation of authentication capabilities | |
AU2020200523B2 (en) | Methods and arrangements for authenticating a communication device | |
CN112514436B (zh) | 发起器和响应器之间的安全的、被认证的通信 | |
WO2020151581A1 (zh) | 生成密钥的方法和装置 | |
CN109788480B (zh) | 一种通信方法及装置 | |
KR20200003082A (ko) | 키를 획득하기 위한 방법과 디바이스 및 통신 시스템 | |
CN104982053B (zh) | 用于获得认证无线设备的永久身份的方法和网络节点 | |
WO2020177502A1 (zh) | 一种认证结果更新的方法和通信装置 | |
CN112087753B (zh) | 认证的方法、装置及系统 | |
CN110366175B (zh) | 安全协商方法、终端设备和网络设备 | |
EP3817271A1 (en) | Extensible authentication method and device based on generic bootstrapping architecture, and storage medium | |
CN108683690A (zh) | 鉴权方法、用户设备、鉴权装置、鉴权服务器和存储介质 | |
WO2021083012A1 (zh) | 一种保护认证流程中参数的方法及装置 | |
CN110121196A (zh) | 一种安全标识管理方法及装置 | |
WO2021089035A1 (zh) | 一种签约数据的管理方法、装置 | |
CN111866870B (zh) | 密钥的管理方法和装置 | |
US20220159457A1 (en) | Providing ue capability information to an authentication server | |
Hemavathi et al. | Ds2an: Deep stacked sparse autoencoder for secure and fast authentication in hetnets | |
WO2019141135A1 (zh) | 支持无线网络切换的可信服务管理方法以及装置 | |
CN113039766A (zh) | 无线网络中的优化的等值同时认证(sae)认证 | |
CN113285805B (zh) | 一种通信方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 20880724 Country of ref document: EP Kind code of ref document: A1 |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
122 | Ep: pct application non-entry in european phase |
Ref document number: 20880724 Country of ref document: EP Kind code of ref document: A1 |