WO2017185999A1 - 密钥分发、认证方法,装置及系统 - Google Patents

密钥分发、认证方法,装置及系统 Download PDF

Info

Publication number
WO2017185999A1
WO2017185999A1 PCT/CN2017/080548 CN2017080548W WO2017185999A1 WO 2017185999 A1 WO2017185999 A1 WO 2017185999A1 CN 2017080548 W CN2017080548 W CN 2017080548W WO 2017185999 A1 WO2017185999 A1 WO 2017185999A1
Authority
WO
WIPO (PCT)
Prior art keywords
random number
key
terminal device
verification code
authentication server
Prior art date
Application number
PCT/CN2017/080548
Other languages
English (en)
French (fr)
Inventor
吴�荣
张博
甘露
王海光
Original Assignee
华为技术有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 华为技术有限公司 filed Critical 华为技术有限公司
Priority to EP17788651.2A priority Critical patent/EP3422629B1/en
Publication of WO2017185999A1 publication Critical patent/WO2017185999A1/zh
Priority to US16/169,416 priority patent/US11240218B2/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • H04L9/0827Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) involving distinctive intermediate devices or communication paths
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • H04L9/083Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) involving central third party, e.g. key distribution center [KDC] or trusted third party [TTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/06Network architectures or network communication protocols for network security for supporting key management in a packet data network
    • H04L63/062Network architectures or network communication protocols for network security for supporting key management in a packet data network for key distribution, e.g. centrally by trusted party
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0853Network architectures or network communication protocols for network security for authentication of entities using an additional device, e.g. smartcard, SIM or a different communication terminal
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0869Network architectures or network communication protocols for network security for authentication of entities for achieving mutual authentication
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0892Network architectures or network communication protocols for network security for authentication of entities by using authentication-authorization-accounting [AAA] servers or protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0838Key agreement, i.e. key establishment technique in which a shared key is derived by parties as a function of information contributed by, or associated with, each of these
    • H04L9/0841Key agreement, i.e. key establishment technique in which a shared key is derived by parties as a function of information contributed by, or associated with, each of these involving Diffie-Hellman or related key agreement protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0866Generation of secret information including derivation or calculation of cryptographic keys or passwords involving user or device identifiers, e.g. serial number, physical or biometrical information, DNA, hand-signature or measurable physical characteristics
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0869Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0872Generation of secret information including derivation or calculation of cryptographic keys or passwords using geo-location information, e.g. location data, time, relative position or proximity to other entities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3236Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
    • H04L9/3242Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions involving keyed hash functions, e.g. message authentication codes [MACs], CBC-MAC or HMAC
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3271Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using challenge-response
    • H04L9/3273Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using challenge-response for mutual authentication
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2463/00Additional details relating to network architectures or network communication protocols for network security covered by H04L63/00
    • H04L2463/061Additional details relating to network architectures or network communication protocols for network security covered by H04L63/00 applying further key derivation, e.g. deriving traffic keys from a pair-wise master key
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2463/00Additional details relating to network architectures or network communication protocols for network security covered by H04L63/00
    • H04L2463/062Additional details relating to network architectures or network communication protocols for network security covered by H04L63/00 applying encryption of the keys

Definitions

  • the present application relates to the field of communications, and in particular, to a key distribution and authentication method, apparatus, and system.
  • the smart device and the network usually authenticate each other based on the root key to establish a secure channel.
  • the root key used in the mutual authentication process is configured or deployed by the network operator in advance in the smart device and the network.
  • the existing authentication methods are based on the Authentication and Key Agreement (AKA) proposed by the International Mobile Telecommunications Organization, but the authentication method based on the AKA protocol depends on the Universal Subscriber Identity Module (Universal Subscriber Identity Module).
  • AKA Authentication and Key Agreement
  • the root key in the USIM card is called the USIM card.
  • the present application provides a key distribution and authentication method, device, and system for solving the problem that the existing root key deployment and the authentication method cannot be applied to a smart device that does not support the USIM card.
  • the application provides a key distribution method, including:
  • the service center server distributes different keys for each terminal device, and then each terminal device performs mutual authentication with the network authentication center based on the respective keys, and finally obtains a communication key between the terminal device and the function network element, thereby providing secure communication for the terminal device.
  • the method of establishing the channel has a wide range of applications and reduces the complexity of the operator network.
  • the process of generating the first key includes: the service center server generates a first key of the terminal device by using a key generation function according to the first parameter set. a key; the first parameter set includes at least one of a first key random number, a first key fresh parameter, a preset time parameter of the first key, and a shared key, and the shared key is a user management server and The shared key of the business center server.
  • the first key request message includes at least one of a device identifier of the terminal device, an identifier of the user management server, a network identifier, and a service parameter.
  • Generating The process of a key includes: the service center server generates a first key of the terminal device by using a key generation function according to the second parameter set; wherein the second parameter set includes the first key random number, and the first key is fresh
  • the first key of the terminal device is generated by combining the plurality of parameters, such as the second parameter set, so that the service center server can generate different first keys for the terminal devices belonging to different user management servers for implementing different services.
  • the process of generating the first key includes: determining, by the service center server, a service random number, and using the service random number as the first key of the terminal device .
  • the first key request message includes a device identifier of the terminal device
  • the process of generating the first key includes: the service center server according to the preset global And the first key of the terminal device is the first key of the terminal device, and the device identifier of the terminal device is the first The first public key of the terminal device corresponding to the private key.
  • the first key request message includes a device identifier of the terminal device
  • the process of generating the first key includes: the service center server according to the preset global a private key, a device identifier of the terminal device, and a third parameter set, and generating a first key of the terminal device based on the device identity generation algorithm;
  • the third parameter set includes at least one of a first key random number, a first key fresh parameter, and a preset time parameter of the first key; the first key of the terminal device is the first of the terminal device.
  • the private key, the device identifier of the terminal device is the first public key of the terminal device corresponding to the first private key.
  • the method further includes: The central server sends the first key of the terminal device to the network authentication server to cause the network authentication server to perform mutual authentication with the terminal device according to the first key.
  • the method before the service center server sends the first key to the network authentication server, the method further includes:
  • the service center server receives the second key request message sent by the network authentication server, and the second key request message is sent after the network authentication server receives the authentication request message sent by the terminal device.
  • the application provides a key distribution method, including:
  • the user management server sends a first key request message to the service center server, where the first key request message is used to instruct the service center server to generate a first key of the terminal device managed by the user management server; and receive the terminal device sent by the service center server And the first key of the terminal device is sent to the terminal device to enable the terminal device to perform mutual authentication with the network authentication server according to the first key.
  • the first key is a first private key of the terminal device
  • the device identifier of the terminal device is the first end of the terminal device corresponding to the first private key. Public key.
  • the method further includes: the user management server sends the fourth parameter set to the terminal device, where the fourth parameter set includes the identifier of the user management server, the network identifier At least one of the business parameters.
  • the application provides a key authentication method, including:
  • the terminal device receives the first key of the terminal device sent by the user management server; performs mutual authentication with the network authentication server according to the first key to obtain a communication key of the terminal device and the function network element.
  • the communication key for secure communication can be obtained by mutual authentication of the terminal device and the network authentication server.
  • the mutual authentication process specifically includes:
  • the terminal device determines the first random number, and performs encryption processing on the first random number by using the first key to obtain the first random number after the encryption process, and sends an authentication request message to the network authentication server, where the authentication request message includes the encryption process.
  • the terminal device receives the second message verification code sent by the network authentication server, and the second random number after the encryption process, and decrypts the encrypted second random number according to the first key to obtain a second random number, and the second after the encryption process
  • the random number is obtained by the network authentication server using the first key to encrypt the second random number
  • the terminal device After verifying that the second message verification code is passed, the terminal device generates a communication key of the terminal device by using a key generation function according to at least one of the first key, the first random number, and the second random number, according to the communication secret And the first random number and the second random number are generated by the message verification code generating function, and the first message verification code is sent to the network authentication server to The network authentication server is caused to verify the first message verification code.
  • the mutual authentication process specifically includes:
  • the terminal device determines the first random number, and sends an authentication request message to the network authentication server, where the authentication request message includes the first random number and the device identifier of the terminal device;
  • the terminal device After verifying that the second message verification code is passed, the terminal device generates a communication key of the terminal device by using a key generation function according to at least one of the first random number and the second random number, and the first key, according to the communication. And the first random number and the second random number are generated by the message verification code generating function, and the first message verification code is sent to the network authentication server. So that the network authentication server verifies the first message verification code.
  • the mutual authentication process specifically includes:
  • the terminal device determines the first random number, and sends an authentication request message to the network authentication server, where the authentication request message includes the first random number and the device identifier of the terminal device;
  • the terminal device receives the second random number sent by the network authentication server, the encrypted communication key, and the second message verification code, decrypts the encrypted communication key according to the first key, obtains a communication key, and performs encryption processing.
  • the subsequent communication key is obtained by the network authentication server using the first key to encrypt the communication key;
  • the terminal device After verifying the verification of the second message verification code, the terminal device generates a first message verification code by using a message verification code generation function according to any one of the communication key and the first key, and the first random number and the second random number. And sending the first message verification code to the network authentication server, so that the network authentication server verifies the first message verification code.
  • the mutual authentication process specifically includes:
  • the terminal device determines a first random number, a first transmission parameter of the DH protocol, and sends an authentication request message to the network authentication server, where the authentication request message includes a first random number, a first transmission parameter, and a device identifier of the terminal device;
  • the terminal device After verifying that the second message verification code is passed, the terminal device generates a communication key of the terminal device by using a key generation function according to at least one of the first random number and the second random number, and the third transmission parameter, according to the communication. And the first random number and the second random number are generated by the message verification code generating function, and the first message verification code is sent to the network authentication server. So that the network authentication server verifies the first message verification code.
  • the mutual authentication process specifically includes:
  • the terminal device determines the first random number, performs encryption processing on the first random number by using the first key, and obtains the first random number after the encryption process, and generates a message verification code generation function according to the first key and the first random number. And sending, by the first message verification code, an authentication request message to the network authentication server, where the authentication request message includes a first message verification code, a first random number after the encryption process, and a device identifier of the terminal device;
  • the terminal device receives the encrypted second random number and the second message verification code sent by the network authentication server, and decrypts the encrypted second random number according to the first key to obtain a second random number, and the encrypted second The random number is obtained by the network authentication server using the first key to encrypt the second random number;
  • the terminal device After verifying the verification of the second message verification code, the terminal device generates a communication key of the terminal device by using a key generation function according to at least one of the first key, the first random number, and the second random number.
  • the mutual authentication process specifically includes:
  • the terminal device determines the first random number, generates a first message verification code by using the message verification code generating function according to the first key and the first random number, and sends an authentication request message to the network authentication server, where the authentication request message includes the first message verification code.
  • the first random number and the device identifier of the terminal device
  • the terminal device After verifying the verification of the second message verification code, the terminal device generates a communication key of the terminal device by using a key generation function according to at least one of the first random number and the second random number, and the first key.
  • the mutual authentication process specifically includes:
  • the terminal device determines the first random number, generates a first message verification code by using the message verification code generating function according to the first key and the first random number, and sends an authentication request message to the network authentication server, where the authentication request message includes the first message verification code.
  • the first random number and the device identifier of the terminal device
  • the terminal device receives the second random number sent by the network authentication server, the encrypted communication key, and the second message verification code, and the encrypted communication key is obtained by the network authentication server using the first key to encrypt the communication key. ;
  • the terminal device After verifying the verification of the second message verification code, the terminal device decrypts the encrypted communication key according to the first key to obtain a communication key.
  • the mutual authentication process specifically includes:
  • the terminal device determines the first random number, performs encryption processing on the first random number by using the first key, and obtains the first random number after the encryption process, and adopts a secret according to at least one of the first key and the first random number.
  • the key generation function generates a communication key of the terminal device, generates a first message verification code by using a message verification code generation function according to any one of the first key and the communication key, and the first random number, and sends the first message verification code to the network authentication server.
  • An authentication request message where the authentication request message includes a first message verification code, a first random number after the encryption process, and a device identifier of the terminal device;
  • the terminal device receives the second message verification code sent by the network authentication server and the second random number after the encryption process, and decrypts the encrypted second random number according to the first key to obtain a second random number, and the second after the encryption process
  • the random number is obtained by the network authentication server using the first key to encrypt the second random number
  • the terminal device verifies the second message verification code and determines that the verification is passed.
  • the mutual authentication process specifically includes:
  • the terminal device determines a first random number, generates a communication key of the network authentication server by using a key generation function according to the first key and the first random number, according to any one of the first key and the communication key, and a random number, using a message verification code generating function to generate a first message verification code, and sending an authentication request message to the network authentication server, where the authentication request message includes a first message verification code, a first random number, and a device identifier of the terminal device;
  • the terminal device verifies the second message verification code and determines that the verification is passed.
  • the mutual authentication process specifically includes:
  • the terminal device determines a first random number, a first transmission parameter of the DH protocol, generates a first message verification code by using a message verification code generation function according to the first key and the first random number, and sends an authentication request message to the network authentication server, and the authentication is performed.
  • the request message includes a first message verification code, a first random number, a first transmission parameter, and a device identifier of the terminal device;
  • the terminal device generates a communication key of the terminal device by using a key generation function according to at least one of the first random number and the second random number, and the third transmission parameter, and verifies the second message verification code and determines to pass the verification.
  • the method further includes: receiving, by the terminal device, a fourth parameter set sent by the user management server; where the fourth parameter set includes: an identifier of the user management server At least one of a network identifier and a service parameter.
  • a fourth parameter set in the mutual authentication process By adding a fourth parameter set in the mutual authentication process, a plurality of parameters can be referenced in the process of generating the communication key, so that the communication key can be different according to the service of the terminal device and the terminal device, and has diversity.
  • the mutual authentication process specifically includes:
  • the terminal device determines the first random number, and performs encryption processing on the first random number by using the first key to obtain the first random number after the encryption process, and sends an authentication request message to the network authentication server, where the authentication request message includes the encryption process.
  • the authentication request message includes the encryption process.
  • the terminal device receives the encrypted second random number and the second message verification code sent by the network authentication server, and decrypts the encrypted second random number according to the first key to obtain a second random number, and the encrypted second The random number is obtained by the network authentication server using the first key to encrypt the second random number;
  • the terminal device After the terminal device verifies the verification of the second message, the terminal device performs at least one of the first key, the first random number, and the second random number, and at least one of the device identifier of the terminal device and the fourth parameter set.
  • Generating a communication key of the terminal device by using a key generation function, according to at least one of the communication key and the first key, and the device identifier of the terminal device, the fourth parameter set, and the first random The number, the second random number, generates a first message verification code by using a message verification code generation function, and sends the first message verification code to the network authentication server, so that the network authentication server verifies the first message verification code.
  • the thirteenth possible implementation of the third aspect The mutual authentication process specifically includes:
  • the terminal device determines the first random number, and sends an authentication request message to the network authentication server, where the authentication request message includes a first random number, a device identifier of the terminal device, and a fourth parameter set;
  • the terminal device After verifying that the second message verification code is passed, the terminal device adopts a key generation function according to at least one of the first random number, the second random number, the device identifier of the terminal device, and the fourth parameter set, and the first key. Generating a communication key of the terminal device, according to at least one of the communication key, the first key, and the device identifier of the terminal device, the fourth parameter set, and the first random number, the second random number
  • the message verification code generating function generates a first message verification code, and sends the first message verification code to the network authentication server, so that the network authentication server verifies the first message verification code.
  • the mutual authentication process specifically includes:
  • the terminal device determines the first random number, and sends an authentication request message to the network authentication server, where the authentication request message includes a first random number, a device identifier of the terminal device, and a fourth parameter set;
  • the terminal device receives the second random number sent by the network authentication server, the encrypted communication key, and the second message verification code, decrypts the encrypted communication key according to the first key, obtains a communication key, and performs encryption processing.
  • the subsequent communication key is obtained by the network authentication server using the first key to encrypt the communication key;
  • the terminal device After the verification of the second message verification code by the terminal device, according to any one of the communication key and the first key, and at least one of the device identifier of the terminal device, the fourth parameter set, and the first random number And the second random number is generated by using the message verification code generating function to generate the first message verification code, and the first message verification code is sent to the network authentication server, so that the network authentication server verifies the first message verification code.
  • the mutual authentication process specifically includes:
  • the terminal device determines a first random number, a first transmission parameter of the DH protocol, and sends an authentication request message to the network authentication server, where the authentication request message includes a first random number, a first transmission parameter, a device identifier of the terminal device, and a fourth parameter set;
  • the terminal device After the terminal device verifies the verification of the second message, the terminal device generates the key according to the first random number, the second random number, the device identifier of the terminal device, the at least one of the fourth parameter set, and the third transmission parameter. Generating a communication key of the terminal device, according to any one of the communication key and the first key, and at least one of the device identifier of the terminal device, the fourth parameter set, and the first random number, the second random
  • the first verification code is generated by using the message verification code generation function, and the first message verification code is sent to the network authentication server, so that the network authentication server verifies the first message verification code.
  • the mutual authentication process specifically includes:
  • the terminal device determines the first random number, performs encryption processing on the first random number by using the first key, and obtains the first random number after the encryption process, according to the first random number, the device identifier of the terminal device, and the fourth parameter set. At least one item, and the first key, generate a first message verification code by using a message verification code generation function, and send the identification to the network authentication server
  • the authentication request message includes: a first message verification code, a first random number after the encryption process, a device identifier of the terminal device, and a fourth parameter set;
  • the terminal device receives the encrypted second random number and the second message verification code sent by the network authentication server, and decrypts the encrypted second random number according to the first key to obtain a second random number, and the encrypted second The random number is obtained by the network authentication server using the first key to encrypt the second random number;
  • the terminal device After the terminal device verifies the verification of the second message, the terminal device performs at least one of the first key, the first random number, and the second random number, and at least one of the device identifier of the terminal device and the fourth parameter set.
  • the key generation function is used to generate a communication key of the terminal device.
  • the mutual authentication process specifically includes:
  • the network authentication server sends an authentication request message, where the authentication request message includes a first message verification code, a first random number, a device identifier of the terminal device, and a fourth parameter set.
  • the terminal device After the terminal device verifies the verification of the second message, the terminal device generates the key according to the first random number, the second random number, the device identifier of the terminal device, the at least one of the fourth parameter set, and the first key.
  • the function generates a communication key for the terminal device.
  • the mutual authentication process specifically includes:
  • the network authentication server sends an authentication request message, where the authentication request message includes a first message verification code, a first random number, a device identifier of the terminal device, and a fourth parameter set.
  • the terminal device receives the second random number sent by the network authentication server, the encrypted communication key, and the second message verification code, and the encrypted communication key is obtained by the network authentication server using the first key to encrypt the communication key. ;
  • the terminal device After verifying the verification of the second message verification code, the terminal device decrypts the encrypted communication key according to the first key to obtain a communication key.
  • the mutual authentication process specifically includes:
  • the terminal device determines the first random number, performs encryption processing on the first random number by using the first key, and obtains the first random number after the encryption process, according to at least one of the first key, the first random number, and the terminal.
  • Generating at least one of a device identifier and a fourth parameter set of the device, using a key generation function to generate a communication key of the terminal device, according to any one of the first key and the communication key, and the first random number, the terminal At least one of the device identifier and the fourth parameter set of the device generates a first message verification code by using a message verification code generating function, and sends an authentication request message to the network authentication server, where the authentication request message includes the first message verification code and the encryption process.
  • the terminal device receives the second message verification code sent by the network authentication server and the second random number after the encryption process, and the root Decrypting the encrypted second random number according to the first key to obtain a second random number, and the second random number after the encryption process is obtained by the network authentication server using the first key to encrypt the second random number;
  • the terminal device verifies the second message verification code and determines that the verification is passed.
  • the mutual authentication process specifically includes:
  • the network authentication server sends an authentication request message, where the authentication request message includes a first message verification code, a first random number, a device identifier of the terminal device, and a fourth parameter set.
  • the terminal device verifies the second message verification code and determines that the verification is passed.
  • the mutual authentication process specifically includes:
  • the terminal device determines a first random number, a first transmission parameter of the DH protocol, and uses a message verification code generation function according to the first random number, the device identifier of the terminal device, the at least one of the fourth parameter set, and the first key. Generating a first message verification code, and sending an authentication request message to the network authentication server, where the authentication request message includes a first message verification code, a first random number, a first transmission parameter, a device identifier of the terminal device, and a fourth parameter set;
  • the terminal device generates a communication key of the terminal device by using a key generation function according to at least one of the first random number, the second random number, the device identifier of the terminal device, the fourth parameter set, and the third transmission parameter,
  • the second message verification code is verified and determined to pass the verification.
  • the first key is a first private key of the terminal device
  • the device identifier of the terminal device is a terminal device corresponding to the first private key.
  • the first public key is a first private key of the terminal device
  • the mutual authentication process specifically includes:
  • the terminal device determines the first random number, encrypts the first random number by using the network authentication public key of the network authentication server, obtains the first random number after the encryption process, and generates the terminal device according to the first key and the first random number.
  • the first digital signature sends an authentication request message to the network authentication server, where the authentication request message includes a first digital signature, a first random number after the encryption process, and a device identifier of the terminal device;
  • the terminal device receives the encrypted second random number and the second digital signature sent by the network authentication server, and decrypts the encrypted second random number according to the first key of the terminal device to obtain a second random number, in the second After the digital signature verification is passed, the communication key of the terminal device is generated according to at least one of the first random number and the second random number, and the second random number after the encryption process is that the network authentication server uses the first public key of the terminal device. Obtaining the second random number encryption process;
  • the terminal device generates a first message verification code according to the communication key, the first random number, and the second random number, or generates a third digital signature according to the first key, the first random number, and the second random number, and the first message is sent.
  • the verification code or the third digital signature is sent to the network authentication server, so that the network authentication server checks the first message verification code or the third digital signature. certificate.
  • the mutual authentication process specifically includes:
  • the terminal device determines a first random number, generates a first digital signature of the terminal device according to the first key and the first random number, and sends an authentication request message to the network authentication server, where the authentication request message includes a first digital signature and a first random number. And the device identification of the terminal device;
  • the terminal device receives the second random number sent by the network authentication server, the encrypted communication key, and the second digital signature, decrypts the encrypted communication key according to the first key of the terminal device, obtains a communication key, and performs encryption processing.
  • the communication key is obtained by encrypting the communication key by using the first public key of the terminal device by the network authentication server;
  • the terminal device After the terminal device verifies the second digital signature, the terminal device generates a first message verification code according to the communication key, the first random number, and the second random number, or according to the first key, the first random number, and the second random number. And generating a third digital signature, and sending the first message verification code or the third digital signature to the network authentication server, so that the network authentication server verifies the first message verification code or the third digital signature.
  • the mutual authentication process specifically includes:
  • the terminal device determines a first random number, a first transmission parameter of the DH protocol, generates a first digital signature of the terminal device according to the first key, the first random number, and the first transmission parameter, and sends an authentication request message to the network authentication server, where
  • the authentication request message includes a first digital signature, a first random number, a first transmission parameter, and a device identifier of the terminal device;
  • the terminal device After the terminal device verifies the second digital signature, the terminal device generates a communication key of the terminal device by using a key generation function according to at least one of the first random number and the second random number, and the third transmission parameter, according to the first At least one of a random number, a second random number, and a communication key, a first transmission parameter, a second transmission parameter generating a first message verification code, or according to at least one of a first random number and a second random number And the first key, the first transmission parameter, the second transmission parameter generates a third digital signature, and sends the first message verification code or the third digital signature to the network authentication server, so that the network authentication server verifies the first message. Or a third digital signature for verification.
  • the mutual authentication process specifically includes:
  • the terminal device determines the first random number, encrypts the first random number by using the network authentication public key of the network authentication server, obtains the first random number after the encryption process, and generates the terminal device according to the first key and the first random number.
  • the first digital signature sends an authentication request message to the network authentication server, where the authentication request message includes a first digital signature, a first random number after the encryption process, and a device identifier of the terminal device;
  • the terminal device receives the encrypted second random number and the second digital signature sent by the network authentication server, and decrypts the encrypted second random number according to the first key of the terminal device to obtain a second random number, in the second After the digital signature verification is passed, the communication key of the terminal device is generated according to at least one of the first random number and the second random number, and the second random number after the encryption process is that the network authentication server uses the first public key pair of the terminal device. The second random number encryption process is obtained.
  • the mutual authentication process specifically includes:
  • the terminal device determines a first random number, generates a first digital signature of the terminal device according to the first key and the first random number, and sends an authentication request message to the network authentication server, where the authentication request message includes a first digital signature and a first random number. And the device identification of the terminal device;
  • the terminal device receives the second random number sent by the network authentication server, the encrypted communication key, and the second digital signature, and the encrypted communication key is used by the network authentication server to encrypt the communication key by using the first public key of the terminal device. Processed;
  • the terminal device After the terminal device verifies the second digital signature, the terminal device decrypts the encrypted communication key according to the first key of the terminal device to obtain a communication key.
  • the method further includes: receiving, by the terminal device, a fourth parameter set sent by the user management server;
  • the parameter set includes at least one of an identifier of the user management server, a network identifier, and a service parameter.
  • the mutual authentication process specifically includes:
  • the terminal device determines the first random number, and uses the network authentication public key of the network authentication server to encrypt the first random number, and obtains the first random number after the encryption process, according to the first random number, the device identifier of the terminal device, and the fourth Generating at least one of the parameter sets and the first key, generating a first digital signature of the terminal device, and sending an authentication request message to the network authentication server, where the authentication request message includes a first digital signature, a first random number after the encryption process, a device identifier of the terminal device and a fourth parameter set;
  • the terminal device receives the encrypted second random number and the second digital signature sent by the network authentication server, and decrypts the encrypted second random number according to the first key of the terminal device to obtain a second random number, in the second After the digital signature verification is passed, the communication key of the terminal device is generated according to at least one of the first random number and the second random number, and at least one of the device identifier and the fourth parameter set of the terminal device, and after the encryption process
  • the second random number is obtained by the network authentication server using the first public key of the terminal device to encrypt the second random number;
  • the terminal device generates a first message verification code according to the device identifier of the terminal device, at least one of the fourth parameter set, and the communication key, the first random number, and the second random number, or according to the device identifier of the terminal device, and the fourth At least one of the parameter sets, and the first key, the first random number, the second random number generates a third digital signature, and sends the first message verification code or the third digital signature to the network authentication server to enable network authentication
  • the server verifies the first message verification code or the third digital signature.
  • the mutual authentication process specifically includes:
  • the terminal device determines a first random number, and sends an authentication request message to the network authentication server according to the first random number, the device identifier of the terminal device, the at least one of the fourth parameter set, and the first key, where the authentication request message includes a digital signature, a first random number after the encryption process, a device identifier of the terminal device, and a fourth parameter set;
  • the terminal device receives the second random number sent by the network authentication server, the encrypted communication key, and the second digital signature, decrypts the encrypted communication key according to the first key of the terminal device, obtains a communication key, and performs encryption processing.
  • the communication key is obtained by encrypting the communication key by using the first public key of the terminal device by the network authentication server;
  • the terminal device After the terminal device verifies the second digital signature, the terminal device generates a first message verification code according to the device identifier of the terminal device, at least one of the fourth parameter set, and the communication key, the first random number, and the second random number. Or according to at least one of a device identifier of the terminal device, a fourth parameter set, and a first key, a first random number, and a second random number The number generates a third digital signature, and sends the first message verification code or the third digital signature to the network authentication server, so that the network authentication server verifies the first message verification code or the third digital signature.
  • the mutual authentication process specifically includes:
  • the first digital signature of the device sends an authentication request message to the network authentication server, where the authentication request message includes a first digital signature, a first random number, a first transmission parameter, a device identifier of the terminal device, and a fourth parameter set.
  • the terminal device uses the key generation function according to the first random number, the second random number, the device identifier of the terminal device, the at least one of the fourth parameter set, and the third transmission parameter.
  • Generating a communication key of the terminal device generating a first message verification code according to at least one of a device identifier of the terminal device, a fourth parameter set, and a communication key, a first transmission parameter, and a second transmission parameter, or according to the first At least one of a random number, a second random number, a device identifier of the terminal device, and a fourth parameter set, and the first key, the first transmission parameter, the second transmission parameter generates a third digital signature, and the first message is verified
  • the code or the third digital signature is sent to the network authentication server to cause the network authentication server to verify the first message verification code or the third digital signature.
  • the mutual authentication process specifically includes:
  • the terminal device determines the first random number, and uses the network authentication public key of the network authentication server to encrypt the first random number, and obtains the first random number after the encryption process, according to the first random number, the device identifier of the terminal device, and the fourth Generating at least one of the parameter sets and the first key, generating a first digital signature of the terminal device, and sending an authentication request message to the network authentication server, where the authentication request message includes a first digital signature, a first random number after the encryption process, a device identifier of the terminal device and a fourth parameter set;
  • the terminal device receives the encrypted second random number and the second digital signature sent by the network authentication server, and decrypts the encrypted second random number according to the first key of the terminal device to obtain a second random number, in the second After the digital signature verification is passed, the communication key of the terminal device is generated according to at least one of the first random number and the second random number, and at least one of the device identifier and the fourth parameter set of the terminal device, and after the encryption process
  • the second random number is obtained by the network authentication server using the first public key of the terminal device to encrypt the second random number.
  • the mutual authentication process specifically includes:
  • the terminal device determines a first random number, generates a first digital signature of the terminal device according to the first random number, the device identifier of the terminal device, the at least one of the fourth parameter set, and the first key, and sends the first digital signature of the terminal device to the network authentication server.
  • An authentication request message where the authentication request message includes a first digital signature, a first random number, a device identifier of the terminal device, and a fourth parameter set;
  • the terminal device receives the second random number sent by the network authentication server, the encrypted communication key, and the second digital signature, and the encrypted communication key is used by the network authentication server to encrypt the communication key by using the first public key of the terminal device. Processed;
  • the terminal device After the terminal device verifies the second digital signature, the terminal device decrypts the encrypted communication key according to the first key of the terminal device to obtain a communication key.
  • the terminal device determines the first random number before the terminal device determines the first random number, Also includes:
  • the terminal device sends a public key request message to the network authentication server, and receives a network authentication public key of the network authentication server sent by the network authentication server.
  • the method further includes: the terminal device Perform mutual authentication with the network authentication server, and generate a key generation function according to any one of a communication key, a fourth parameter set, a session key random number, a session key fresh parameter, and a session key preset time parameter.
  • the session key of the terminal device is not limited to the third aspect.
  • the following fourth aspect and the fifth aspect provide a key authentication method, which interacts with the key authentication method provided by the foregoing third aspect, and is a symmetric side method, which has corresponding technical features and technical effects, and the present application does not Let me repeat.
  • the application provides a key authentication method, where the method includes:
  • the network authentication server receives the authentication request message sent by the terminal device, where the authentication request message includes the device identifier of the terminal device, and receives the first key of the terminal device corresponding to the device identifier sent by the service center server; and the device identifier according to the first key
  • the instructed terminal device performs mutual authentication to obtain a communication key of the terminal device and the function network element.
  • the authentication request message further includes the first random number after the encryption process, where the mutual authentication process specifically includes:
  • the network authentication server decrypts the encrypted first random number according to the first key, obtains a first random number, determines a second random number, and encrypts the second random number by using the first key to obtain an encryption process. After the second random number, the first random number after the encryption process is obtained by the terminal device using the first key to encrypt the first random number;
  • the network authentication server generates a communication key by using a key generation function according to at least one of the first key, the first random number, and the second random number, according to any one of the communication key and the first key, and a first random number, a second random number, using a message verification code generating function to generate a second message verification code, and transmitting the second message verification code and the encrypted second random number to the terminal device;
  • the network authentication server receives the first message verification code sent by the terminal device, and sends a communication key to the function network element after the first message verification code is verified.
  • the authentication request message further includes a first random number
  • the mutual authentication process specifically includes:
  • the network authentication server determines a second random number, generates a communication key by using a key generation function according to at least one of the first random number and the second random number, and the first key, according to the communication key, the first key Any one of the first random number and the second random number, the message verification code generating function is used to generate a second message verification code, and the second message verification code and the second random number are sent to the terminal device;
  • the network authentication server receives the first message verification code sent by the terminal device, and sends a communication key to the function network element after the first message verification code is verified.
  • the authentication request message further includes a first random number
  • the mutual authentication process specifically includes:
  • the network authentication server determines a second random number, determines a communication key according to the third random number, performs encryption processing on the communication key by using the first key, and obtains the encrypted communication key;
  • the network authentication server is configured according to any one of a communication key and a first key, and a first random number, a second random number, Generating a second message verification code by using a message verification code generation function, and transmitting the second random number, the encrypted communication key, and the second message verification code to the terminal device;
  • the network authentication server receives the first message verification code sent by the terminal device, and sends a communication key to the function network element after the first message verification code is verified.
  • the authentication request message further includes a first random number and a first transmission parameter, where the mutual authentication process specifically includes:
  • the network authentication server determines a second random number, a second transmission parameter of the DH protocol, and performs a DH key negotiation algorithm according to the first transmission parameter and the second transmission parameter to obtain a third transmission parameter;
  • the network authentication server generates a communication key by using a key generation function according to at least one of the first random number and the second random number, and the third transmission parameter, according to any one of the communication key and the first key.
  • the first transmission parameter, the second transmission parameter, the message verification code generating function is used to generate the second message verification code, and the second random number, the second transmission parameter, and the second message verification code are sent to the terminal device;
  • the network authentication server receives the first message verification code sent by the terminal device, and sends a communication key to the function network element after the first message verification code is verified.
  • the authentication request message further includes a first message verification code and a first random number after the encryption process, where the mutual authentication process specifically includes:
  • the network authentication server decrypts the encrypted first random number according to the first key, obtains the first random number, determines the second random number, and encrypts the second random number by using the first key, and obtains the encrypted processing.
  • Two random numbers, the first random number after the encryption process is obtained by the terminal device using the first key to encrypt the first random number;
  • the network authentication server After verifying that the first message verification code is passed, the network authentication server generates a communication key by using a key generation function according to at least one of the first key, the first random number, and the second random number, according to the communication key, Any one of the first key, and the first random number, the second random number, generates a second message verification code by using a message verification code generating function, and sends the second random number and the second message verification code after the encryption process To the terminal device, a communication key is sent to the function network element.
  • the authentication request message further includes a first message verification code and a first random number, where the mutual authentication process specifically includes:
  • the network authentication server determines the second random number
  • the network authentication function After the network authentication server verifies the first message verification code, the network authentication function generates a communication key according to at least one of the first random number and the second random number, and the first key, according to the communication key. And any one of the first key, and at least one of the first random number and the second random number, generating a second message verification code by using a message verification code generating function, and using the second random number and the second message verification code And send to the terminal device to send a communication key to the function network element.
  • the authentication request message further includes a first message verification code and a first random number
  • the mutual authentication process specifically includes:
  • the network authentication server determines a second random number, determines a communication key according to the third random number, performs encryption processing on the communication key by using the first key, and obtains the encrypted communication key;
  • the network authentication server generates a second message verification code by using a message verification code generation function according to any one of the communication key and the first key, and the first random number and the second random number, and the second random number and the encryption process are performed.
  • the communication key and the second message verification code are sent to the terminal device, and the communication key is sent to the function network element.
  • the authentication request message further includes the first The verification code and the first random number after the encryption process
  • the mutual authentication process specifically includes:
  • the network authentication server decrypts the encrypted first random number according to the first key, obtains the first random number, determines the second random number, and encrypts the second random number by using the first key, and obtains the encrypted processing.
  • Two random numbers, the first random number after the encryption process is obtained by the terminal device using the first key to encrypt the first random number;
  • the network authentication server After verifying that the first message verification code is passed, the network authentication server generates a communication key by using a key generation function according to at least one of the first key and the first random number, according to the communication key and the first key. Any one of the first random number and the second random number, generating a second message verification code by using a message verification code generating function, and sending the encrypted second random number and the second message verification code To the terminal device, a communication key is sent to the function network element.
  • the authentication request message further includes a first message verification code and a first random number
  • the mutual authentication process specifically includes:
  • the network authentication server determines the second random number
  • the network authentication server After verifying that the first message verification code is passed, the network authentication server generates a communication key by using a key generation function according to the first key and the first random number, according to any one of the communication key and the first key. And generating, by the message verification code generating function, the second message verification code by using the message verification code generating function, and sending the second random number and the second message verification code to the terminal device, and sending the function to the function network element Communication key.
  • the authentication request message further includes a first random number, a first message verification code, and a first transmission parameter, where the mutual authentication process specifically includes:
  • the network authentication server determines a second random number, a second transmission parameter of the DH protocol, and performs a DH key negotiation algorithm according to the first transmission parameter and the second transmission parameter to obtain a third transmission parameter;
  • the network authentication server After verifying that the first message verification code is passed, the network authentication server generates a communication key by using a key generation function according to at least one of the first random number and the second random number, and the third transmission parameter, according to the communication. Determining, by using any one of the first key and the first transmission parameter, the first transmission parameter and the second transmission parameter, generating a second message verification code by using a message verification code generating function, and using the second random number and the second transmission parameter The second message verification code is sent to the terminal device and sends a communication key to the function network element.
  • the authentication request message further includes a fourth parameter set, where the fourth parameter set includes: at least one of an identifier of the user management server, a network identifier, and a service parameter.
  • the fourth parameter set includes: at least one of an identifier of the user management server, a network identifier, and a service parameter.
  • the authentication request message further includes the first random number after the encryption process, where the mutual authentication process specifically includes:
  • the network authentication server decrypts the encrypted first random number according to the first key, obtains a first random number, determines a second random number, and encrypts the second random number by using the first key to obtain an encryption process. After the second random number, the first random number after the encryption process is obtained by the terminal device using the first key to encrypt the first random number;
  • the network authentication server generates a communication key by using a key generation function according to at least one of the first key, the first random number, and the second random number, and at least one of a device identifier of the terminal device and a fourth parameter set. And using the message verification code generation function according to at least one of the communication key, the first key, and the device identifier of the terminal device, the fourth parameter set, and the first random number and the second random number. Generating a second message verification code, and transmitting the second message verification code and the encrypted second random number to the terminal device;
  • the network authentication server receives the first message verification code sent by the terminal device, and verifies the verification code of the first message. After that, the communication key is sent to the function network element.
  • the authentication request message further includes a first random number
  • the mutual authentication process specifically includes:
  • the network authentication server determines the second random number
  • the network authentication server generates a communication key by using a key generation function according to at least one of the first random number, the second random number, the device identifier of the terminal device, the fourth parameter set, and the first key, according to the communication key. And any one of the first key, and at least one of the device identifier of the terminal device and the fourth parameter set, and the first random number, the second random number, and the second message verification by using the message verification code generating function a code, sending the second message verification code and the second random number to the terminal device;
  • the network authentication server receives the first message verification code sent by the terminal device, and sends a communication key to the function network element after the first message verification code is verified.
  • the authentication request message further includes a first random number
  • the mutual authentication process specifically includes:
  • the network authentication server determines a second random number, determines a communication key according to the third random number, performs encryption processing on the communication key by using the first key, and obtains the encrypted communication key;
  • the network authentication server generates the message according to any one of the communication key and the first key, and at least one of the device identifier of the terminal device and the fourth parameter set, and the first random number and the second random number.
  • the function generates a second message verification code, and sends the second random number, the encrypted communication key, and the second message verification code to the terminal device;
  • the network authentication server receives the first message verification code sent by the terminal device, and sends a communication key to the function network element after the first message verification code is verified.
  • the authentication request message further includes a first random number and a first transmission parameter, where the mutual authentication process specifically includes:
  • the network authentication server determines a second random number, a second transmission parameter of the DH protocol, and performs a DH key negotiation algorithm according to the first transmission parameter and the second transmission parameter to obtain a third transmission parameter;
  • the network authentication server generates a communication key by using a key generation function according to the first random number, the second random number, the device identifier of the terminal device, the fourth parameter set, and the third transmission parameter, according to the communication key. And any one of the first key, and the first random number, the second random number, the device identifier of the terminal device, the fourth parameter set, and the first transmission parameter, the second transmission parameter,
  • the message verification code generating function generates a second message verification code, and sends the second random number, the second transmission parameter, and the second message verification code to the terminal device;
  • the network authentication server receives the first message verification code sent by the terminal device, and sends a communication key to the function network element after the first message verification code is verified.
  • the authentication request message further includes the first message verification code and the first random number after the encryption process, and the mutual The certification process specifically includes:
  • the network authentication server decrypts the encrypted first random number according to the first key, obtains the first random number, determines the second random number, and encrypts the second random number by using the first key, and obtains the encrypted processing.
  • Two random numbers, the first random number after the encryption process is obtained by the terminal device using the first key to encrypt the first random number;
  • the network authentication server verifies the first message verification code, according to the first key, the first random number, and the second At least one of the random number, and at least one of the device identifier of the terminal device and the fourth parameter set, generating a communication key by using a key generation function, according to any one of the communication key and the first key, and At least one of the first random number, the second random number, the device identifier of the terminal device, and the fourth parameter set, the second verification code is generated by using the message verification code generating function, and the second random number after the encryption process is used.
  • the second message verification code is sent to the terminal device to send a communication key to the function network element.
  • the authentication request message further includes a first message verification code and a first random number
  • the mutual authentication process specifically includes :
  • the network authentication server determines the second random number
  • the network authentication server adopts the key according to the first random number, the second random number, the device identifier of the terminal device, the at least one of the fourth parameter set, and the first key.
  • the generating function generates a communication key, and adopts a message according to any one of the communication key and the first key, and at least one of the first random number, the second random number, the device identifier of the terminal device, and the fourth parameter set.
  • the verification code generation function generates a second message verification code, and sends the second random number and the second message verification code to the terminal device to send the communication key to the function network element.
  • the authentication request message further includes a first message verification code and a first random number
  • the mutual authentication process specifically includes :
  • the network authentication server determines a second random number, determines a communication key according to the third random number, performs encryption processing on the communication key by using the first key, and obtains the encrypted communication key;
  • the network authentication server adopts a message verification code generation function according to any one of the communication key and the first key, and the first random number, the second random number, the device identifier of the terminal device, and the fourth parameter set. Generating a second message verification code, and transmitting the second random number, the encrypted communication key, and the second message verification code to the terminal device, and sending the communication key to the function network element.
  • the authentication request message further includes the first message verification code and the first random number after the encryption process
  • the certification process specifically includes:
  • the network authentication server decrypts the encrypted first random number according to the first key, obtains the first random number, determines the second random number, and encrypts the second random number by using the first key, and obtains the encrypted processing.
  • Two random numbers, the first random number after the encryption process is obtained by the terminal device using the first key to encrypt the first random number;
  • the network authentication server adopts the key according to at least one of the first key, the first random number, and the device identifier of the terminal device and the fourth parameter set.
  • Generating a function to generate a communication key according to any one of a communication key and a first key, and at least one of a first random number, a second random number, a device identifier of the terminal device, and a fourth parameter set.
  • the message verification code generating function generates a second message verification code, and sends the encrypted second random number and the second message verification code to the terminal device, and sends the communication key to the function network element.
  • the authentication request message further includes a first message verification code and a first random number, where the mutual authentication process specifically includes :
  • the network authentication server determines the second random number
  • the network authentication server After the first authentication code is verified, the network authentication server generates a communication secret by using a key generation function according to the first random number, the device identifier of the terminal device, the fourth parameter set, and the first key. Key, according to any one of the communication key and the first key, and the first random number, the second random number, the device identifier of the terminal device, At least one of the fourth parameter set generates a second message verification code by using a message verification code generation function, and sends the second random number and the second message verification code to the terminal device to send the communication key to the function network element.
  • the authentication request message further includes the first random number, the first message verification code, and the first transmission parameter
  • the mutual authentication process specifically includes:
  • the network authentication server determines a second random number, a second transmission parameter of the DH protocol, and performs a DH key negotiation algorithm according to the first transmission parameter and the second transmission parameter to obtain a third transmission parameter;
  • the network authentication server After the network authentication server verifies the first message verification code, the network authentication server adopts at least one of the first random number, the second random number, the device identifier of the terminal device, the fourth parameter set, and the third transmission parameter.
  • the key generation function generates a communication key, and adopts according to any one of the communication key and the first key, and the device identifier of the terminal device, the fourth parameter set, the first transmission parameter, and the second transmission parameter.
  • the message verification code generating function generates a second message verification code, and sends the second random number, the second transmission parameter, and the second message verification code to the terminal device, and sends the communication key to the function network element.
  • the method further includes: network authentication
  • the server and the terminal device perform mutual authentication, and generate a key generation function according to any one of a communication key, a fourth parameter set, a session key random number, a session key fresh parameter, and a session key preset time parameter.
  • the session key of the network authentication server and sends the session key to the function network element.
  • the application provides a key authentication method, including:
  • the network authentication server receives the authentication request message sent by the terminal device, where the authentication request message includes the device identifier of the terminal device, the device identifier of the terminal device is the first public key of the terminal device, and the network authentication public key according to the first public key and the network authentication server.
  • the network authentication private key of the network authentication server and the terminal device perform mutual authentication to obtain a communication key between the terminal device and the function network element.
  • the authentication request message further includes a first digital signature and a first random number after the encryption process, where the mutual authentication process specifically includes:
  • the network authentication server decrypts the encrypted first random number according to the network authentication private key of the network authentication server, obtains a first random number, determines a second random number, and encrypts the second random number by using the first public key of the terminal device. Obtaining a second random number after the encryption process, and the first random number after the encryption process is obtained by the terminal device using the network authentication public key of the network authentication server to encrypt the first random number;
  • the communication key is generated according to at least one of the first random number and the second random number, according to the network.
  • the network authentication private key, the first random number, and the second random number of the authentication server generate a second digital signature, and send the encrypted second random number and the second digital signature to the terminal device;
  • the network authentication server receives the first message verification code or the third digital signature sent by the terminal device, and sends a communication key to the function network element after the first message verification code or the third digital signature is verified.
  • the authentication request message further includes a first digital signature and a first random number
  • the mutual authentication process specifically includes:
  • the network authentication server determines the second random number
  • the network authentication server verifies the first digital signature according to the preset global public key and the first public key of the terminal device. After that, the communication key is determined according to the third random number, and the communication key is encrypted by using the first public key of the terminal device to obtain the encrypted communication key, according to the network authentication private key of the network authentication server, the first random Generating a second digital signature by the number and the second random number, and transmitting the second random number, the encrypted communication key, and the second digital signature to the terminal device;
  • the network authentication server receives the first message verification code or the third digital signature sent by the terminal device, and sends a communication key to the function network element after the first message verification code or the third digital signature is verified.
  • the authentication request message further includes a first digital signature, a first random number, and a first transmission parameter, where the mutual authentication process specifically includes:
  • the network authentication server determines a second random number, a second transmission parameter of the DH protocol, and performs a DH key negotiation algorithm according to the first transmission parameter and the second transmission parameter to obtain a third transmission parameter;
  • the network authentication server After the first digital signature is verified according to the preset global public key and the first public key of the terminal device, the network authentication server adopts at least one of the first random number, the second random number, and the third transmission parameter.
  • the key generation function generates a communication key, and generates a second digital signature according to at least one of the first random number and the second random number, and the network authentication private key of the network authentication server, the first transmission parameter, and the second transmission parameter. Transmitting the second random number, the encrypted second transmission parameter, and the second digital signature to the terminal device;
  • the network authentication server receives the first message verification code or the third digital signature sent by the terminal device, and sends a communication key to the function network element after the first message verification code or the third digital signature is verified.
  • the authentication request message further includes a first digital signature and a first random number after the encryption process, where the mutual authentication process specifically includes:
  • the network authentication server decrypts the encrypted first random number according to the network authentication private key of the network authentication server, obtains a first random number, determines a second random number, and encrypts the second random number by using the first public key of the terminal device. Obtaining a second random number after the encryption process, and the first random number after the encryption process is obtained by the terminal device using the network authentication public key of the network authentication server to encrypt the first random number;
  • the communication key is generated according to at least one of the first random number and the second random number, according to the network.
  • the network authentication private key, the first random number, and the second random number of the authentication server generate a second digital signature, and send the encrypted second random number and the second digital signature to the terminal device, and send the communication to the function network element. Key.
  • the authentication request message further includes a first digital signature and a first random number
  • the mutual authentication process specifically includes:
  • the network authentication server determines the second random number
  • the network authentication server After verifying the first digital signature according to the preset global public key and the first public key of the terminal device, the network authentication server determines the communication key according to the third random number, and performs the communication key by using the first public key of the terminal device. Encryption processing, obtaining the encrypted communication key, generating a second digital signature according to the network authentication private key of the network authentication server, the first random number and the second random number, and using the second random number and the encrypted communication key And transmitting the second digital signature to the terminal device, and sending the communication key to the function network element.
  • the authentication request message further includes a fourth parameter set, where the fourth parameter set includes: at least one of an identifier of the user management server, a network identifier, and a service parameter.
  • the fourth parameter set includes: at least one of an identifier of the user management server, a network identifier, and a service parameter.
  • the fourth parameter set includes: at least one of an identifier of the user management server, a network identifier, and a service parameter.
  • the authentication request message further includes a first digital signature and a first random number after the encryption process, and the mutual authentication process is specific Including package include:
  • the network authentication server decrypts the encrypted first random number according to the network authentication private key of the network authentication server, obtains a first random number, determines a second random number, and encrypts the second random number by using the first public key of the terminal device. Obtaining a second random number after the encryption process, and the first random number after the encryption process is obtained by the terminal device using the network authentication public key of the network authentication server to encrypt the first random number;
  • the network authentication server verifies the first digital signature according to the preset global public key and the first public key of the terminal device, according to at least one of the first random number and the second random number, and the device identifier of the terminal device, Generating a communication key according to at least one of the fourth parameter set, according to at least one of a device identifier of the terminal device, a fourth parameter set, and a network authentication private key of the network authentication server, the first random number, and the second random number Generating a second digital signature, and transmitting the encrypted second random number and the second digital signature to the terminal device;
  • the network authentication server receives the first message verification code or the third digital signature sent by the terminal device, and sends a communication key to the function network element after the first message verification code or the third digital signature is verified.
  • the authentication request message further includes a first digital signature and a first random number, where the mutual authentication process specifically includes:
  • the network authentication server determines the second random number
  • the network authentication server After verifying the first digital signature according to the preset global public key and the first public key of the terminal device, the network authentication server determines the communication key according to the third random number, and performs the communication key by using the first public key of the terminal device. Encryption processing, obtaining the encrypted communication key, according to at least one of the device identifier of the terminal device, the fourth parameter set, and the network authentication private key of the network authentication server, the first random number, and the second random number generation a second digital signature, the second random number, the encrypted communication key, and the second digital signature are sent to the terminal device;
  • the network authentication server receives the first message verification code or the third digital signature sent by the terminal device, and sends a communication key to the function network element after the first message verification code or the third digital signature is verified.
  • the authentication request message further includes a first digital signature, a first random number, and a first transmission parameter, and the mutual authentication process Specifically, including:
  • the network authentication server determines a second random number, a second transmission parameter of the DH protocol, and performs a DH key negotiation algorithm according to the first transmission parameter and the second transmission parameter to obtain a third transmission parameter;
  • the network authentication server After the first digital signature is verified according to the preset global public key and the first public key of the terminal device, the network authentication server adopts at least one of the first random number, the second random number, and the third transmission parameter.
  • the key generation function generates a communication key, and generates a second digital signature according to at least one of the first random number and the second random number, and the network authentication private key of the network authentication server, the first transmission parameter, and the second transmission parameter. Transmitting the second random number, the encrypted second transmission parameter, and the second digital signature to the terminal device;
  • the network authentication server receives the first message verification code or the third digital signature sent by the terminal device, and sends a communication key to the function network element after the first message verification code or the third digital signature is verified.
  • the authentication request message further includes a first digital signature and a first random number after the encryption process, and the mutual authentication process is specific. Including, including:
  • the network authentication server decrypts the encrypted first random number according to the network authentication private key of the network authentication server, obtains a first random number, determines a second random number, and encrypts the second random number by using the first public key of the terminal device. , Obtaining a second random number after the encryption process, and the first random number after the encryption process is obtained by the terminal device using the network authentication public key of the network authentication server to encrypt the first random number;
  • the network authentication server verifies the first digital signature according to the preset global public key and the first public key of the terminal device, according to at least one of the first random number and the second random number, and the device identifier of the terminal device, Generating a communication key according to at least one of the fourth parameter set, according to at least one of a device identifier of the terminal device, a fourth parameter set, and a network authentication private key of the network authentication server, the first random number, and the second random number
  • the number generates a second digital signature, and sends the encrypted second random number and the second digital signature to the terminal device, and sends the communication key to the function network element.
  • the authentication request message further includes a first digital signature and a first random number
  • the mutual authentication process specifically includes :
  • the network authentication server determines the second random number
  • the network authentication server After verifying the first digital signature according to the preset global public key and the first public key of the terminal device, the network authentication server determines the communication key according to the third random number, and performs the communication key by using the first public key of the terminal device. Encryption processing, obtaining the encrypted communication key, according to at least one of the device identifier of the terminal device, the fourth parameter set, and the network authentication private key of the network authentication server, the first random number, and the second random number generation And the second digital signature, the second random number, the encrypted communication key and the second digital signature are sent to the terminal device, and the communication key is sent to the function network element.
  • the method further includes:
  • the network authentication server receives the public key request message sent by the terminal device
  • the network authentication server sends the network authentication public key of the network authentication server to the terminal device.
  • the method further includes: a network authentication server
  • the terminal device performs mutual authentication, and generates a network authentication by using a key generation function according to any one of a communication key, a fourth parameter set, a session key random number, a session key fresh parameter, and a session time preset time parameter.
  • the session key of the server and the session key is sent to the functional network element.
  • the device has a one-to-one correspondence with the foregoing method, and is used to implement the key distribution and authentication method in the foregoing embodiment, and has the same technical features and technical effects. I won't go into details here.
  • the application provides a service center server, where the server includes:
  • a key request receiving module configured to receive a first key request message sent by the user management server, where the first key request message is used to instruct the service center server to generate a first key of the terminal device managed by the user management server;
  • the key generation module is configured to generate a first key of the terminal device according to the first key request message, and send the first key to the user management server.
  • the key generation module is specifically configured to:
  • the first parameter set includes at least one of a first key random number, a first key fresh parameter, a preset time parameter of the first key, and a shared key, where the shared key is a user management server and a service center.
  • the shared key of the server is a user management server and a service center.
  • the first key request message includes a The at least one of the device identifier of the device, the identifier of the user management server, the network identifier, and the service parameter, where the key generation module is specifically configured to:
  • the second parameter set includes a first key random number, a first key fresh parameter, a preset time parameter of the first key, a shared key, an identifier of the user management server, a network identifier, a service parameter, and a terminal device. At least one of the device identifiers, the shared key is a shared key of the user management server and the service center server.
  • the key generating module is specifically configured to: determine a service random number, and use the service random number as the first key of the terminal device.
  • the first key request message includes a device identifier of the terminal device, where the key generation module is specifically configured to:
  • the first key of the terminal device is the first private key of the terminal device
  • the device identifier of the terminal device is the first public key of the terminal device corresponding to the first private key
  • the first key request message includes a device identifier of the terminal device, where the key generation module is specifically configured to:
  • the third parameter set includes at least one of a first key random number, a first key fresh parameter, and a preset time parameter of the first key;
  • the first key of the terminal device is the first private key of the terminal device
  • the device identifier of the terminal device is the first public key of the terminal device corresponding to the first private key
  • the key generating module is further configured to:
  • the key request receiving module is further configured to:
  • the second key request message is sent after the network authentication server receives the authentication request message sent by the terminal device.
  • the application provides a user management server, including:
  • a request sending module configured to send a first key request message to the service center server, where the first key request message is used to instruct the service center server to generate a first key of the terminal device managed by the user management server;
  • a key receiving module configured to receive a first key of the terminal device sent by the service center server
  • a key sending module configured to send the first key of the terminal device to the terminal device, so that the terminal device performs mutual authentication with the network authentication server according to the first key.
  • the first key is a first private key of the terminal device
  • the device identifier of the terminal device is the first end of the terminal device corresponding to the first private key. Public key.
  • the key sending module is further configured to:
  • the fourth parameter set includes at least one of an identifier of the user management server, a network identifier, and a service parameter.
  • the application provides a terminal device, including:
  • a receiving module configured to receive a first key of the terminal device sent by the user management server
  • the authentication module is configured to perform mutual authentication with the network authentication server according to the first key to obtain a communication key of the terminal device and the function network element.
  • the authentication module is specifically configured to:
  • the second message verification code After verifying that the second message verification code is passed, generating a communication key of the terminal device by using a key generation function according to at least one of the first key, the first random number, and the second random number, according to the communication key, Any one of the first key, and the first random number, the second random number, generates a first message verification code by using a message verification code generating function, and sends the first message verification code to the network authentication server to enable the network
  • the authentication server verifies the first message verification code.
  • the authentication module is specifically configured to:
  • Determining a first random number and sending an authentication request message to the network authentication server, where the authentication request message includes a first random number and a device identifier of the terminal device;
  • the second message verification code After verifying that the second message verification code is passed, generating a communication key of the terminal device by using a key generation function according to at least one of the first random number and the second random number, and the first key, according to the communication key And any one of the first key, and the first random number, the second random number, generates a first message verification code by using a message verification code generating function, and sends the first message verification code to the network authentication server, so that The network authentication server verifies the first message verification code.
  • the authentication module is specifically configured to:
  • Determining a first random number and sending an authentication request message to the network authentication server, where the authentication request message includes a first random number and a device identifier of the terminal device;
  • the first message verification code is generated by using the message verification code generating function, and The first message verification code is sent to the network authentication server, so that the network authentication server verifies the first message verification code.
  • the authentication module is specifically configured to:
  • the second message verification code After verifying that the second message verification code is passed, generating a communication key of the terminal device by using a key generation function according to at least one of the first random number, the second random number, and the third transmission parameter, according to the communication key And any one of the first key, and the first random number, the second random number, generates a first message verification code by using a message verification code generating function, and sends the first message verification code to the network authentication server, so that The network authentication server verifies the first message verification code.
  • the authentication module is specifically configured to:
  • the message verification code is sent to the network authentication server, where the authentication request message includes a first message verification code, a first random number after the encryption process, and a device identifier of the terminal device.
  • the communication key of the terminal device is generated by using the key generation function according to at least one of the first key, the first random number, and the second random number.
  • the authentication module is specifically configured to:
  • Determining a first random number generating a first message verification code by using a message verification code generation function according to the first key and the first random number, and sending an authentication request message to the network authentication server, where the authentication request message includes a first message verification code, a random number and a device identifier of the terminal device;
  • the communication key of the terminal device is generated by using the key generation function according to at least one of the first random number and the second random number, and the first key.
  • the authentication module is specifically configured to:
  • Determining a first random number generating a first message verification code by using a message verification code generation function according to the first key and the first random number, and sending an authentication request message to the network authentication server, where the authentication request message includes a first message verification code, a random number and a device identifier of the terminal device;
  • Receiving a second random number sent by the network authentication server, the encrypted communication key, and the second message verification code, and the encrypted communication key is obtained by the network authentication server using the first key to encrypt the communication key;
  • the encrypted communication key is decrypted according to the first key to obtain a communication key.
  • the authentication module is specifically configured to:
  • the function Determining the first random number, using the first key to encrypt the first random number, obtaining the first random number after the encryption process, and generating the key according to at least one of the first key and the first random number
  • the function generates a communication key of the terminal device, generates a first message verification code by using a message verification code generation function according to any one of the first key and the communication key, and the first random number, and sends an authentication request to the network authentication server.
  • a message the authentication request message includes a first message verification code, a first random number after the encryption process, and a device identifier of the terminal device;
  • the key decrypts the encrypted second random number to obtain a second random number, and the second random number after the encryption process is obtained by the network authentication server using the first key to encrypt the second random number;
  • the second message verification code is verified and the verification is determined to pass.
  • the authentication module is specifically configured to:
  • Determining a first random number generating a communication key of the network authentication server by using a key generation function according to the first key and the first random number, according to any one of the first key and the communication key, and the first random number And generating a first message verification code by using a message verification code generating function, and sending an authentication request message to the network authentication server, where the authentication request message includes a first message verification code, a first random number, and a device identifier of the terminal device;
  • the second message verification code is verified and the verification is determined to pass.
  • the authentication module is specifically configured to:
  • the first message verification code, the first random number, the first transmission parameter, and the device identifier of the terminal device are included;
  • the receiving module is further configured to receive a fourth parameter set sent by the user management server;
  • the fourth parameter set includes at least one of an identifier of the user management server, a network identifier, and a service parameter.
  • the authentication module is specifically configured to:
  • the key generation function After the verification of the second message verification code is passed, according to at least one of the first key, the first random number, and the second random number, and at least one of the device identifier of the terminal device and the fourth parameter set.
  • the key generation function generates a communication key of the terminal device, according to any one of the communication key and the first key, and at least one of the device identifier of the terminal device, the fourth parameter set, and the first random number,
  • the second random number is generated by the message verification code generating function, and the first message verification code is sent to the network authentication server, so that the network authentication server verifies the first message verification code.
  • the authentication module is specifically configured to:
  • Determining a first random number and sending an authentication request message to the network authentication server, where the authentication request message includes a first random number, a device identifier of the terminal device, and a fourth parameter set;
  • the message verification code generating function After verifying that the second message verification code is passed, generating a terminal by using a key generation function according to at least one of the first random number, the second random number, the device identifier of the terminal device, and the fourth parameter set, and the first key
  • the communication key of the device is used according to any one of the communication key and the first key, and at least one of the device identifier of the terminal device and the fourth parameter set, and the first random number and the second random number.
  • the message verification code generating function generates a first message verification code, and sends the first message verification code to the network authentication server, so that the network authentication server verifies the first message verification code.
  • the authentication module is specifically configured to:
  • Determining a first random number and sending an authentication request message to the network authentication server, where the authentication request message includes a first random number, a device identifier of the terminal device, and a fourth parameter set;
  • the second random number is generated by the message verification code generating function, and the first message verification code is sent to the network authentication server, so that the network authentication server verifies the first message verification code.
  • the authentication module is specifically configured to:
  • the authentication request message includes a first random number, a first transmission parameter, a device identifier of the terminal device, and a fourth parameter set;
  • the key generation function is generated according to the first random number, the second random number, the device identifier of the terminal device, the at least one of the fourth parameter set, and the third transmission parameter.
  • a communication key of the terminal device according to any one of the communication key, the first key, and the device identifier of the terminal device, the fourth parameter set, and the first random number, the second random number.
  • the first verification code is generated by using the message verification code generation function, and the first message verification code is sent to the network authentication server, so that the network authentication server verifies the first message verification code.
  • the authentication module is specifically configured to:
  • the first key Determining the first random number, using the first key to encrypt the first random number, and obtaining the first random number after the encryption process, according to the first random number, the device identifier of the terminal device, and at least one of the fourth parameter set.
  • the first key, the first verification code is generated by using the message verification code generating function, and the authentication request message is sent to the network authentication server, where the authentication request message includes the first message verification code, the first random number after the encryption process, and the terminal Device identification of the device and a fourth parameter set;
  • the server obtains the second random number encryption process by using the first key
  • the key generation function After the verification of the second message verification code is passed, according to at least one of the first key, the first random number, and the second random number, and at least one of the device identifier of the terminal device and the fourth parameter set.
  • the key generation function generates a communication key of the terminal device.
  • the authentication module is specifically configured to:
  • the server sends an authentication request message, where the authentication request message includes a first message verification code, a first random number, a device identifier of the terminal device, and a fourth parameter set;
  • the key generation function is generated according to the first random number, the second random number, the device identifier of the terminal device, the fourth parameter set, and the first key.
  • the communication key of the terminal device is generated according to the first random number, the second random number, the device identifier of the terminal device, the fourth parameter set, and the first key.
  • the authentication module is specifically configured to:
  • the server sends an authentication request message, where the authentication request message includes a first message verification code, a first random number, a device identifier of the terminal device, and a fourth parameter set;
  • Receiving a second random number sent by the network authentication server, the encrypted communication key, and the second message verification code, and the encrypted communication key is obtained by the network authentication server using the first key to encrypt the communication key;
  • the encrypted communication key is decrypted according to the first key to obtain a communication key.
  • the authentication module is specifically configured to:
  • Determining a first random number performing encryption processing on the first random number by using the first key, to obtain an encrypted first random number, according to at least one of the first key, the first random number, and the terminal device Generating at least one of the device identifier and the fourth parameter set, using a key generation function to generate a communication key of the terminal device, according to any one of the first key and the communication key, and the first random number, the terminal device At least one of the device identifier and the fourth parameter set generates a first message verification code by using a message verification code generation function, and sends an authentication request message to the network authentication server, where the authentication request message includes the first message verification code and the encrypted processing a random number, a device identifier of the terminal device, and a fourth parameter set;
  • the second message verification code is verified and the verification is determined to pass.
  • the authentication module is specifically configured to:
  • the server sends an authentication request message, where the authentication request message includes a first message verification code, a first random number, a device identifier of the terminal device, and a fourth parameter set;
  • the second message verification code is verified and the verification is determined to pass.
  • the authentication module is specifically configured to:
  • the verification code is verified and determined to pass verification.
  • the first key is a first private key of the terminal device
  • the device identifier of the terminal device is a terminal device corresponding to the first private key The first public key.
  • the authentication module is specifically configured to:
  • the digital signature sends an authentication request message to the network authentication server, where the authentication request message includes a first digital signature, a first random number after the encryption process, and a device identifier of the terminal device;
  • the communication key of the terminal device is generated according to at least one of the first random number and the second random number, and the second random number after the encryption process is that the network authentication server uses the first public key pair of the terminal device. Two random number encryption processing is obtained;
  • the authentication module is specifically configured to:
  • Determining a first random number generating a first digital signature of the terminal device according to the first key and the first random number, and sending an authentication request message to the network authentication server, where the authentication request message includes a first digital signature, a first random number, and a terminal Equipment identification of the equipment;
  • the first message verification code is generated according to the communication key, the first random number, and the second random number, or is generated according to the first key, the first random number, and the second random number.
  • a third digital signature sending the first message verification code or the third digital signature to the network authentication server, so that the network authentication server verifies the first message verification code or the third digital signature.
  • the authentication module is specifically configured to:
  • the message includes a first digital signature, a first random number, a first transmission parameter, and a device identifier of the terminal device;
  • the second transmission parameter After verifying the second digital signature, according to at least one of the first random number, the second random number, and the third transmission parameter, generating a communication key of the terminal device by using a key generation function, according to the first random number And at least one of the second random number, and the communication key, the first transmission parameter, the second transmission parameter generates a first message verification code, or according to at least one of the first random number and the second random number, and The first key, the first transmission parameter, the second transmission parameter generates a third digital signature, and sends the first message verification code or the third digital signature to the network authentication server, so that the network authentication server verifies the first message or the first Three digital signatures are verified.
  • the authentication module is specifically configured to:
  • Determining the first random number using the network authentication public key of the network authentication server to encrypt the first random number, obtaining the first random number after the encryption process, and generating the terminal device according to the first key and the first random number a digital signature, sending an authentication request message to the network authentication server, where the authentication request message includes a first digital signature, a first random number after the encryption process, and a device identifier of the terminal device;
  • the network authentication server Receiving the encrypted second random number and the second digital signature sent by the network authentication server, decrypting the encrypted second random number according to the first key of the terminal device, obtaining a second random number, and signing the second digital After the verification is passed, the communication key of the terminal device is generated according to at least one of the first random number and the second random number, and the second random number after the encryption process is that the network authentication server adopts the first public key pair of the terminal device. Random number encryption processing is obtained.
  • the authentication module is specifically configured to:
  • Determining a first random number generating a first digital signature of the terminal device according to the first key and the first random number, and sending an authentication request message to the network authentication server, where the authentication request message includes a first digital signature, a first random number, and Device identification of the terminal device;
  • Receiving a second random number sent by the network authentication server, an encrypted communication key, and a second digital signature, and the encrypted communication key is obtained by the network authentication server using the first public key of the terminal device to encrypt the communication key.
  • the encrypted communication key is decrypted according to the first key of the terminal device to obtain a communication key.
  • the receiving module is further configured to receive a fourth parameter set sent by the user management server;
  • the fourth parameter set includes at least one of an identifier of the user management server, a network identifier, and a service parameter.
  • the authentication module is specifically configured to:
  • Determining the first random number using the network authentication public key of the network authentication server to encrypt the first random number, and obtaining the first random number after the encryption process, according to the first random number, the device identifier of the terminal device, and the fourth parameter set And generating, by the first key, the first digital signature of the terminal device, and sending an authentication request message to the network authentication server, where the authentication request message includes the first digital signature, the first random number after the encryption process, and the terminal device Device identification and a fourth parameter set;
  • the network authentication server Receiving the encrypted second random number and the second digital signature sent by the network authentication server, decrypting the encrypted second random number according to the first key of the terminal device, obtaining a second random number, and signing the second digital After the verification is passed, the communication key of the terminal device is generated according to at least one of the first random number and the second random number, and at least one of the device identifier and the fourth parameter set of the terminal device, and the encrypted device is processed.
  • the second random number is obtained by the network authentication server using the first public key of the terminal device to encrypt the second random number;
  • the authentication module is specifically configured to:
  • the first random number Determining, by the first random number, at least one of the first random number, the device identifier of the terminal device, the fourth parameter set, and the first key, sending an authentication request message to the network authentication server, where the authentication request message includes the first number a signature, a first random number after encryption processing, a device identifier of the terminal device, and a fourth parameter set;
  • the first message verification code is generated according to the device identifier of the terminal device, at least one of the fourth parameter set, and the communication key, the first random number, and the second random number, or according to the second random number. At least one of the device identifier of the terminal device, the fourth parameter set, and the first key, the first random number, and the second random number generates a third digital signature, and sends the first message verification code or the third digital signature to
  • the network authentication server is configured to enable the network authentication server to verify the first message verification code or the third digital signature.
  • the authentication module is specifically configured to:
  • Determining a first random number, a first transmission parameter of the DH protocol generating a terminal device according to at least one of a device identifier of the terminal device, a fourth parameter set, and a first key, a first random number, and a first transmission parameter a first digital signature, sending an authentication request message to the network authentication server, where the authentication request message includes a first digital signature, a first random number, a first transmission parameter, a device identifier of the terminal device, and a fourth parameter set;
  • the terminal is generated by using a key generation function according to the first random number, the second random number, the device identifier of the terminal device, the at least one of the fourth parameter set, and the third transmission parameter.
  • a communication key of the device according to at least one of a device identifier of the terminal device, a fourth parameter set, and a communication key, a first transmission parameter, a second transmission parameter, a first message verification code, or according to the first random number
  • the second random number, the device identifier of the terminal device, and the fourth parameter set, and the first key, the first transmission parameter, the second transmission parameter generates a third digital signature, and the first message verification code or
  • the third digital signature is sent to the network authentication server to enable the network authentication server to verify the first message verification code or the third digital signature.
  • the authentication module is specifically configured to:
  • Determining the first random number using the network authentication public key of the network authentication server to encrypt the first random number, and obtaining the first random number after the encryption process, according to the first random number, the device identifier of the terminal device, and the fourth parameter set And generating, by the first key, the first digital signature of the terminal device, and sending an authentication request message to the network authentication server, where the authentication request message includes the first digital signature, the first random number after the encryption process, and the terminal device Device identification and a fourth parameter set;
  • the network authentication server Receiving the encrypted second random number and the second digital signature sent by the network authentication server, decrypting the encrypted second random number according to the first key of the terminal device, obtaining a second random number, and signing the second digital After the verification is passed, the communication key of the terminal device is generated according to at least one of the first random number and the second random number, and at least one of the device identifier and the fourth parameter set of the terminal device, and the encrypted device is processed.
  • the second random number is obtained by the network authentication server using the first public key of the terminal device to encrypt the second random number.
  • the authentication module is specifically configured to:
  • the authentication request message includes a first digital signature, a first random number, a device identifier of the terminal device, and a fourth parameter set;
  • Receiving a second random number sent by the network authentication server, an encrypted communication key, and a second digital signature, and the encrypted communication key is obtained by the network authentication server using the first public key of the terminal device to encrypt the communication key.
  • the encrypted communication key is decrypted according to the first key of the terminal device to obtain a communication key.
  • the method further includes:
  • a public key requesting module configured to send a public key request message to the network authentication server
  • the receiving module is further configured to receive a network authentication public key of the network authentication server sent by the network authentication server.
  • the authentication module is specifically configured to:
  • the network authentication server performs mutual authentication, and generates a terminal by using a key generation function according to any one of a communication key, a fourth parameter set, a session key random number, a session key fresh parameter, and a session key preset time parameter.
  • the session key for the device.
  • the application provides a network authentication server, including:
  • a request receiving module configured to receive an authentication request message sent by the terminal device, where the authentication request message includes a device identifier of the terminal device;
  • a key receiving module configured to receive a first key of the terminal device corresponding to the device identifier sent by the service center server
  • the authentication module is configured to perform mutual authentication with the terminal device indicated by the device identifier according to the first key to obtain a communication key between the terminal device and the function network element.
  • the authentication request message further includes the first random number after the encryption process, where the authentication module is specifically configured to:
  • Generating a communication key by using a key generation function according to at least one of the first key, the first random number, and the second random number, according to any one of the communication key, the first key, and the first random
  • the second random number is generated by using the message verification code generating function to generate a second message verification code, and the second message verification code and the encrypted second random number are sent to the terminal device;
  • the first message verification code sent by the terminal device is sent, and after the verification of the first message verification code is passed, the communication key is sent to the function network element.
  • the authentication request message further includes a first random number
  • the authentication module is specifically configured to:
  • a second random number generating a communication key by using a key generation function according to at least one of the first random number and the second random number, and the first key, according to the communication key, the first key And a first random number, the second random number, using the message verification code generating function to generate a second message verification code, and sending the second message verification code and the second random number to the terminal device;
  • the first message verification code sent by the terminal device is sent, and after the verification of the first message verification code is passed, the communication key is sent to the function network element.
  • the authentication request message further includes a first random number
  • the authentication module is specifically configured to:
  • the first message verification code sent by the terminal device is sent, and after the verification of the first message verification code is passed, the communication key is sent to the function network element.
  • the authentication request message further includes a first random number and a first transmission parameter
  • the authentication module is specifically configured to:
  • Key generation function according to at least one of the first random number, the second random number, and the third transmission parameter Generating a communication key, according to any one of the communication key and the first key, and the first transmission parameter, the second transmission parameter, generating a second message verification code by using a message verification code generating function, and using the second random number,
  • the second transmission parameter, the second message verification code is sent to the terminal device;
  • the first message verification code sent by the terminal device is sent, and after the verification of the first message verification code is passed, the communication key is sent to the function network element.
  • the authentication request message further includes a first message verification code and a first random number after the encryption process, where the authentication module is specifically configured to:
  • the first random number after the encryption process is obtained by the terminal device using the first key to encrypt the first random number;
  • the authentication request message further includes a first message verification code and a first random number
  • the authentication module is specifically configured to:
  • the terminal device After verifying that the first message verification code is passed, generating a communication key by using a key generation function according to at least one of the first random number and the second random number, and the first key, according to the communication key, the first And generating, by the message verification code generating function, a second message verification code, and sending the second random number and the second message verification code to the at least one of the first random number and the second random number
  • the terminal device sends a communication key to the function network element.
  • the authentication request message further includes a first message verification code and a first random number
  • the authentication module is specifically configured to:
  • the key and the second message verification code are sent to the terminal device, and the communication key is sent to the function network element.
  • the authentication request message further includes a first message verification code and a first random number after the encryption process, where the authentication module is specifically configured to:
  • the first random number after the encryption process is obtained by the terminal device using the first key to encrypt the first random number;
  • the message verification code generating function is used to generate the second message verification code, and the encrypted second random number and the second message verification code are sent to the terminal device. Send a communication key to the functional network element.
  • the authentication request message further includes a first message verification code and a first random number
  • the authentication module is specifically configured to:
  • the authentication request message further includes a first random number, a first message verification code, and a first transmission parameter, where the authentication module is specifically configured to:
  • the message verification code After verifying that the first message verification code is passed, generating a communication key by using a key generation function according to at least one of the first random number, the second random number, and the third transmission parameter, according to the communication key, Any one of the first key, and any one of the first transmission parameter and the second transmission parameter, using the message verification code generation function to generate a second message verification code, the second random number, the second transmission parameter, and the second
  • the message verification code is sent to the terminal device and sends a communication key to the function network element.
  • the authentication request message further includes a fourth parameter set
  • the fourth parameter set includes at least one of an identifier of the user management server, a network identifier, and a service parameter.
  • the authentication request message further includes the first random number after the encryption processing, and the authentication module is specifically configured to:
  • a communication key by using a key generation function according to at least one of the first key, the first random number, and the second random number, and at least one of a device identifier of the terminal device and a fourth parameter set, according to the communication Any one of the key, the first key, and the device identifier of the terminal device, the fourth parameter set, and the first random number, and the second random number is generated by the message verification code generating function a message verification code, sending the second message verification code and the encrypted second random number to the terminal device;
  • the first message verification code sent by the terminal device is sent, and after the verification of the first message verification code is passed, the communication key is sent to the function network element.
  • the authentication request message further includes a first random number
  • the authentication module is specifically configured to:
  • Generating a communication key by using a key generation function according to at least one of a first random number, a second random number, a device identifier of the terminal device, and a fourth parameter set, and according to the communication key, the first Any one of the keys, and at least one of the device identifier of the terminal device, the fourth parameter set, and the first random number, the second random number, using the message verification code generating function to generate the second message verification code, Transmitting the second message verification code and the second random number to the terminal device;
  • the first message verification code sent by the terminal device is sent, and after the verification of the first message verification code is passed, the communication key is sent to the function network element.
  • the authentication request message further includes a first random number
  • the authentication module is specifically configured to:
  • the first message verification code sent by the terminal device is sent, and after the verification of the first message verification code is passed, the communication key is sent to the function network element.
  • the authentication request message further includes a first random number and a first transmission parameter
  • the authentication module is specifically configured to:
  • the generating function generates a second message verification code, and sends the second random number, the second transmission parameter, and the second message verification code to the terminal device;
  • the first message verification code sent by the terminal device is sent, and after the verification of the first message verification code is passed, the communication key is sent to the function network element.
  • the authentication request message further includes the first message verification code and the first random number after the encryption process, and the authentication The module is specifically used to:
  • the first random number after the encryption process is obtained by the terminal device using the first key to encrypt the first random number;
  • the key generation function After the verification of the first message verification code is passed, according to at least one of the first key, the first random number, and the second random number, and at least one of the device identifier of the terminal device and the fourth parameter set.
  • the key generation function generates a communication key according to any one of the communication key and the first key, and at least one of the first random number, the second random number, the device identifier of the terminal device, and the fourth parameter set.
  • the message verification code generating function is used to generate a second message verification code, and the second random number and the second message verification code after the encryption process are sent to the terminal device, and the communication key is sent to the function network element.
  • the authentication request message further includes a first message verification code and a first random number
  • the authentication module is specifically used to :
  • the key generation function is generated according to the first random number, the second random number, the device identifier of the terminal device, the at least one of the fourth parameter set, and the first key.
  • the communication key is generated by using a message verification code according to any one of the communication key and the first key, and the first random number, the second random number, the device identifier of the terminal device, and the fourth parameter set.
  • the function generates a second message verification code, the second random number, The second message verification code is sent to the terminal device to send a communication key to the function network element.
  • the authentication request message further includes a first message verification code and a first random number
  • the authentication module is specifically used to :
  • the message verification code sends the second random number, the encrypted communication key, and the second message verification code to the terminal device, and sends the communication key to the function network element.
  • the authentication request message further includes the first message verification code and the first random number after the encryption process, and the authentication The module is specifically used to:
  • the first random number after the encryption process is obtained by the terminal device using the first key to encrypt the first random number;
  • the key generation function is generated according to at least one of the first key, the first random number, and the device identifier of the terminal device and the fourth parameter set.
  • a communication key according to any one of the communication key and the first key, and at least one of the first random number, the second random number, the device identifier of the terminal device, and the fourth parameter set, using the message verification code
  • the generating function generates a second message verification code, and sends the encrypted second random number and the second message verification code to the terminal device, and sends the communication key to the function network element.
  • the authentication request message further includes a first message verification code and a first random number
  • the authentication module is specifically used to :
  • generating a communication key by using a key generation function according to the first random number, the device identifier of the terminal device, the at least one of the fourth parameter set, and the first key, according to And generating at least one of a communication key and a first key, and at least one of a first random number, a second random number, a device identifier of the terminal device, and a fourth parameter set, and generating a second by using a message verification code generating function
  • the message verification code sends the second random number and the second message verification code to the terminal device, and sends the communication key to the function network element.
  • the authentication request message further includes the first random number, the first message verification code, and the first transmission parameter
  • the authentication module is specifically used to:
  • the key generation is performed according to the first random number, the second random number, the device identifier of the terminal device, the at least one of the fourth parameter set, and the third transmission parameter.
  • the function generates a communication key, and adopts a message verification code according to any one of the communication key and the first key, and the device identifier, the fourth parameter set, the first transmission parameter, and the second transmission parameter of the terminal device.
  • the generating function generates a second message verification code, and sends the second random number, the second transmission parameter, and the second message verification code to the terminal device, and sends the communication key to the function network element.
  • the authentication module is specifically configured to:
  • the terminal device performs mutual authentication, and generates a network authentication by using a key generation function according to any one of a communication key, a fourth parameter set, a session key random number, a session key fresh parameter, and a session time preset time parameter.
  • the session key of the server and the session key is sent to the functional network element.
  • the application provides a network authentication server, including:
  • the request receiving module is configured to receive an authentication request message sent by the terminal device, where the authentication request message includes a device identifier of the terminal device, and the device identifier of the terminal device is a first public key of the terminal device;
  • the authentication module is configured to perform mutual authentication according to the first public key, the network authentication public key of the network authentication server, and the network authentication private key of the network authentication server to obtain the communication key of the terminal device and the function network element.
  • the authentication request message further includes a first digital signature and a first random number after the encryption process, where the authentication module is specifically configured to:
  • the second random number after the processing, the first random number after the encryption process is obtained by the terminal device using the network authentication public key of the network authentication server to encrypt the first random number
  • the communication key is generated according to at least one of the first random number and the second random number, according to the network authentication server.
  • the network authentication private key, the first random number, and the second random number generate a second digital signature, and send the encrypted second random number and the second digital signature to the terminal device;
  • the first message verification code or the third digital signature sent by the terminal device is sent, and after the first message verification code or the third digital signature is verified, the communication key is sent to the function network element.
  • the authentication request message further includes a first digital signature and a first random number
  • the authentication module is specifically configured to:
  • the first message verification code or the third digital signature sent by the terminal device is sent, and after the first message verification code or the third digital signature is verified, the communication key is sent to the function network element.
  • the authentication request message further includes a first digital signature, a first random number, and a first transmission parameter, where the authentication module is specifically configured to:
  • the key generation is performed according to at least one of the first random number, the second random number, and the third transmission parameter.
  • the function generates a communication key, and generates a second digital signature according to at least one of the first random number and the second random number, and the network authentication private key of the network authentication server, the first transmission parameter, and the second transmission parameter, Two random numbers, the second transmission parameter after encryption processing The number and the second digital signature are sent to the terminal device;
  • the first message verification code or the third digital signature sent by the terminal device is sent, and after the first message verification code or the third digital signature is verified, the communication key is sent to the function network element.
  • the authentication request message further includes a first digital signature and a first random number after the encryption process, where the authentication module is specifically configured to:
  • the second random number after the processing, the first random number after the encryption process is obtained by the terminal device using the network authentication public key of the network authentication server to encrypt the first random number
  • the communication key is generated according to at least one of the first random number and the second random number, according to the network authentication server.
  • the network authentication private key, the first random number, and the second random number generate a second digital signature, and send the encrypted second random number and the second digital signature to the terminal device, and send the communication key to the function network element.
  • the authentication request message further includes a first digital signature and a first random number
  • the authentication module is specifically configured to:
  • the terminal device After verifying the first digital signature according to the preset global public key and the first public key of the terminal device, determining the communication key according to the third random number, and encrypting the communication key by using the first public key of the terminal device, Obtaining the encrypted communication key, generating a second digital signature according to the network authentication private key of the network authentication server, the first random number and the second random number, and the second random number, the encrypted communication key, and the second The digital signature is sent to the terminal device and the communication key is sent to the functional network element.
  • the authentication request message further includes a fourth parameter set
  • the fourth parameter set includes at least one of an identifier of the user management server, a network identifier, and a service parameter.
  • the authentication request message further includes a first digital signature and a first random number after the encryption process, and the authentication module is specifically used. to:
  • the second random number after the processing, the first random number after the encryption process is obtained by the terminal device using the network authentication public key of the network authentication server to encrypt the first random number
  • the terminal device After verifying the first digital signature according to the preset global public key and the first public key of the terminal device, according to at least one of the first random number and the second random number, and the device identifier and the fourth parameter of the terminal device Generating a communication key according to at least one of the set, according to at least one of a device identifier of the terminal device, a fourth parameter set, and a network authentication private key of the network authentication server, the first random number, and the second random number generation a second digital signature, the second random number and the second digital signature after the encryption process are sent to the terminal device;
  • the first message verification code or the third digital signature sent by the terminal device is sent, and after the first message verification code or the third digital signature is verified, the communication key is sent to the function network element.
  • the authentication request message further includes a first digital signature and a first random number
  • the authentication module is specifically configured to:
  • the first message verification code or the third digital signature sent by the terminal device is sent, and after the first message verification code or the third digital signature is verified, the communication key is sent to the function network element.
  • the authentication request message further includes a first digital signature, a first random number, and a first transmission parameter, and the authentication module is specific Used for:
  • the key generation is performed according to at least one of the first random number, the second random number, and the third transmission parameter.
  • the function generates a communication key, and generates a second digital signature according to at least one of the first random number and the second random number, and the network authentication private key of the network authentication server, the first transmission parameter, and the second transmission parameter, a second random number, a second transmission parameter after the encryption process, and a second digital signature, which are sent to the terminal device;
  • the first message verification code or the third digital signature sent by the terminal device is sent, and after the first message verification code or the third digital signature is verified, the communication key is sent to the function network element.
  • the authentication request message further includes a first digital signature and a first random number after the encryption process, and the authentication module is specifically used by the authentication module.
  • the second random number after the processing, the first random number after the encryption process is obtained by the terminal device using the network authentication public key of the network authentication server to encrypt the first random number
  • the two-digit signature After verifying the first digital signature according to the preset global public key and the first public key of the terminal device, according to at least one of the first random number and the second random number, and the device identifier and the fourth parameter of the terminal device Generating a communication key according to at least one of the set, according to at least one of a device identifier of the terminal device, a fourth parameter set, and a network authentication private key of the network authentication server, the first random number, and the second random number generation
  • the two-digit signature sends the encrypted second random number and the second digital signature to the terminal device, and sends the communication key to the function network element.
  • the authentication request message further includes a first digital signature and a first random number
  • the authentication module is specifically configured to:
  • the possible implementation manner of any one of the first to eleventh aspects of the tenth aspect in the tenth aspect is that the request receiving module is further configured to receive a public key request message sent by the terminal device; the authentication module is further configured to send the network authentication public key of the network authentication server to the terminal device.
  • the authentication module is specifically used to: Perform mutual authentication, and generate a network authentication server by using a key generation function according to any one of a communication key, a fourth parameter set, a session key random number, a session key fresh parameter, and a session key preset time parameter.
  • the session key and the session key is sent to the functional network element.
  • the application provides a storage medium, which is a computer readable storage medium, stores one or more programs, and one or more programs include instructions that are executed by an electronic device that includes a plurality of applications.
  • the electronic device is caused to perform the key distribution method in any one of the first to seventh possible implementations of the first aspect, the first aspect.
  • the present application provides a storage medium, which is a computer readable storage medium, stores one or more programs, and one or more programs include instructions that are executed by an electronic device that includes a plurality of applications.
  • the electronic device is caused to perform the key distribution method in the second aspect, the first aspect of the second aspect, and the second possible implementation of the second aspect.
  • the application provides a storage medium, which is a computer readable storage medium, stores one or more programs, and one or more programs include instructions that are executed by an electronic device that includes a plurality of applications.
  • the electronic device is caused to perform the key authentication method in any one of the first to thirty-fifth possible implementations of the third aspect and the third aspect.
  • the application provides a storage medium, which is a computer readable storage medium, stores one or more programs, and one or more programs include instructions that are executed by an electronic device that includes a plurality of applications.
  • the electronic device is configured to perform the fourth aspect, the first to the twelfth aspects of the fourth aspect, the fifth aspect, and the first to the thirteenth possible implementation manners of the fifth aspect Key authentication method.
  • the application provides a key distribution and authentication system, comprising: the service center server in any one of the first to seventh possible implementation manners of the sixth aspect, the sixth aspect;
  • the user management server in any one of the possible implementation manners of the seventh aspect, the first aspect of the seventh aspect, the second aspect of the seventh aspect, the first to the thirtieth of the eighth aspect, the eighth aspect a terminal device in any one of five possible implementations;
  • a network authentication server in any of the possible implementations.
  • FIG. 1 is a schematic diagram of a system architecture of a first embodiment of a key distribution and authentication method according to the present application
  • Embodiment 1 of a key distribution and authentication method of the present application
  • Embodiment 3 is a signaling flowchart of Embodiment 1 of a key authentication method according to the present application.
  • Embodiment 4 is a signaling flowchart of Embodiment 2 of a key authentication method of the present application
  • FIG. 5 is a signaling flowchart of Embodiment 3 of a key authentication method according to the present application.
  • Embodiment 6 is a signaling flowchart of Embodiment 4 of a key authentication method according to the present application.
  • Embodiment 7 is a signaling flowchart of Embodiment 5 of a key authentication method of the present application.
  • Embodiment 8 is a signaling flowchart of Embodiment 6 of a key authentication method according to the present application.
  • Embodiment 9 is a signaling flowchart of Embodiment 7 of a key authentication method of the present application.
  • Embodiment 8 is a signaling flowchart of Embodiment 8 of a key authentication method of the present application.
  • Embodiment 11 is a schematic structural diagram of Embodiment 1 of a service center server according to the present application.
  • Embodiment 1 of a user management server according to the present application.
  • FIG. 13 is a schematic structural diagram of Embodiment 1 of a terminal device according to the present application.
  • Embodiment 1 of a network authentication server is a schematic structural diagram of Embodiment 1 of a network authentication server according to the present application.
  • FIG. 15 is a schematic structural diagram of Embodiment 2 of a network authentication server according to the present application.
  • the present application provides a key distribution and authentication method and device for distributing a key for a terminal device, and causing the terminal device to obtain a communication key after mutual authentication with the network authentication server according to the distributed key, so that the terminal device can
  • the communication key is connected to the communication network and communicates securely.
  • FIG. 1 is a schematic diagram of a system architecture of a first embodiment of a method for key distribution and authentication according to the present application.
  • the system architecture includes a service center server 101, a user management server 102, a terminal device 103, a network authentication server 104, and a function network element 105.
  • the service center server 101 is configured to securely generate and allocate a key, and when the user management server 102 sends the first key request message, allocate different keys to the different terminal devices 103 managed by the user management server 102, and the service center.
  • the server 101 can also distribute keys of different types or different security levels by different algorithms for the terminal devices 103 belonging to different user management servers 102.
  • the service center server 101 can be controlled by the network operator or by a third party independent of the network operator and the user management server.
  • the service center server 101 may specifically be a server, a base station, a workstation, a computer, a gateway, etc., and the present application only takes a server as an example, and is not limited thereto.
  • the user management server 102 can be a company, an enterprise, or an end user or a terminal, and one or more terminal devices 103 are deployed. In FIG. 1, one user management server 102 manages two terminal devices 103 as an example. It should be understood by those skilled in the art that this is not a limitation of the present application.
  • the terminal device 103 can be a smart device such as a mobile phone, a tablet computer, a smart terminal, or a communication device such as a server, or an Internet of Things device such as a sensor, an electric meter, or a water meter.
  • the network authentication server 104 and the function network element 105 are controlled by the network operator.
  • the network authentication server 104 is configured to perform mutual authentication with the terminal device 103 according to the distributed key and obtain a communication key.
  • the network authentication server 104 may specifically be a mobile management node ( Mobility Management Entity (MME), Home Subscriber Server (HSS), controller, control node, gateway, server, etc.
  • MME Mobility Management Entity
  • HSS Home Subscriber Server
  • controller control node
  • gateway server
  • the function network element 105 may specifically be the data plane anchor point, the core network server, and the control node of the terminal device 103 accessing the communication network.
  • User data plane gateways such as PDH equipment, SDH-ADM, DACS, TEM, REG, PCM, etc.
  • the service center server 101 includes a service authentication server and a key management server.
  • the service authentication server communicates with the user management server 102
  • the key management server communicates with the network authentication server 104
  • the service authentication server receives the first key request message sent by the user management server 102, and requests the first key. The message is forwarded to the key management server.
  • the key management server When the key management server generates the first key, the key management server sends the first key to the terminal device 103 through the service authentication server, and the terminal device 103 and the network authentication server 104 are based on the symmetry.
  • the key management server can directly send the first to the network authentication server 104.
  • a key is a key.
  • the service authentication server can also communicate with the network authentication server 104, the key management server directly communicates with the user management server 102, and the key management server directly receives the first key request message sent by the user management server 102, and The generated first key is directly sent to the terminal device 103.
  • the key management server sends the first secret to the network authentication server 104 through the service authentication server. key.
  • the service authentication server can also communicate with the user management server 102 and the network authentication server 104, the key management server only communicates with the service authentication server, the service authentication server directly communicates with the user management server 102, and the service authentication server directly receives The first key request message sent by the user management server 102, and the first layer key generated by the key management server is directly sent to the user management server 102, and the terminal device 103 and the network authentication server 104 perform mutual mutual based on the symmetric key technology.
  • the service authentication server transmits the first layer key to the network authentication server 104.
  • FIG. 2 is a signaling flowchart of Embodiment 1 of a method for key distribution and authentication according to the present application. As shown in Figure 2, the method includes:
  • the user management server sends a first key request message to the service center server.
  • the first key request message is used to instruct the service center server to generate a first key of the terminal device managed by the user management server.
  • the user management server and the service center server have mutually authenticated and established a secure communication channel.
  • the authentication mode may be based on a user name password, a certificate, a symmetric key, an AKA protocol, and the like. .
  • the service center server receives the first key request message sent by the user management server, generates a first key of the terminal device, and sends the first key to the user management server.
  • the service center server when the service center server receives the first key request message sent by the user management server, the first key is generated and sent to the user management server, so that the user management server uses the first key.
  • the key is sent to the terminal device.
  • the first key request message sent by the user equipment to the service center server by the user management server may include the device identifier of each terminal device, and the service center server is included in each first key request message.
  • the terminal device indicated by the device identifier generates a first key.
  • the service center server when the service center server generates the first key of the terminal device, the following feasible implementation manners are included:
  • the service center server generates a first key of the terminal device by using a key generation function according to the first parameter set;
  • the service center server When the first key request message includes at least one of a device identifier of the terminal device, an identifier of the user management server, a network identifier, and a service parameter, the service center server generates a terminal device by using a key generation function according to the second parameter set. The first key.
  • the first parameter set includes at least one of a first key random number, a first key fresh parameter, a preset time parameter of the first key, and a shared key.
  • the second parameter set includes a first key random number, a first key fresh parameter, a preset time parameter of the first key, a shared key, an identifier of the user management server, a network identifier, a service parameter, and a device identifier of the terminal device. At least one of them.
  • the shared key is the shared secret between the user management server and the service center server. key.
  • a random number may be randomly selected by the service center server as the first key of the terminal device.
  • the service center server sends the first key to the user management server, and sends the first key to the network authentication server, so that the terminal device receives the first one sent by the user management server.
  • the network authentication server can perform mutual authentication based on the symmetric key technology. Since the first key is only provided by the terminal device and the network authentication server, and is not disclosed, the terminal device and the network authentication server can perform the first key according to the first key. Data encryption and decryption ensure the confidentiality of the authentication process.
  • the Key Derivation Function derives the key according to the input parameters, and the content, number and order of the input parameters are different, and different keys are obtained.
  • the algorithms used by the KDF may be HMAC algorithms (such as HMAC-sha256), OMAC, CBC-MAC, PMAC, UMAC, and VMAC.
  • the shared key of the user management server and the service center server may be preset in advance, or may be a key negotiated by the user and the key management center after performing protocols such as IPsec and TLS. It is the key obtained by the user and the key management center after AKA authentication (such as Kasme, CK, IK, etc.).
  • the service center server generates a first key of the terminal device based on the device identity generation algorithm according to the preset global private key and the device identifier of the terminal device;
  • the service center server generates a first key of the terminal device based on the device identity generation algorithm according to the preset global private key, the device identifier of the terminal device, and the third parameter set;
  • the third parameter set includes at least one of a first key random number, a first key fresh parameter, and a preset time parameter of the first key; the first key of the terminal device is the first of the terminal device.
  • the private key, the device identifier of the terminal device is the first public key of the terminal device corresponding to the first private key.
  • the device identity generation algorithm generates different first keys for different terminal devices based on the device identifiers of different terminal devices, and the first key of the terminal device is the private key of the terminal device, and the terminal device
  • the device identifier is the first public key of the terminal device.
  • the public key generated by the device identifier of the terminal device may also be selected as the first public key of the terminal device.
  • the device identifier of the terminal device is taken as the first public key of the terminal device as an example, and is not limited thereto.
  • the first public key of the terminal device is public data, and the first private key of the terminal device has only the terminal device and is not disclosed.
  • the terminal device After a device encrypts data by using the first public key of the terminal device and sends the data to the terminal device, the terminal device can decrypt the encrypted data by using the first private key to obtain data, and other devices obtain the encrypted data, because they do not have The first private key of the terminal device, and cannot be decrypted or verified correctly. Therefore, this type of identity-based cryptosystem-based key is suitable for the mutual authentication process based on identity key technology.
  • the first key fresh parameter (eg, sequence parameter, fresh parameter, nonce, etc.) is used to indicate the freshness of the first key, resisting the replay attack, and the first secret at different times.
  • the fresh parameters of the key should be different, and if they are the same, they can be considered to be replayed.
  • the preset time parameter of the first key is used to indicate the validity period of the first key, and includes at least one of a time when the first key is valid, an invalid time, and an expiration date.
  • the fresh parameters of any key in the following embodiments have the same meanings and will not be described again.
  • the identifier of the user management server includes, but is not limited to, at least one of the following: an industry user ID, a company ID, a service ID, and an ID of an individual user (eg, IMEI, IMSI, IMPI, TMSI, IMPU, user's App ID, MAC address, IP address, mobile number and GUTI, etc.).
  • an industry user ID e.g., IMEI, IMSI, IMPI, TMSI, IMPU, user's App ID, MAC address, IP address, mobile number and GUTI, etc.
  • the network identifier includes, but is not limited to, at least one of the following: a carrier ID (PLMN ID), an access network ID (Access Network ID), a service network ID (Serving Network ID), a local area network ID, and the like.
  • PLMN ID carrier ID
  • Access Network ID Access Network ID
  • Server Network ID service network ID
  • local area network ID a local area network ID
  • the service parameters include, but are not limited to, at least one of the following: a sequence number SN in the service, a timestamp, a related ID in the service, a service fresh parameter, a service random number (nonce'/random number1), a service level, and a delay a parameter, where the related ID in the service may be a name of the service, including at least one of an ID of a key management center, an ID of a service authentication center, a service center ID, a session ID, a link ID, an application ID, and a server ID.
  • the timestamp may be the system time of the user when sending the request message.
  • the device identifier of the terminal device includes, but is not limited to, at least one of the following: a number of the device, a serial number, an IMEI, an IMSI, an IMPI, a TMSI, an IMPU, an App ID of the device, a MAC address, an IP address, a mobile phone number, and a GUTI.
  • a number of the device includes, but is not limited to, at least one of the following: a number of the device, a serial number, an IMEI, an IMSI, an IMPI, a TMSI, an IMPU, an App ID of the device, a MAC address, an IP address, a mobile phone number, and a GUTI.
  • it may also be another identifier that uniquely identifies the device.
  • the identifier of the user management server may be added to generate a first key with different complexity for the terminal device managed by the different user management server, that is, the service center server may be based on the management terminal.
  • the user management server of the device is different, and the first key with different complexity is set for different terminal devices.
  • the service parameter may be added.
  • the service center server may set multiple first keys for the same terminal device.
  • the different services on the terminal device are protected by different keys.
  • the user management server sends the first key to the terminal device.
  • the user management server receives the first key of the terminal device sent by the service center server and sends the first key of the terminal device to the terminal device.
  • the first key request message when the user management server sends a plurality of first key request messages to the service center server for the multiple terminal devices, the first key request message includes the device identifier of the terminal device, so that the user management server can distinguish the first A terminal device corresponding to a key.
  • the user management server when the first key is sent to the terminal device, the user management server also sends the time information of the first key to the terminal device to limit the effective available time of the first key.
  • the terminal device performs mutual authentication with the network authentication server to obtain a communication key.
  • the terminal device receives the first key sent by the user management server, and performs mutual authentication with the network authentication server to obtain a communication key between the terminal device and the function network element.
  • the application further includes:
  • the network authentication server sends a communication key to the function network element, so that the terminal device and the function network element can perform secure communication based on the communication key.
  • step 204 mainly describes the key authentication process.
  • mutual authentication between the terminal device and the network authentication center includes the following feasible implementation manners:
  • the terminal device and the network authentication server perform mutual authentication based on the symmetric key technology.
  • the service center server sends the first key of the terminal device to the network authentication server, and the network authentication server receives the first key of the terminal device sent by the service center server, and according to the first key Mutual authentication with the terminal device.
  • the service center server may transmit the first key of the terminal device to the network authentication server simultaneously with or after transmitting the first key of the terminal device to the user management server.
  • the first key is sent to the network authentication server.
  • the key request message may include a device identifier of the terminal device.
  • the network authentication server can also receive the first key and the device identifier of the terminal device at the same time.
  • the network authentication server has obtained the device identifier of the terminal device from the service center server, the mutual authentication between the terminal device and the network authentication server During the authentication process, the terminal device does not need to send the device identifier of the terminal device to the network authentication server.
  • the network authentication server may also send a second key request message to the service center server after receiving the authentication request message sent by the terminal device in the mutual authentication process with the terminal device, and the service center server receives the first After the second key request message, the first key of the terminal device is sent to the network authentication server.
  • the authentication request message sent by the terminal device to the network authentication server is used to instruct the terminal device to perform mutual authentication with the network authentication server to obtain the communication key of the terminal device and the function network element.
  • the device identifier of the terminal device may be included in the authentication request message and the second key request message.
  • the service center server may store the device identifier and the first key correspondingly, and may regenerate the first key of the terminal device corresponding to the current device identifier according to the device identifier after receiving the key request message including the device identifier.
  • the terminal device and the network authentication server perform mutual authentication based on the identity key technology.
  • the first key of the terminal device is the first private key of the terminal device
  • the device identifier of the terminal device is the first public key of the terminal device.
  • the public key generated by the device identifier of the terminal device may also be selected as the first public key of the terminal device.
  • the network authentication server acquires the first public key of the terminal device, that is, the network authentication server stores the first public key of the terminal device and the network authentication of the network authentication server.
  • the public key and the network authentication private key the terminal device stores the network authentication public key of the network authentication server, and the network authentication server can encrypt the data to be transmitted according to the first public key of the terminal device, and the terminal device can perform network authentication according to the network authentication server.
  • the public key encrypts the transmission data, so that the terminal device and the network authentication server can mutually authenticate each other to obtain a communication key.
  • the network authentication public key and the network authentication private key of the network authentication server are generated based on the identity password system, and the network authentication server may select the ID of the network authentication server as the network authentication public key or the public generated according to the ID of the network authentication server.
  • the key acts as the network authentication public key.
  • the network authentication public key of the network authentication server may be pre-stored in the terminal device.
  • the network authentication server may receive the public key request message or the certificate request message sent by the terminal device before the network authentication server and the terminal device authenticate each other; the network authentication server sends the network authentication to the terminal device.
  • the network authentication public key of the server or the certificate of the network authentication server which contains the network authentication public key of the network authentication server.
  • the network authentication public key is sent by the network authentication server to the terminal device.
  • the network authentication server may also generate a third public key and a third private key of the network authentication server based on a public key infrastructure (PKI) cryptosystem, instead of the network authentication server based on the identity secret.
  • PKI public key infrastructure
  • the terminal device and the network authentication server may perform mutual authentication according to protocols such as IPsec and TLS.
  • the terminal device and the network authentication server may directly adopt the first key as a secure communication key of the terminal device and the function network element.
  • the present application is applicable to key distribution and authentication when an enterprise or a company manages multiple terminal devices based on multiple services at the same time, which may enable multiple terminal devices to preset the root key or not support the USIM card in advance.
  • different keys distributed by the service center server are obtained, thereby implementing secure communication, and at the same time, implementing business-based key distribution and authentication, which reduces the operation of the operator. the complexity.
  • the service center server distributes different keys for each terminal device, and then each terminal device performs mutual authentication with the network authentication center based on the respective keys, and finally obtains communication between the terminal device and the function network element.
  • the application provides a method for establishing a secure communication channel for a terminal device, has a wide application range, and reduces the complexity of the operator network.
  • the mutual authentication mode includes at least an authentication method based on a symmetric key technology and an authentication method based on an identity key technology.
  • the first possible authentication implementation is a first possible authentication implementation:
  • FIG. 3 is a signaling flowchart of Embodiment 1 of a key authentication method according to the present application. As shown in Figure 3, it includes:
  • the terminal device sends an authentication request message to the network authentication server.
  • the terminal device determines the first random number, performs encryption processing on the first random number by using the first key, obtains the first random number after the encryption process, and sends an authentication request message to the network authentication server, where the authentication request message includes encryption processing.
  • the network authentication server sends a second random number and a second message verification code to the terminal device.
  • the network authentication server decrypts the encrypted first random number according to the first key, obtains a first random number, determines a second random number, and encrypts the second random number by using the first key to obtain an encryption process.
  • the terminal device sends a first message verification code to the network authentication server.
  • the terminal device receives the encrypted second random number and the second message verification code sent by the network authentication server, and decrypts the encrypted second random number according to the first key to obtain a second random number.
  • the network authentication server receives the first message verification code sent by the terminal device, and sends a communication key to the function network element after the verification of the first message verification code is passed.
  • the fourth parameter set may also be used according to the fourth parameter set in the process of generating the communication key and the message verification code to improve confidentiality and increase the correlation between the communication key and the first key.
  • the fourth parameter set includes at least one of an identifier of the user management server, a network identifier, and a service parameter.
  • the terminal device before the terminal device sends the authentication request message to the network authentication server, the terminal device further receives a fourth parameter set sent by the user management server, where the authentication request message further includes a fourth parameter set.
  • the network authentication server adopts at least one of the first key K_dev, the first random number nonce1, the second random number nonce2, and at least one of the device identifier of the terminal device and the fourth parameter set.
  • the verification code MAC2, that is, MAC2 MAC ((K_com or K_dev), nonce1, nonce2, (at least one of the device identifier of the terminal device and the fourth parameter set)), sends the second random number and the second message verification code to Terminal Equipment;
  • the terminal device adopts a key generation function according to at least one of the first key, the first random number, and the second random number, and at least one of a device identifier of the terminal device and a fourth parameter set.
  • K_com KDF ((K_dev, nonce1, at least one of nonce2), (at least one of the device identifier of the terminal device, the fourth parameter set))
  • the key parameter of the communication key may be used instead of the fourth parameter set, and the key parameter and the fourth parameter set of the communication key may also be used at the same time.
  • the key parameters of the communication key include at least one of the following: a communication key random number, a communication key fresh parameter, and a preset time parameter of the communication key. It will be apparent to those skilled in the art that it is also within the scope of the present application to add other similar parameters, delete some of the parameters, or replace the parameters in the present application with other similar parameters.
  • the network authentication server needs to send the key parameter of the communication key to the terminal device, when When the network authentication server does not use the key parameter of the communication key in the process of generating the communication key, the network authentication server does not need to transmit the key parameter of the communication key to the terminal device.
  • the first message verification code and the second message verification code may be encrypted according to the first key to improve the confidentiality of the authentication process.
  • the terminal device and the network authentication server use the same key generation function and the communication key of the parameter generation terminal device.
  • the terminal device and the network authentication server may adopt different parameters or different parameters in different orders to obtain different message verification codes. The same or similar settings may be used in the following various possible authentication methods, which are not described below.
  • the communication key in the foregoing step S302 can be obtained by the network authentication server according to the third random number.
  • the network authentication server encrypts the communication key by using the first key, and sends the communication key to the terminal device, so that the terminal device can decrypt the encrypted communication key. Get the communication key.
  • the first random number and the second random number are not encrypted.
  • the second possible authentication implementation is a first possible authentication implementation.
  • FIG. 4 is a signaling flowchart of Embodiment 2 of the key authentication method of the present application. As shown in Figure 4, it includes:
  • the terminal device sends an authentication request message to the network authentication server.
  • the terminal device determines a first random number, a first transmission parameter of the DH protocol.
  • a first transmission parameter of the DH protocol may first determine a first parameter x, g x according to a first transmission parameter of the first protocol parameter x DH obtained, the first parameter of the first transmission parameter g x to the power generating element g DH protocol is a preset, Sending an authentication request message to the network authentication server, where the authentication request message includes a first random number, a first transmission parameter, and a device identifier of the terminal device;
  • the DH protocol in the embodiments of the present application is a Diffie-Hellman protocol.
  • the network authentication server sends a second random number, a second transmission parameter, and a second message verification code to the terminal device.
  • the network authentication server receives the first random number, the first transmission parameter, the device identifier of the terminal device, and the fourth parameter set, and determines the second random number, the second transmission parameter of the DH protocol, and exemplary, may first determine two parameters y, g obtain a second transmission parameter according to a second parameter Y y, Y is a second transmission parameter g DH predetermined second protocol parameter to the power of the generator g, g x and a second transmission according to a first transmission parameter
  • the parameter g y performs a DH key negotiation algorithm to obtain a third transmission parameter g xy , and generates a network by using a key generation function according to at least one of the first random number, the second random number, and the fourth parameter set, and the third transmission parameter.
  • a communication key of the authentication server according to any one of the communication key and the first key, and at least one of a first random number, a second random number, a device identifier of the terminal device, and a fourth parameter set, and Transmitting the second message verification code by using the message verification code generating function, and transmitting the second random number, the second transmission parameter, and the second message verification code to the terminal device
  • the terminal device sends a first message verification code to the network authentication server.
  • the terminal device receives the second random number, the second transmission parameter, and the second message verification code sent by the network authentication server, and performs a DH key negotiation algorithm according to the first transmission parameter and the second transmission parameter to obtain a third transmission parameter, where After the second message verification code is verified, the terminal device is generated by using a key generation function according to at least one of the first random number, the second random number, the device identifier of the terminal device, and the fourth parameter set, and the third transmission parameter.
  • the communication key according to at least one of the communication key, the first key, and the device identifier of the terminal device, the fourth parameter set, and the first random number, the second random number, the message
  • the verification code generation function generates a first message verification code, and sends the first message verification code to the network authentication server;
  • the network authentication server receives the first message verification code sent by the terminal device, and sends a communication key to the function network element after the verification of the first message verification code is passed.
  • the first random number and the second random number may also be encrypted and transmitted.
  • at least one of the first transmission parameter and the second transmission parameter may also be selected for encryption.
  • the authentication request message further includes a DH protocol identifier of the preset DH protocol selected by the terminal device, and the network authentication server determines the transmission parameter according to the received DH protocol identifier.
  • the generator g of the preset DH protocol used in the generation is not limited to the generation.
  • the confidentiality of the authentication process is increased by increasing the first transmission parameter and the second transmission parameter as compared to the first possible authentication implementation.
  • the third possible authentication implementation is a third possible authentication implementation.
  • FIG. 5 is a signaling flowchart of Embodiment 3 of the key authentication method of the present application. As shown in Figure 5, it includes:
  • the terminal device sends an authentication request message to the network authentication center.
  • the terminal device determines the first random number, performs encryption processing on the first random number by using the first key, and obtains the first random number after the encryption process, and adopts the message verification code according to the first key and the first random number.
  • the generating function generates a first message verification code, and sends an authentication request message to the network authentication server, where the authentication request message includes a first message verification code, a first random number after the encryption process, and a device identifier of the terminal device;
  • the network authentication server sends a second random number and a second message verification code to the terminal device.
  • the network authentication server decrypts the encrypted first random number according to the first key, obtains a first random number, determines a second random number, and encrypts the second random number by using the first key to obtain an encryption process.
  • the communication of the network authentication server is generated by using a key generation function according to at least one of the first key, the first random number, and the second random number.
  • Key according to any one of the communication key and the first key, and the first random number, the second random number, generates a second message verification code by using a message verification code generating function, and encrypts the second random number after processing
  • the second message verification code is sent to the terminal device, and the communication key is sent to the function network element.
  • the terminal device generates a communication key.
  • the terminal device receives the encrypted second random number and the second message verification code sent by the network authentication server, and decrypts the encrypted second random number according to the first key to obtain a second random number; the terminal device is After the second message verification code is verified, the communication key of the terminal device is generated by using a key generation function according to at least one of the first key, the first random number, and the second random number.
  • the first random number and the second random number may be selected to be not encrypted.
  • the communication key in the foregoing step S502 can be obtained by the network authentication server according to the third random number.
  • the network authentication server encrypts the communication key by using the first key. And transmitting to the terminal device, so that the terminal device can obtain the communication key after decrypting the encrypted communication key.
  • the first random number and the second random number are not encrypted.
  • the implementation manner of the authentication reduces the number of signaling interactions and improves the authentication efficiency.
  • the fourth possible authentication implementation is a
  • FIG. 6 is a signaling flowchart of Embodiment 4 of the key authentication method of the present application. As shown in Figure 6, it includes:
  • the terminal device sends an authentication request message to the network authentication server.
  • the terminal device determines the first random number, performs encryption processing on the first random number by using the first key, and obtains the first random number after the encryption process, according to at least one of the first key and the first random number.
  • the authentication server sends an authentication request message, where the authentication request message includes a first message verification code, a first random number after the encryption process, and a device identifier of the terminal device;
  • the network authentication server sends a second random number and a second message verification code to the terminal device.
  • the network authentication server decrypts the encrypted first random number according to the first key, obtains a first random number, determines a second random number, and encrypts the second random number by using the first key to obtain an encryption process.
  • the communication key of the network authentication server is generated by using a key generation function according to at least one of the first key and the first random number, according to the first Any one of a key and a communication key, And generating at least one of the first random number and the second random number, using the message verification code generating function to generate a second message verification code, and transmitting the encrypted second random number and the second message verification code to the terminal device, to The function network element sends a communication key;
  • the terminal device verifies the second message verification code.
  • the terminal device receives the encrypted second random number and the second message verification code sent by the network authentication server, and decrypts the encrypted second random number according to the first key to obtain a second random number, and the terminal device pairs The second message verification code is verified and the verification is passed.
  • the implementation manner of the authentication reduces the number of signaling interactions and improves the authentication efficiency.
  • the terminal device first generates a communication key according to the first random number, and no longer depends on the second random number sent by the network authentication center server.
  • the second random number may not be encrypted.
  • the fifth possible authentication method is a fifth possible authentication method.
  • FIG. 7 is a signaling flowchart of Embodiment 5 of the key authentication method of the present application. As shown in Figure 7, it includes:
  • the terminal device sends an authentication request message to the network authentication server.
  • the terminal device determines a first random number, a first transmission parameter of the DH protocol, generates a first message verification code by using a message verification code generating function, and sends an authentication request to the network authentication server according to the first key and the first random number.
  • a message the authentication request message includes a first message verification code, a first random number, a first transmission parameter, and a device identifier of the terminal device;
  • the network authentication server sends a second random number, a second transmission parameter, and a second message verification code to the terminal device.
  • the network authentication server determines a second random number, a second transmission parameter of the DH protocol, and performs a DH key negotiation algorithm according to the first transmission parameter and the second transmission parameter to obtain a third transmission parameter, where the first message is verified.
  • the communication key is generated by using a key generation function according to at least one of the first random number and the second random number, and the third transmission parameter, according to any one of the communication key and the first key.
  • the first transmission parameter and the second transmission parameter are used to generate a second message verification code by using the message verification code generating function, and send the second random number, the second transmission parameter, and the second message verification code to the terminal device. And sending a communication key to the functional network element;
  • the terminal device verifies the second message verification code.
  • the terminal device receives the second random number, the second transmission parameter, and the second message verification code sent by the network authentication server, and performs a DH key negotiation algorithm according to the first transmission parameter and the second transmission parameter to obtain a third transmission parameter; And generating, by the key generation function, a communication key of the terminal device by using at least one of the first random number and the second random number, and verifying the second message verification code and determining to pass the verification.
  • the implementation manner of the authentication reduces the number of signaling interactions and improves the authentication efficiency.
  • the first random number, the second random number, the first transmission parameter, and the second transmission parameter may also be encrypted and transmitted to improve confidentiality.
  • the authentication request message further includes a DH protocol identifier of the preset DH protocol selected by the terminal device, and the network authentication server determines the transmission parameter according to the received DH protocol identifier.
  • the first key is the first private key of the terminal device
  • the device identifier of the terminal device is the first public key of the terminal device corresponding to the first private key.
  • the sixth possible authentication implementation is a sixth possible authentication implementation.
  • FIG. 8 is a signaling flowchart of Embodiment 6 of the key authentication method of the present application. As shown in Figure 8, it includes:
  • the terminal device sends an authentication request message to the network authentication server.
  • the terminal device determines the first random number, performs encryption processing on the first random number by using the network authentication public key of the network authentication server, and obtains the first random number after the encryption process, and generates the first random number according to the first key and the first random number.
  • the first digital signature of the terminal device sends an authentication request message to the network authentication server, where the authentication request message includes a first digital signature, a first random number after the encryption process, and a device identifier of the terminal device;
  • the network authentication server sends the second random number and the second digital signature to the terminal device.
  • the network authentication server decrypts the encrypted first random number according to the network authentication private key of the network authentication server, obtains a first random number, determines a second random number, and uses the first public key of the terminal device to the second random number.
  • Performing an encryption process to obtain a second random number after the encryption process after verifying the first digital signature according to the preset global public key and the first public key of the terminal device, according to the first random number and the second random number
  • generating at least one item generating a second digital signature according to the network authentication private key of the network authentication server, the first random number and the second random number, and encrypting the second random number, the second digital signature or the first
  • the key parameters of the two digital signatures and the communication key are sent to the terminal device;
  • the terminal device sends a first message verification code or a third digital signature to the network authentication server.
  • the terminal device receives the encrypted second random number and the second digital signature sent by the network authentication server, and decrypts the encrypted second random number according to the first key of the terminal device to obtain a second random number.
  • the second digital signature verification is passed, generating a communication key of the terminal device according to at least one of the first random number and the second random number; generating the first according to the communication key, the first random number, and the second random number a message verification code, or generating a third digital signature according to the first key, the first random number, and the second random number, and sending the first message verification code or the third digital signature to the network authentication server;
  • the network authentication server receives the first message verification code or the third digital signature sent by the terminal device, and sends a communication key to the function network element after the first message verification code or the third digital signature is verified.
  • the preset global public key may be stored in the network authentication server in advance.
  • the first digital signature, the second digital signature, and the third digital signature may also be encrypted to improve the confidentiality of the authentication process.
  • the seventh possible authentication implementation is a sixth possible authentication implementation:
  • FIG. 9 is a signaling flowchart of Embodiment 7 of the key authentication method of the present application. As shown in Figure 9, it includes:
  • the terminal device sends an authentication request message to the network authentication server.
  • the terminal device determines a first random number, a first transmission parameter of the DH protocol, generates a first digital signature of the terminal device according to the first key, the first random number, and the first transmission parameter, and sends the authentication to the network authentication server. a request message, where the authentication request message includes a first digital signature, a first random number, a first transmission parameter, and a device identifier of the terminal device;
  • the network authentication server sends the second random number, the second transmission parameter, and the second digital signature to the terminal device.
  • the network authentication server determines a second random number, a second transmission parameter of the DH protocol, according to the first transmission
  • the parameter and the second transmission parameter perform a DH key agreement algorithm to obtain a third transmission parameter; after the first digital signature is verified according to the preset global public key and the first public key of the terminal device, according to the first random number, the second At least one of the random number, and the third transmission parameter, generating a communication key by using a key generation function, according to at least one of the first random number and the second random number, and a network authentication private key of the network authentication server,
  • the first transmission parameter, the second transmission parameter generates a second digital signature, and sends the second random number, the encrypted second transmission parameter, and the second digital signature to the terminal device;
  • the terminal device sends a first message verification code or a third digital signature to the network authentication server.
  • the terminal device receives the second random number, the second transmission parameter, and the second digital signature sent by the network authentication server, and performs a DH key negotiation algorithm according to the first transmission parameter and the second transmission parameter to obtain a third transmission parameter, where After the second digital signature verification is passed, generating a communication key of the terminal device by using a key generation function according to at least one of the first random number and the second random number, and the third transmission parameter, according to the first random number, At least one of two random numbers, and a communication key, a first transmission parameter, a second transmission parameter generating a first message verification code, or according to at least one of a first random number, a second random number, and the first The first transmission parameter, the second transmission parameter generates a third digital signature, and sends the first message verification code or the third digital signature to the network authentication server;
  • the network authentication server receives the first message verification code or the third digital signature sent by the terminal device, and sends a communication key to the function network element after the first message verification code or the third digital signature is verified.
  • the authentication request message further includes a DH protocol identifier of the preset DH protocol selected by the terminal device, and the network authentication server determines the transmission parameter according to the received DH protocol identifier.
  • the confidentiality of the authentication process is increased by increasing the first transmission parameter and the second transmission parameter.
  • FIG. 10 is a signaling flowchart of Embodiment 8 of the key authentication method of the present application. As shown in Figure 10, it includes:
  • S1001 The terminal device sends an authentication request message to the network authentication server.
  • the terminal device determines the first random number, performs encryption processing on the first random number by using the network authentication public key of the network authentication server, and obtains the first random number after the encryption process, according to the first key and the first random number, Generating a first digital signature of the terminal device, and sending an authentication request message to the network authentication server, where the authentication request message includes a first digital signature, a first random number after the encryption process, and a device identifier of the terminal device;
  • the network authentication server sends a second random number and a second digital signature to the terminal device.
  • the network authentication server decrypts the encrypted first random number according to the network authentication private key of the network authentication server, obtains a first random number, determines a second random number, and uses the first public key of the terminal device to the second random number.
  • Performing an encryption process to obtain a second random number after the encryption process after verifying the first digital signature according to the preset global public key and the first public key of the terminal device, according to the first random number and the second random number
  • generating a communication key generating a second digital signature according to the network authentication private key of the network authentication server, the first random number, and the second random number, and sending the encrypted second random number and the second digital signature. Giving the terminal device and transmitting a communication key to the function network element;
  • the terminal device generates a communication key.
  • the terminal device receives the encrypted second random number and the second digital signature sent by the network authentication server, and decrypts the encrypted second random number according to the first key of the terminal device to obtain a second random number.
  • the communication density of the terminal device is generated according to at least one of the first random number and the second random number. key.
  • the implementation manner of the authentication reduces the number of signaling interactions and improves the authentication efficiency.
  • the application further includes:
  • the network authentication center and the terminal device generate a session key by using KDF according to any one of a shared communication key, a fourth parameter set, a session key random number, a session key fresh parameter, and a preset time parameter of the session key. And sending the session key to the function network element, and using the session key instead of the communication key to implement secure communication between the function network element and the terminal device.
  • Another aspect of the present application provides a service center server for performing the key distribution method in the foregoing embodiment, which has the same technical features and technical effects.
  • FIG. 11 is a schematic structural diagram of Embodiment 1 of a service center server according to the present application. As shown in Figure 11, the server includes:
  • the key request receiving module 1101 is configured to receive a first key request message sent by the user management server, where the first key request message is used to instruct the service center server to generate a first key of the terminal device managed by the user management server;
  • the key generation module 1102 is configured to generate a first key of the terminal device according to the first key request message, and send the first key to the user management server.
  • the key generation module 1102 is specifically configured to:
  • the first parameter set includes at least one of a first key random number, a first key fresh parameter, a preset time parameter of the first key, and a shared key, where the shared key is a user management server and a service center.
  • the shared key of the server is a user management server and a service center.
  • the key is generated.
  • Module 1102 is specifically used to:
  • the second parameter set includes a first key random number, a first key fresh parameter, a preset time parameter of the first key, a shared key, an identifier of the user management server, a network identifier, a service parameter, and a terminal device. At least one of the device identifiers, the shared key is a shared key of the user management server and the service center server.
  • the key generation module 1102 is specifically configured to: determine a service random number, and use the service random number as the first key of the terminal device.
  • the key generation module 1102 is specifically configured to:
  • the first key of the terminal device is the first private key of the terminal device
  • the device identifier of the terminal device is the first public key of the terminal device corresponding to the first private key
  • the key generation module 1102 is specifically configured to:
  • the third parameter set includes at least one of a first key random number, a first key fresh parameter, and a preset time parameter of the first key;
  • the first key of the terminal device is the first private key of the terminal device
  • the device identifier of the terminal device is the first public key of the terminal device corresponding to the first private key
  • the key generation module 1102 is further configured to:
  • the key request receiving module 1101 is further configured to: receive a second key request message sent by the network authentication server; and send the second key request message after the network authentication server receives the authentication request message sent by the terminal device.
  • a further aspect of the present application provides a user management server for performing the key distribution method in the foregoing embodiment, which has the same technical features and technical effects.
  • FIG. 12 is a schematic structural diagram of Embodiment 1 of a user management server according to the present application. As shown in Figure 12, the server includes:
  • the request sending module 1201 is configured to send a first key request message to the service center server, where the first key request message is used to instruct the service center server to generate a first key of the terminal device managed by the user management server;
  • the key receiving module 1202 is configured to receive a first key of the terminal device sent by the service center server;
  • the key sending module 1203 is configured to send the first key of the terminal device to the terminal device, so that the terminal device performs mutual authentication with the network authentication server according to the first key.
  • the first key is a first private key of the terminal device
  • the device identifier of the terminal device is a first public key of the terminal device corresponding to the first private key.
  • the key sending module 1203 is further configured to:
  • the fourth parameter set includes at least one of an identifier of the user management server, a network identifier, and a service parameter.
  • a further aspect of the present application provides a terminal device for performing the key authentication method in the foregoing embodiment, which has the same technical features and technical effects.
  • FIG. 13 is a schematic structural diagram of Embodiment 1 of a terminal device according to the present application. As shown in FIG. 13, the terminal device includes:
  • the receiving module 1301 is configured to receive a first key of the terminal device that is sent by the user management server;
  • the authentication module 1302 is configured to perform mutual authentication with the network authentication server according to the first key to obtain a communication key of the terminal device and the function network element.
  • the mutual authentication mode includes at least an authentication method based on a symmetric key technology and an authentication method based on an identity key technology.
  • the authentication module is specifically used to:
  • the server obtains the second random number encryption process by using the first key
  • the second message verification code After verifying that the second message verification code is passed, generating a communication key of the terminal device by using a key generation function according to at least one of the first key, the first random number, and the second random number, according to the communication key, Any one of the first key, and the first random number, the second random number, generates a first message verification code by using a message verification code generating function, and sends the first message verification code to the network authentication server to enable the network
  • the authentication server verifies the first message verification code.
  • the authentication module is specifically used to:
  • the authentication request message includes a first random number and a device identifier of the terminal device
  • the second message verification code After verifying that the second message verification code is passed, generating a communication key of the terminal device by using a key generation function according to at least one of the first random number and the second random number, and the first key, according to the communication key And any one of the first key, and the first random number, the second random number, generates a first message verification code by using a message verification code generating function, and sends the first message verification code to the network authentication server, so that The network authentication server verifies the first message verification code.
  • the authentication module is specifically used to:
  • Determining a first random number and sending an authentication request message to the network authentication server, where the authentication request message includes a first random number and a device identifier of the terminal device;
  • the first message verification code is generated by using the message verification code generating function, and The first message verification code is sent to the network authentication server, so that the network authentication server verifies the first message verification code.
  • the authentication module is specifically used to:
  • the second message verification code After verifying that the second message verification code is passed, generating a communication key of the terminal device by using a key generation function according to at least one of the first random number, the second random number, and the third transmission parameter, according to the communication key And any one of the first key, and the first random number, the second random number, generates a first message verification code by using a message verification code generating function, and sends the first message verification code to the network authentication server, so that The network authentication server verifies the first message verification code.
  • the authentication module is specifically used to:
  • the message verification code is sent to the network authentication server, where the authentication request message includes a first message verification code, a first random number after the encryption process, and a device identifier of the terminal device.
  • the key decrypts the encrypted second random number to obtain a second random number, and the second random number after the encryption process is obtained by the network authentication server using the first key to encrypt the second random number;
  • the communication key of the terminal device is generated by using the key generation function according to at least one of the first key, the first random number, and the second random number.
  • the authentication module is specifically used to:
  • Determining a first random number generating a first message verification code by using a message verification code generation function according to the first key and the first random number, and sending an authentication request message to the network authentication server, where the authentication request message includes a first message verification code, a random number and a device identifier of the terminal device;
  • the communication key of the terminal device is generated by using the key generation function according to at least one of the first random number and the second random number, and the first key.
  • the authentication module is specifically used to:
  • Determining a first random number generating a first message verification code by using a message verification code generation function according to the first key and the first random number, and sending an authentication request message to the network authentication server, where the authentication request message includes a first message verification code, a random number and a device identifier of the terminal device;
  • Receiving a second random number sent by the network authentication server, the encrypted communication key, and the second message verification code, and the encrypted communication key is obtained by the network authentication server using the first key to encrypt the communication key;
  • the encrypted communication key is decrypted according to the first key to obtain a communication key.
  • the authentication module is specifically used to:
  • the function Determining the first random number, using the first key to encrypt the first random number, obtaining the first random number after the encryption process, and generating the key according to at least one of the first key and the first random number
  • the function generates a communication key of the terminal device, generates a first message verification code by using a message verification code generation function according to any one of the first key and the communication key, and the first random number, and sends an authentication request to the network authentication server.
  • a message the authentication request message includes a first message verification code, a first random number after the encryption process, and a device identifier of the terminal device;
  • the second message verification code is verified and the verification is determined to pass.
  • the authentication module is specifically used to:
  • Determining a first random number generating a communication key of the network authentication server by using a key generation function according to the first key and the first random number, according to any one of the first key and the communication key, and the first random number And generating a first message verification code by using a message verification code generating function, and sending an authentication request message to the network authentication server, where the authentication request message includes a first message verification code, a first random number, and a device identifier of the terminal device;
  • the second message verification code is verified and the verification is determined to pass.
  • the authentication module is specifically used to:
  • the information includes a first message verification code, a first random number, a first transmission parameter, and a device identifier of the terminal device;
  • the receiving module is further configured to receive the fourth parameter set sent by the user management server, where the fourth parameter set includes: an identifier of the user management server, a network identifier, and a service parameter.
  • the authentication module 1302 further includes the following possible implementations:
  • the authentication module is specifically used to:
  • the key generation function After the verification of the second message verification code is passed, according to at least one of the first key, the first random number, the second random number, and the device identifier of the terminal device and the fourth parameter set,
  • the key generation function generates a communication key of the terminal device, according to any one of the communication key and the first key, and at least one of the device identifier of the terminal device, the fourth parameter set, and the first random number,
  • the second random number is generated by the message verification code generating function, and the first message verification code is sent to the network authentication server, so that the network authentication server verifies the first message verification code.
  • the authentication module is specifically used to:
  • Determining a first random number and sending an authentication request message to the network authentication server, where the authentication request message includes a first random number, a device identifier of the terminal device, and a fourth parameter set;
  • the message verification code generating function After verifying that the second message verification code is passed, generating a terminal by using a key generation function according to at least one of the first random number, the second random number, the device identifier of the terminal device, and the fourth parameter set, and the first key
  • the communication key of the device is used according to any one of the communication key and the first key, and at least one of the device identifier of the terminal device and the fourth parameter set, and the first random number and the second random number.
  • the message verification code generating function generates a first message verification code, and sends the first message verification code to the network authentication server, so that the network authentication server verifies the first message verification code.
  • the authentication module is specifically used to:
  • Determining a first random number and sending an authentication request message to the network authentication server, where the authentication request message includes a first random number, a device identifier of the terminal device, and a fourth parameter set;
  • the certificate generation function After verifying that the second message verification code is passed, according to any one of the communication key and the first key, and at least one of the device identifier of the terminal device, the fourth parameter set, and the first random number, Two random numbers
  • the certificate generation function After verifying that the second message verification code is passed, according to any one of the communication key and the first key, and at least one of the device identifier of the terminal device, the fourth parameter set, and the first random number, Two random numbers
  • the certificate generation function After verifying that the second message verification code is passed, according to any one of the communication key and the first key, and at least one of the device identifier of the terminal device, the fourth parameter set, and the first random number, Two random numbers
  • the certificate generation function After verifying that the second message verification code is passed, according to any one of the communication key and the first key, and at least one of the device identifier of the terminal device, the fourth parameter set, and the first random number, Two random numbers
  • the certificate generation function After verifying that the second message verification code is
  • the authentication module is specifically used to:
  • the authentication request message includes a first random number, a first transmission parameter, a device identifier of the terminal device, and a fourth parameter set;
  • the key generation function is generated according to the first random number, the second random number, the device identifier of the terminal device, the at least one of the fourth parameter set, and the third transmission parameter.
  • a communication key of the terminal device according to any one of the communication key, the first key, and the device identifier of the terminal device, the fourth parameter set, and the first random number, the second random number.
  • the first verification code is generated by using the message verification code generation function, and the first message verification code is sent to the network authentication server, so that the network authentication server verifies the first message verification code.
  • the authentication module is specifically used to:
  • the first key Determining the first random number, using the first key to encrypt the first random number, and obtaining the first random number after the encryption process, according to the first random number, the device identifier of the terminal device, and at least one of the fourth parameter set.
  • the first key, the first verification code is generated by using the message verification code generating function, and the authentication request message is sent to the network authentication server, where the authentication request message includes the first message verification code, the first random number after the encryption process, and the terminal Device identification of the device and a fourth parameter set;
  • the key generation function After the verification of the second message verification code is passed, according to at least one of the first key, the first random number, and the second random number, and at least one of the device identifier of the terminal device and the fourth parameter set.
  • the key generation function generates a communication key of the terminal device.
  • the authentication module is specifically used to:
  • the server sends an authentication request message, where the authentication request message includes a first message verification code, a first random number, a device identifier of the terminal device, and a fourth parameter set;
  • the key generation function is generated according to the first random number, the second random number, the device identifier of the terminal device, the fourth parameter set, and the first key.
  • the communication key of the terminal device is generated according to the first random number, the second random number, the device identifier of the terminal device, the fourth parameter set, and the first key.
  • the authentication module is specifically used to:
  • the server sends an authentication request message, where the authentication request message includes a first message verification code, a first random number, a device identifier of the terminal device, and a fourth parameter set;
  • Receiving a second random number sent by the network authentication server, the encrypted communication key, and the second message verification code, and the encrypted communication key is obtained by the network authentication server using the first key to encrypt the communication key;
  • the encrypted communication key is decrypted according to the first key to obtain a communication key.
  • the authentication module is specifically used to:
  • Determining a first random number performing encryption processing on the first random number by using the first key, to obtain an encrypted first random number, according to at least one of the first key, the first random number, and the terminal device Generating at least one of the device identifier and the fourth parameter set, using a key generation function to generate a communication key of the terminal device, according to any one of the first key and the communication key, and the first random number, the terminal device At least one of the device identifier and the fourth parameter set generates a first message verification code by using a message verification code generation function, and sends an authentication request message to the network authentication server, where the authentication request message includes the first message verification code and the encrypted processing a random number, a device identifier of the terminal device, and a fourth parameter set;
  • the second message verification code is verified and the verification is determined to pass.
  • the authentication module is specifically used to:
  • the server sends an authentication request message, where the authentication request message includes a first message verification code, a first random number, a device identifier of the terminal device, and a fourth parameter set;
  • the second message verification code is verified and the verification is determined to pass.
  • the authentication module is specifically used to:
  • the verification code is verified and determined to pass verification.
  • the first key is the first private key of the terminal device
  • the device identifier of the terminal device is the first public key of the terminal device corresponding to the first private key.
  • the authentication module is specifically used to:
  • Determining the first random number using the network authentication public key of the network authentication server to encrypt the first random number, obtaining the first random number after the encryption process, and generating the first terminal device according to the first key and the first random number Digital signature And sending an authentication request message to the network authentication server, where the authentication request message includes a first digital signature, a first random number after the encryption process, and a device identifier of the terminal device;
  • the communication key of the terminal device is generated according to at least one of the first random number and the second random number, and the second random number after the encryption process is that the network authentication server uses the first public key pair of the terminal device. Two random number encryption processing is obtained;
  • the authentication module is specifically used to:
  • Determining a first random number generating a first digital signature of the terminal device according to the first key and the first random number, and sending an authentication request message to the network authentication server, where the authentication request message includes a first digital signature, a first random number, and a terminal Equipment identification of the equipment;
  • the first message verification code is generated according to the communication key, the first random number, and the second random number, or is generated according to the first key, the first random number, and the second random number.
  • a third digital signature sending the first message verification code or the third digital signature to the network authentication server, so that the network authentication server verifies the first message verification code or the third digital signature.
  • the authentication module is specifically used to:
  • the message includes a first digital signature, a first random number, a first transmission parameter, and a device identifier of the terminal device;
  • the second transmission parameter After verifying the second digital signature, according to at least one of the first random number, the second random number, and the third transmission parameter, generating a communication key of the terminal device by using a key generation function, according to the first random number And at least one of the second random number, and the communication key, the first transmission parameter, the second transmission parameter generates a first message verification code, or according to at least one of the first random number and the second random number, and The first key, the first transmission parameter, the second transmission parameter generates a third digital signature, and sends the first message verification code or the third digital signature to the network authentication server, so that the network authentication server verifies the first message or the first Three digital signatures are verified.
  • the authentication module is specifically used to:
  • Determining the first random number using the network authentication public key of the network authentication server to encrypt the first random number, obtaining the first random number after the encryption process, and generating the terminal device according to the first key and the first random number a digital signature, sending an authentication request message to the network authentication server, where the authentication request message includes a first digital signature, a first random number after the encryption process, and a device identifier of the terminal device;
  • Receiving the encrypted second random number and the second digital signature sent by the network authentication server decrypting the encrypted second random number according to the first key of the terminal device, obtaining a second random number, and signing the second digital Verification passed And generating, according to at least one of the first random number and the second random number, a communication key of the terminal device, where the second random number after the encryption process is that the network authentication server uses the first public key pair of the terminal device to the second random number. Encrypted processing is obtained.
  • the authentication module is specifically used to:
  • Determining a first random number generating a first digital signature of the terminal device according to the first key and the first random number, and sending an authentication request message to the network authentication server, where the authentication request message includes a first digital signature, a first random number, and Device identification of the terminal device;
  • Receiving a second random number sent by the network authentication server, an encrypted communication key, and a second digital signature, and the encrypted communication key is obtained by the network authentication server using the first public key of the terminal device to encrypt the communication key.
  • the encrypted communication key is decrypted according to the first key of the terminal device to obtain a communication key.
  • the receiving module when the receiving module is further configured to receive the fourth parameter set sent by the user management server, where the fourth parameter set includes: at least the identifier of the user management server, the network identifier, and the service parameter.
  • the authentication module 1302 further includes the following feasible implementation manners:
  • the authentication module is specifically used to:
  • Determining the first random number using the network authentication public key of the network authentication server to encrypt the first random number, and obtaining the first random number after the encryption process, according to the first random number, the device identifier of the terminal device, and the fourth parameter set And generating, by the first key, the first digital signature of the terminal device, and sending an authentication request message to the network authentication server, where the authentication request message includes the first digital signature, the first random number after the encryption process, and the terminal device Device identification and a fourth parameter set;
  • the network authentication server Receiving the encrypted second random number and the second digital signature sent by the network authentication server, decrypting the encrypted second random number according to the first key of the terminal device, obtaining a second random number, and signing the second digital After the verification is passed, the communication key of the terminal device is generated according to at least one of the first random number and the second random number, and at least one of the device identifier and the fourth parameter set of the terminal device, and the encrypted device is processed.
  • the second random number is obtained by the network authentication server using the first public key of the terminal device to encrypt the second random number;
  • the authentication module is specifically used to:
  • the first random number Determining, by the first random number, at least one of the first random number, the device identifier of the terminal device, the fourth parameter set, and the first key, sending an authentication request message to the network authentication server, where the authentication request message includes the first number a signature, a first random number after encryption processing, a device identifier of the terminal device, and a fourth parameter set;
  • the first message verification code is generated according to the device identifier of the terminal device, at least one of the fourth parameter set, and the communication key, the first random number, and the second random number, or according to the second random number.
  • Terminal equipment At least one of the device identifier and the fourth parameter set, and the first key, the first random number, and the second random number generate a third digital signature, and send the first message verification code or the third digital signature to the network authentication server So that the network authentication server verifies the first message verification code or the third digital signature.
  • the authentication module is specifically used to:
  • Determining a first random number, a first transmission parameter of the DH protocol generating a terminal device according to at least one of a device identifier of the terminal device, a fourth parameter set, and a first key, a first random number, and a first transmission parameter a first digital signature, sending an authentication request message to the network authentication server, where the authentication request message includes a first digital signature, a first random number, a first transmission parameter, a device identifier of the terminal device, and a fourth parameter set;
  • the terminal is generated by using a key generation function according to the first random number, the second random number, the device identifier of the terminal device, the at least one of the fourth parameter set, and the third transmission parameter.
  • a communication key of the device according to at least one of a device identifier of the terminal device, a fourth parameter set, and a communication key, a first transmission parameter, a second transmission parameter, a first message verification code, or according to the first random number
  • the second random number, the device identifier of the terminal device, and the fourth parameter set, and the first key, the first transmission parameter, the second transmission parameter generates a third digital signature, and the first message verification code or
  • the third digital signature is sent to the network authentication server to enable the network authentication server to verify the first message verification code or the third digital signature.
  • the authentication module is specifically used to:
  • Determining the first random number using the network authentication public key of the network authentication server to encrypt the first random number, and obtaining the first random number after the encryption process, according to the first random number, the device identifier of the terminal device, and the fourth parameter set And generating, by the first key, the first digital signature of the terminal device, and sending an authentication request message to the network authentication server, where the authentication request message includes the first digital signature, the first random number after the encryption process, and the terminal device Device identification and a fourth parameter set;
  • the network authentication server Receiving the encrypted second random number and the second digital signature sent by the network authentication server, decrypting the encrypted second random number according to the first key of the terminal device, obtaining a second random number, and signing the second digital After the verification is passed, the communication key of the terminal device is generated according to at least one of the first random number and the second random number, and at least one of the device identifier and the fourth parameter set of the terminal device, and the encrypted device is processed.
  • the second random number is obtained by the network authentication server using the first public key of the terminal device to encrypt the second random number.
  • the authentication module is specifically used to:
  • the authentication request message includes a first digital signature, a first random number, a device identifier of the terminal device, and a fourth parameter set;
  • Receiving a second random number sent by the network authentication server, an encrypted communication key, and a second digital signature, and the encrypted communication key is obtained by the network authentication server using the first public key of the terminal device to encrypt the communication key.
  • the encrypted communication key is decrypted according to the first key of the terminal device to obtain a communication key.
  • the terminal device further includes a public key requesting module, configured to send a public key request message to the network authentication server;
  • the receiving module of the terminal device is further configured to receive network authentication of the network authentication server sent by the network authentication server. Public key.
  • the authentication module is specifically configured to: perform mutual authentication with the network authentication server, according to the communication key, the fourth parameter set, the session key random number, the session key fresh parameter, and the session key. Any one of the preset time parameters uses a key generation function to generate a session key of the terminal device.
  • a further aspect of the present application provides a network authentication server for performing the key authentication method in the foregoing embodiment, which has the same technical features and technical effects.
  • the mutual authentication process of the network authentication server includes at least an authentication method based on a symmetric key technology and an authentication method based on an identity key technology.
  • FIG. 14 is a schematic structural diagram of Embodiment 1 of a network authentication server according to the present application. As shown in Figure 14, the server includes:
  • the request receiving module 1401 is configured to receive an authentication request message sent by the terminal device, where the authentication request message includes a device identifier of the terminal device;
  • the key receiving module 1402 is configured to receive a first key of the terminal device corresponding to the device identifier sent by the service center server;
  • the authentication module 1403 is configured to perform mutual authentication with the terminal device indicated by the device identifier according to the first key to obtain a communication key between the terminal device and the function network element.
  • the authentication mode of the authentication module 1403 includes the following possible implementation manners:
  • the authentication request message further includes the first random number after the encryption process, and the authentication module is specifically configured to:
  • Generating a communication key by using a key generation function according to at least one of the first key, the first random number, and the second random number, according to any one of the communication key, the first key, and the first random
  • the second random number is generated by using the message verification code generating function to generate a second message verification code, and the second message verification code and the encrypted second random number are sent to the terminal device;
  • the first message verification code sent by the terminal device is sent, and after the verification of the first message verification code is passed, the communication key is sent to the function network element.
  • the authentication request message further includes a first random number
  • the authentication module is specifically configured to:
  • a second random number generating a communication key by using a key generation function according to at least one of the first random number and the second random number, and the first key, according to the communication key, the first key And a first random number, the second random number, using the message verification code generating function to generate a second message verification code, and sending the second message verification code and the second random number to the terminal device;
  • the first message verification code sent by the terminal device is sent, and after the verification of the first message verification code is passed, the communication key is sent to the function network element.
  • the authentication request message further includes a first random number
  • the authentication module is specifically configured to:
  • the first message verification code sent by the terminal device is sent, and after the verification of the first message verification code is passed, the communication key is sent to the function network element.
  • the authentication request message further includes a first random number and a first transmission parameter
  • the authentication module is specifically configured to:
  • the first message verification code sent by the terminal device is sent, and after the verification of the first message verification code is passed, the communication key is sent to the function network element.
  • the authentication request message further includes a first message verification code and a first random number after the encryption process, and the authentication module is specifically configured to:
  • the first random number after the encryption process is obtained by the terminal device using the first key to encrypt the first random number;
  • the authentication request message further includes a first message verification code and a first random number
  • the authentication module is specifically configured to:
  • the terminal device After verifying that the first message verification code is passed, generating a communication key by using a key generation function according to at least one of the first random number and the second random number, and the first key, according to the communication key, the first And generating, by the message verification code generating function, a second message verification code, and sending the second random number and the second message verification code to the at least one of the first random number and the second random number
  • the terminal device sends a communication key to the function network element.
  • the authentication request message further includes a first message verification code and a first random number
  • the authentication module is specifically configured to:
  • the key and the second message verification code are sent to the terminal device, and the communication key is sent to the function network element.
  • the authentication request message further includes a first message verification code and a first random number after the encryption process, and the authentication module is specifically configured to:
  • the first random number after the encryption process is obtained by the terminal device using the first key to encrypt the first random number;
  • the message verification code generating function is used to generate the second message verification code, and the encrypted second random number and the second message verification code are sent to the terminal device. Send a communication key to the functional network element.
  • the authentication request message further includes a first message verification code and a first random number
  • the authentication module is specifically configured to:
  • the authentication request message further includes a first random number, a first message verification code, and a first transmission parameter
  • the authentication module is specifically configured to:
  • the message verification code After verifying that the first message verification code is passed, generating a communication key by using a key generation function according to at least one of the first random number, the second random number, and the third transmission parameter, according to the communication key, Any one of the first key, and any one of the first transmission parameter and the second transmission parameter, using the message verification code generation function to generate a second message verification code, the second random number, the second transmission parameter, and the second
  • the message verification code is sent to the terminal device and sends a communication key to the function network element.
  • the authentication request message further includes a fourth parameter set, where the fourth parameter set includes at least one of an identifier of the user management server, a network identifier, and a service parameter.
  • the authentication module 1403 also includes the following possible implementations:
  • the authentication request message further includes the first random number after the encryption process, and the authentication module is specifically configured to:
  • a communication key by using a key generation function according to at least one of the first key, the first random number, and the second random number, and at least one of a device identifier of the terminal device and a fourth parameter set, according to the communication Any one of the key, the first key, and the device identifier of the terminal device, the fourth parameter set, and the first random number, and the second random number is generated by the message verification code generating function a message verification code, sending the second message verification code and the encrypted second random number to the terminal device;
  • the authentication request message further includes a first random number
  • the authentication module is specifically configured to:
  • Generating a communication key by using a key generation function according to at least one of a first random number, a second random number, a device identifier of the terminal device, and a fourth parameter set, and according to the communication key, the first Any one of the keys, and at least one of the device identifier of the terminal device, the fourth parameter set, and the first random number, the second random number, using the message verification code generating function to generate the second message verification code, Transmitting the second message verification code and the second random number to the terminal device;
  • the first message verification code sent by the terminal device is sent, and after the verification of the first message verification code is passed, the communication key is sent to the function network element.
  • the authentication request message further includes a first random number
  • the authentication module is specifically configured to:
  • the first message verification code sent by the terminal device is sent, and after the verification of the first message verification code is passed, the communication key is sent to the function network element.
  • the authentication request message further includes a first random number and a first transmission parameter
  • the authentication module is specifically configured to:
  • the generating function generates a second message verification code, and sends the second random number, the second transmission parameter, and the second message verification code to the terminal device;
  • the first message verification code sent by the terminal device is sent, and after the verification of the first message verification code is passed, the communication key is sent to the function network element.
  • the authentication request message further includes a first message verification code and a first random number after the encryption process
  • the authentication module is specifically configured to:
  • the first random number after the encryption process is obtained by the terminal device using the first key to encrypt the first random number;
  • the key generation function After the verification of the first message verification code is passed, according to at least one of the first key, the first random number, and the second random number, and at least one of the device identifier of the terminal device and the fourth parameter set.
  • the key generation function generates a communication key according to any one of the communication key and the first key, and at least one of the first random number, the second random number, the device identifier of the terminal device, and the fourth parameter set.
  • the message verification code generating function is used to generate a second message verification code, and the second random number and the second message verification code after the encryption process are sent to the terminal device to send the communication secret to the function network element. key.
  • the authentication request message further includes a first message verification code and a first random number
  • the authentication module is specifically configured to:
  • the key generation function is generated according to the first random number, the second random number, the device identifier of the terminal device, the at least one of the fourth parameter set, and the first key.
  • the communication key is generated by using a message verification code according to any one of the communication key and the first key, and the first random number, the second random number, the device identifier of the terminal device, and the fourth parameter set.
  • the function generates a second message verification code, sends the second random number and the second message verification code to the terminal device, and sends the communication key to the function network element.
  • the authentication request message further includes a first message verification code and a first random number
  • the authentication module is specifically configured to:
  • the message verification code sends the second random number, the encrypted communication key, and the second message verification code to the terminal device, and sends the communication key to the function network element.
  • the authentication request message further includes a first message verification code and a first random number after the encryption process
  • the authentication module is specifically configured to:
  • the first random number after the encryption process is obtained by the terminal device using the first key to encrypt the first random number;
  • the key generation function is generated according to at least one of the first key, the first random number, and the device identifier of the terminal device and the fourth parameter set.
  • a communication key according to any one of the communication key and the first key, and at least one of the first random number, the second random number, the device identifier of the terminal device, and the fourth parameter set, using the message verification code
  • the generating function generates a second message verification code, and sends the encrypted second random number and the second message verification code to the terminal device, and sends the communication key to the function network element.
  • the authentication request message further includes a first message verification code and a first random number
  • the authentication module is specifically configured to:
  • generating a communication key by using a key generation function according to the first random number, the device identifier of the terminal device, the at least one of the fourth parameter set, and the first key, according to And generating at least one of a communication key and a first key, and at least one of a first random number, a second random number, a device identifier of the terminal device, and a fourth parameter set, and generating a second by using a message verification code generating function
  • the message verification code sends the second random number and the second message verification code to the terminal device, and sends the communication key to the function network element.
  • the authentication request message further includes a first random number, a first message verification code, and a first transmission parameter
  • the authentication module is specifically configured to:
  • the key generation is performed according to the first random number, the second random number, the device identifier of the terminal device, the at least one of the fourth parameter set, and the third transmission parameter.
  • the function generates a communication key, and adopts a message verification code according to any one of the communication key and the first key, and the device identifier, the fourth parameter set, the first transmission parameter, and the second transmission parameter of the terminal device.
  • the generating function generates a second message verification code, and sends the second random number, the second transmission parameter, and the second message verification code to the terminal device, and sends the communication key to the function network element.
  • FIG. 15 is a schematic structural diagram of Embodiment 2 of a network authentication server according to the present application. As shown in FIG. 15, the network authentication server includes:
  • the request receiving module 1501 is configured to receive an authentication request message sent by the terminal device, where the authentication request message includes a device identifier of the terminal device, and the device identifier of the terminal device is a first public key of the terminal device;
  • the authentication module 1502 is configured to perform mutual authentication according to the first public key, the network authentication public key of the network authentication server, and the network authentication private key of the network authentication server to obtain the communication key of the terminal device and the function network element.
  • the authentication mode of the authentication module 1502 includes the following possible implementation manners:
  • the authentication request message further includes a first digital signature and a first random number after the encryption process
  • the authentication module is specifically configured to:
  • the second random number after the processing, the first random number after the encryption process is obtained by the terminal device using the network authentication public key of the network authentication server to encrypt the first random number
  • the communication key is generated according to at least one of the first random number and the second random number, according to the network authentication server.
  • the network authentication private key, the first random number, and the second random number generate a second digital signature, and send the encrypted second random number and the second digital signature to the terminal device;
  • the first message verification code or the third digital signature sent by the terminal device is sent, and after the first message verification code or the third digital signature is verified, the communication key is sent to the function network element.
  • the authentication request message further includes a first digital signature and a first random number
  • the authentication module is specifically configured to:
  • the first message verification code or the third digital signature sent by the terminal device is sent, and after the first message verification code or the third digital signature is verified, the communication key is sent to the function network element.
  • the authentication request message further includes a first digital signature, a first random number, and a first transmission parameter
  • the authentication module is specifically configured to:
  • the DH key agreement algorithm obtains a third transmission parameter
  • the key generation is performed according to at least one of the first random number, the second random number, and the third transmission parameter.
  • the function generates a communication key, and generates a second digital signature according to at least one of the first random number and the second random number, and the network authentication private key of the network authentication server, the first transmission parameter, and the second transmission parameter, a second random number, a second transmission parameter after the encryption process, and a second digital signature, which are sent to the terminal device;
  • the first message verification code or the third digital signature sent by the terminal device is sent, and after the first message verification code or the third digital signature is verified, the communication key is sent to the function network element.
  • the authentication request message further includes a first digital signature and a first random number after the encryption process
  • the authentication module is specifically configured to:
  • the second random number after the processing, the first random number after the encryption process is obtained by the terminal device using the network authentication public key of the network authentication server to encrypt the first random number
  • the communication key is generated according to at least one of the first random number and the second random number, according to the network authentication server.
  • the network authentication private key, the first random number, and the second random number generate a second digital signature, and send the encrypted second random number and the second digital signature to the terminal device, and send the communication key to the function network element.
  • the authentication request message further includes a first digital signature and a first random number
  • the authentication module is specifically configured to:
  • the terminal device After verifying the first digital signature according to the preset global public key and the first public key of the terminal device, determining the communication key according to the third random number, and encrypting the communication key by using the first public key of the terminal device, Obtaining the encrypted communication key, generating a second digital signature according to the network authentication private key of the network authentication server, the first random number and the second random number, and the second random number, the encrypted communication key, and the second The digital signature is sent to the terminal device and the communication key is sent to the functional network element.
  • the authentication request message further includes a fourth parameter set, where the fourth parameter set includes at least one of an identifier of the user management server, a network identifier, and a service parameter.
  • the authentication module 1502 also includes the following possible implementations:
  • the authentication request message further includes a first digital signature and a first random number after the encryption process
  • the authentication module is specifically configured to:
  • the second random number after the processing, the first random number after the encryption process is obtained by the terminal device using the network authentication public key of the network authentication server to encrypt the first random number
  • the first message verification code or the third digital signature sent by the terminal device is sent, and after the first message verification code or the third digital signature is verified, the communication key is sent to the function network element.
  • the authentication request message further includes a first digital signature and a first random number
  • the authentication module is specifically configured to:
  • the first message verification code or the third digital signature sent by the terminal device is sent, and after the first message verification code or the third digital signature is verified, the communication key is sent to the function network element.
  • the authentication request message further includes a first digital signature, a first random number, and a first transmission parameter
  • the authentication module is specifically configured to:
  • the key generation is performed according to at least one of the first random number, the second random number, and the third transmission parameter.
  • the function generates a communication key, and generates a second digital signature according to at least one of the first random number and the second random number, and the network authentication private key of the network authentication server, the first transmission parameter, and the second transmission parameter, a second random number, a second transmission parameter after the encryption process, and a second digital signature, which are sent to the terminal device;
  • the first message verification code or the third digital signature sent by the terminal device is sent, and after the first message verification code or the third digital signature is verified, the communication key is sent to the function network element.
  • the authentication request message further includes a first digital signature and a first random number after the encryption process
  • the authentication module is specifically configured to:
  • the second random number after the processing, the first random number after the encryption process is obtained by the terminal device using the network authentication public key of the network authentication server to encrypt the first random number
  • the two-digit signature After verifying the first digital signature according to the preset global public key and the first public key of the terminal device, according to at least one of the first random number and the second random number, and the device identifier and the fourth parameter of the terminal device Generating a communication key according to at least one of the set, according to at least one of a device identifier of the terminal device, a fourth parameter set, and a network authentication private key of the network authentication server, the first random number, and the second random number generation
  • the two-digit signature sends the encrypted second random number and the second digital signature to the terminal device, and sends the communication key to the function network element.
  • the authentication request message further includes a first digital signature and a first random number
  • the authentication module is specifically configured to:
  • the number of the machine After verifying the first digital signature according to the preset global public key and the first public key of the terminal device, according to the third The number of the machine determines the communication key, and the communication key is encrypted by using the first public key of the terminal device to obtain the encrypted communication key, according to at least one of the device identifier of the terminal device and the fourth parameter set, and The network authentication private key of the network authentication server, the first random number, the second random number generates a second digital signature, and sends the second random number, the encrypted communication key and the second digital signature to the terminal device, and The network element sends a communication key.
  • the request receiving module in the network authentication server is further configured to receive a public key request message sent by the terminal device, and the authentication module is further configured to send the network authentication of the network authentication server to the terminal device.
  • Public key is further configured to send the network authentication of the network authentication server to the terminal device.
  • the authentication module is further configured to perform mutual authentication with the terminal device according to the symmetric key technology and the identity key technology-based authentication mode, according to the communication key, the fourth parameter set, and the session key random number.
  • the session key fresh parameter and the preset time parameter of the session key are used to generate a session key of the network authentication server by using a key generation function, and send the session key to the function network element.
  • Yet another aspect of the present application provides a storage medium, which is a computer readable storage medium, storing one or more programs, and the one or more programs include instructions, when executed by an electronic device including a plurality of applications, The method of causing an electronic device to perform the key distribution method embodiment of any of the above-described service center servers.
  • Yet another aspect of the present application provides a storage medium, which is a computer readable storage medium, storing one or more programs, and the one or more programs include instructions, when executed by an electronic device including a plurality of applications, The method of causing an electronic device to perform the key distribution method embodiment of any of the above user management servers.
  • Yet another aspect of the present application provides a storage medium, which is a computer readable storage medium, storing one or more programs, and the one or more programs include instructions, when executed by an electronic device including a plurality of applications, The method for causing an electronic device to perform the key authentication method embodiment of any of the foregoing terminal devices.
  • Yet another aspect of the present application provides a storage medium, which is a computer readable storage medium, storing one or more programs, and the one or more programs include instructions, when executed by an electronic device including a plurality of applications, The method of causing an electronic device to perform the key authentication method embodiment of any of the above network authentication servers.
  • a further aspect of the present application provides a key distribution and authentication system for performing the key distribution and authentication method in the foregoing embodiments, which has the same technical features and technical effects.
  • the system includes the service center server according to any one of the preceding embodiments, the user management server according to any one of the foregoing embodiments, the terminal device according to any one of the foregoing embodiments, or any one of the foregoing embodiments.
  • Network authentication server The system includes the service center server according to any one of the preceding embodiments, the user management server according to any one of the foregoing embodiments, the terminal device according to any one of the foregoing embodiments, or any one of the foregoing embodiments.
  • Network authentication server includes the service center server according to any one of the preceding embodiments, the user management server according to any one of the foregoing embodiments, the terminal device according to any one of the foregoing embodiments, or any one of the foregoing embodiments.
  • the disclosed systems, devices, and methods may be implemented in other manners.
  • the device embodiments described above are merely illustrative.
  • the division of the unit is only a logical function division.
  • there may be another division manner for example, multiple units or components may be combined or Can be integrated into another system, or some features can be ignored or not executed.
  • Another The coupling or direct coupling or communication connection between the points shown or discussed may be an indirect coupling or communication connection through some interface, device or unit, and may be in electrical, mechanical or other form.
  • the units described as separate components may or may not be physically separated, and the components displayed as units may or may not be physical units, that is, may be located in one place, or may be distributed to multiple network units. Some or all of the units may be selected according to actual needs to achieve the purpose of the solution of the embodiment.
  • each functional unit in each embodiment of the present application may be integrated into one processing unit, or each unit may exist physically separately, or two or more units may be integrated into one unit.
  • the functions may be stored in a computer readable storage medium if implemented in the form of a software functional unit and sold or used as a standalone product.
  • the technical solution of the present application which is essential or contributes to the prior art, or a part of the technical solution, may be embodied in the form of a software product, which is stored in a storage medium, including
  • the instructions are used to cause a computer device (which may be a personal computer, server, or network device, etc.) to perform all or part of the steps of the methods described in various embodiments of the present application.
  • the foregoing storage medium includes: a U disk, a mobile hard disk, a read-only memory (ROM), a random access memory (RAM), a magnetic disk, or an optical disk, and the like, and the program code can be stored. Medium.

Abstract

本申请提供一种密钥分发、认证方法,装置及系统,该密钥分发、认证方法包括:业务中心服务器接收用户管理服务器发送的第一密钥请求消息,根据第一密钥请求消息生成终端设备的第一密钥,并将第一密钥发送给用户管理服务器;用户管理服务器收所述业务中心服务器发送的终端设备的第一密钥,并将终端设备的第一密钥发送给终端设备以使得述终端设备根据第一密钥与网络认证服务器进行相互认证。通过由业务中心服务器为各终端设备分发不同密钥,然后各终端设备基于各自密钥与网络认证中心进行相互认证,最终得到终端设备与功能网元的通信密钥,为终端设备提供了安全通信通道的建立方法,具有广泛的应用范围。

Description

密钥分发、认证方法,装置及系统 技术领域
本申请涉及通信领域,尤其涉及一种密钥分发、认证方法,装置及系统。
背景技术
随着通信网络技术的发展,越来越多的设备开始加入到网络中,并通过通信网络进行数据的发送和接收,如手机、电脑、无人机以及其他物联网设备等。也有越来越多的企业通过通信网络实现企业的管理中心与实现企业业务的各智能设备的通信,如电力公司、自来水公司或热力公司等。
为保证安全通信,智能设备与网络通常根据根密钥进行相互认证以建立安全通道,相互认证过程中所采用的根密钥由网络运营商提前配置或部署在智能设备与网络中。现有的认证方法均基于国际移动电信组织提出的认证与密钥协商协议(Authentication and Key Agreement,简称AKA),但是基于AKA协议的认证方法需依赖存储在全球用户识别卡(Universal Subscriber Identity Module,简称USIM)卡中的根密钥,即需要智能设备均支持USIM卡。
而接入网络中的大量的低成本物联网设备或企业的智能设备功能和结构简单,无法部署功能复杂的USIM卡,进而无法实现基于AKA协议的认证,无法应用现有的认证方法建立安全通信通道。因此现有的根密钥部署方法和认证方法无法应用到越来越多的不支持USIM卡的智能设备与网络的安全通信中,导致该些智能设备与网络进行通信的安全性无法收到保证。
发明内容
本申请提供一种密钥分发、认证方法,装置及系统,用以解决现有根密钥部署、认证方法无法应用到不支持USIM卡的智能设备中的问题。
第一方面,本申请提供一种密钥分发方法,包括:
业务中心服务器接收用户管理服务器发送的第一密钥请求消息,第一密钥请求消息用于指示业务中心服务器生成用户管理服务器所管理的终端设备的第一密钥;根据第一密钥请求消息生成终端设备的第一密钥,并将第一密钥发送给用户管理服务器。
通过由业务中心服务器为各终端设备分发不同密钥,然后各终端设备基于各自密钥与网络认证中心进行相互认证,最终得到终端设备与功能网元的通信密钥,为终端设备提供了安全通信通道的建立方法,具有广泛的应用范围,同时降低了运营商网络的复杂度。
结合第一方面,在第一方面的第一种可能的实现方式中,生成第一密钥的过程具体包括:业务中心服务器根据第一参数集合,采用密钥生成函数生成终端设备的第一密钥;其中,第一参数集合包括第一密钥随机数、第一密钥新鲜参数、第一密钥的预设时间参数、共享密钥中的至少一种,共享密钥为用户管理服务器与业务中心服务器的共享密钥。
结合第一方面,在第一方面的第二种可能的实现方式中,第一密钥请求消息中包括终端设备的设备标识、用户管理服务器的标识、网络标识、业务参数中的至少一种,生成第 一密钥的过程具体包括:业务中心服务器根据第二参数集合,采用密钥生成函数生成终端设备的第一密钥;其中,第二参数集合包括第一密钥随机数、第一密钥新鲜参数、第一密钥的预设时间参数、共享密钥、用户管理服务器的标识、网络标识、业务参数、终端设备的设备标识中的至少一种,共享密钥为用户管理服务器与业务中心服务器的共享密钥。
通过结合第二参数集合等多种参数生成终端设备的第一密钥,使得业务中心服务器可针对属于不同用户管理服务器的用于实现不同业务的终端设备,生成不同的第一密钥。
结合第一方面,在第一方面的第三种可能的实现方式中,生成第一密钥的过程具体包括:业务中心服务器确定业务随机数,并将业务随机数作为终端设备的第一密钥。
结合第一方面,在第一方面的第四种可能的实现方式中,第一密钥请求消息中包括终端设备的设备标识,生成第一密钥的过程具体包括:业务中心服务器根据预设全局私钥和终端设备的设备标识,基于设备身份生成算法生成终端设备的第一密钥;其中,终端设备的第一密钥为终端设备的第一私钥,终端设备的设备标识为与第一私钥对应的终端设备的第一公钥。
结合第一方面,在第一方面的第五种可能的实现方式中,第一密钥请求消息中包括终端设备的设备标识,生成第一密钥的过程具体包括:业务中心服务器根据预设全局私钥、终端设备的设备标识和第三参数集合,基于设备身份生成算法生成终端设备的第一密钥;
其中,第三参数集合包含第一密钥随机数、第一密钥新鲜参数、第一密钥的预设时间参数中的至少一种参数;终端设备的第一密钥为终端设备的第一私钥,终端设备的设备标识为与第一私钥对应的终端设备的第一公钥。
结合第一方面、第一方面的第一种至第三种可能的实现方式中的任一种可能的实现方式,在第一方面的第六种可能的实现方式中,该方法还包括:业务中心服务器将终端设备的第一密钥发送给网络认证服务器以使得网络认证服务器根据第一密钥与终端设备进行相互认证。
结合第一方面的第六种可能的实现方式,在第一方面的第七种可能的实现方式中,业务中心服务器将第一密钥发送给网络认证服务器之前还包括:
业务中心服务器接收网络认证服务器发送的第二密钥请求消息;第二密钥请求消息是在网络认证服务器接收到终端设备发送的认证请求消息后发送的。
第二方面,本申请提供一种密钥分发方法,包括:
用户管理服务器向业务中心服务器发送第一密钥请求消息,第一密钥请求消息用于指示业务中心服务器生成用户管理服务器所管理的终端设备的第一密钥;接收业务中心服务器发送的终端设备的第一密钥,并将终端设备的第一密钥发送给终端设备以使得终端设备根据第一密钥与网络认证服务器进行相互认证。
结合第二方面,在第二方面的第一种可能的实现方式中,第一密钥为终端设备的第一私钥,终端设备的设备标识为与第一私钥对应的终端设备的第一公钥。
结合第二方面,在第二方面的第二种可能的实现方式中,该方法还包括:用户管理服务器将第四参数集合发送给终端设备,第四参数集合包括用户管理服务器的标识、网络标识、业务参数中的至少一种。
第三方面,本申请提供一种密钥认证方法,包括:
终端设备接收用户管理服务器发送的终端设备的第一密钥;根据第一密钥,与网络认证服务器进行相互认证以得到终端设备与功能网元的通信密钥。
通过终端设备与网络认证服务器的相互认证,可得到用于安全通信的通信密钥。
结合第三方面,在第三方面的第一种可能的实现方式中,相互认证过程具体包括:
终端设备确定第一随机数,并采用第一密钥对第一随机数进行加密处理,以得到加密处理后的第一随机数,向网络认证服务器发送认证请求消息,认证请求消息包括加密处理后的第一随机数以及终端设备的设备标识;
终端设备接收网络认证服务器发送的第二消息验证码、加密处理后的第二随机数,根据第一密钥对加密的第二随机数进行解密,得到第二随机数,加密处理后的第二随机数为网络认证服务器采用第一密钥对第二随机数加密处理得到;
终端设备在对第二消息验证码验证通过后,根据第一密钥、第一随机数、第二随机数中的至少一项,采用密钥生成函数生成终端设备的通信密钥,根据通信密钥、第一密钥中的任一项,以及第一随机数,第二随机数,采用消息验证码生成函数生成第一消息验证码,将第一消息验证码,发送给网络认证服务器,以使网络认证服务器对第一消息验证码进行验证。
通过在认证过程中,将第一随机数和第二随机数加密,提高了认证过程的保密性。
结合第三方面,在第三方面的第二种可能的实现方式中,相互认证过程具体包括:
终端设备确定第一随机数,向网络认证服务器发送认证请求消息,认证请求消息包括第一随机数以及终端设备的设备标识;
终端设备接收网络认证服务器发送的第二随机数、第二消息验证码;
终端设备在对第二消息验证码验证通过后,根据第一随机数和第二随机数中的至少一项,以及第一密钥,采用密钥生成函数生成终端设备的通信密钥,根据通信密钥、第一密钥中的任一项,以及第一随机数,第二随机数,采用消息验证码生成函数生成第一消息验证码,将第一消息验证码,发送给网络认证服务器,以使网络认证服务器对第一消息验证码进行验证。
结合第三方面,在第三方面的第三种可能的实现方式中,相互认证过程具体包括:
终端设备确定第一随机数,向网络认证服务器发送认证请求消息,认证请求消息包括第一随机数以及终端设备的设备标识;
终端设备接收网络认证服务器发送的第二随机数、加密处理后的通信密钥、第二消息验证码,根据第一密钥对加密处理后的通信密钥进行解密,得到通信密钥,加密处理后的通信密钥为网络认证服务器采用第一密钥对通信密钥加密处理得到;
终端设备在对第二消息验证码验证通过后,根据通信密钥、第一密钥中任一项,以及第一随机数,第二随机数,采用消息验证码生成函数生成第一消息验证码,将第一消息验证码,发送给网络认证服务器,以使网络认证服务器对第一消息验证码进行验证。
结合第三方面,在第三方面的第四种可能的实现方式中,相互认证过程具体包括:
终端设备确定第一随机数、DH协议的第一传输参数,向网络认证服务器发送认证请求消息,认证请求消息包括第一随机数、第一传输参数以及终端设备的设备标识;
终端设备接收网络认证服务器发送的第二随机数、第二传输参数、第二消息验证码, 根据第一传输参数和第二传输参数执行DH密钥协商算法得到第三传输参数;
终端设备在对第二消息验证码验证通过后,根据第一随机数、第二随机数中的至少一项,以及第三传输参数,采用密钥生成函数生成终端设备的通信密钥,根据通信密钥、第一密钥中的任一项,以及第一随机数,第二随机数,采用消息验证码生成函数生成第一消息验证码,将第一消息验证码,发送给网络认证服务器,以使网络认证服务器对第一消息验证码进行验证。
结合第三方面,在第三方面的第五种可能的实现方式中,相互认证过程具体包括:
终端设备确定第一随机数,采用第一密钥对第一随机数进行加密处理,得到加密处理后的第一随机数,根据第一密钥和第一随机数,采用消息验证码生成函数生成第一消息验证码,向网络认证服务器发送认证请求消息,认证请求消息包括第一消息验证码、加密处理后的第一随机数以及终端设备的设备标识;
终端设备接收网络认证服务器发送的加密处理后的第二随机数、第二消息验证码,根据第一密钥对加密的第二随机数进行解密,得到第二随机数,加密处理后的第二随机数为网络认证服务器采用第一密钥对第二随机数加密处理得到;
终端设备在对第二消息验证码验证通过后,根据第一密钥、第一随机数、第二随机数中的至少一项,采用密钥生成函数生成终端设备的通信密钥。
通过在认证过程中,减少信令交互次数,提高了认证效率。
结合第三方面,在第三方面的第六种可能的实现方式中,相互认证过程具体包括:
终端设备确定第一随机数,根据第一密钥和第一随机数,采用消息验证码生成函数生成第一消息验证码,向网络认证服务器发送认证请求消息,认证请求消息包括第一消息验证码、第一随机数以及终端设备的设备标识;
终端设备接收网络认证服务器发送的第二随机数、第二消息验证码;
终端设备在对第二消息验证码验证通过后,根据第一随机数、第二随机数中的至少一项,以及第一密钥,采用密钥生成函数生成终端设备的通信密钥。
结合第三方面,在第三方面的七种可能的实现方式中,相互认证过程具体包括:
终端设备确定第一随机数,根据第一密钥和第一随机数,采用消息验证码生成函数生成第一消息验证码,向网络认证服务器发送认证请求消息,认证请求消息包括第一消息验证码、第一随机数以及终端设备的设备标识;
终端设备接收网络认证服务器发送的第二随机数、加密处理后的通信密钥、第二消息验证码,加密处理后的通信密钥为网络认证服务器采用第一密钥对通信密钥加密处理得到;
终端设备在对第二消息验证码验证通过后,根据第一密钥对加密处理后的通信密钥进行解密,得到通信密钥。
结合第三方面,在第三方面的第八种可能的实现方式中,相互认证过程具体包括:
终端设备确定第一随机数,采用第一密钥对第一随机数进行加密处理,得到加密处理后的第一随机数,根据第一密钥、第一随机数中的至少一项,采用密钥生成函数生成终端设备的通信密钥,根据第一密钥、通信密钥中的任一项,以及第一随机数,采用消息验证码生成函数生成第一消息验证码,向网络认证服务器发送认证请求消息,认证请求消息包括第一消息验证码、加密处理后的第一随机数,以及终端设备的设备标识;
终端设备接收网络认证服务器发送的第二消息验证码和加密处理后的第二随机数,根据第一密钥对加密的第二随机数进行解密,得到第二随机数,加密处理后的第二随机数为网络认证服务器采用第一密钥对第二随机数加密处理得到;
终端设备对第二消息验证码进行验证并确定验证通过。
结合第三方面,在第三方面的第九种可能的实现方式中,相互认证过程具体包括:
终端设备确定第一随机数,根据第一密钥和第一随机数,采用密钥生成函数生成网络认证服务器的通信密钥,根据第一密钥、通信密钥中的任一项,以及第一随机数,采用消息验证码生成函数生成第一消息验证码,向网络认证服务器发送认证请求消息,认证请求消息包括第一消息验证码、第一随机数以及终端设备的设备标识;
终端设备接收网络认证服务器发送的第二随机数和第二消息验证码;
终端设备对第二消息验证码进行验证并确定验证通过。
结合第三方面,在第三方面的第十种可能的实现方式中,相互认证过程具体包括:
终端设备确定第一随机数、DH协议的第一传输参数,根据第一密钥和第一随机数,采用消息验证码生成函数生成第一消息验证码,向网络认证服务器发送认证请求消息,认证请求消息包括第一消息验证码、第一随机数、第一传输参数以及终端设备的设备标识;
终端设备接收网络认证服务器发送的第二随机数、第二传输参数、第二消息验证码,根据第一传输参数和第二传输参数执行DH密钥协商算法得到第三传输参数;
终端设备根据第一随机数、第二随机数中的至少一项,以及第三传输参数,采用密钥生成函数生成终端设备的通信密钥,对第二消息验证码进行验证并确定通过验证。
结合第三方面,在第三方面的第十一种可能的实现方式中,方法还包括:终端设备接收用户管理服务器发送的第四参数集合;其中,第四参数集合包括:用户管理服务器的标识、网络标识、业务参数中的至少一种。
通过在相互认证过程中,增加第四参数集合,使得通信密钥的生成过程中可参考多种参数,使得通信密钥可依据终端设备以及终端设备的业务的不同而不同,具有多样性。
结合第三方面的第十一种可能的实现方式,在第三方面的第十二种可能的实现方式中,相互认证过程具体包括:
终端设备确定第一随机数,并采用第一密钥对第一随机数进行加密处理,以得到加密处理后的第一随机数,向网络认证服务器发送认证请求消息,认证请求消息包括加密处理后的第一随机数、终端设备的设备标识以及第四参数集合;
终端设备接收网络认证服务器发送的加密处理后的第二随机数、第二消息验证码,根据第一密钥对加密的第二随机数进行解密,得到第二随机数,加密处理后的第二随机数为网络认证服务器采用第一密钥对第二随机数加密处理得到;
终端设备在对第二消息验证码验证通过后,根据第一密钥、第一随机数、第二随机数中的至少一项,以及终端设备的设备标识、第四参数集合中的至少一项,采用密钥生成函数生成终端设备的通信密钥,根据通信密钥、第一密钥中的任一项,以及终端设备的设备标识、第四参数集合中的至少一项,以及第一随机数,第二随机数,采用消息验证码生成函数生成第一消息验证码,并将第一消息验证码,发送给网络认证服务器,以使网络认证服务器对第一消息验证码进行验证。
结合第三方面的第十一种可能的实现方式,在第三方面的第十三种可能的实现方式 中,相互认证过程具体包括:
终端设备确定第一随机数,向网络认证服务器发送认证请求消息,认证请求消息包括第一随机数、终端设备的设备标识以及第四参数集合;
终端设备接收网络认证服务器发送的第二随机数、第二消息验证码;
终端设备在对第二消息验证码验证通过后,根据第一随机数、第二随机数、终端设备的设备标识、第四参数集合中的至少一项,以及第一密钥采用密钥生成函数生成终端设备的通信密钥,根据通信密钥、第一密钥中的任一项,以及终端设备的设备标识、第四参数集合中的至少一项,以及第一随机数,第二随机数,采用消息验证码生成函数生成第一消息验证码,并将第一消息验证码,发送给网络认证服务器,以使网络认证服务器对第一消息验证码进行验证。
结合第三方面的第十一种可能的实现方式,在第三方面的第十四种可能的实现方式中,相互认证过程具体包括:
终端设备确定第一随机数,向网络认证服务器发送认证请求消息,认证请求消息包括第一随机数、终端设备的设备标识以及第四参数集合;
终端设备接收网络认证服务器发送的第二随机数、加密处理后的通信密钥、第二消息验证码,根据第一密钥对加密处理后的通信密钥进行解密,得到通信密钥,加密处理后的通信密钥为网络认证服务器采用第一密钥对通信密钥加密处理得到;
终端设备在对第二消息验证码验证通过后,根据通信密钥、第一密钥中的任一项,以及终端设备的设备标识、第四参数集合中的至少一项,以及第一随机数,第二随机数,采用消息验证码生成函数生成第一消息验证码,将第一消息验证码,发送给网络认证服务器,以使网络认证服务器对第一消息验证码进行验证。
结合第三方面的第十一种可能的实现方式,在第三方面的第十五种可能的实现方式中,相互认证过程具体包括:
终端设备确定第一随机数、DH协议的第一传输参数,向网络认证服务器发送认证请求消息,认证请求消息包括第一随机数、第一传输参数、终端设备的设备标识以及第四参数集合;
终端设备接收网络认证服务器发送的第二随机数、第二传输参数、第二消息验证码,根据第一传输参数和第二传输参数执行DH密钥协商算法得到第三传输参数;
终端设备在对第二消息验证码验证通过后,根据第一随机数、第二随机数、终端设备的设备标识、第四参数集合中的至少一项,以及第三传输参数,采用密钥生成函数生成终端设备的通信密钥,根据通信密钥、第一密钥中的任一项,以及终端设备的设备标识、第四参数集合中的至少一项,以及第一随机数,第二随机数,采用消息验证码生成函数生成第一消息验证码,将第一消息验证码,发送给网络认证服务器,以使网络认证服务器对第一消息验证码进行验证。
结合第三方面的第十一种可能的实现方式,在第三方面的第十六种可能的实现方式中,相互认证过程具体包括:
终端设备确定第一随机数,采用第一密钥对第一随机数进行加密处理,得到加密处理后的第一随机数,根据第一随机数、终端设备的设备标识、第四参数集合中的至少一项,以及第一密钥,采用消息验证码生成函数生成第一消息验证码,向网络认证服务器发送认 证请求消息,认证请求消息包括第一消息验证码、加密处理后的第一随机数、终端设备的设备标识以及第四参数集合;
终端设备接收网络认证服务器发送的加密处理后的第二随机数、第二消息验证码,根据第一密钥对加密的第二随机数进行解密,得到第二随机数,加密处理后的第二随机数为网络认证服务器采用第一密钥对第二随机数加密处理得到;
终端设备在对第二消息验证码验证通过后,根据第一密钥、第一随机数、第二随机数中的至少一项,以及终端设备的设备标识、第四参数集合中的至少一项,采用密钥生成函数生成终端设备的通信密钥。
结合第三方面的第十一种可能的实现方式,在第三方面的第十七种可能的实现方式中,相互认证过程具体包括:
终端设备确定第一随机数,根据第一随机数、终端设备的设备标识、第四参数集合中的至少一项,以及第一密钥,采用消息验证码生成函数生成第一消息验证码,向网络认证服务器发送认证请求消息,认证请求消息包括第一消息验证码、第一随机数、终端设备的设备标识以及第四参数集合;
终端设备接收网络认证服务器发送的第二随机数、第二消息验证码;
终端设备在对第二消息验证码验证通过后,根据第一随机数、第二随机数、终端设备的设备标识、第四参数集合中的至少一项,以及第一密钥,采用密钥生成函数生成终端设备的通信密钥。
结合第三方面的第十一种可能的实现方式,在第三方面的第十八种可能的实现方式中,相互认证过程具体包括:
终端设备确定第一随机数,根据第一随机数、终端设备的设备标识、第四参数集合中的至少一项,以及第一密钥,采用消息验证码生成函数生成第一消息验证码,向网络认证服务器发送认证请求消息,认证请求消息包括第一消息验证码、第一随机数、终端设备的设备标识以及第四参数集合;
终端设备接收网络认证服务器发送的第二随机数、加密处理后的通信密钥、第二消息验证码,加密处理后的通信密钥为网络认证服务器采用第一密钥对通信密钥加密处理得到;
终端设备在对第二消息验证码验证通过后,根据第一密钥对加密处理后的通信密钥进行解密,得到通信密钥。
结合第三方面的第十一种可能的实现方式,在第三方面的第十九种可能的实现方式中,相互认证过程具体包括:
终端设备确定第一随机数,采用第一密钥对第一随机数进行加密处理,得到加密处理后的第一随机数,根据第一密钥、第一随机数中的至少一项,以及终端设备的设备标识、第四参数集合中的至少一项,采用密钥生成函数生成终端设备的通信密钥,根据第一密钥、通信密钥中的任一项,以及第一随机数、终端设备的设备标识、第四参数集合中的至少一项,采用消息验证码生成函数生成第一消息验证码,向网络认证服务器发送认证请求消息,认证请求消息包括第一消息验证码、加密处理后的第一随机数、终端设备的设备标识以及第四参数集合;
终端设备接收网络认证服务器发送的第二消息验证码和加密处理后的第二随机数,根 据第一密钥对加密的第二随机数进行解密,得到第二随机数,加密处理后的第二随机数为网络认证服务器采用第一密钥对第二随机数加密处理得到;
终端设备对第二消息验证码进行验证并确定验证通过。
结合第三方面的第十一种可能的实现方式,在第三方面的第二十种可能的实现方式中,相互认证过程具体包括:
终端设备确定第一随机数,根据第一随机数、终端设备的设备标识和第四参数集合中的至少一项,以及第一密钥,采用密钥生成函数生成终端设备的通信密钥,根据第一密钥、通信密钥中的任一项,以及第一随机数、终端设备的设备标识、第四参数集合中的至少一项,采用消息验证码生成函数生成第一消息验证码,向网络认证服务器发送认证请求消息,认证请求消息包括第一消息验证码、第一随机数、终端设备的设备标识以及第四参数集合;
终端设备接收网络认证服务器发送的第二消息验证码和第二随机数;
终端设备对第二消息验证码进行验证并确定验证通过。
结合第三方面的第十一种可能的实现方式,在第三方面的第二十一种可能的实现方式中,相互认证过程具体包括:
终端设备确定第一随机数、DH协议的第一传输参数,根据第一随机数、终端设备的设备标识、第四参数集合中的至少一项,以及第一密钥,采用消息验证码生成函数生成第一消息验证码,向网络认证服务器发送认证请求消息,认证请求消息包括第一消息验证码、第一随机数、第一传输参数、终端设备的设备标识以及第四参数集合;
终端设备接收网络认证服务器发送的第二随机数、第二传输参数、第二消息验证码,根据第一传输参数和第二传输参数执行DH密钥协商算法得到第三传输参数;
终端设备根据第一随机数、第二随机数、终端设备的设备标识、第四参数集合中的至少一项,以及第三传输参数,采用密钥生成函数生成终端设备的通信密钥,对第二消息验证码进行验证并确定通过验证。
结合第三方面,在第三方面的第二十二种可能的实现方式中,第一密钥为终端设备的第一私钥,终端设备的设备标识为与第一私钥对应的终端设备的第一公钥。
结合第三方面的第二十二种可能的实现方式,在第三方面的第二十三种可能的实现方式中,相互认证过程具体包括:
终端设备确定第一随机数,采用网络认证服务器的网络认证公钥对第一随机数进行加密处理,得到加密处理后的第一随机数,根据第一密钥和第一随机数生成终端设备的第一数字签名,向网络认证服务器发送认证请求消息,认证请求消息包括第一数字签名、加密处理后的第一随机数以及终端设备的设备标识;
终端设备接收网络认证服务器发送的加密处理后的第二随机数、第二数字签名,根据终端设备的第一密钥对加密的第二随机数进行解密,得到第二随机数,在对第二数字签名验证通过后,根据第一随机数和第二随机数中的至少一项,生成终端设备的通信密钥,加密处理后的第二随机数为网络认证服务器采用终端设备的第一公钥对第二随机数加密处理得到;
终端设备根据通信密钥、第一随机数、第二随机数,生成第一消息验证码,或者根据第一密钥、第一随机数、第二随机数生成第三数字签名,将第一消息验证码或第三数字签名发送给网络认证服务器,以使网络认证服务器对第一消息验证码或第三数字签名进行验 证。
结合第三方面的第二十二种可能的实现方式,在第三方面的第二十四种可能的实现方式中,相互认证过程具体包括:
终端设备确定第一随机数,根据第一密钥和第一随机数,生成终端设备的第一数字签名,向网络认证服务器发送认证请求消息,认证请求消息包括第一数字签名、第一随机数以及终端设备的设备标识;
终端设备接收网络认证服务器发送的第二随机数、加密处理后的通信密钥、第二数字签名,根据终端设备的第一密钥对加密的通信密钥进行解密,得到通信密钥,加密处理后的通信密钥为网络认证服务器采用终端设备的第一公钥对通信密钥加密处理得到;
终端设备在对第二数字签名验证通过后,根据通信密钥、第一随机数、第二随机数,生成第一消息验证码,或者根据第一密钥、第一随机数、第二随机数,生成第三数字签名,将第一消息验证码或第三数字签名发送给网络认证服务器,以使网络认证服务器对第一消息验证码或第三数字签名进行验证。
结合第三方面的第二十二种可能的实现方式,在第三方面的第二十五种可能的实现方式中,相互认证过程具体包括:
终端设备确定第一随机数、DH协议的第一传输参数,根据第一密钥、第一随机数、第一传输参数,生成终端设备的第一数字签名,向网络认证服务器发送认证请求消息,认证请求消息包括第一数字签名、第一随机数、第一传输参数以及终端设备的设备标识;
终端设备接收网络认证服务器发送的第二随机数、第二传输参数、第二数字签名,根据第一传输参数和第二传输参数执行DH密钥协商算法得到第三传输参数;
终端设备在对第二数字签名验证通过后,根据第一随机数、第二随机数中的至少一项,以及第三传输参数,采用密钥生成函数生成终端设备的通信密钥,根据第一随机数、第二随机数中的至少一项,以及通信密钥,第一传输参数,第二传输参数生成第一消息验证码,或者根据第一随机数、第二随机数中的至少一项,以及第一密钥,第一传输参数,第二传输参数生成第三数字签名,将第一消息验证码或第三数字签名发送给网络认证服务器,以使网络认证服务器对第一消息验证码或第三数字签名进行验证。
结合第三方面的第二十二种可能的实现方式,在第三方面的第二十六种可能的实现方式中,相互认证过程具体包括:
终端设备确定第一随机数,采用网络认证服务器的网络认证公钥对第一随机数进行加密处理,得到加密处理后的第一随机数,根据第一密钥和第一随机数,生成终端设备的第一数字签名,向网络认证服务器发送认证请求消息,认证请求消息包括第一数字签名、加密处理后的第一随机数以及终端设备的设备标识;
终端设备接收网络认证服务器发送的加密处理后的第二随机数、第二数字签名,根据终端设备的第一密钥对加密的第二随机数进行解密,得到第二随机数,在对第二数字签名验证通过后,根据第一随机数、第二随机数中的至少一项生成终端设备的通信密钥,加密处理后的第二随机数为网络认证服务器采用终端设备的第一公钥对第二随机数加密处理得到。
结合第三方面的第二十二种可能的实现方式,在第三方面的第二十七种可能的实现方式中,相互认证过程具体包括:
终端设备确定第一随机数,根据第一密钥和第一随机数,生成终端设备的第一数字签名,向网络认证服务器发送认证请求消息,认证请求消息包括第一数字签名、第一随机数,以及终端设备的设备标识;
终端设备接收网络认证服务器发送的第二随机数、加密处理后的通信密钥、第二数字签名,加密处理后的通信密钥为网络认证服务器采用终端设备的第一公钥对通信密钥加密处理得到;
终端设备在对第二数字签名验证通过后,根据终端设备的第一密钥对加密的通信密钥进行解密,得到通信密钥。
结合第三方面的第二十二种可能的实现方式,在第三方面的第二十八种可能的实现方式中,方法还包括:终端设备接收用户管理服务器发送的第四参数集合;第四参数集合包括:用户管理服务器的标识、网络标识、业务参数中的至少一种。
结合第三方面的第二十八种可能的实现方式,在第三方面的第二十九种可能的实现方式中,相互认证过程具体包括:
终端设备确定第一随机数,采用网络认证服务器的网络认证公钥对第一随机数进行加密处理,得到加密处理后的第一随机数,根据第一随机数、终端设备的设备标识、第四参数集合中的至少一项,以及第一密钥,生成终端设备的第一数字签名,向网络认证服务器发送认证请求消息,认证请求消息包括第一数字签名、加密处理后的第一随机数、终端设备的设备标识以及第四参数集合;
终端设备接收网络认证服务器发送的加密处理后的第二随机数、第二数字签名,根据终端设备的第一密钥对加密的第二随机数进行解密,得到第二随机数,在对第二数字签名验证通过后,根据第一随机数、第二随机数中的至少一项,以及终端设备的设备标识、第四参数集合中的至少一项,生成终端设备的通信密钥,加密处理后的第二随机数为网络认证服务器采用终端设备的第一公钥对第二随机数加密处理得到;
终端设备根据终端设备的设备标识、第四参数集合中的至少一项,以及通信密钥,第一随机数,第二随机数生成第一消息验证码,或者根据终端设备的设备标识、第四参数集合中的至少一项,以及第一密钥,第一随机数,第二随机数生成第三数字签名,将第一消息验证码或第三数字签名发送给网络认证服务器,以使网络认证服务器对第一消息验证码或第三数字签名进行验证。
结合第三方面的第二十八种可能的实现方式,在第三方面的第三十种可能的实现方式中,相互认证过程具体包括:
终端设备确定第一随机数,根据第一随机数、终端设备的设备标识、第四参数集合中的至少一项,以及第一密钥,向网络认证服务器发送认证请求消息,认证请求消息包括第一数字签名、加密处理后的第一随机数、终端设备的设备标识以及第四参数集合;
终端设备接收网络认证服务器发送的第二随机数、加密处理后的通信密钥、第二数字签名,根据终端设备的第一密钥对加密的通信密钥进行解密,得到通信密钥,加密处理后的通信密钥为网络认证服务器采用终端设备的第一公钥对通信密钥加密处理得到;
终端设备在对第二数字签名验证通过后,根据终端设备的设备标识、第四参数集合中的至少一项,以及通信密钥,第一随机数,第二随机数生成第一消息验证码,或者根据终端设备的设备标识、第四参数集合中的至少一项,以及第一密钥,第一随机数,第二随机 数生成第三数字签名,将第一消息验证码或第三数字签名发送给网络认证服务器,以使网络认证服务器对第一消息验证码或第三数字签名进行验证。
结合第三方面的第二十八种可能的实现方式,在第三方面的第三十一种可能的实现方式中,相互认证过程具体包括:
终端设备确定第一随机数、DH协议的第一传输参数,根据终端设备的设备标识、第四参数集合中的至少一项,以及第一密钥,第一随机数,第一传输参数生成终端设备的第一数字签名,向网络认证服务器发送认证请求消息,认证请求消息包括第一数字签名、第一随机数、第一传输参数、终端设备的设备标识以及第四参数集合;
终端设备接收网络认证服务器发送的第二随机数、第二传输参数、第二数字签名;
终端设备在对第二数字签名验证通过后,根据第一随机数、第二随机数、终端设备的设备标识、第四参数集合中的至少一项,以及第三传输参数,采用密钥生成函数生成终端设备的通信密钥,根据终端设备的设备标识、第四参数集合中的至少一项,以及通信密钥,第一传输参数,第二传输参数生成第一消息验证码,或者根据第一随机数、第二随机数、终端设备的设备标识、第四参数集合中的至少一项,以及第一密钥,第一传输参数,第二传输参数生成第三数字签名,将第一消息验证码或第三数字签名发送给网络认证服务器,以使网络认证服务器对第一消息验证码或第三数字签名进行验证。
结合第三方面的第二十八种可能的实现方式,在第三方面的第三十二种可能的实现方式中,相互认证过程具体包括:
终端设备确定第一随机数,采用网络认证服务器的网络认证公钥对第一随机数进行加密处理,得到加密处理后的第一随机数,根据第一随机数、终端设备的设备标识、第四参数集合中的至少一项,以及第一密钥,生成终端设备的第一数字签名,向网络认证服务器发送认证请求消息,认证请求消息包括第一数字签名、加密处理后的第一随机数、终端设备的设备标识以及第四参数集合;
终端设备接收网络认证服务器发送的加密处理后的第二随机数、第二数字签名,根据终端设备的第一密钥对加密的第二随机数进行解密,得到第二随机数,在对第二数字签名验证通过后,根据第一随机数、第二随机数中的至少一项,以及终端设备的设备标识、第四参数集合中的至少一项,生成终端设备的通信密钥,加密处理后的第二随机数为网络认证服务器采用终端设备的第一公钥对第二随机数加密处理得到。
结合第三方面的第二十八种可能的实现方式,在第三方面的第三十三种可能的实现方式中,相互认证过程具体包括:
终端设备确定第一随机数,根据第一随机数、终端设备的设备标识、第四参数集合中的至少一项,以及第一密钥,生成终端设备的第一数字签名,向网络认证服务器发送认证请求消息,认证请求消息包括第一数字签名、第一随机数、终端设备的设备标识以及第四参数集合;
终端设备接收网络认证服务器发送的第二随机数、加密处理后的通信密钥、第二数字签名,加密处理后的通信密钥为网络认证服务器采用终端设备的第一公钥对通信密钥加密处理得到;
终端设备在对第二数字签名验证通过后,根据终端设备的第一密钥对加密的通信密钥进行解密,得到通信密钥。
结合第三方面的第二十二种至第三十三种中任一种可能的实现方式,在第三方面的第三十四种可能的实现方式中,终端设备确定第一随机数之前,还包括:
终端设备向网络认证服务器发送公钥请求消息;接收网络认证服务器发送的网络认证服务器的网络认证公钥。
结合第三方面、第三方面的第一种至第三十四种中任一种可能的实现方式,在第三方面的第三十五种可能的实现方式中,该方法还包括:终端设备和网络认证服务器进行相互认证,根据通信密钥、第四参数集合、会话密钥随机数、会话密钥新鲜参数、会话密钥的预设时间参数中的任一项,采用密钥生成函数生成终端设备的会话密钥。
下面第四方面和第五方面提供一种密钥认证方法,与上述第三方面提供的密钥认证方法进行交互,为对称侧方法,具有相对应的技术特征和技术效果,本申请对此不再赘述。
第四方面,本申请提供一种密钥认证方法,该方法包括:
网络认证服务器接收终端设备发送的认证请求消息,认证请求消息包括终端设备的设备标识;接收业务中心服务器发送的与设备标识对应的终端设备的第一密钥;根据第一密钥,与设备标识指示的终端设备进行相互认证以得到终端设备与功能网元的通信密钥。
结合第四方面,在第四方面的第一种可能的实现方式中,认证请求消息还包括加密处理后的第一随机数,相互认证过程具体包括:
网络认证服务器根据第一密钥对加密处理后的第一随机数进行解密,得到第一随机数,确定第二随机数,并采用第一密钥对第二随机数进行加密处理,得到加密处理后的第二随机数,加密处理后的第一随机数为终端设备采用第一密钥对第一随机数加密处理得到;
网络认证服务器根据第一密钥、第一随机数、第二随机数中的至少一项,采用密钥生成函数生成通信密钥,根据通信密钥、第一密钥中的任一项,以及第一随机数,第二随机数,采用消息验证码生成函数生成第二消息验证码,将第二消息验证码和加密处理后的第二随机数,发送给终端设备;
网络认证服务器接收终端设备发送的第一消息验证码,在对第一消息验证码验证通过后,向功能网元发送通信密钥。
结合第四方面,在第四方面的第二种可能的实现方式中,认证请求消息还包括第一随机数,相互认证过程具体包括:
网络认证服务器确定第二随机数,根据第一随机数和第二随机数中的至少一项,以及第一密钥,采用密钥生成函数生成通信密钥,根据通信密钥、第一密钥中的任一项,以及第一随机数,第二随机数,采用消息验证码生成函数生成第二消息验证码,将第二消息验证码和第二随机数,发送给终端设备;
网络认证服务器接收终端设备发送的第一消息验证码,在对第一消息验证码验证通过后,向功能网元发送通信密钥。
结合第四方面,在第四方面的第三种可能的实现方式中,认证请求消息还包括第一随机数,相互认证过程具体包括:
网络认证服务器确定第二随机数,根据第三随机数确定通信密钥,采用第一密钥对通信密钥进行加密处理,得到加密处理后的通信密钥;
网络认证服务器根据通信密钥、第一密钥中任一项,以及第一随机数,第二随机数, 采用消息验证码生成函数生成第二消息验证码,将第二随机数、加密处理后的通信密钥、第二消息验证码,发送给终端设备;
网络认证服务器接收终端设备发送的第一消息验证码,在对第一消息验证码验证通过后,向功能网元发送通信密钥。
结合第四方面,在第四方面的四种可能的实现方式中,认证请求消息还包括第一随机数和第一传输参数,相互认证过程具体包括:
网络认证服务器确定第二随机数、DH协议的第二传输参数,根据第一传输参数和第二传输参数执行DH密钥协商算法得到第三传输参数;
网络认证服务器根据第一随机数、第二随机数中的至少一项,以及第三传输参数,采用密钥生成函数生成通信密钥,根据通信密钥、第一密钥中的任一项,以及第一传输参数,第二传输参数,采用消息验证码生成函数生成第二消息验证码,将第二随机数、第二传输参数,第二消息验证码,发送给终端设备;
网络认证服务器接收终端设备发送的第一消息验证码,在对第一消息验证码验证通过后,向功能网元发送通信密钥。
结合第四方面,在第四方面的第五种可能的实现方式中,认证请求消息还包括第一消息验证码和加密处理后的第一随机数,相互认证过程具体包括:
网络认证服务器根据第一密钥对加密的第一随机数进行解密,得到第一随机数,确定第二随机数,采用第一密钥对第二随机数进行加密处理,得到加密处理后的第二随机数,加密处理后的第一随机数为终端设备采用第一密钥对第一随机数加密处理得到;
网络认证服务器在对第一消息验证码验证通过后,根据第一密钥、第一随机数、第二随机数中的至少一项,采用密钥生成函数生成通信密钥,根据通信密钥、第一密钥中任一项,以及第一随机数,第二随机数,采用消息验证码生成函数生成第二消息验证码,将加密处理后的第二随机数、第二消息验证码,发送给终端设备,向功能网元发送通信密钥。
结合第四方面,在第四方面的第六种可能的实现方式中,认证请求消息还包括第一消息验证码和第一随机数,相互认证过程具体包括:
网络认证服务器确定第二随机数;
网络认证服务器在对第一消息验证码验证通过后,根据第一随机数、第二随机数中的至少一项,以及第一密钥,采用密钥生成函数生成通信密钥,根据通信密钥、第一密钥中任一项,以及第一随机数、第二随机数中的至少一项,采用消息验证码生成函数生成第二消息验证码,将第二随机数、第二消息验证码,发送给终端设备,向功能网元发送通信密钥。
结合第四方面,在第四方面的第七种可能的实现方式中,认证请求消息还包括第一消息验证码和第一随机数,相互认证过程具体包括:
网络认证服务器确定第二随机数,根据第三随机数确定通信密钥,采用第一密钥对通信密钥进行加密处理,得到加密处理后的通信密钥;
网络认证服务器根据通信密钥、第一密钥中任一项,以及第一随机数,第二随机数,采用消息验证码生成函数生成第二消息验证码,将第二随机数、加密处理后的通信密钥、第二消息验证码,发送给终端设备,并向功能网元发送通信密钥。
结合第四方面,在第四方面的第八种可能的实现方式中,认证请求消息还包括第一消 息验证码和加密处理后的第一随机数,相互认证过程具体包括:
网络认证服务器根据第一密钥对加密的第一随机数进行解密,得到第一随机数,确定第二随机数,采用第一密钥对第二随机数进行加密处理,得到加密处理后的第二随机数,加密处理后的第一随机数为终端设备采用第一密钥对第一随机数加密处理得到;
网络认证服务器在对第一消息验证码验证通过后,根据第一密钥、第一随机数中的至少一项,采用密钥生成函数生成通信密钥,根据通信密钥、第一密钥中的任一项,以及第一随机数、第二随机数中的至少一项,采用消息验证码生成函数生成第二消息验证码,将加密处理后的第二随机数和第二消息验证码发送给终端设备,向功能网元发送通信密钥。
结合第四方面,在第四方面的第九种可能的实现方式中,认证请求消息还包括第一消息验证码和第一随机数,相互认证过程具体包括:
网络认证服务器确定第二随机数;
网络认证服务器在对第一消息验证码验证通过后,根据第一密钥和第一随机数,采用密钥生成函数生成通信密钥,根据通信密钥、第一密钥中的任一项,以及第一随机数、第二随机数中的至少一项,采用消息验证码生成函数生成第二消息验证码,将第二随机数和第二消息验证码发送给终端设备,向功能网元发送通信密钥。
结合第四方面,在第四方面的第十种可能的实现方式中,认证请求消息还包括第一随机数、第一消息验证码和第一传输参数,相互认证过程具体包括:
网络认证服务器确定第二随机数、DH协议的第二传输参数,根据第一传输参数和第二传输参数执行DH密钥协商算法得到第三传输参数;
网络认证服务器在对所述第一消息验证码验证通过后,根据第一随机数、第二随机数中的至少一项,以及第三传输参数,采用密钥生成函数生成通信密钥,根据通信密钥、第一密钥中任一项,以及第一传输参数、第二传输参数中任一项,采用消息验证码生成函数生成第二消息验证码,将第二随机数、第二传输参数,第二消息验证码,发送给终端设备,并向功能网元发送通信密钥。
结合第四方面,在第四方面的第十一种可能的实现方式中,认证请求消息还包括第四参数集合;第四参数集合包括:用户管理服务器的标识、网络标识、业务参数中的至少一种。
结合第四方面的第十一种可能的实现方式,在第四方面的第十二种可能的实现方式中,认证请求消息还包括加密处理后的第一随机数,相互认证过程具体包括:
网络认证服务器根据第一密钥对加密处理后的第一随机数进行解密,得到第一随机数,确定第二随机数,并采用第一密钥对第二随机数进行加密处理,得到加密处理后的第二随机数,加密处理后的第一随机数为终端设备采用第一密钥对第一随机数加密处理得到;
网络认证服务器根据第一密钥、第一随机数、第二随机数中的至少一项,以及终端设备的设备标识、第四参数集合中的至少一项,采用密钥生成函数生成通信密钥,根据通信密钥、第一密钥中的任一项,以及终端设备的设备标识、第四参数集合中的至少一项,以及第一随机数,第二随机数,采用消息验证码生成函数生成第二消息验证码,将第二消息验证码和加密处理后的第二随机数,发送给终端设备;
网络认证服务器接收终端设备发送的第一消息验证码,在对第一消息验证码验证通过 后,向功能网元发送通信密钥。
结合第四方面的第十一种可能的实现方式,在第四方面的第十三种可能的实现方式中,认证请求消息还包括第一随机数,相互认证过程具体包括:
网络认证服务器确定第二随机数;
网络认证服务器根据第一随机数、第二随机数、终端设备的设备标识、第四参数集合中的至少一项,以及第一密钥,采用密钥生成函数生成通信密钥,根据通信密钥、第一密钥中的任一项,以及终端设备的设备标识、第四参数集合中的至少一项,以及第一随机数,第二随机数,采用消息验证码生成函数生成第二消息验证码,将第二消息验证码和第二随机数,发送给终端设备;
网络认证服务器接收终端设备发送的第一消息验证码,在对第一消息验证码验证通过后,向功能网元发送通信密钥。
结合第四方面的第十一种可能的实现方式,在第四方面的第十四种可能的实现方式中,认证请求消息还包括第一随机数,相互认证过程具体包括:
网络认证服务器确定第二随机数,根据第三随机数确定通信密钥,采用第一密钥对通信密钥进行加密处理,得到加密处理后的通信密钥;
网络认证服务器根据通信密钥、第一密钥中任一项,以及终端设备的设备标识、第四参数集合中的至少一项,以及第一随机数,第二随机数,采用消息验证码生成函数生成第二消息验证码,将第二随机数、加密处理后的通信密钥、第二消息验证码,发送给终端设备;
网络认证服务器接收终端设备发送的第一消息验证码,在对第一消息验证码验证通过后,向功能网元发送通信密钥。
结合第四方面的第十一种可能的实现方式,在第四方面的第十五种可能的实现方式中,认证请求消息还包括第一随机数和第一传输参数,相互认证过程具体包括:
网络认证服务器确定第二随机数、DH协议的第二传输参数,根据第一传输参数和第二传输参数执行DH密钥协商算法得到第三传输参数;
网络认证服务器根据第一随机数、第二随机数、终端设备的设备标识、第四参数集合中的至少一项,以及第三传输参数,采用密钥生成函数生成通信密钥,根据通信密钥、第一密钥中的任一项,以及第一随机数、第二随机数、终端设备的设备标识、第四参数集合中的至少一项,以及第一传输参数,第二传输参数,采用消息验证码生成函数生成第二消息验证码,将第二随机数、第二传输参数,第二消息验证码,发送给终端设备;
网络认证服务器接收终端设备发送的第一消息验证码,在对第一消息验证码验证通过后,向功能网元发送通信密钥。
结合第四方面的第十一种可能的实现方式,在第四方面的第十六种可能的实现方式中,认证请求消息还包括第一消息验证码和加密处理后的第一随机数,相互认证过程具体包括:
网络认证服务器根据第一密钥对加密的第一随机数进行解密,得到第一随机数,确定第二随机数,采用第一密钥对第二随机数进行加密处理,得到加密处理后的第二随机数,加密处理后的第一随机数为终端设备采用第一密钥对第一随机数加密处理得到;
网络认证服务器在对第一消息验证码验证通过后,根据第一密钥、第一随机数、第二 随机数中的至少一项,以及终端设备的设备标识、第四参数集合中的至少一项,采用密钥生成函数生成通信密钥,根据通信密钥、第一密钥中任一项,以及第一随机数、第二随机数、终端设备的设备标识、第四参数集合中的至少一项,采用消息验证码生成函数生成第二消息验证码,将加密处理后的第二随机数、第二消息验证码,发送给终端设备,向功能网元发送通信密钥。
结合第四方面的第十一种可能的实现方式,在第四方面的第十七种可能的实现方式中,认证请求消息还包括第一消息验证码和第一随机数,相互认证过程具体包括:
网络认证服务器确定第二随机数;
网络认证服务器在对第一消息验证码验证通过后,根据第一随机数、第二随机数、终端设备的设备标识、第四参数集合中的至少一项,以及第一密钥,采用密钥生成函数生成通信密钥,根据通信密钥、第一密钥中任一项,以及第一随机数、第二随机数、终端设备的设备标识、第四参数集合中的至少一项,采用消息验证码生成函数生成第二消息验证码,将第二随机数、第二消息验证码,发送给终端设备,向功能网元发送通信密钥。
结合第四方面的第十一种可能的实现方式,在第四方面的第十八种可能的实现方式中,认证请求消息还包括第一消息验证码和第一随机数,相互认证过程具体包括:
网络认证服务器确定第二随机数,根据第三随机数确定通信密钥,采用第一密钥对通信密钥进行加密处理,得到加密处理后的通信密钥;
网络认证服务器根据通信密钥、第一密钥中任一项,以及第一随机数、第二随机数、终端设备的设备标识、第四参数集合中的任一项,采用消息验证码生成函数生成第二消息验证码,将第二随机数、加密处理后的通信密钥、第二消息验证码,发送给终端设备,并向功能网元发送通信密钥。
结合第四方面的第十一种可能的实现方式,在第四方面的第十九种可能的实现方式中,认证请求消息还包括第一消息验证码和加密处理后的第一随机数,相互认证过程具体包括:
网络认证服务器根据第一密钥对加密的第一随机数进行解密,得到第一随机数,确定第二随机数,采用第一密钥对第二随机数进行加密处理,得到加密处理后的第二随机数,加密处理后的第一随机数为终端设备采用第一密钥对第一随机数加密处理得到;
网络认证服务器在对第一消息验证码验证通过后,根据第一密钥、第一随机数中的至少一项,以及终端设备的设备标识、第四参数集合中的至少一项,采用密钥生成函数生成通信密钥,根据通信密钥、第一密钥中的任一项,以及第一随机数、第二随机数、终端设备的设备标识、第四参数集合中的至少一项,采用消息验证码生成函数生成第二消息验证码,将加密处理后的第二随机数和第二消息验证码发送给终端设备,向功能网元发送通信密钥。
结合第四方面的第十一种可能的实现方式,在第四方面的第二十种可能的实现方式中,认证请求消息还包括第一消息验证码和第一随机数,相互认证过程具体包括:
网络认证服务器确定第二随机数;
网络认证服务器在对第一消息验证码验证通过后,根据第一随机数、终端设备的设备标识、第四参数集合中的至少一项,以及第一密钥,采用密钥生成函数生成通信密钥,根据通信密钥、第一密钥中的任一项,以及第一随机数、第二随机数、终端设备的设备标识、 第四参数集合中的至少一项,采用消息验证码生成函数生成第二消息验证码,将第二随机数和第二消息验证码发送给终端设备,向功能网元发送通信密钥。
结合第四方面的第十一种可能的实现方式,在第四方面的第二十一种可能的实现方式中,认证请求消息还包括第一随机数、第一消息验证码和第一传输参数,相互认证过程具体包括:
网络认证服务器确定第二随机数、DH协议的第二传输参数,根据第一传输参数和第二传输参数执行DH密钥协商算法得到第三传输参数;
网络认证服务器在对所述第一消息验证码验证通过后,根据第一随机数、第二随机数、终端设备的设备标识、第四参数集合中的至少一项,以及第三传输参数,采用密钥生成函数生成通信密钥,根据通信密钥、第一密钥中任一项,以及终端设备的设备标识、第四参数集合、第一传输参数、第二传输参数中任一项,采用消息验证码生成函数生成第二消息验证码,将第二随机数、第二传输参数,第二消息验证码,发送给终端设备,并向功能网元发送通信密钥。
结合第四方面、第四方面的第一种至第二十一种中任一种可能的实现方式,在第四方面的第二十二种可能的实现方式中,该方法还包括:网络认证服务器和终端设备进行相互认证,根据通信密钥、第四参数集合、会话密钥随机数、会话密钥新鲜参数、会话密钥的预设时间参数中的任一项,采用密钥生成函数生成网络认证服务器的会话密钥,并将会话密钥发送给功能网元。
第五方面,本申请提供一种密钥认证方法,包括:
网络认证服务器接收终端设备发送的认证请求消息,认证请求消息包括终端设备的设备标识,终端设备的设备标识为终端设备的第一公钥;根据第一公钥、网络认证服务器的网络认证公钥、网络认证服务器的网络认证私钥与终端设备进行相互认证以得到终端设备与功能网元的通信密钥。
结合第五方面,在第五方面的第一种可能的实现方式中,认证请求消息还包括第一数字签名和加密处理后的第一随机数,相互认证过程具体包括,包括:
网络认证服务器根据网络认证服务器的网络认证私钥对加密的第一随机数进行解密,得到第一随机数,确定第二随机数,采用终端设备的第一公钥对第二随机数进行加密处理,得到加密处理后的第二随机数,加密处理后的第一随机数为终端设备采用网络认证服务器的网络认证公钥对第一随机数加密处理得到;
网络认证服务器在根据预设全局公钥和终端设备的第一公钥对第一数字签名验证通过后,根据第一随机数、第二随机数中的至少一项,生成通信密钥,根据网络认证服务器的网络认证私钥、第一随机数和第二随机数生成第二数字签名,将加密处理后的第二随机数、第二数字签名,发送给终端设备;
网络认证服务器接收终端设备发送的第一消息验证码或第三数字签名,在对第一消息验证码或第三数字签名验证通过后,向功能网元发送通信密钥。
结合第五方面,在第五方面的第二种可能的实现方式中,认证请求消息还包括第一数字签名和第一随机数,相互认证过程具体包括,包括:
网络认证服务器确定第二随机数;
网络认证服务器在根据预设全局公钥和终端设备的第一公钥对第一数字签名验证通 过后,根据第三随机数确定通信密钥,采用终端设备的第一公钥对通信密钥进行加密处理,得到加密处理后的通信密钥,根据网络认证服务器的网络认证私钥、第一随机数和第二随机数生成第二数字签名,将第二随机数、加密处理后的通信密钥、第二数字签名,发送给终端设备;
网络认证服务器接收终端设备发送的第一消息验证码或第三数字签名,在对第一消息验证码或第三数字签名验证通过后,向功能网元发送通信密钥。
结合第五方面,在第五方面的第三种可能的实现方式中,认证请求消息还包括第一数字签名、第一随机数和第一传输参数,相互认证过程具体包括,包括:
网络认证服务器确定第二随机数、DH协议的第二传输参数,根据第一传输参数和第二传输参数执行DH密钥协商算法得到第三传输参数;
网络认证服务器在根据预设全局公钥和终端设备的第一公钥对第一数字签名验证通过后,根据第一随机数、第二随机数中的至少一项,以及第三传输参数,采用密钥生成函数生成通信密钥,根据第一随机数、第二随机数中的至少一项,以及网络认证服务器的网络认证私钥,第一传输参数,第二传输参数,生成第二数字签名,将第二随机数、加密处理后的第二传输参数、第二数字签名,发送给终端设备;
网络认证服务器接收终端设备发送的第一消息验证码或第三数字签名,在对第一消息验证码或第三数字签名验证通过后,向功能网元发送通信密钥。
结合第五方面,在第五方面的第四种可能的实现方式中,认证请求消息还包括第一数字签名和加密处理后的第一随机数,相互认证过程具体包括,包括:
网络认证服务器根据网络认证服务器的网络认证私钥对加密的第一随机数进行解密,得到第一随机数,确定第二随机数,采用终端设备的第一公钥对第二随机数进行加密处理,得到加密处理后的第二随机数,加密处理后的第一随机数为终端设备采用网络认证服务器的网络认证公钥对第一随机数加密处理得到;
网络认证服务器在根据预设全局公钥和终端设备的第一公钥对第一数字签名验证通过后,根据第一随机数、第二随机数中的至少一项,生成通信密钥,根据网络认证服务器的网络认证私钥、第一随机数和第二随机数生成第二数字签名,将加密处理后的第二随机数、第二数字签名,发送给终端设备,并向功能网元发送通信密钥。
结合第五方面,在第五方面的第五种可能的实现方式中,认证请求消息还包括第一数字签名和第一随机数,相互认证过程具体包括,包括:
网络认证服务器确定第二随机数;
网络认证服务器在根据预设全局公钥和终端设备的第一公钥对第一数字签名验证通过后,根据第三随机数确定通信密钥,采用终端设备的第一公钥对通信密钥进行加密处理,得到加密处理后的通信密钥,根据网络认证服务器的网络认证私钥、第一随机数和第二随机数生成第二数字签名,将第二随机数、加密处理后的通信密钥和第二数字签名发送给终端设备,并向功能网元发送通信密钥。
结合第五方面,在第五方面的第六种可能的实现方式中,认证请求消息还包括第四参数集合;第四参数集合包括:用户管理服务器的标识、网络标识、业务参数中的至少一种。
结合第五方面的第六种可能的实现方式,在第五方面的第七种可能的实现方式中,认证请求消息还包括第一数字签名和加密处理后的第一随机数,相互认证过程具体包括,包 括:
网络认证服务器根据网络认证服务器的网络认证私钥对加密的第一随机数进行解密,得到第一随机数,确定第二随机数,采用终端设备的第一公钥对第二随机数进行加密处理,得到加密处理后的第二随机数,加密处理后的第一随机数为终端设备采用网络认证服务器的网络认证公钥对第一随机数加密处理得到;
网络认证服务器在根据预设全局公钥和终端设备的第一公钥对第一数字签名验证通过后,根据第一随机数、第二随机数中的至少一项,以及终端设备的设备标识、第四参数集合中的至少一项,生成通信密钥,根据终端设备的设备标识、第四参数集合中的至少一项,以及网络认证服务器的网络认证私钥,第一随机数,第二随机数生成第二数字签名,将加密处理后的第二随机数、第二数字签名,发送给终端设备;
网络认证服务器接收终端设备发送的第一消息验证码或第三数字签名,在对第一消息验证码或第三数字签名验证通过后,向功能网元发送通信密钥。
结合第五方面的第六种可能的实现方式,在第五方面的第八种可能的实现方式中,认证请求消息还包括第一数字签名和第一随机数,相互认证过程具体包括,包括:
网络认证服务器确定第二随机数;
网络认证服务器在根据预设全局公钥和终端设备的第一公钥对第一数字签名验证通过后,根据第三随机数确定通信密钥,采用终端设备的第一公钥对通信密钥进行加密处理,得到加密处理后的通信密钥,根据终端设备的设备标识、第四参数集合中的至少一项,以及网络认证服务器的网络认证私钥,第一随机数,第二随机数生成第二数字签名,将第二随机数、加密处理后的通信密钥、第二数字签名,发送给终端设备;
网络认证服务器接收终端设备发送的第一消息验证码或第三数字签名,在对第一消息验证码或第三数字签名验证通过后,向功能网元发送通信密钥。
结合第五方面的第六种可能的实现方式,在第五方面的第九种可能的实现方式中,认证请求消息还包括第一数字签名、第一随机数和第一传输参数,相互认证过程具体包括,包括:
网络认证服务器确定第二随机数、DH协议的第二传输参数,根据第一传输参数和第二传输参数执行DH密钥协商算法得到第三传输参数;
网络认证服务器在根据预设全局公钥和终端设备的第一公钥对第一数字签名验证通过后,根据第一随机数、第二随机数中的至少一项,以及第三传输参数,采用密钥生成函数生成通信密钥,根据第一随机数、第二随机数中的至少一项,以及网络认证服务器的网络认证私钥,第一传输参数,第二传输参数,生成第二数字签名,将第二随机数、加密处理后的第二传输参数、第二数字签名,发送给终端设备;
网络认证服务器接收终端设备发送的第一消息验证码或第三数字签名,在对第一消息验证码或第三数字签名验证通过后,向功能网元发送通信密钥。
结合第五方面的第六种可能的实现方式,在第五方面的第十种可能的实现方式中,认证请求消息还包括第一数字签名和加密处理后的第一随机数,相互认证过程具体包括,包括:
网络认证服务器根据网络认证服务器的网络认证私钥对加密的第一随机数进行解密,得到第一随机数,确定第二随机数,采用终端设备的第一公钥对第二随机数进行加密处理, 得到加密处理后的第二随机数,加密处理后的第一随机数为终端设备采用网络认证服务器的网络认证公钥对第一随机数加密处理得到;
网络认证服务器在根据预设全局公钥和终端设备的第一公钥对第一数字签名验证通过后,根据第一随机数、第二随机数中的至少一项,以及终端设备的设备标识、第四参数集合中的至少一项,生成通信密钥,根据终端设备的设备标识、第四参数集合中的至少一项,以及网络认证服务器的网络认证私钥,第一随机数,第二随机数生成第二数字签名,将加密处理后的第二随机数、第二数字签名,发送给终端设备,并向功能网元发送通信密钥。
结合第五方面的第六种可能的实现方式,在第五方面的第十一种可能的实现方式中,认证请求消息还包括第一数字签名和第一随机数,相互认证过程具体包括,包括:
网络认证服务器确定第二随机数;
网络认证服务器在根据预设全局公钥和终端设备的第一公钥对第一数字签名验证通过后,根据第三随机数确定通信密钥,采用终端设备的第一公钥对通信密钥进行加密处理,得到加密处理后的通信密钥,根据终端设备的设备标识、第四参数集合中的至少一项,以及网络认证服务器的网络认证私钥,第一随机数,第二随机数生成第二数字签名,将第二随机数、加密处理后的通信密钥和第二数字签名发送给终端设备,并向功能网元发送通信密钥。
结合第五方面、第五方面的第一种至第十一种中任一种可能的实现方式,在第五方面的第十二种可能的实现方式中,该方法还包括:
网络认证服务器接收终端设备发送的公钥请求消息;
网络认证服务器向终端设备发送网络认证服务器的网络认证公钥。
结合第五方面、第五方面的第一种至第十二种中任一种可能的实现方式,在第五方面的第十三种可能的实现方式中,该方法还包括:网络认证服务器和终端设备进行相互认证,根据通信密钥、第四参数集合、会话密钥随机数、会话密钥新鲜参数、会话密钥的预设时间参数中的任一项,采用密钥生成函数生成网络认证服务器的会话密钥,并将会话密钥发送给功能网元。
下面介绍本申请提供的一种密钥分发、认证装置,该装置与上述方法一一对应,用以实现上述实施例中的密钥分发、认证方法,具有相同的技术特征和技术效果,本申请对此不再赘述。
第六方面,本申请提供一种业务中心服务器,该服务器包括:
密钥请求接收模块,用于接收用户管理服务器发送的第一密钥请求消息,第一密钥请求消息用于指示业务中心服务器生成用户管理服务器所管理的终端设备的第一密钥;
密钥生成模块,用于根据第一密钥请求消息生成终端设备的第一密钥,并将第一密钥发送给用户管理服务器。
结合第六方面,在第六方面的第一种可能的实现方式中,密钥生成模块具体用于:
根据第一参数集合,采用密钥生成函数生成终端设备的第一密钥;
其中,第一参数集合包括第一密钥随机数、第一密钥新鲜参数、第一密钥的预设时间参数、共享密钥中的至少一种,共享密钥为用户管理服务器与业务中心服务器的共享密钥。
结合第六方面,在第六方面的第二种可能的实现方式中,第一密钥请求消息中包括终 端设备的设备标识、用户管理服务器的标识、网络标识、业务参数中的至少一种,密钥生成模块具体用于:
根据第二参数集合,采用密钥生成函数生成终端设备的第一密钥;
其中,第二参数集合包括第一密钥随机数、第一密钥新鲜参数、第一密钥的预设时间参数、共享密钥、用户管理服务器的标识、网络标识、业务参数、终端设备的设备标识中的至少一种,共享密钥为用户管理服务器与业务中心服务器的共享密钥。
结合第六方面,在第六方面的第三种可能的实现方式中,密钥生成模块具体用于:确定业务随机数,并将业务随机数作为终端设备的第一密钥。
结合第六方面,在第六方面的第四种可能的实现方式中,第一密钥请求消息中包括终端设备的设备标识,密钥生成模块具体用于:
根据预设全局私钥和终端设备的设备标识,基于设备身份生成算法生成终端设备的第一密钥;
其中,终端设备的第一密钥为终端设备的第一私钥,终端设备的设备标识为与第一私钥对应的终端设备的第一公钥。
结合第六方面,在第六方面的第五种可能的实现方式中,第一密钥请求消息中包括终端设备的设备标识,密钥生成模块具体用于:
根据预设全局私钥、终端设备的设备标识和第三参数集合,基于设备身份生成算法生成终端设备的第一密钥;
其中,第三参数集合包含第一密钥随机数、第一密钥新鲜参数、第一密钥的预设时间参数中的至少一种参数;
其中,终端设备的第一密钥为终端设备的第一私钥,终端设备的设备标识为与第一私钥对应的终端设备的第一公钥。
结合第六方面、第六方面的第一种或第六方面的第二种可能的实现方式,在第六方面的第六种可能的实现方式中,密钥生成模块还用于:
将终端设备的第一密钥发送给网络认证服务器以使得网络认证服务器根据第一密钥与终端设备进行相互认证。
结合第六方面的第六种可能的实现方式,在第六方面的第七种可能的实现方式中,密钥请求接收模块还用于:
接收网络认证服务器发送的第二密钥请求消息;第二密钥请求消息是在网络认证服务器接收到终端设备发送的认证请求消息后发送的。
第七方面,本申请提供一种用户管理服务器,包括:
请求发送模块,用于向业务中心服务器发送第一密钥请求消息,第一密钥请求消息用于指示业务中心服务器生成用户管理服务器所管理的终端设备的第一密钥;
密钥接收模块,用于接收业务中心服务器发送的终端设备的第一密钥;
密钥发送模块,用于将终端设备的第一密钥发送给终端设备以使得终端设备根据第一密钥与网络认证服务器进行相互认证。
结合第七方面,在第七方面的第一种可能的实现方式中,第一密钥为终端设备的第一私钥,终端设备的设备标识为与第一私钥对应的终端设备的第一公钥。
结合第七方面或第七方面的第一种可能的实现方式,在第七方面的第二种可能的实现 方式中,其特征在于,密钥发送模块还用于:
将第四参数集合发送给终端设备,第四参数集合包括用户管理服务器的标识、网络标识、业务参数中的至少一种。
第八方面,本申请提供一种终端设备,包括:
接收模块,用于接收用户管理服务器发送的终端设备的第一密钥;
认证模块,用于根据第一密钥,与网络认证服务器进行相互认证以得到终端设备与功能网元的通信密钥。
结合第八方面,在第八方面的第一种可能的实现方式中,认证模块具体用于:
确定第一随机数,并采用第一密钥对第一随机数进行加密处理,以得到加密处理后的第一随机数,向网络认证服务器发送认证请求消息,认证请求消息包括加密处理后的第一随机数以及终端设备的设备标识;
接收网络认证服务器发送的第二消息验证码、加密处理后的第二随机数,根据第一密钥对加密的第二随机数进行解密,得到第二随机数,加密处理后的第二随机数为网络认证服务器采用第一密钥对第二随机数加密处理得到;
在对第二消息验证码验证通过后,根据第一密钥、第一随机数、第二随机数中的至少一项,采用密钥生成函数生成终端设备的通信密钥,根据通信密钥、第一密钥中的任一项,以及第一随机数,第二随机数,采用消息验证码生成函数生成第一消息验证码,将第一消息验证码,发送给网络认证服务器,以使网络认证服务器对第一消息验证码进行验证。
结合第八方面,在第八方面的第二种可能的实现方式中,认证模块具体用于:
确定第一随机数,向网络认证服务器发送认证请求消息,认证请求消息包括第一随机数以及终端设备的设备标识;
接收网络认证服务器发送的第二随机数、第二消息验证码;
在对第二消息验证码验证通过后,根据第一随机数和第二随机数中的至少一项,以及第一密钥,采用密钥生成函数生成终端设备的通信密钥,根据通信密钥、第一密钥中的任一项,以及第一随机数,第二随机数,采用消息验证码生成函数生成第一消息验证码,将第一消息验证码,发送给网络认证服务器,以使网络认证服务器对第一消息验证码进行验证。
结合第八方面,在第八方面的第三种可能的实现方式中,认证模块具体用于:
确定第一随机数,向网络认证服务器发送认证请求消息,认证请求消息包括第一随机数以及终端设备的设备标识;
接收网络认证服务器发送的第二随机数、加密处理后的通信密钥、第二消息验证码,根据第一密钥对加密处理后的通信密钥进行解密,得到通信密钥,加密处理后的通信密钥为网络认证服务器采用第一密钥对通信密钥加密处理得到;
在对第二消息验证码验证通过后,根据通信密钥、第一密钥中任一项,以及第一随机数,第二随机数,采用消息验证码生成函数生成第一消息验证码,将第一消息验证码,发送给网络认证服务器,以使网络认证服务器对第一消息验证码进行验证。
结合第八方面,在第八方面的四种可能的实现方式中,认证模块具体用于:
确定第一随机数、DH协议的第一传输参数,向网络认证服务器发送认证请求消息,认证请求消息包括第一随机数、第一传输参数以及终端设备的设备标识;
接收网络认证服务器发送的第二随机数、第二传输参数、第二消息验证码,根据第一传输参数和第二传输参数执行DH密钥协商算法得到第三传输参数;
在对第二消息验证码验证通过后,根据第一随机数、第二随机数中的至少一项,以及第三传输参数,采用密钥生成函数生成终端设备的通信密钥,根据通信密钥、第一密钥中的任一项,以及第一随机数,第二随机数,采用消息验证码生成函数生成第一消息验证码,将第一消息验证码,发送给网络认证服务器,以使网络认证服务器对第一消息验证码进行验证。
结合第八方面,在第八方面的五种可能的实现方式中,认证模块具体用于:
确定第一随机数,采用第一密钥对第一随机数进行加密处理,得到加密处理后的第一随机数,根据第一密钥和第一随机数,采用消息验证码生成函数生成第一消息验证码,向网络认证服务器发送认证请求消息,认证请求消息包括第一消息验证码、加密处理后的第一随机数以及终端设备的设备标识;
接收网络认证服务器发送的加密处理后的第二随机数、第二消息验证码,根据第一密钥对加密的第二随机数进行解密,得到第二随机数,加密处理后的第二随机数为网络认证服务器采用第一密钥对第二随机数加密处理得到;
在对第二消息验证码验证通过后,根据第一密钥、第一随机数、第二随机数中的至少一项,采用密钥生成函数生成终端设备的通信密钥。
结合第八方面,在第八方面的第六种可能的实现方式中,认证模块具体用于:
确定第一随机数,根据第一密钥和第一随机数,采用消息验证码生成函数生成第一消息验证码,向网络认证服务器发送认证请求消息,认证请求消息包括第一消息验证码、第一随机数以及终端设备的设备标识;
接收网络认证服务器发送的第二随机数、第二消息验证码;
在对第二消息验证码验证通过后,根据第一随机数、第二随机数中的至少一项,以及第一密钥,采用密钥生成函数生成终端设备的通信密钥。
结合第八方面,在第八方面的七种可能的实现方式中,认证模块具体用于:
确定第一随机数,根据第一密钥和第一随机数,采用消息验证码生成函数生成第一消息验证码,向网络认证服务器发送认证请求消息,认证请求消息包括第一消息验证码、第一随机数以及终端设备的设备标识;
接收网络认证服务器发送的第二随机数、加密处理后的通信密钥、第二消息验证码,加密处理后的通信密钥为网络认证服务器采用第一密钥对通信密钥加密处理得到;
在对第二消息验证码验证通过后,根据第一密钥对加密处理后的通信密钥进行解密,得到通信密钥。
结合第八方面,在第八方面的第八种可能的实现方式中,认证模块具体用于:
确定第一随机数,采用第一密钥对第一随机数进行加密处理,得到加密处理后的第一随机数,根据第一密钥、第一随机数中的至少一项,采用密钥生成函数生成终端设备的通信密钥,根据第一密钥、通信密钥中的任一项,以及第一随机数,采用消息验证码生成函数生成第一消息验证码,向网络认证服务器发送认证请求消息,认证请求消息包括第一消息验证码、加密处理后的第一随机数,以及终端设备的设备标识;
接收网络认证服务器发送的第二消息验证码和加密处理后的第二随机数,根据第一密 钥对加密的第二随机数进行解密,得到第二随机数,加密处理后的第二随机数为网络认证服务器采用第一密钥对第二随机数加密处理得到;
对第二消息验证码进行验证并确定验证通过。
结合第八方面,在第八方面的第九种可能的实现方式中,认证模块具体用于:
确定第一随机数,根据第一密钥和第一随机数,采用密钥生成函数生成网络认证服务器的通信密钥,根据第一密钥、通信密钥中的任一项,以及第一随机数,采用消息验证码生成函数生成第一消息验证码,向网络认证服务器发送认证请求消息,认证请求消息包括第一消息验证码、第一随机数以及终端设备的设备标识;
接收网络认证服务器发送的第二随机数和第二消息验证码;
对第二消息验证码进行验证并确定验证通过。
结合第八方面,在第八方面的第十种可能的实现方式中,认证模块具体用于:
确定第一随机数、DH协议的第一传输参数,根据第一密钥和第一随机数,采用消息验证码生成函数生成第一消息验证码,向网络认证服务器发送认证请求消息,认证请求消息包括第一消息验证码、第一随机数、第一传输参数以及终端设备的设备标识;
接收网络认证服务器发送的第二随机数、第二传输参数、第二消息验证码,根据第一传输参数和第二传输参数执行DH密钥协商算法得到第三传输参数;
根据第一随机数、第二随机数中的至少一项,以及第三传输参数,采用密钥生成函数生成终端设备的通信密钥,对第二消息验证码进行验证并确定通过验证。
结合第八方面,在第八方面的第十一种可能的实现方式中,接收模块还用于接收用户管理服务器发送的第四参数集合;
第四参数集合包括:用户管理服务器的标识、网络标识、业务参数中的至少一种。
结合第八方面的第十一种可能的实现方式,在第八方面的第十二种可能的实现方式中,认证模块具体用于:
确定第一随机数,并采用第一密钥对第一随机数进行加密处理,以得到加密处理后的第一随机数,向网络认证服务器发送认证请求消息,认证请求消息包括加密处理后的第一随机数、终端设备的设备标识以及第四参数集合;
接收网络认证服务器发送的加密处理后的第二随机数、第二消息验证码,根据第一密钥对加密的第二随机数进行解密,得到第二随机数,加密处理后的第二随机数为网络认证服务器采用第一密钥对第二随机数加密处理得到;
在对第二消息验证码验证通过后,根据第一密钥、第一随机数、第二随机数中的至少一项,以及终端设备的设备标识、第四参数集合中的至少一项,采用密钥生成函数生成终端设备的通信密钥,根据通信密钥、第一密钥中的任一项,以及终端设备的设备标识、第四参数集合中的至少一项,以及第一随机数,第二随机数,采用消息验证码生成函数生成第一消息验证码,并将第一消息验证码,发送给网络认证服务器,以使网络认证服务器对第一消息验证码进行验证。
结合第八方面的第十一种可能的实现方式,在第八方面的第十三种可能的实现方式中,认证模块具体用于:
确定第一随机数,向网络认证服务器发送认证请求消息,认证请求消息包括第一随机数、终端设备的设备标识以及第四参数集合;
接收网络认证服务器发送的第二随机数、第二消息验证码;
在对第二消息验证码验证通过后,根据第一随机数、第二随机数、终端设备的设备标识、第四参数集合中的至少一项,以及第一密钥采用密钥生成函数生成终端设备的通信密钥,根据通信密钥、第一密钥中的任一项,以及终端设备的设备标识、第四参数集合中的至少一项,以及第一随机数,第二随机数,采用消息验证码生成函数生成第一消息验证码,并将第一消息验证码,发送给网络认证服务器,以使网络认证服务器对第一消息验证码进行验证。
结合第八方面的第十一种可能的实现方式,在第八方面的第十四种可能的实现方式中,认证模块具体用于:
确定第一随机数,向网络认证服务器发送认证请求消息,认证请求消息包括第一随机数、终端设备的设备标识以及第四参数集合;
接收网络认证服务器发送的第二随机数、加密处理后的通信密钥、第二消息验证码,根据第一密钥对加密处理后的通信密钥进行解密,得到通信密钥,加密处理后的通信密钥为网络认证服务器采用第一密钥对通信密钥加密处理得到;
在对第二消息验证码验证通过后,根据通信密钥、第一密钥中的任一项,以及终端设备的设备标识、第四参数集合中的至少一项,以及第一随机数,第二随机数,采用消息验证码生成函数生成第一消息验证码,将第一消息验证码,发送给网络认证服务器,以使网络认证服务器对第一消息验证码进行验证。
结合第八方面的第十一种可能的实现方式,在第八方面的第十五种可能的实现方式中,认证模块具体用于:
确定第一随机数、DH协议的第一传输参数,向网络认证服务器发送认证请求消息,认证请求消息包括第一随机数、第一传输参数、终端设备的设备标识以及第四参数集合;
接收网络认证服务器发送的第二随机数、第二传输参数、第二消息验证码,根据第一传输参数和第二传输参数执行DH密钥协商算法得到第三传输参数;
在对第二消息验证码验证通过后,根据第一随机数、第二随机数、终端设备的设备标识、第四参数集合中的至少一项,以及第三传输参数,采用密钥生成函数生成终端设备的通信密钥,根据通信密钥、第一密钥中的任一项,以及终端设备的设备标识、第四参数集合中的至少一项,以及第一随机数,第二随机数,采用消息验证码生成函数生成第一消息验证码,将第一消息验证码,发送给网络认证服务器,以使网络认证服务器对第一消息验证码进行验证。
结合第八方面的第十一种可能的实现方式,在第八方面的第十六种可能的实现方式中,认证模块具体用于:
确定第一随机数,采用第一密钥对第一随机数进行加密处理,得到加密处理后的第一随机数,根据第一随机数、终端设备的设备标识、第四参数集合中的至少一项,以及第一密钥,采用消息验证码生成函数生成第一消息验证码,向网络认证服务器发送认证请求消息,认证请求消息包括第一消息验证码、加密处理后的第一随机数、终端设备的设备标识以及第四参数集合;
接收网络认证服务器发送的加密处理后的第二随机数、第二消息验证码,根据第一密钥对加密的第二随机数进行解密,得到第二随机数,加密处理后的第二随机数为网络认证 服务器采用第一密钥对第二随机数加密处理得到;
在对第二消息验证码验证通过后,根据第一密钥、第一随机数、第二随机数中的至少一项,以及终端设备的设备标识、第四参数集合中的至少一项,采用密钥生成函数生成终端设备的通信密钥。
结合第八方面的第十一种可能的实现方式,在第八方面的第十七种可能的实现方式中,认证模块具体用于:
确定第一随机数,根据第一随机数、终端设备的设备标识、第四参数集合中的至少一项,以及第一密钥,采用消息验证码生成函数生成第一消息验证码,向网络认证服务器发送认证请求消息,认证请求消息包括第一消息验证码、第一随机数、终端设备的设备标识以及第四参数集合;
接收网络认证服务器发送的第二随机数、第二消息验证码;
在对第二消息验证码验证通过后,根据第一随机数、第二随机数、终端设备的设备标识、第四参数集合中的至少一项,以及第一密钥,采用密钥生成函数生成终端设备的通信密钥。
结合第八方面的第十一种可能的实现方式,在第八方面的第十八种可能的实现方式中,认证模块具体用于:
确定第一随机数,根据第一随机数、终端设备的设备标识、第四参数集合中的至少一项,以及第一密钥,采用消息验证码生成函数生成第一消息验证码,向网络认证服务器发送认证请求消息,认证请求消息包括第一消息验证码、第一随机数、终端设备的设备标识以及第四参数集合;
接收网络认证服务器发送的第二随机数、加密处理后的通信密钥、第二消息验证码,加密处理后的通信密钥为网络认证服务器采用第一密钥对通信密钥加密处理得到;
在对第二消息验证码验证通过后,根据第一密钥对加密处理后的通信密钥进行解密,得到通信密钥。
结合第八方面的第十一种可能的实现方式,在第八方面的第十九种可能的实现方式中,认证模块具体用于:
确定第一随机数,采用第一密钥对第一随机数进行加密处理,得到加密处理后的第一随机数,根据第一密钥、第一随机数中的至少一项,以及终端设备的设备标识、第四参数集合中的至少一项,采用密钥生成函数生成终端设备的通信密钥,根据第一密钥、通信密钥中的任一项,以及第一随机数、终端设备的设备标识、第四参数集合中的至少一项,采用消息验证码生成函数生成第一消息验证码,向网络认证服务器发送认证请求消息,认证请求消息包括第一消息验证码、加密处理后的第一随机数、终端设备的设备标识以及第四参数集合;
接收网络认证服务器发送的第二消息验证码和加密处理后的第二随机数,根据第一密钥对加密的第二随机数进行解密,得到第二随机数,加密处理后的第二随机数为网络认证服务器采用第一密钥对第二随机数加密处理得到;
对第二消息验证码进行验证并确定验证通过。
结合第八方面的第十一种可能的实现方式,在第八方面的第二十种可能的实现方式中,认证模块具体用于:
确定第一随机数,根据第一随机数、终端设备的设备标识和第四参数集合中的至少一项,以及第一密钥,采用密钥生成函数生成终端设备的通信密钥,根据第一密钥、通信密钥中的任一项,以及第一随机数、终端设备的设备标识、第四参数集合中的至少一项,采用消息验证码生成函数生成第一消息验证码,向网络认证服务器发送认证请求消息,认证请求消息包括第一消息验证码、第一随机数、终端设备的设备标识以及第四参数集合;
接收网络认证服务器发送的第二消息验证码和第二随机数;
对第二消息验证码进行验证并确定验证通过。
结合第八方面的第十一种可能的实现方式,在第八方面的第二十一种可能的实现方式中,认证模块具体用于:
确定第一随机数、DH协议的第一传输参数,根据第一随机数、终端设备的设备标识、第四参数集合中的至少一项,以及第一密钥,采用消息验证码生成函数生成第一消息验证码,向网络认证服务器发送认证请求消息,认证请求消息包括第一消息验证码、第一随机数、第一传输参数、终端设备的设备标识以及第四参数集合;
接收网络认证服务器发送的第二随机数、第二传输参数、第二消息验证码,根据第一传输参数和第二传输参数执行DH密钥协商算法得到第三传输参数;
根据第一随机数、第二随机数、终端设备的设备标识、第四参数集合中的至少一项,以及第三传输参数,采用密钥生成函数生成终端设备的通信密钥,对第二消息验证码进行验证并确定通过验证。
结合第八方面,在第八方面的第二十二种可能的实现方式中,第一密钥为终端设备的第一私钥,终端设备的设备标识为与第一私钥对应的终端设备的第一公钥。
结合第八方面的第二十二种可能的实现方式,在第八方面的第二十三种可能的实现方式中,认证模块具体用于:
确定第一随机数,采用网络认证服务器的网络认证公钥对第一随机数进行加密处理,得到加密处理后的第一随机数,根据第一密钥和第一随机数生成终端设备的第一数字签名,向网络认证服务器发送认证请求消息,认证请求消息包括第一数字签名、加密处理后的第一随机数以及终端设备的设备标识;
接收网络认证服务器发送的加密处理后的第二随机数、第二数字签名,根据终端设备的第一密钥对加密的第二随机数进行解密,得到第二随机数,在对第二数字签名验证通过后,根据第一随机数和第二随机数中的至少一项,生成终端设备的通信密钥,加密处理后的第二随机数为网络认证服务器采用终端设备的第一公钥对第二随机数加密处理得到;
根据通信密钥、第一随机数、第二随机数,生成第一消息验证码,或者根据第一密钥、第一随机数、第二随机数生成第三数字签名,将第一消息验证码或第三数字签名发送给网络认证服务器,以使网络认证服务器对第一消息验证码或第三数字签名进行验证。
结合第八方面的第二十二种可能的实现方式,在第八方面的第二十四种可能的实现方式中,认证模块具体用于:
确定第一随机数,根据第一密钥和第一随机数,生成终端设备的第一数字签名,向网络认证服务器发送认证请求消息,认证请求消息包括第一数字签名、第一随机数以及终端设备的设备标识;
接收网络认证服务器发送的第二随机数、加密处理后的通信密钥、第二数字签名,根 据终端设备的第一密钥对加密的通信密钥进行解密,得到通信密钥,加密处理后的通信密钥为网络认证服务器采用终端设备的第一公钥对通信密钥加密处理得到;
在对第二数字签名验证通过后,根据通信密钥、第一随机数、第二随机数,生成第一消息验证码,或者根据第一密钥、第一随机数、第二随机数,生成第三数字签名,将第一消息验证码或第三数字签名发送给网络认证服务器,以使网络认证服务器对第一消息验证码或第三数字签名进行验证。
结合第八方面的第二十二种可能的实现方式,在第八方面的第二十五种可能的实现方式中,认证模块具体用于:
确定第一随机数、DH协议的第一传输参数,根据第一密钥、第一随机数、第一传输参数,生成终端设备的第一数字签名,向网络认证服务器发送认证请求消息,认证请求消息包括第一数字签名、第一随机数、第一传输参数以及终端设备的设备标识;
接收网络认证服务器发送的第二随机数、第二传输参数、第二数字签名,根据第一传输参数和第二传输参数执行DH密钥协商算法得到第三传输参数;
在对第二数字签名验证通过后,根据第一随机数、第二随机数中的至少一项,以及第三传输参数,采用密钥生成函数生成终端设备的通信密钥,根据第一随机数、第二随机数中的至少一项,以及通信密钥,第一传输参数,第二传输参数生成第一消息验证码,或者根据第一随机数、第二随机数中的至少一项,以及第一密钥,第一传输参数,第二传输参数生成第三数字签名,将第一消息验证码或第三数字签名发送给网络认证服务器,以使网络认证服务器对第一消息验证码或第三数字签名进行验证。
结合第八方面的第二十二种可能的实现方式,在第八方面的第二十六种可能的实现方式中,认证模块具体用于:
确定第一随机数,采用网络认证服务器的网络认证公钥对第一随机数进行加密处理,得到加密处理后的第一随机数,根据第一密钥和第一随机数,生成终端设备的第一数字签名,向网络认证服务器发送认证请求消息,认证请求消息包括第一数字签名、加密处理后的第一随机数以及终端设备的设备标识;
接收网络认证服务器发送的加密处理后的第二随机数、第二数字签名,根据终端设备的第一密钥对加密的第二随机数进行解密,得到第二随机数,在对第二数字签名验证通过后,根据第一随机数、第二随机数中的至少一项生成终端设备的通信密钥,加密处理后的第二随机数为网络认证服务器采用终端设备的第一公钥对第二随机数加密处理得到。
结合第八方面的第二十二种可能的实现方式,在第八方面的第二十七种可能的实现方式中,认证模块具体用于:
确定第一随机数,根据第一密钥和第一随机数,生成终端设备的第一数字签名,向网络认证服务器发送认证请求消息,认证请求消息包括第一数字签名、第一随机数,以及终端设备的设备标识;
接收网络认证服务器发送的第二随机数、加密处理后的通信密钥、第二数字签名,加密处理后的通信密钥为网络认证服务器采用终端设备的第一公钥对通信密钥加密处理得到;
在对第二数字签名验证通过后,根据终端设备的第一密钥对加密的通信密钥进行解密,得到通信密钥。
结合第八方面的第二十二种可能的实现方式,在第八方面的第二十八种可能的实现方式中,接收模块还用于接收用户管理服务器发送的第四参数集合;
第四参数集合包括:用户管理服务器的标识、网络标识、业务参数中的至少一种。
结合第八方面的第二十八种可能的实现方式,在第八方面的第二十九种可能的实现方式中,认证模块具体用于:
确定第一随机数,采用网络认证服务器的网络认证公钥对第一随机数进行加密处理,得到加密处理后的第一随机数,根据第一随机数、终端设备的设备标识、第四参数集合中的至少一项,以及第一密钥,生成终端设备的第一数字签名,向网络认证服务器发送认证请求消息,认证请求消息包括第一数字签名、加密处理后的第一随机数、终端设备的设备标识以及第四参数集合;
接收网络认证服务器发送的加密处理后的第二随机数、第二数字签名,根据终端设备的第一密钥对加密的第二随机数进行解密,得到第二随机数,在对第二数字签名验证通过后,根据第一随机数、第二随机数中的至少一项,以及终端设备的设备标识、第四参数集合中的至少一项,生成终端设备的通信密钥,加密处理后的第二随机数为网络认证服务器采用终端设备的第一公钥对第二随机数加密处理得到;
根据终端设备的设备标识、第四参数集合中的至少一项,以及通信密钥,第一随机数,第二随机数生成第一消息验证码,或者根据终端设备的设备标识、第四参数集合中的至少一项,以及第一密钥,第一随机数,第二随机数生成第三数字签名,将第一消息验证码或第三数字签名发送给网络认证服务器,以使网络认证服务器对第一消息验证码或第三数字签名进行验证。
结合第八方面的第二十八种可能的实现方式,在第八方面的第三十种可能的实现方式中,认证模块具体用于:
确定第一随机数,根据第一随机数、终端设备的设备标识、第四参数集合中的至少一项,以及第一密钥,向网络认证服务器发送认证请求消息,认证请求消息包括第一数字签名、加密处理后的第一随机数、终端设备的设备标识以及第四参数集合;
接收网络认证服务器发送的第二随机数、加密处理后的通信密钥、第二数字签名,根据终端设备的第一密钥对加密的通信密钥进行解密,得到通信密钥,加密处理后的通信密钥为网络认证服务器采用终端设备的第一公钥对通信密钥加密处理得到;
在对第二数字签名验证通过后,根据终端设备的设备标识、第四参数集合中的至少一项,以及通信密钥,第一随机数,第二随机数生成第一消息验证码,或者根据终端设备的设备标识、第四参数集合中的至少一项,以及第一密钥,第一随机数,第二随机数生成第三数字签名,将第一消息验证码或第三数字签名发送给网络认证服务器,以使网络认证服务器对第一消息验证码或第三数字签名进行验证。
结合第八方面的第二十八种可能的实现方式,在第八方面的第三十一种可能的实现方式中,认证模块具体用于:
确定第一随机数、DH协议的第一传输参数,根据终端设备的设备标识、第四参数集合中的至少一项,以及第一密钥,第一随机数,第一传输参数生成终端设备的第一数字签名,向网络认证服务器发送认证请求消息,认证请求消息包括第一数字签名、第一随机数、第一传输参数、终端设备的设备标识以及第四参数集合;
接收网络认证服务器发送的第二随机数、第二传输参数、第二数字签名;
在对第二数字签名验证通过后,根据第一随机数、第二随机数、终端设备的设备标识、第四参数集合中的至少一项,以及第三传输参数,采用密钥生成函数生成终端设备的通信密钥,根据终端设备的设备标识、第四参数集合中的至少一项,以及通信密钥,第一传输参数,第二传输参数生成第一消息验证码,或者根据第一随机数、第二随机数、终端设备的设备标识、第四参数集合中的至少一项,以及第一密钥,第一传输参数,第二传输参数生成第三数字签名,将第一消息验证码或第三数字签名发送给网络认证服务器,以使网络认证服务器对第一消息验证码或第三数字签名进行验证。
结合第八方面的第二十八种可能的实现方式,在第八方面的第三十二种可能的实现方式中,认证模块具体用于:
确定第一随机数,采用网络认证服务器的网络认证公钥对第一随机数进行加密处理,得到加密处理后的第一随机数,根据第一随机数、终端设备的设备标识、第四参数集合中的至少一项,以及第一密钥,生成终端设备的第一数字签名,向网络认证服务器发送认证请求消息,认证请求消息包括第一数字签名、加密处理后的第一随机数、终端设备的设备标识以及第四参数集合;
接收网络认证服务器发送的加密处理后的第二随机数、第二数字签名,根据终端设备的第一密钥对加密的第二随机数进行解密,得到第二随机数,在对第二数字签名验证通过后,根据第一随机数、第二随机数中的至少一项,以及终端设备的设备标识、第四参数集合中的至少一项,生成终端设备的通信密钥,加密处理后的第二随机数为网络认证服务器采用终端设备的第一公钥对第二随机数加密处理得到。
结合第八方面的第二十八种可能的实现方式,在第八方面的第三十三种可能的实现方式中,认证模块具体用于:
确定第一随机数,根据第一随机数、终端设备的设备标识、第四参数集合中的至少一项,以及第一密钥,生成终端设备的第一数字签名,向网络认证服务器发送认证请求消息,认证请求消息包括第一数字签名、第一随机数、终端设备的设备标识以及第四参数集合;
接收网络认证服务器发送的第二随机数、加密处理后的通信密钥、第二数字签名,加密处理后的通信密钥为网络认证服务器采用终端设备的第一公钥对通信密钥加密处理得到;
在对第二数字签名验证通过后,根据终端设备的第一密钥对加密的通信密钥进行解密,得到通信密钥。
结合第八方面的第二十二种至第三十三种中任一种可能的实现方式,在第八方面的第三十四种可能的实现方式中,还包括:
公钥请求模块,用于向网络认证服务器发送公钥请求消息;
接收模块还用于接收网络认证服务器发送的网络认证服务器的网络认证公钥。
结合第八方面、第八方面的第一种至第三十四种中任一种可能的实现方式,在第八方面的第三十五种可能的实现方式中,认证模块具体用于:与网络认证服务器进行相互认证,根据通信密钥、第四参数集合、会话密钥随机数、会话密钥新鲜参数、会话密钥的预设时间参数中的任一项,采用密钥生成函数生成终端设备的会话密钥。
第九方面,本申请提供一种网络认证服务器,包括:
请求接收模块,用于接收终端设备发送的认证请求消息,认证请求消息包括终端设备的设备标识;
密钥接收模块,用于接收业务中心服务器发送的与设备标识对应的终端设备的第一密钥;
认证模块,用于根据第一密钥,与设备标识指示的终端设备进行相互认证以得到终端设备与功能网元的通信密钥。
结合第九方面,在第九方面的第一种可能的实现方式中,认证请求消息还包括加密处理后的第一随机数,认证模块具体用于:
根据第一密钥对加密处理后的第一随机数进行解密,得到第一随机数,确定第二随机数,并采用第一密钥对第二随机数进行加密处理,得到加密处理后的第二随机数,加密处理后的第一随机数为终端设备采用第一密钥对第一随机数加密处理得到;
根据第一密钥、第一随机数、第二随机数中的至少一项,采用密钥生成函数生成通信密钥,根据通信密钥、第一密钥中的任一项,以及第一随机数,第二随机数,采用消息验证码生成函数生成第二消息验证码,将第二消息验证码和加密处理后的第二随机数,发送给终端设备;
接收终端设备发送的第一消息验证码,在对第一消息验证码验证通过后,向功能网元发送通信密钥。
结合第九方面,在第九方面的第二种可能的实现方式中,认证请求消息还包括第一随机数,认证模块具体用于:
确定第二随机数,根据第一随机数和第二随机数中的至少一项,以及第一密钥,采用密钥生成函数生成通信密钥,根据通信密钥、第一密钥中的任一项,以及第一随机数,第二随机数,采用消息验证码生成函数生成第二消息验证码,将第二消息验证码和第二随机数,发送给终端设备;
接收终端设备发送的第一消息验证码,在对第一消息验证码验证通过后,向功能网元发送通信密钥。
结合第九方面,在第九方面的第三种可能的实现方式中,认证请求消息还包括第一随机数,认证模块具体用于:
确定第二随机数,根据第三随机数确定通信密钥,采用第一密钥对通信密钥进行加密处理,得到加密处理后的通信密钥;
根据通信密钥、第一密钥中任一项,以及第一随机数,第二随机数,采用消息验证码生成函数生成第二消息验证码,将第二随机数、加密处理后的通信密钥、第二消息验证码,发送给终端设备;
接收终端设备发送的第一消息验证码,在对第一消息验证码验证通过后,向功能网元发送通信密钥。
结合第九方面,在第九方面的第四种可能的实现方式中,认证请求消息还包括第一随机数和第一传输参数,认证模块具体用于:
确定第二随机数、DH协议的第二传输参数,根据第一传输参数和第二传输参数执行DH密钥协商算法得到第三传输参数;
根据第一随机数、第二随机数中的至少一项,以及第三传输参数,采用密钥生成函数 生成通信密钥,根据通信密钥、第一密钥中的任一项,以及第一传输参数,第二传输参数,采用消息验证码生成函数生成第二消息验证码,将第二随机数、第二传输参数,第二消息验证码,发送给终端设备;
接收终端设备发送的第一消息验证码,在对第一消息验证码验证通过后,向功能网元发送通信密钥。
结合第九方面,在第九方面的第五种可能的实现方式中,认证请求消息还包括第一消息验证码和加密处理后的第一随机数,认证模块具体用于:
根据第一密钥对加密的第一随机数进行解密,得到第一随机数,确定第二随机数,采用第一密钥对第二随机数进行加密处理,得到加密处理后的第二随机数,加密处理后的第一随机数为终端设备采用第一密钥对第一随机数加密处理得到;
在对第一消息验证码验证通过后,根据第一密钥、第一随机数、第二随机数中的至少一项,采用密钥生成函数生成通信密钥,根据通信密钥、第一密钥中任一项,以及第一随机数,第二随机数,采用消息验证码生成函数生成第二消息验证码,将加密处理后的第二随机数、第二消息验证码,发送给终端设备,向功能网元发送通信密钥。
结合第九方面,在第九方面的第六种可能的实现方式中,认证请求消息还包括第一消息验证码和第一随机数,认证模块具体用于:
确定第二随机数;
在对第一消息验证码验证通过后,根据第一随机数、第二随机数中的至少一项,以及第一密钥,采用密钥生成函数生成通信密钥,根据通信密钥、第一密钥中任一项,以及第一随机数、第二随机数中的至少一项,采用消息验证码生成函数生成第二消息验证码,将第二随机数、第二消息验证码,发送给终端设备,向功能网元发送通信密钥。
结合第九方面,在第九方面的第七种可能的实现方式中,认证请求消息还包括第一消息验证码和第一随机数,认证模块具体用于:
确定第二随机数,根据第三随机数确定通信密钥,采用第一密钥对通信密钥进行加密处理,得到加密处理后的通信密钥;
根据通信密钥、第一密钥中任一项,以及第一随机数,第二随机数,采用消息验证码生成函数生成第二消息验证码,将第二随机数、加密处理后的通信密钥、第二消息验证码,发送给终端设备,并向功能网元发送通信密钥。
结合第九方面,在第九方面的第八种可能的实现方式中,认证请求消息还包括第一消息验证码和加密处理后的第一随机数,认证模块具体用于:
根据第一密钥对加密的第一随机数进行解密,得到第一随机数,确定第二随机数,采用第一密钥对第二随机数进行加密处理,得到加密处理后的第二随机数,加密处理后的第一随机数为终端设备采用第一密钥对第一随机数加密处理得到;
在对第一消息验证码验证通过后,根据第一密钥、第一随机数中的至少一项,采用密钥生成函数生成通信密钥,根据通信密钥、第一密钥中的任一项,以及第一随机数、第二随机数中的至少一项,采用消息验证码生成函数生成第二消息验证码,将加密处理后的第二随机数和第二消息验证码发送给终端设备,向功能网元发送通信密钥。
结合第九方面,在第九方面的第九种可能的实现方式中,认证请求消息还包括第一消息验证码和第一随机数,认证模块具体用于:
确定第二随机数;
在对第一消息验证码验证通过后,根据第一密钥和第一随机数,采用密钥生成函数生成通信密钥,根据通信密钥、第一密钥中的任一项,以及第一随机数、第二随机数中的至少一项,采用消息验证码生成函数生成第二消息验证码,将第二随机数和第二消息验证码发送给终端设备,向功能网元发送通信密钥。
结合第九方面,在第九方面的第十种可能的实现方式中,认证请求消息还包括第一随机数、第一消息验证码和第一传输参数,认证模块具体用于:
确定第二随机数、DH协议的第二传输参数,根据第一传输参数和第二传输参数执行DH密钥协商算法得到第三传输参数;
在对所述第一消息验证码验证通过后,根据第一随机数、第二随机数中的至少一项,以及第三传输参数,采用密钥生成函数生成通信密钥,根据通信密钥、第一密钥中任一项,以及第一传输参数、第二传输参数中任一项,采用消息验证码生成函数生成第二消息验证码,将第二随机数、第二传输参数,第二消息验证码,发送给终端设备,并向功能网元发送通信密钥。
结合第九方面,在第九方面的第十一种可能的实现方式中,认证请求消息还包括第四参数集合;
第四参数集合包括:用户管理服务器的标识、网络标识、业务参数中的至少一种。
结合第九方面的第十一种可能的实现方式,在第九方面的第十二种可能的实现方式中,认证请求消息还包括加密处理后的第一随机数,认证模块具体用于:
根据第一密钥对加密处理后的第一随机数进行解密,得到第一随机数,确定第二随机数,并采用第一密钥对第二随机数进行加密处理,得到加密处理后的第二随机数,加密处理后的第一随机数为终端设备采用第一密钥对第一随机数加密处理得到;
根据第一密钥、第一随机数、第二随机数中的至少一项,以及终端设备的设备标识、第四参数集合中的至少一项,采用密钥生成函数生成通信密钥,根据通信密钥、第一密钥中的任一项,以及终端设备的设备标识、第四参数集合中的至少一项,以及第一随机数,第二随机数,采用消息验证码生成函数生成第二消息验证码,将第二消息验证码和加密处理后的第二随机数,发送给终端设备;
接收终端设备发送的第一消息验证码,在对第一消息验证码验证通过后,向功能网元发送通信密钥。
结合第九方面的第十一种可能的实现方式,在第九方面的第十三种可能的实现方式中,认证请求消息还包括第一随机数,认证模块具体用于:
确定第二随机数;
根据第一随机数、第二随机数、终端设备的设备标识、第四参数集合中的至少一项,以及第一密钥,采用密钥生成函数生成通信密钥,根据通信密钥、第一密钥中的任一项,以及终端设备的设备标识、第四参数集合中的至少一项,以及第一随机数,第二随机数,采用消息验证码生成函数生成第二消息验证码,将第二消息验证码和第二随机数,发送给终端设备;
接收终端设备发送的第一消息验证码,在对第一消息验证码验证通过后,向功能网元发送通信密钥。
结合第九方面的第十一种可能的实现方式,在第九方面的第十四种可能的实现方式中,认证请求消息还包括第一随机数,认证模块具体用于:
确定第二随机数,根据第三随机数确定通信密钥,采用第一密钥对通信密钥进行加密处理,得到加密处理后的通信密钥;
根据通信密钥、第一密钥中任一项,以及终端设备的设备标识、第四参数集合中的至少一项,以及第一随机数,第二随机数,采用消息验证码生成函数生成第二消息验证码,将第二随机数、加密处理后的通信密钥、第二消息验证码,发送给终端设备;
接收终端设备发送的第一消息验证码,在对第一消息验证码验证通过后,向功能网元发送通信密钥。
结合第九方面的第十一种可能的实现方式,在第九方面的第十五种可能的实现方式中,认证请求消息还包括第一随机数和第一传输参数,认证模块具体用于:
确定第二随机数、DH协议的第二传输参数,根据第一传输参数和第二传输参数执行DH密钥协商算法得到第三传输参数;
根据第一随机数、第二随机数、终端设备的设备标识、第四参数集合中的至少一项,以及第三传输参数,采用密钥生成函数生成通信密钥,根据通信密钥、第一密钥中的任一项,以及第一随机数、第二随机数、终端设备的设备标识、第四参数集合中的至少一项,以及第一传输参数,第二传输参数,采用消息验证码生成函数生成第二消息验证码,将第二随机数、第二传输参数,第二消息验证码,发送给终端设备;
接收终端设备发送的第一消息验证码,在对第一消息验证码验证通过后,向功能网元发送通信密钥。
结合第九方面的第十一种可能的实现方式,在第九方面的第十六种可能的实现方式中,认证请求消息还包括第一消息验证码和加密处理后的第一随机数,认证模块具体用于:
根据第一密钥对加密的第一随机数进行解密,得到第一随机数,确定第二随机数,采用第一密钥对第二随机数进行加密处理,得到加密处理后的第二随机数,加密处理后的第一随机数为终端设备采用第一密钥对第一随机数加密处理得到;
在对第一消息验证码验证通过后,根据第一密钥、第一随机数、第二随机数中的至少一项,以及终端设备的设备标识、第四参数集合中的至少一项,采用密钥生成函数生成通信密钥,根据通信密钥、第一密钥中任一项,以及第一随机数、第二随机数、终端设备的设备标识、第四参数集合中的至少一项,采用消息验证码生成函数生成第二消息验证码,将加密处理后的第二随机数、第二消息验证码,发送给终端设备,向功能网元发送通信密钥。
结合第九方面的第十一种可能的实现方式,在第九方面的第十七种可能的实现方式中,认证请求消息还包括第一消息验证码和第一随机数,认证模块具体用于:
确定第二随机数;
在对第一消息验证码验证通过后,根据第一随机数、第二随机数、终端设备的设备标识、第四参数集合中的至少一项,以及第一密钥,采用密钥生成函数生成通信密钥,根据通信密钥、第一密钥中任一项,以及第一随机数、第二随机数、终端设备的设备标识、第四参数集合中的至少一项,采用消息验证码生成函数生成第二消息验证码,将第二随机数、 第二消息验证码,发送给终端设备,向功能网元发送通信密钥。
结合第九方面的第十一种可能的实现方式,在第九方面的第十八种可能的实现方式中,认证请求消息还包括第一消息验证码和第一随机数,认证模块具体用于:
确定第二随机数,根据第三随机数确定通信密钥,采用第一密钥对通信密钥进行加密处理,得到加密处理后的通信密钥;
根据通信密钥、第一密钥中任一项,以及第一随机数、第二随机数、终端设备的设备标识、第四参数集合中的任一项,采用消息验证码生成函数生成第二消息验证码,将第二随机数、加密处理后的通信密钥、第二消息验证码,发送给终端设备,并向功能网元发送通信密钥。
结合第九方面的第十一种可能的实现方式,在第九方面的第十九种可能的实现方式中,认证请求消息还包括第一消息验证码和加密处理后的第一随机数,认证模块具体用于:
根据第一密钥对加密的第一随机数进行解密,得到第一随机数,确定第二随机数,采用第一密钥对第二随机数进行加密处理,得到加密处理后的第二随机数,加密处理后的第一随机数为终端设备采用第一密钥对第一随机数加密处理得到;
在对第一消息验证码验证通过后,根据第一密钥、第一随机数中的至少一项,以及终端设备的设备标识、第四参数集合中的至少一项,采用密钥生成函数生成通信密钥,根据通信密钥、第一密钥中的任一项,以及第一随机数、第二随机数、终端设备的设备标识、第四参数集合中的至少一项,采用消息验证码生成函数生成第二消息验证码,将加密处理后的第二随机数和第二消息验证码发送给终端设备,向功能网元发送通信密钥。
结合第九方面的第十一种可能的实现方式,在第九方面的第二十种可能的实现方式中,认证请求消息还包括第一消息验证码和第一随机数,认证模块具体用于:
确定第二随机数;
在对第一消息验证码验证通过后,根据第一随机数、终端设备的设备标识、第四参数集合中的至少一项,以及第一密钥,采用密钥生成函数生成通信密钥,根据通信密钥、第一密钥中的任一项,以及第一随机数、第二随机数、终端设备的设备标识、第四参数集合中的至少一项,采用消息验证码生成函数生成第二消息验证码,将第二随机数和第二消息验证码发送给终端设备,向功能网元发送通信密钥。
结合第九方面的第十一种可能的实现方式,在第九方面的第二十一种可能的实现方式中,认证请求消息还包括第一随机数、第一消息验证码和第一传输参数,认证模块具体用于:
确定第二随机数、DH协议的第二传输参数,根据第一传输参数和第二传输参数执行DH密钥协商算法得到第三传输参数;
在对所述第一消息验证码验证通过后,根据第一随机数、第二随机数、终端设备的设备标识、第四参数集合中的至少一项,以及第三传输参数,采用密钥生成函数生成通信密钥,根据通信密钥、第一密钥中任一项,以及终端设备的设备标识、第四参数集合、第一传输参数、第二传输参数中任一项,采用消息验证码生成函数生成第二消息验证码,将第二随机数、第二传输参数,第二消息验证码,发送给终端设备,并向功能网元发送通信密钥。
结合第九方面、第九方面的第一种至第二十一种中任一种可能的实现方式,在第九方面的第二十二种可能的实现方式中,认证模块具体用于:与终端设备进行相互认证,根据通信密钥、第四参数集合、会话密钥随机数、会话密钥新鲜参数、会话密钥的预设时间参数中的任一项,采用密钥生成函数生成网络认证服务器的会话密钥,并将会话密钥发送给功能网元。
第十方面,本申请提供一种网络认证服务器,包括:
请求接收模块,用于接收终端设备发送的认证请求消息,认证请求消息包括终端设备的设备标识,终端设备的设备标识为终端设备的第一公钥;
认证模块,用于根据第一公钥、网络认证服务器的网络认证公钥、网络认证服务器的网络认证私钥与终端设备进行相互认证以得到终端设备与功能网元的通信密钥。
结合第十方面,在第十方面的第一种可能的实现方式中,认证请求消息还包括第一数字签名和加密处理后的第一随机数,认证模块具体用于:
根据网络认证服务器的网络认证私钥对加密的第一随机数进行解密,得到第一随机数,确定第二随机数,采用终端设备的第一公钥对第二随机数进行加密处理,得到加密处理后的第二随机数,加密处理后的第一随机数为终端设备采用网络认证服务器的网络认证公钥对第一随机数加密处理得到;
在根据预设全局公钥和终端设备的第一公钥对第一数字签名验证通过后,根据第一随机数、第二随机数中的至少一项,生成通信密钥,根据网络认证服务器的网络认证私钥、第一随机数和第二随机数生成第二数字签名,将加密处理后的第二随机数、第二数字签名,发送给终端设备;
接收终端设备发送的第一消息验证码或第三数字签名,在对第一消息验证码或第三数字签名验证通过后,向功能网元发送通信密钥。
结合第十方面,在第十方面的第二种可能的实现方式中,认证请求消息还包括第一数字签名和第一随机数,认证模块具体用于:
确定第二随机数;
在根据预设全局公钥和终端设备的第一公钥对第一数字签名验证通过后,根据第三随机数确定通信密钥,采用终端设备的第一公钥对通信密钥进行加密处理,得到加密处理后的通信密钥,根据网络认证服务器的网络认证私钥、第一随机数和第二随机数生成第二数字签名,将第二随机数、加密处理后的通信密钥、第二数字签名,发送给终端设备;
接收终端设备发送的第一消息验证码或第三数字签名,在对第一消息验证码或第三数字签名验证通过后,向功能网元发送通信密钥。
结合第十方面,在第十方面的第三种可能的实现方式中,认证请求消息还包括第一数字签名、第一随机数和第一传输参数,认证模块具体用于:
确定第二随机数、DH协议的第二传输参数,根据第一传输参数和第二传输参数执行DH密钥协商算法得到第三传输参数;
在根据预设全局公钥和终端设备的第一公钥对第一数字签名验证通过后,根据第一随机数、第二随机数中的至少一项,以及第三传输参数,采用密钥生成函数生成通信密钥,根据第一随机数、第二随机数中的至少一项,以及网络认证服务器的网络认证私钥,第一传输参数,第二传输参数,生成第二数字签名,将第二随机数、加密处理后的第二传输参 数、第二数字签名,发送给终端设备;
接收终端设备发送的第一消息验证码或第三数字签名,在对第一消息验证码或第三数字签名验证通过后,向功能网元发送通信密钥。
结合第十方面,在第十方面的第四种可能的实现方式中,认证请求消息还包括第一数字签名和加密处理后的第一随机数,认证模块具体用于:
根据网络认证服务器的网络认证私钥对加密的第一随机数进行解密,得到第一随机数,确定第二随机数,采用终端设备的第一公钥对第二随机数进行加密处理,得到加密处理后的第二随机数,加密处理后的第一随机数为终端设备采用网络认证服务器的网络认证公钥对第一随机数加密处理得到;
在根据预设全局公钥和终端设备的第一公钥对第一数字签名验证通过后,根据第一随机数、第二随机数中的至少一项,生成通信密钥,根据网络认证服务器的网络认证私钥、第一随机数和第二随机数生成第二数字签名,将加密处理后的第二随机数、第二数字签名,发送给终端设备,并向功能网元发送通信密钥。
结合第十方面,在第十方面的第五种可能的实现方式中,认证请求消息还包括第一数字签名和第一随机数,认证模块具体用于:
确定第二随机数;
在根据预设全局公钥和终端设备的第一公钥对第一数字签名验证通过后,根据第三随机数确定通信密钥,采用终端设备的第一公钥对通信密钥进行加密处理,得到加密处理后的通信密钥,根据网络认证服务器的网络认证私钥、第一随机数和第二随机数生成第二数字签名,将第二随机数、加密处理后的通信密钥和第二数字签名发送给终端设备,并向功能网元发送通信密钥。
结合第十方面,在第十方面的第六种可能的实现方式中,认证请求消息还包括第四参数集合;
第四参数集合包括:用户管理服务器的标识、网络标识、业务参数中的至少一种。
结合第十方面的第六种可能的实现方式,在第十方面的第七种可能的实现方式中,认证请求消息还包括第一数字签名和加密处理后的第一随机数,认证模块具体用于:
根据网络认证服务器的网络认证私钥对加密的第一随机数进行解密,得到第一随机数,确定第二随机数,采用终端设备的第一公钥对第二随机数进行加密处理,得到加密处理后的第二随机数,加密处理后的第一随机数为终端设备采用网络认证服务器的网络认证公钥对第一随机数加密处理得到;
在根据预设全局公钥和终端设备的第一公钥对第一数字签名验证通过后,根据第一随机数、第二随机数中的至少一项,以及终端设备的设备标识、第四参数集合中的至少一项,生成通信密钥,根据终端设备的设备标识、第四参数集合中的至少一项,以及网络认证服务器的网络认证私钥,第一随机数,第二随机数生成第二数字签名,将加密处理后的第二随机数、第二数字签名,发送给终端设备;
接收终端设备发送的第一消息验证码或第三数字签名,在对第一消息验证码或第三数字签名验证通过后,向功能网元发送通信密钥。
结合第十方面的第六种可能的实现方式,在第十方面的第八种可能的实现方式中,认证请求消息还包括第一数字签名和第一随机数,认证模块具体用于:
确定第二随机数;
在根据预设全局公钥和终端设备的第一公钥对第一数字签名验证通过后,根据第三随机数确定通信密钥,采用终端设备的第一公钥对通信密钥进行加密处理,得到加密处理后的通信密钥,根据终端设备的设备标识、第四参数集合中的至少一项,以及网络认证服务器的网络认证私钥,第一随机数,第二随机数生成第二数字签名,将第二随机数、加密处理后的通信密钥、第二数字签名,发送给终端设备;
接收终端设备发送的第一消息验证码或第三数字签名,在对第一消息验证码或第三数字签名验证通过后,向功能网元发送通信密钥。
结合第十方面的第六种可能的实现方式,在第十方面的第九种可能的实现方式中,认证请求消息还包括第一数字签名、第一随机数和第一传输参数,认证模块具体用于:
确定第二随机数、DH协议的第二传输参数,根据第一传输参数和第二传输参数执行DH密钥协商算法得到第三传输参数;
在根据预设全局公钥和终端设备的第一公钥对第一数字签名验证通过后,根据第一随机数、第二随机数中的至少一项,以及第三传输参数,采用密钥生成函数生成通信密钥,根据第一随机数、第二随机数中的至少一项,以及网络认证服务器的网络认证私钥,第一传输参数,第二传输参数,生成第二数字签名,将第二随机数、加密处理后的第二传输参数、第二数字签名,发送给终端设备;
接收终端设备发送的第一消息验证码或第三数字签名,在对第一消息验证码或第三数字签名验证通过后,向功能网元发送通信密钥。
结合第十方面的第六种可能的实现方式,在第十方面的第十种可能的实现方式中,认证请求消息还包括第一数字签名和加密处理后的第一随机数,认证模块具体用于:
根据网络认证服务器的网络认证私钥对加密的第一随机数进行解密,得到第一随机数,确定第二随机数,采用终端设备的第一公钥对第二随机数进行加密处理,得到加密处理后的第二随机数,加密处理后的第一随机数为终端设备采用网络认证服务器的网络认证公钥对第一随机数加密处理得到;
在根据预设全局公钥和终端设备的第一公钥对第一数字签名验证通过后,根据第一随机数、第二随机数中的至少一项,以及终端设备的设备标识、第四参数集合中的至少一项,生成通信密钥,根据终端设备的设备标识、第四参数集合中的至少一项,以及网络认证服务器的网络认证私钥,第一随机数,第二随机数生成第二数字签名,将加密处理后的第二随机数、第二数字签名,发送给终端设备,并向功能网元发送通信密钥。
结合第十方面的第六种可能的实现方式,在第十方面的第十一种可能的实现方式中,认证请求消息还包括第一数字签名和第一随机数,认证模块具体用于:
确定第二随机数;
在根据预设全局公钥和终端设备的第一公钥对第一数字签名验证通过后,根据第三随机数确定通信密钥,采用终端设备的第一公钥对通信密钥进行加密处理,得到加密处理后的通信密钥,根据终端设备的设备标识、第四参数集合中的至少一项,以及网络认证服务器的网络认证私钥,第一随机数,第二随机数生成第二数字签名,将第二随机数、加密处理后的通信密钥和第二数字签名发送给终端设备,并向功能网元发送通信密钥。
结合第十方面、第十方面的第一种至第十一种中任一种可能的实现方式,在第十方面 的第十二种可能的实现方式中,请求接收模块还用于接收终端设备发送的公钥请求消息;认证模块还用于向终端设备发送网络认证服务器的网络认证公钥。
结合第十方面、第十方面的第一种至第十二种中任一种可能的实现方式,在第十方面的第十三种可能的实现方式中,认证模块具体用于:与终端设备进行相互认证,根据通信密钥、第四参数集合、会话密钥随机数、会话密钥新鲜参数、会话密钥的预设时间参数中的任一项,采用密钥生成函数生成网络认证服务器的会话密钥,并将会话密钥发送给功能网元。
第十一方面,本申请提供一种存储介质,存储介质为计算机可读存储介质,存储有一个或多个程序,一个或多个程序包括指令,指令当被包括多个应用程序的电子设备执行时,使电子设备执行上述第一方面、第一方面的第一种至第七种中任一种可能的实现方式中的密钥分发方法。
第十二方面,本申请提供一种存储介质,存储介质为计算机可读存储介质,存储有一个或多个程序,一个或多个程序包括指令,指令当被包括多个应用程序的电子设备执行时,使电子设备执行上述第二方面、第二方面的第一种、第二方面的第二种中任一种可能的实现方式中的密钥分发方法。
第十三方面,本申请提供一种存储介质,存储介质为计算机可读存储介质,存储有一个或多个程序,一个或多个程序包括指令,指令当被包括多个应用程序的电子设备执行时,使电子设备执行上述第三方面、第三方面的第一种至第三十五种中任一种可能的实现方式中的密钥认证方法。
第十四方面,本申请提供一种存储介质,存储介质为计算机可读存储介质,存储有一个或多个程序,一个或多个程序包括指令,指令当被包括多个应用程序的电子设备执行时,使电子设备执行上述第四方面、第四方面的第一种至第二十二种、第五方面、第五方面的第一种至第十三种中任一种可能的实现方式中的密钥认证方法。
第十五方面,本申请提供一种密钥分发、认证系统,包括:如上述第六方面、第六方面的第一种至第七种中任一种可能的实现方式中的业务中心服务器;如第七方面、第七方面的第一种、第七方面的第二种中任一种可能的实现方式中的用户管理服务器;如第八方面、第八方面的第一种至第三十五种中任一种可能的实现方式中的终端设备;如第九方面、第九方面的第一种至第二十二种、第十方面、第十方面的第一种至第十三种中任一种可能的实现方式中的网络认证服务器。
附图说明
图1为本申请密钥分发、认证方法实施例一的系统架构示意图;
图2为本申请密钥分发、认证方法实施例一的信令流程图;
图3为本申请密钥认证方法实施例一的信令流程图;
图4为本申请密钥认证方法实施例二的信令流程图;
图5为本申请密钥认证方法实施例三的信令流程图;
图6为本申请密钥认证方法实施例四的信令流程图;
图7为本申请密钥认证方法实施例五的信令流程图;
图8为本申请密钥认证方法实施例六的信令流程图;
图9为本申请密钥认证方法实施例七的信令流程图;
图10为本申请密钥认证方法实施例八的信令流程图;
图11为本申请业务中心服务器实施例一的结构示意图;
图12为本申请用户管理服务器实施例一的结构示意图;
图13为本申请终端设备实施例一的结构示意图;
图14为本申请网络认证服务器实施例一的结构示意图;
图15为本申请网络认证服务器实施例二的结构示意图。
具体实施方式
本申请提供一种密钥分发、认证方法及设备,用于为终端设备分发密钥,并使终端设备根据分发的密钥在与网络认证服务器相互认证后得到通信密钥,使得终端设备能够根据通信密钥连入到通信网络中,并进行安全通信。下面采用具体的实施例,对本申请进行密钥分发和认证的系统架构进行详细说明。
图1为本申请密钥分发、认证方法实施例一的系统架构示意图。如图1所示,该系统架构包括业务中心服务器101、用户管理服务器102、终端设备103、网络认证服务器104和功能网元105。其中,业务中心服务器101用于安全生成和分配密钥,在用户管理服务器102发送第一密钥请求消息时,为用户管理服务器102所管理的不同的终端设备103分配不同的密钥,业务中心服务器101还可针对属于不同的用户管理服务器102的终端设备103采用不同算法分发不同类型或不同安全等级的密钥。业务中心服务器101可以由网络运营商控制,也可由独立于网络运营商和用户管理服务器之外的第三方控制。业务中心服务器101具体可以为服务器、基站、工作站、计算机、网关等设备,本申请仅以服务器为例,而并非对此进行限制。用户管理服务器102可以为一个公司、企业,也可以为一个终端用户或者一个终端,其下部署了一个或者多个终端设备103,图1中以一个用户管理服务器102管理两个终端设备103为例,本领域技术人员应该明白,这并非对本申请的限制。终端设备103可以为如手机、平板电脑、智能终端等智能设备,或者服务器等通信设备,或者如传感器、电表、水表等物联网设备。网络认证服务器104与功能网元105由网络运营商控制,网络认证服务器104用于与终端设备103根据分发的密钥进行相互认证并得到通信密钥,网络认证服务器104具体可以为移动管理节点(Mobility Management Entity,简称MME)、归属签约用户服务器(Home Subscriber Server,简称HSS)、控制器、控制节点、网关、服务器等。功能网元105用于根据认证过程中得到的通信密钥与终端设备103实现安全通信,功能网元105具体可以为终端设备103接入通信网络的数据面锚点、核心网服务器、控制节点、用户数据面网关,如PDH设备、SDH-ADM、DACS、TEM、REG、PCM等等。
可选的,业务中心服务器101包括业务认证服务器和密钥管理服务器。示例性的,业务认证服务器与用户管理服务器102进行通信,密钥管理服务器与网络认证服务器104通信,业务认证服务器接收用户管理服务器102发送的第一密钥请求消息,并将第一密钥请求消息转发给密钥管理服务器,当密钥管理服务器生成第一密钥时,密钥管理服务器通过业务认证服务器将第一密钥发送给终端设备103,在终端设备103和网络认证服务器104基于对称秘钥技术进行相互认证时,密钥管理服务器可直接向网络认证服务器104发送第 一密钥。示例性的,也可为业务认证服务器与网络认证服务器104进行通信,密钥管理服务器与用户管理服务器102直接通信,密钥管理服务器直接接收用户管理服务器102发送的第一密钥请求消息,并将生成的第一密钥直接发送给终端设备103,在终端设备103和网络认证服务器104基于对称秘钥技术进行相互认证时,密钥管理服务器通过业务认证服务器向网络认证服务器104发送第一密钥。示例性的,也可为业务认证服务器与用户管理服务器102、网络认证服务器104进行通信,密钥管理服务器仅与业务认证服务器通信,业务认证服务器与用户管理服务器102直接通信,业务认证服务器直接接收用户管理服务器102发送的第一密钥请求消息,并将密钥管理服务器生成的第一层密钥直接发送给用户管理服务器102,在终端设备103和网络认证服务器104基于对称秘钥技术进行相互认证时,业务认证服务器向网络认证服务器104发送第一层密钥。
下面在上述系统架构的基础上,以具体地实施例对本申请的技术方案以及本申请的技术方案如何实现进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例中不再赘述。
图2为本申请密钥分发、认证方法实施例一的信令流程图。如图2所示,本方法包括:
S201、用户管理服务器向业务中心服务器发送第一密钥请求消息。
第一密钥请求消息用于指示业务中心服务器生成用户管理服务器所管理的终端设备的第一密钥。
具体的,在步骤201之前,用户管理服务器与业务中心服务器已相互认证通过,建立了安全的通信通道,示例性的,认证方式可以为根据用户名口令、证书、对称密钥、AKA协议等方式。
S202、业务中心服务器接收用户管理服务器发送的第一密钥请求消息,生成终端设备的第一密钥,并将第一密钥发送给用户管理服务器。
具体的,当业务中心服务器接收到用户管理服务器发送的第一密钥请求消息时,生成第一密钥并将该第一密钥发送给用户管理服务器,以使得用户管理服务器将该第一密钥发送给终端设备。示例性的,不同的终端设备通过用户管理服务器向业务中心服务器发送的第一密钥请求消息中,可包含各终端设备的设备标识,业务中心服务器根据每一个第一密钥请求消息中所包含的设备标识所指示的终端设备生成一个第一密钥。示例性,业务中心服务器在生成终端设备的第一密钥时,包括如下可行的实现方式:
一类可行的实现方式,基于对称密钥技术的密钥生成过程:
业务中心服务器根据根据第一参数集合,采用密钥生成函数生成终端设备的第一密钥;
或者
当第一密钥请求消息中包括终端设备的设备标识、用户管理服务器的标识、网络标识、业务参数中的至少一种时,业务中心服务器根据第二参数集合,采用密钥生成函数生成终端设备的第一密钥。
其中,第一参数集合包括第一密钥随机数、第一密钥新鲜参数、第一密钥的预设时间参数、共享密钥中的至少一种。第二参数集合包括第一密钥随机数、第一密钥新鲜参数、第一密钥的预设时间参数、共享密钥、用户管理服务器的标识、网络标识、业务参数、终端设备的设备标识中的至少一种。共享密钥为用户管理服务器与业务中心服务器的共享密 钥。
可选的,还可由业务中心服务器随机选择一个随机数作为终端设备的第一密钥。
在该类可行的实现方式中,业务中心服务器将第一密钥发送给用户管理服务器,也将该第一密钥发送给网络认证服务器,以使终端设备在接收到用户管理服务器发送的第一密钥后,可与网络认证服务器基于对称密钥技术进行相互认证,由于第一密钥仅终端设备和网络认证服务器具有,并未公开,故终端设备和网络认证服务器可根据第一密钥进行数据加密和解密,从而保证了认证过程的保密性。
在该类可行的实现方式中,密钥生成函数(Key Derivation Function,简称KDF)根据输入的参数,进行推衍得到密钥,输入参数的内容、个数与顺序不同,得到不同的密钥,具体的,KDF所采用的算法可以为HMAC算法(如HMAC-sha256),OMAC,CBC-MAC,PMAC,UMAC和VMAC等算法。
在该类可行的实现方式中,用户管理服务器与业务中心服务器的共享密钥可以是提前预设的,也可以是用户与密钥管理中心执行IPsec,TLS等协议后协商的密钥,也可以是用户与密钥管理中心在AKA认证后得到的密钥(如Kasme,CK,IK等)。
另一类可行的实现方式,基于身份密码系统的密钥生成过程:
业务中心服务器根据预设全局私钥和终端设备的设备标识,基于设备身份生成算法生成终端设备的第一密钥;
或者
业务中心服务器根据预设全局私钥、终端设备的设备标识和第三参数集合,基于设备身份生成算法生成终端设备的第一密钥;
其中,第三参数集合包含第一密钥随机数、第一密钥新鲜参数、第一密钥的预设时间参数中的至少一种参数;终端设备的第一密钥为终端设备的第一私钥,终端设备的设备标识为第一私钥对应的终端设备的第一公钥。
在该类可行的实现方式中,设备身份生成算法基于不同终端设备的设备标识为不同的终端设备生成不同的第一密钥,终端设备的第一密钥即为终端设备的私钥,终端设备的设备标识即为终端设备的第一公钥。可选的,还可选择基于终端设备的设备标识生成的公钥作为终端设备的第一公钥。以下实施例中均以终端设备的设备标识作为终端设备的第一公钥为例,而非对其的限定。终端设备的第一公钥为公开数据,终端设备的第一私钥仅终端设备具有,不公开。当某一设备采用终端设备的第一公钥加密数据并发送给终端设备后,终端设备可利用第一私钥对加密数据进行解密,得到数据,而其他设备即使获取了加密数据,由于不具有终端设备的第一私钥,而无法进行正确解密或验证。因此,该类基于身份密码系统的密钥适用于基于身份密钥技术的相互认证过程。
上述任一可行的实现方式中,第一密钥新鲜参数(如,序列号,fresh parameter,nonce等等)用于指示第一密钥的新鲜性,抵御重放攻击,不同时刻的第一密钥的新鲜参数应该不同,如果相同则可认为受到了重放攻击。第一密钥的预设时间参数用于指示该第一密钥的有效期,包括:第一密钥有效的时间、无效的时间和有效期中的至少一种。以下实施例中的任意密钥的新鲜参数具有同样含义,不再赘述。
用户管理服务器的标识包括但不限于如下中的至少一种:行业用户ID,公司的标识ID,业务ID,个人用户的ID(如:IMEI、IMSI、IMPI、TMSI、IMPU、用户的App ID、 MAC地址、IP地址、手机号码和GUTI等)。
网络标识包括但不限于如下中的至少一种:运营商ID(PLMN ID),接入网络ID(Access Network ID),服务网络ID(Serving Network ID),局域网网络ID等网络ID标识。
业务参数包括但不限于如下中的至少一种:业务中的序列号SN、时间戳、该业务中的相关ID,业务新鲜参数、业务随机数(nonce’/random number1),业务等级,时延参数,其中,该业务中的相关ID可以为业务的名称,包括密钥管理中心的ID、业务认证中心的ID,业务中心ID,会话ID、链路ID、应用ID、服务器ID中的至少一个。其中,时间戳可以为发送此请求消息时用户的系统时间。
终端设备的设备标识包括但不限于如下中的至少一项:设备的编号,序列号,IMEI、IMSI、IMPI、TMSI、IMPU、设备的App ID、MAC地址、IP地址、手机号码和GUTI。可选的,还可为其他可能的唯一标识设备的标识。
在上述任一生成第一密钥的方式中,通常采用不同的参数,以针对不同的终端设备生成不同的第一密钥。进一步的,可在生成第一密钥的过程中,增加用户管理服务器的标识,以为不同用户管理服务器所管理的终端设备,生成复杂度不同的第一密钥,即业务中心服务器可根据管理终端设备的用户管理服务器的不同,为不同的终端设备设置复杂度不同的第一密钥。进一步的,还可在生成第一密钥的过程中,增加业务参数,当同一终端设备的不同业务向业务中心服务器请求密钥时,业务中心服务器可为同一终端设备设置多个第一密钥,进而实现,终端设备上的不同业务采用不同密钥来保护的目的。
S203、用户管理服务器将第一密钥发送给终端设备。
具体的,用户管理服务器接收业务中心服务器发送的终端设备的第一密钥并将终端设备的第一密钥发送给终端设备。
示例性的,当用户管理服务器为多个终端设备向业务中心服务器发送多条第一密钥请求消息时,第一密钥请求消息中包括终端设备的设备标识,以使用户管理服务器可区分第一密钥所对应的终端设备。可选的,用户管理服务器在将第一密钥发送给终端设备时,同时还将该第一密钥的时间信息发送给终端设备,以限定该第一密钥的有效可用时间。
S204、终端设备与网络认证服务器进行相互认证以得到通信密钥。
具体的,终端设备接收用户管理服务器发送的第一密钥,与网络认证服务器进行相互认证以得到终端设备与功能网元的通信密钥。
可选的,在步骤204之后,本申请还包括:
网络认证服务器向功能网元发送通信密钥,使得终端设备与功能网元可基于通信密钥进行安全通信。
步骤201至步骤203中,主要说明密钥的分发方法,步骤204主要说明密钥的认证过程。
具体的,在步骤204中,根据终端设备的第一密钥的生成方式不同,终端设备与网络认证中心的相互认证包括如下可行的实现方式:
一种可行的实现方式:终端设备与网络认证服务器基于对称密钥技术进行相互认证。
在该种可行的实现方式中,业务中心服务器将终端设备的第一密钥发送给网络认证服务器,网络认证服务器接收业务中心服务器发送的终端设备的第一密钥,并根据第一密钥 与终端设备进行相互认证。
示例性的,如图2中虚线所示,业务中心服务器可在向用户管理服务器发送终端设备的第一密钥的同时或之后,向网络认证服务器发送终端设备的第一密钥。可选的,也可是在接收到网络认证服务器向业务中心服务器发送的密钥请求消息后,向网络认证服务器发送第一密钥。可选的,密钥请求消息中可包含终端设备的设备标识。
可选的,网络认证服务器也可同时接收终端设备的第一密钥和设备标识,当网络认证服务器已经从业务中心服务器中获取了终端设备的设备标识时,在终端设备与网络认证服务器的相互认证过程中,无需再由终端设备向网络认证服务器发送终端设备的设备标识。
示例性的,网络认证服务器也可在与终端设备的相互认证过程中,在接收到终端设备发送的认证请求消息后,向业务中心服务器发送第二密钥请求消息,业务中心服务器在接收到第二密钥请求消息后将终端设备的第一密钥发送给网络认证服务器。终端设备向网络认证服务器发送的认证请求消息用于指示终端设备与网络认证服务器进行相互认证以获取终端设备与功能网元的通信密钥。可选的,认证请求消息和第二密钥请求消息中可包括终端设备的设备标识。业务中心服务器可将设备标识和第一密钥对应存储,可以在每次接收到包含设备标识的密钥请求消息后,根据设备标识重新生成当前设备标识对应的终端设备的第一密钥。
另一种可行的实现方式:终端设备与网络认证服务器基于身份密钥技术进行相互认证。
在该种可行的实现方式中,终端设备的第一密钥为终端设备的第一私钥,终端设备的设备标识为终端设备的第一公钥。可选的,还可选择基于终端设备的设备标识生成的公钥作为终端设备的第一公钥。以下实施例中不再赘述。
此时,网络认证服务器在接收到终端设备发送的认证请求消息后,就获取了终端设备的第一公钥,即网络认证服务器中存储有终端设备的第一公钥和网络认证服务器的网络认证公钥和网络认证私钥,终端设备中存储有网络认证服务器的网络认证公钥,网络认证服务器可根据终端设备的第一公钥对待传输数据进行加密,终端设备可根据网络认证服务器的网络认证公钥对传输数据进行加密,进而使得终端设备与网络认证服务器可在保密的情况下进行相互认证得到通信密钥。
示例性的,网络认证服务器的网络认证公钥和网络认证私钥基于身份密码系统生成,网络认证服务器可选择网络认证服务器的ID作为网络认证公钥,或者采用根据网络认证服务器的ID生成的公钥作为网络认证公钥。
示例性的,可将网络认证服务器的网络认证公钥预存在终端设备中。示例性的,网络认证公钥的获取还可以是在网络认证服务器与终端设备相互认证之前,网络认证服务器接收终端设备发送的公钥请求消息或证书请求消息;网络认证服务器向终端设备发送网络认证服务器的网络认证公钥或网络认证服务器的证书,该证书中包含有网络认证服务器的网络认证公钥。
示例性的,还可以是在相互认证过程中,由网络认证服务器将网络认证公钥发送给终端设备。
其中,网络认证服务器也可基于公钥基础设施(Public Key Infrastructure,简称PKI)密码系统生成网络认证服务器的第三公钥和第三私钥,以代替网络认证服务器基于身份密 码系统生成的网络认证公钥和网络认证私钥。
可选的,终端设备与网络认证服务器还可根据IPsec,TLS等协议进行相互认证。可选的,终端设备与网络认证服务器还可直接采用第一密钥作为终端设备与功能网元的安全通信密钥。
特别地,本申请适用于一个企业或公司基于多种业务同时管理多个终端设备时的密钥分发与认证,可使得多个终端设备在未提前预设根密钥或不支持USIM卡的情况下,依据终端设备处理的业务的不同,得到业务中心服务器分发的不同密钥,进而可实现安全通信,同时实现了企业或公司主导的基于业务的密钥分发和认证,降低了运营商的运行复杂度。
本申请提供的密钥分发、认证方法,由业务中心服务器为各终端设备分发不同密钥,然后各终端设备基于各自密钥与网络认证中心进行相互认证,最终得到终端设备与功能网元的通信密钥。本申请为终端设备提供了安全通信通道的建立方法,具有广泛的应用范围,同时降低了运营商网络的复杂度。
下面采用具体实施例对步骤204中的相互认证过程进行详细说明,如上所述,相互认证方式至少包括基于对称密钥技术的认证方式和基于身份密钥技术的认证方式。
在基于对称密钥技术的认证方式中,包括如下可能的实现方式:
第一种可能的认证实现方式:
图3为本申请密钥认证方法实施例一的信令流程图。如图3所示,包括:
S301、终端设备向网络认证服务器发送认证请求消息;
具体地,终端设备确定第一随机数,采用第一密钥对第一随机数进行加密处理,得到加密处理后的第一随机数,向网络认证服务器发送认证请求消息,认证请求消息包括加密处理后的第一随机数以及终端设备的设备标识;
S302、网络认证服务器向终端设备发送第二随机数、第二消息验证码;
具体地,网络认证服务器根据第一密钥对加密的第一随机数进行解密,得到第一随机数,确定第二随机数,采用第一密钥对第二随机数进行加密处理,得到加密处理后的第二随机数,根据第一密钥K_dev、第一随机数nonce1、第二随机数nonce2中的至少一项,采用KDF生成网络认证服务器的通信密钥K_com,即K_com=KDF(K_dev,nonce1,nonce2的至少一项),根据通信密钥、第一密钥中的任一项,以及第一随机数,第二随机数,采用消息验证码生成函数MAC生成第二消息验证码MAC2,即MAC2=MAC((K_com或K_dev),nonce1,nonce2),将加密处理后的第二随机数、第二消息验证码,发送给终端设备;
S303、终端设备向网络认证服务器发送第一消息验证码;
具体地,终端设备接收网络认证服务器发送的加密处理后的第二随机数、第二消息验证码,根据第一密钥对加密的第二随机数进行解密,得到第二随机数,在对第二消息验证码验证通过后,根据第一密钥、第一随机数、第二随机数中的至少一项,采用密钥生成函数生成终端设备的通信密钥,即K_com=KDF(K_dev,nonce1,nonce2的至少一项),根据通信密钥、第一密钥中的任一项,以及第一随机数,第二随机数,采用消息验证码生成函数生成第一消息验证码MAC1,示例性的,MAC1=MAC((K_com或K_dev),nonce2,nonce1),将第一消息验证码,发送给网络认证服务器。
S304、网络认证服务器接收终端设备发送的第一消息验证码,在对第一消息验证码验证通过后,向功能网元发送通信密钥。
可选的,在实现上述认证方式的过程中,在生成通信密钥、消息验证码过程中还可根据第四参数集合,以提高保密性,增加通信密钥与第一密钥的相关性。其中第四参数集合包括:用户管理服务器的标识、网络标识、业务参数中的至少一种。
示例性的,在终端设备向网络认证服务器发送认证请求消息之前,终端设备还接收用户管理服务器发送的第四参数集合,认证请求消息中还包括第四参数集合。
在步骤302中,网络认证服务器根据第一密钥K_dev、第一随机数nonce1、第二随机数nonce2中的至少一项,以及终端设备的设备标识、第四参数集合中的至少一项,采用KDF生成网络认证服务器的通信密钥K_com,即K_com=KDF((K_dev,nonce1,nonce2的至少一项),(终端设备的设备标识、第四参数集合的至少一项)),根据通信密钥、第一密钥中的任一项,以及终端设备的设备标识、第四参数集合中的至少一项,以及第一随机数,第二随机数,采用消息验证码生成函数MAC生成第二消息验证码MAC2,即MAC2=MAC((K_com或K_dev),nonce1,nonce2,(终端设备的设备标识、第四参数集合的至少一项)),将第二随机数、第二消息验证码发送给终端设备;
在步骤303中,终端设备根据第一密钥、第一随机数、第二随机数中的至少一项,以及终端设备的设备标识、第四参数集合中的至少一项,采用密钥生成函数生成终端设备的通信密钥,即K_com=KDF((K_dev,nonce1,nonce2的至少一项),(终端设备的设备标识、第四参数集合的至少一项)),根据通信密钥、第一密钥中的任一项,以及终端设备的设备标识、第四参数集合中的至少一项,以及第一随机数,第二随机数,采用消息验证码生成函数生成第一消息验证码MAC1,示例性的,MAC1=MAC((K_com或K_dev),nonce2,nonce1,终端设备的设备标识、第四参数集合的至少一项))。
可选的,在上述生成通信密钥的过程中,也可采用通信密钥的密钥参数替代第四参数集合,也可同时采用通信密钥的密钥参数和第四参数集合。通信密钥的密钥参数包括如下中的至少一种:通信密钥随机数、通信密钥新鲜参数、通信密钥的预设时间参数。本领域技术人员清楚增加其他类似的参数、删除部分参数或采用其他类似参数替换本申请中的参数,也在本申请的保护范围内。具体的,在上述相互认证的过程中,当网络认证服务器生成通信密钥的过程中采用了通信密钥的密钥参数时,网络认证服务器需向终端设备发送通信密钥的密钥参数,当网络认证服务器生成通信密钥的过程中未采用通信密钥的密钥参数时,网络认证服务器无需向终端设备发送通信密钥的密钥参数。
具体的,在上述认证过程中,还可根据第一密钥对第一消息验证码、第二消息验证码进行加密,以提高认证过程的保密性。具体的,在生成通信密钥K_com的过程中,若选择采用终端设备与网络认证服务器共享的第一密钥生成K_com,而未采用第一随机数或第二随机数,则在相互认证过程中,也可不对第一随机数或第二随机数进行加密。在上述认证过程中,终端设备与网络认证服务器采用相同的密钥生成函数以及参数生成终端设备的通信密钥。终端设备与网络认证服务器在生成消息验证码的过程中,可采用不同的参数或采用顺序不同的参数,得到不同的消息验证码。以下多种可能的认证方式中,也可采用相同或相似设置,下文不再赘述。
可选的,上述步骤S302中的通信密钥可由网络认证服务器根据第三随机数获得,当 通信密钥根据第三随机数获得时,网络认证服务器采用第一密钥将该通信密钥进行加密,发送给终端设备,以使终端设备在对加密后的通信密钥进行解密后,即可得到通信密钥。可选的,在随机生成通信密钥的过程中,也可选择不对第一随机数和第二随机数进行加密。
第二种可能的认证实现方式:
图4为本申请密钥认证方法实施例二的信令流程图。如图4所示,包括:
S401、终端设备向网络认证服务器发送认证请求消息;
具体地,终端设备确定第一随机数、DH协议的第一传输参数。示例性的,可先确定第一参数x,根据第一参数x得到DH协议的第一传输参数gx,第一传输参数gx为预设DH协议的生成元g的第一参数次方,向网络认证服务器发送认证请求消息,认证请求消息包括第一随机数、第一传输参数以及终端设备的设备标识;
其中,本申请各实施例中的DH协议为Diffie-Hellman协议。
S402、网络认证服务器向终端设备发送第二随机数、第二传输参数和第二消息验证码;
具体地,网络认证服务器接收第一随机数、第一传输参数、终端设备的设备标识以及第四参数集合,确定第二随机数、DH协议的第二传输参数,示例性的,可先确定第二参数y,根据第二参数y得到第二传输参数gy,第二传输参数gy为预设DH协议的生成元g的第二参数次方,根据第一传输参数gx和第二传输参数gy执行DH密钥协商算法得到第三传输参数gxy,根据第一随机数、第二随机数、第四参数集合中的至少一项,以及第三传输参数采用密钥生成函数生成网络认证服务器的通信密钥,根据通信密钥、第一密钥中的任一项,以及第一随机数、第二随机数、终端设备的设备标识、第四参数集合中的至少一项,以及第一传输参数、第二传输参数,采用消息验证码生成函数生成第二消息验证码,将第二随机数、第二传输参数,第二消息验证码,发送给终端设备;
S403、终端设备向网络认证服务器发送第一消息验证码;
具体地,终端设备接收网络认证服务器发送的第二随机数、第二传输参数、第二消息验证码,根据第一传输参数和第二传输参数执行DH密钥协商算法得到第三传输参数,在对第二消息验证码验证通过后,根据第一随机数、第二随机数、终端设备的设备标识、第四参数集合中的至少一项,以及第三传输参数采用密钥生成函数生成终端设备的通信密钥,根据通信密钥、第一密钥中的任一项,以及终端设备的设备标识、第四参数集合中的至少一项,以及第一随机数,第二随机数,采用消息验证码生成函数生成第一消息验证码,将第一消息验证码,发送给网络认证服务器;
S404、网络认证服务器接收终端设备发送的第一消息验证码,在对第一消息验证码验证通过后,向功能网元发送通信密钥。
可选的,在相互认证过程中,还可将第一随机数和第二随机数进行加密传输。可选的,在相互认证过程中,还可选择第一传输参数和第二传输参数中的至少一个进行加密。
可选的,当存在多种预设DH协议时,在步骤401中,认证请求消息还包括终端设备选择的预设DH协议的DH协议标识,网络认证服务器根据接收的DH协议标识,确定传输参数生成中所采用的预设DH协议的生成元g。
与第一种可能的认证实现方式相比,通过增加第一传输参数和第二传输参数,增加了认证过程的保密性。
第三种可能的认证实现方式:
图5为本申请密钥认证方法实施例三的信令流程图。如图5所示,包括:
S501、终端设备向网络认证中心发送认证请求消息;
具体地,终端设备确定第一随机数,采用第一密钥对第一随机数进行加密处理,得到加密处理后的第一随机数,根据第一密钥和第一随机数,采用消息验证码生成函数生成第一消息验证码,向网络认证服务器发送认证请求消息,认证请求消息包括第一消息验证码、加密处理后的第一随机数以及终端设备的设备标识;
S502、网络认证服务器向终端设备发送第二随机数和第二消息验证码;
具体地,网络认证服务器根据第一密钥对加密的第一随机数进行解密,得到第一随机数,确定第二随机数,采用第一密钥对第二随机数进行加密处理,得到加密处理后的第二随机数,在对第一消息验证码验证通过后,根据第一密钥、第一随机数、第二随机数中的至少一项,采用密钥生成函数生成网络认证服务器的通信密钥,根据通信密钥、第一密钥中任一项,以及第一随机数,第二随机数,采用消息验证码生成函数生成第二消息验证码,将加密处理后的第二随机数、第二消息验证码发送给终端设备,向功能网元发送通信密钥。
S503、终端设备生成通信密钥;
具体地,终端设备接收网络认证服务器发送的加密处理后的第二随机数、第二消息验证码,根据第一密钥对加密的第二随机数进行解密,得到第二随机数;终端设备在对第二消息验证码验证通过后,根据第一密钥、第一随机数、第二随机数中的至少一项,采用密钥生成函数生成终端设备的通信密钥。
可选的,在根据第一密钥生成通信密钥时,可选择不对第一随机数和第二随机数进行加密。可选的,上述步骤S502中的通信密钥可由网络认证服务器根据第三随机数获得,当通信密钥根据第三随机数获得时,网络认证服务器采用第一密钥将该通信密钥进行加密,发送给终端设备,以使终端设备在对加密后的通信密钥进行解密后,即可得到通信密钥。可选的,在随机生成通信密钥的过程中,也可选择不对第一随机数和第二随机数进行加密。
该种认证实现方式与第一种和第二种可能的认证实现方式相比,减少了信令交互次数,提高了认证效率。
第四种可能的认证实现方式:
图6为本申请密钥认证方法实施例四的信令流程图。如图6所示,包括:
S601、终端设备向网络认证服务器发送认证请求消息;
具体地,终端设备确定第一随机数,采用第一密钥对第一随机数进行加密处理,得到加密处理后的第一随机数,根据第一密钥、第一随机数中的至少一项,采用密钥生成函数生成终端设备的通信密钥,根据第一密钥、通信密钥中的任一项,以及第一随机数,采用消息验证码生成函数生成第一消息验证码,向网络认证服务器发送认证请求消息,认证请求消息包括第一消息验证码、加密处理后的第一随机数,以及终端设备的设备标识;
S602、网络认证服务器向终端设备发送第二随机数和第二消息验证码;
具体地,网络认证服务器根据第一密钥对加密的第一随机数进行解密,得到第一随机数,确定第二随机数,采用第一密钥对第二随机数进行加密处理,得到加密处理后的第二随机数,在对第一消息验证码验证通过后,根据第一密钥、第一随机数中的至少一项,采用密钥生成函数生成网络认证服务器的通信密钥,根据第一密钥、通信密钥中的任一项, 以及第一随机数、第二随机数中的至少一项,采用消息验证码生成函数生成第二消息验证码,将加密处理后的第二随机数和第二消息验证码发送给终端设备,向功能网元发送通信密钥;
S603、终端设备对第二消息验证码进行验证;
具体地,终端设备接收网络认证服务器发送的加密处理后的第二随机数和第二消息验证码,根据第一密钥对加密的第二随机数进行解密,得到第二随机数,终端设备对第二消息验证码进行验证并确定验证通过。
该种认证实现方式与第一种和第二种可能的认证实现方式相比,减少了信令交互次数,提高了认证效率。
该种认证方式与第三种可能的认证方式相比,终端设备先根据第一随机数生成通信密钥,不再依赖网络认证中心服务器发送的第二随机数。可选的,可选择不对第二随机数进行加密。
第五种可能的认证方式:
图7为本申请密钥认证方法实施例五的信令流程图。如图7所示,包括:
S701、终端设备向网络认证服务器发送认证请求消息;
具体地,终端设备确定第一随机数、DH协议的第一传输参数,根据第一密钥和第一随机数,采用消息验证码生成函数生成第一消息验证码,向网络认证服务器发送认证请求消息,认证请求消息包括第一消息验证码、第一随机数、第一传输参数以及终端设备的设备标识;
S702、网络认证服务器向终端设备发送第二随机数、第二传输参数和第二消息验证码;
具体地,网络认证服务器确定第二随机数、DH协议的第二传输参数,根据第一传输参数和第二传输参数执行DH密钥协商算法得到第三传输参数,在对所述第一消息验证码验证通过后,根据第一随机数、第二随机数中的至少一项,以及第三传输参数,采用密钥生成函数生成通信密钥,根据通信密钥、第一密钥中任一项,以及第一传输参数、第二传输参数中任一项,采用消息验证码生成函数生成第二消息验证码,将第二随机数、第二传输参数,第二消息验证码,发送给终端设备,并向功能网元发送通信密钥;
S703、终端设备验证第二消息验证码;
具体地,终端设备接收网络认证服务器发送的第二随机数、第二传输参数、第二消息验证码,根据第一传输参数和第二传输参数执行DH密钥协商算法得到第三传输参数;根据第一随机数、第二随机数中的至少一项,以及第三传输参数,采用密钥生成函数生成终端设备的通信密钥,对第二消息验证码进行验证并确定通过验证。
该种认证实现方式与第一种和第二种可能的认证实现方式相比,减少了信令交互次数,提高了认证效率。
可选的,在相互认证过程中,还可将第一随机数、第二随机数、第一传输参数、第二传输参数进行加密传输,以提高保密性。
可选的,当存在多种预设DH协议时,在步骤701中,认证请求消息还包括终端设备选择的预设DH协议的DH协议标识,网络认证服务器根据接收的DH协议标识,确定传输参数生成中所采用的预设DH协议的生成元g。
与第一种可能的认证实现方式相比,通过增加第一传输参数和第二传输参数,增加了 认证过程的保密性。
在基于身份密钥技术的认证方式中,第一密钥为终端设备的第一私钥,终端设备的设备标识为与第一私钥对应的终端设备的第一公钥。包括如下可能的实现方式:
第六种可能的认证实现方式:
图8为本申请密钥认证方法实施例六的信令流程图。如图8所示,包括:
S801、终端设备向网络认证服务器发送认证请求消息;
具体地,终端设备确定第一随机数,采用网络认证服务器的网络认证公钥对第一随机数进行加密处理,得到加密处理后的第一随机数,根据第一密钥和第一随机数生成终端设备的第一数字签名,向网络认证服务器发送认证请求消息,认证请求消息包括第一数字签名、加密处理后的第一随机数以及终端设备的设备标识;
S802、网络认证服务器向终端设备发送第二随机数和第二数字签名;
具体地,网络认证服务器根据网络认证服务器的网络认证私钥对加密的第一随机数进行解密,得到第一随机数,确定第二随机数,采用终端设备的第一公钥对第二随机数进行加密处理,得到加密处理后的第二随机数,在根据预设全局公钥和终端设备的第一公钥对第一数字签名验证通过后,根据第一随机数、第二随机数中的至少一项,生成通信密钥,根据网络认证服务器的网络认证私钥、第一随机数和第二随机数生成第二数字签名,将加密处理后的第二随机数、第二数字签名或者第二数字签名和通信密钥的密钥参数,发送给终端设备;
S803、终端设备向网络认证服务器发送第一消息验证码或第三数字签名;
具体地,终端设备接收网络认证服务器发送的加密处理后的第二随机数、第二数字签名,根据终端设备的第一密钥对加密的第二随机数进行解密,得到第二随机数,在对第二数字签名验证通过后,根据第一随机数和第二随机数中的至少一项,生成终端设备的通信密钥;根据通信密钥、第一随机数、第二随机数,生成第一消息验证码,或者根据第一密钥、第一随机数、第二随机数生成第三数字签名,将第一消息验证码或第三数字签名发送给网络认证服务器;
S804、网络认证服务器接收终端设备发送的第一消息验证码或第三数字签名,在对第一消息验证码或第三数字签名验证通过后,向功能网元发送通信密钥。
具体的,在上述认证过程中,预设全局公钥可提前存储在网络认证服务器中。
具体的,在上述认证过程中,还可对第一数字签名、第二数字签名和第三数字签名进行加密,以提高认证过程的保密性。
第七种可能的认证实现方式:
图9为本申请密钥认证方法实施例七的信令流程图。如图9所示,包括:
S901、终端设备向网络认证服务器发送认证请求消息;
具体地,终端设备确定第一随机数、DH协议的第一传输参数,根据第一密钥、第一随机数、第一传输参数,生成终端设备的第一数字签名,向网络认证服务器发送认证请求消息,认证请求消息包括第一数字签名、第一随机数、第一传输参数以及终端设备的设备标识;
S902、网络认证服务器向终端设备发送第二随机数、第二传输参数和第二数字签名;
具体地,网络认证服务器确定第二随机数、DH协议的第二传输参数,根据第一传输 参数和第二传输参数执行DH密钥协商算法得到第三传输参数;在根据预设全局公钥和终端设备的第一公钥对第一数字签名验证通过后,根据第一随机数、第二随机数中的至少一项,以及第三传输参数,采用密钥生成函数生成通信密钥,根据第一随机数、第二随机数中的至少一项,以及网络认证服务器的网络认证私钥,第一传输参数,第二传输参数,生成第二数字签名,将第二随机数、加密处理后的第二传输参数、第二数字签名,发送给终端设备;
S903、终端设备向网络认证服务器发送第一消息验证码或第三数字签名;
具体地,终端设备接收网络认证服务器发送的第二随机数、第二传输参数、第二数字签名,根据第一传输参数和第二传输参数执行DH密钥协商算法得到第三传输参数,在对第二数字签名验证通过后,根据第一随机数、第二随机数中的至少一项,以及第三传输参数,采用密钥生成函数生成终端设备的通信密钥,根据第一随机数、第二随机数中的至少一项,以及通信密钥,第一传输参数,第二传输参数生成第一消息验证码,或者根据第一随机数、第二随机数中的至少一项,以及第一密钥,第一传输参数,第二传输参数生成第三数字签名,将第一消息验证码或第三数字签名发送给网络认证服务器;
S904、网络认证服务器接收终端设备发送的第一消息验证码或第三数字签名,在对第一消息验证码或第三数字签名验证通过后,向功能网元发送通信密钥。
可选的,当存在多种预设DH协议时,在步骤901中,认证请求消息还包括终端设备选择的预设DH协议的DH协议标识,网络认证服务器根据接收的DH协议标识,确定传输参数生成中所采用的预设DH协议的生成元g。
与第六种可能的认证实现方式相比,通过增加第一传输参数和第二传输参数,增加了认证过程的保密性。
第八种可能的认证实现方式:
图10为本申请密钥认证方法实施例八的信令流程图。如图10所示,包括:
S1001、终端设备向网络认证服务器发送认证请求消息;
具体地,终端设备确定第一随机数,采用网络认证服务器的网络认证公钥对第一随机数进行加密处理,得到加密处理后的第一随机数,根据第一密钥和第一随机数,生成终端设备的第一数字签名,向网络认证服务器发送认证请求消息,认证请求消息包括第一数字签名、加密处理后的第一随机数以及终端设备的设备标识;
S1002、网络认证服务器向终端设备发送第二随机数和第二数字签名;
具体地,网络认证服务器根据网络认证服务器的网络认证私钥对加密的第一随机数进行解密,得到第一随机数,确定第二随机数,采用终端设备的第一公钥对第二随机数进行加密处理,得到加密处理后的第二随机数;在根据预设全局公钥和终端设备的第一公钥对第一数字签名验证通过后,根据第一随机数、第二随机数中的至少一项,生成通信密钥,根据网络认证服务器的网络认证私钥、第一随机数和第二随机数生成第二数字签名,将加密处理后的第二随机数、第二数字签名,发送给终端设备,并向功能网元发送通信密钥;
S1003、终端设备生成通信密钥;
具体地,终端设备接收网络认证服务器发送的加密处理后的第二随机数、第二数字签名,根据终端设备的第一密钥对加密的第二随机数进行解密,得到第二随机数,在对第二数字签名验证通过后,根据第一随机数、第二随机数中的至少一项生成终端设备的通信密 钥。
该种认证实现方式与第六种和第七种可能的认证实现方式相比,减少了信令交互次数,提高了认证效率。
进一步的,在上述任一可能的认证方式中,本申请还包括:
网络认证中心和终端设备根据共享的通信密钥、第四参数集合、会话密钥随机数、会话密钥新鲜参数、会话密钥的预设时间参数中的任一项,采用KDF生成会话密钥,并将会话密钥发送给功能网元,采用会话密钥替代通信密钥实现功能网元与终端设备的安全通信。
本申请另一方面提供一种业务中心服务器用以执行上述实施例中的密钥分发方法,具有相同的技术特征和技术效果。
图11为本申请业务中心服务器实施例一的结构示意图。如图11所示,该服务器包括:
密钥请求接收模块1101,用于接收用户管理服务器发送的第一密钥请求消息,第一密钥请求消息用于指示业务中心服务器生成用户管理服务器所管理的终端设备的第一密钥;
密钥生成模块1102,用于根据第一密钥请求消息生成终端设备的第一密钥,并将第一密钥发送给用户管理服务器。
可选的,在图11所示实施例的基础上,密钥生成模块1102具体用于:
根据第一参数集合,采用密钥生成函数生成终端设备的第一密钥;
其中,第一参数集合包括第一密钥随机数、第一密钥新鲜参数、第一密钥的预设时间参数、共享密钥中的至少一种,共享密钥为用户管理服务器与业务中心服务器的共享密钥。
可选的,在图11所示实施例的基础上,当第一密钥请求消息中包括终端设备的设备标识、用户管理服务器的标识、网络标识、业务参数中的至少一种,密钥生成模块1102具体用于:
根据第二参数集合,采用密钥生成函数生成终端设备的第一密钥;
其中,第二参数集合包括第一密钥随机数、第一密钥新鲜参数、第一密钥的预设时间参数、共享密钥、用户管理服务器的标识、网络标识、业务参数、终端设备的设备标识中的至少一种,共享密钥为用户管理服务器与业务中心服务器的共享密钥。
可选的,在图11所示实施例的基础上,密钥生成模块1102具体用于:确定业务随机数,并将业务随机数作为终端设备的第一密钥。
可选的,在图11所示实施例的基础上,当第一密钥请求消息中包括终端设备的设备标识,密钥生成模块1102具体用于:
根据预设全局私钥和终端设备的设备标识,基于设备身份生成算法生成终端设备的第一密钥;
其中,终端设备的第一密钥为终端设备的第一私钥,终端设备的设备标识为与第一私钥对应的终端设备的第一公钥。
可选的,在图11所示实施例的基础上,当第一密钥请求消息中包括终端设备的设备标识,密钥生成模块1102具体用于:
根据预设全局私钥、终端设备的设备标识和第三参数集合,基于设备身份生成算法生成终端设备的第一密钥;
其中,第三参数集合包含第一密钥随机数、第一密钥新鲜参数、第一密钥的预设时间参数中的至少一种参数;
其中,终端设备的第一密钥为终端设备的第一私钥,终端设备的设备标识为与第一私钥对应的终端设备的第一公钥。
可选的,在图11所示实施例的基础上,密钥生成模块1102还用于:
将终端设备的第一密钥发送给网络认证服务器以使得网络认证服务器根据第一密钥与终端设备进行相互认证。
进一步地,密钥请求接收模块1101还用于:接收网络认证服务器发送的第二密钥请求消息;第二密钥请求消息是在网络认证服务器接收到终端设备发送的认证请求消息后发送的。
本申请再一方面提供一种用户管理服务器用以执行上述实施例中的密钥分发方法,具有相同的技术特征和技术效果。
图12为本申请用户管理服务器实施例一的结构示意图。如图12所示,该服务器包括:
请求发送模块1201,用于向业务中心服务器发送第一密钥请求消息,第一密钥请求消息用于指示业务中心服务器生成用户管理服务器所管理的终端设备的第一密钥;
密钥接收模块1202,用于接收业务中心服务器发送的终端设备的第一密钥;
密钥发送模块1203,用于将终端设备的第一密钥发送给终端设备以使得终端设备根据第一密钥与网络认证服务器进行相互认证。
可选的,在图12所示实施例的基础上,第一密钥为终端设备的第一私钥,终端设备的设备标识为与第一私钥对应的终端设备的第一公钥。
可选的,密钥发送模块1203还用于:
将第四参数集合发送给终端设备,第四参数集合包括用户管理服务器的标识、网络标识、业务参数中的至少一种。
本申请又一方面提供一种终端设备用以执行上述实施例中的密钥认证方法,具有相同的技术特征和技术效果。
图13为本申请终端设备实施例一的结构示意图。如图13所示,该终端设备包括:
接收模块1301,用于接收用户管理服务器发送的终端设备的第一密钥;
认证模块1302,用于根据第一密钥,与网络认证服务器进行相互认证以得到终端设备与功能网元的通信密钥。
下面采用具体实施例对认证模块1302的相互认证过程进行详细说明,如上述方法实施例所述,相互认证方式至少包括基于对称密钥技术的认证方式和基于身份密钥技术的认证方式。
在基于对称密钥技术的认证方式中,包括如下可能的实现方式:
第一种可行的认证方式中,认证模块具体用于:
确定第一随机数,并采用第一密钥对第一随机数进行加密处理,以得到加密处理后的第一随机数,向网络认证服务器发送认证请求消息,认证请求消息包括加密处理后的第一随机数以及终端设备的设备标识;
接收网络认证服务器发送的第二消息验证码、加密处理后的第二随机数,根据第一密钥对加密的第二随机数进行解密,得到第二随机数,加密处理后的第二随机数为网络认证 服务器采用第一密钥对第二随机数加密处理得到;
在对第二消息验证码验证通过后,根据第一密钥、第一随机数、第二随机数中的至少一项,采用密钥生成函数生成终端设备的通信密钥,根据通信密钥、第一密钥中的任一项,以及第一随机数,第二随机数,采用消息验证码生成函数生成第一消息验证码,将第一消息验证码,发送给网络认证服务器,以使网络认证服务器对第一消息验证码进行验证。
第二种可行的认证方式中,认证模块具体用于:
确定第一随机数,向网络认证服务器发送认证请求消息,
认证请求消息包括第一随机数以及终端设备的设备标识;
接收网络认证服务器发送的第二随机数、第二消息验证码;
在对第二消息验证码验证通过后,根据第一随机数和第二随机数中的至少一项,以及第一密钥,采用密钥生成函数生成终端设备的通信密钥,根据通信密钥、第一密钥中的任一项,以及第一随机数,第二随机数,采用消息验证码生成函数生成第一消息验证码,将第一消息验证码,发送给网络认证服务器,以使网络认证服务器对第一消息验证码进行验证。
第三种可行的认证方式中,认证模块具体用于:
确定第一随机数,向网络认证服务器发送认证请求消息,认证请求消息包括第一随机数以及终端设备的设备标识;
接收网络认证服务器发送的第二随机数、加密处理后的通信密钥、第二消息验证码,根据第一密钥对加密处理后的通信密钥进行解密,得到通信密钥,加密处理后的通信密钥为网络认证服务器采用第一密钥对通信密钥加密处理得到;
在对第二消息验证码验证通过后,根据通信密钥、第一密钥中任一项,以及第一随机数,第二随机数,采用消息验证码生成函数生成第一消息验证码,将第一消息验证码,发送给网络认证服务器,以使网络认证服务器对第一消息验证码进行验证。
第四种可行的认证方式中,认证模块具体用于:
确定第一随机数、DH协议的第一传输参数,向网络认证服务器发送认证请求消息,认证请求消息包括第一随机数、第一传输参数以及终端设备的设备标识;
接收网络认证服务器发送的第二随机数、第二传输参数、第二消息验证码,根据第一传输参数和第二传输参数执行DH密钥协商算法得到第三传输参数;
在对第二消息验证码验证通过后,根据第一随机数、第二随机数中的至少一项,以及第三传输参数,采用密钥生成函数生成终端设备的通信密钥,根据通信密钥、第一密钥中的任一项,以及第一随机数,第二随机数,采用消息验证码生成函数生成第一消息验证码,将第一消息验证码,发送给网络认证服务器,以使网络认证服务器对第一消息验证码进行验证。
第五种可行的认证方式中,认证模块具体用于:
确定第一随机数,采用第一密钥对第一随机数进行加密处理,得到加密处理后的第一随机数,根据第一密钥和第一随机数,采用消息验证码生成函数生成第一消息验证码,向网络认证服务器发送认证请求消息,认证请求消息包括第一消息验证码、加密处理后的第一随机数以及终端设备的设备标识;
接收网络认证服务器发送的加密处理后的第二随机数、第二消息验证码,根据第一密 钥对加密的第二随机数进行解密,得到第二随机数,加密处理后的第二随机数为网络认证服务器采用第一密钥对第二随机数加密处理得到;
在对第二消息验证码验证通过后,根据第一密钥、第一随机数、第二随机数中的至少一项,采用密钥生成函数生成终端设备的通信密钥。
第六种可行的认证方式中,认证模块具体用于:
确定第一随机数,根据第一密钥和第一随机数,采用消息验证码生成函数生成第一消息验证码,向网络认证服务器发送认证请求消息,认证请求消息包括第一消息验证码、第一随机数以及终端设备的设备标识;
接收网络认证服务器发送的第二随机数、第二消息验证码;
在对第二消息验证码验证通过后,根据第一随机数、第二随机数中的至少一项,以及第一密钥,采用密钥生成函数生成终端设备的通信密钥。
第七种可行的认证方式中,认证模块具体用于:
确定第一随机数,根据第一密钥和第一随机数,采用消息验证码生成函数生成第一消息验证码,向网络认证服务器发送认证请求消息,认证请求消息包括第一消息验证码、第一随机数以及终端设备的设备标识;
接收网络认证服务器发送的第二随机数、加密处理后的通信密钥、第二消息验证码,加密处理后的通信密钥为网络认证服务器采用第一密钥对通信密钥加密处理得到;
在对第二消息验证码验证通过后,根据第一密钥对加密处理后的通信密钥进行解密,得到通信密钥。
第八种可行的认证方式中,认证模块具体用于:
确定第一随机数,采用第一密钥对第一随机数进行加密处理,得到加密处理后的第一随机数,根据第一密钥、第一随机数中的至少一项,采用密钥生成函数生成终端设备的通信密钥,根据第一密钥、通信密钥中的任一项,以及第一随机数,采用消息验证码生成函数生成第一消息验证码,向网络认证服务器发送认证请求消息,认证请求消息包括第一消息验证码、加密处理后的第一随机数,以及终端设备的设备标识;
接收网络认证服务器发送的第二消息验证码和加密处理后的第二随机数,根据第一密钥对加密的第二随机数进行解密,得到第二随机数,加密处理后的第二随机数为网络认证服务器采用第一密钥对第二随机数加密处理得到;
对第二消息验证码进行验证并确定验证通过。
第九种可行的认证方式中,认证模块具体用于:
确定第一随机数,根据第一密钥和第一随机数,采用密钥生成函数生成网络认证服务器的通信密钥,根据第一密钥、通信密钥中的任一项,以及第一随机数,采用消息验证码生成函数生成第一消息验证码,向网络认证服务器发送认证请求消息,认证请求消息包括第一消息验证码、第一随机数以及终端设备的设备标识;
接收网络认证服务器发送的第二随机数和第二消息验证码;
对第二消息验证码进行验证并确定验证通过。
第十种可行的认证方式中,认证模块具体用于:
确定第一随机数、DH协议的第一传输参数,根据第一密钥和第一随机数,采用消息验证码生成函数生成第一消息验证码,向网络认证服务器发送认证请求消息,认证请求消 息包括第一消息验证码、第一随机数、第一传输参数以及终端设备的设备标识;
接收网络认证服务器发送的第二随机数、第二传输参数、第二消息验证码,根据第一传输参数和第二传输参数执行DH密钥协商算法得到第三传输参数;
根据第一随机数、第二随机数中的至少一项,以及第三传输参数,采用密钥生成函数生成终端设备的通信密钥,对第二消息验证码进行验证并确定通过验证。
在图13所示实施例的基础上,当接收模块还用于接收用户管理服务器发送的第四参数集合时,其中,第四参数集合包括:用户管理服务器的标识、网络标识、业务参数中的至少一种;认证模块1302还包括如下可行的实现方式:
第十一种可行的认证方式中,认证模块具体用于:
确定第一随机数,并采用第一密钥对第一随机数进行加密处理,以得到加密处理后的第一随机数,向网络认证服务器发送认证请求消息,认证请求消息包括加密处理后的第一随机数、终端设备的设备标识以及第四参数集合;
接收网络认证服务器发送的加密处理后的第二随机数、第二消息验证码,根据第一密钥对加密的第二随机数进行解密,得到第二随机数,加密处理后的第二随机数为网络认证服务器采用第一密钥对第二随机数加密处理得到;
在对第二消息验证码验证通过后,根据第一密钥、第一随机数、所二随机数中的至少一项,以及终端设备的设备标识、第四参数集合中的至少一项,采用密钥生成函数生成终端设备的通信密钥,根据通信密钥、第一密钥中的任一项,以及终端设备的设备标识、第四参数集合中的至少一项,以及第一随机数,第二随机数,采用消息验证码生成函数生成第一消息验证码,并将第一消息验证码,发送给网络认证服务器,以使网络认证服务器对第一消息验证码进行验证。
第十二种可行的认证方式中,认证模块具体用于:
确定第一随机数,向网络认证服务器发送认证请求消息,认证请求消息包括第一随机数、终端设备的设备标识以及第四参数集合;
接收网络认证服务器发送的第二随机数、第二消息验证码;
在对第二消息验证码验证通过后,根据第一随机数、第二随机数、终端设备的设备标识、第四参数集合中的至少一项,以及第一密钥采用密钥生成函数生成终端设备的通信密钥,根据通信密钥、第一密钥中的任一项,以及终端设备的设备标识、第四参数集合中的至少一项,以及第一随机数,第二随机数,采用消息验证码生成函数生成第一消息验证码,并将第一消息验证码,发送给网络认证服务器,以使网络认证服务器对第一消息验证码进行验证。
第十三种可行的认证方式中,认证模块具体用于:
确定第一随机数,向网络认证服务器发送认证请求消息,认证请求消息包括第一随机数、终端设备的设备标识以及第四参数集合;
接收网络认证服务器发送的第二随机数、加密处理后的通信密钥、第二消息验证码,根据第一密钥对加密处理后的通信密钥进行解密,得到通信密钥,加密处理后的通信密钥为网络认证服务器采用第一密钥对通信密钥加密处理得到;
在对第二消息验证码验证通过后,根据通信密钥、第一密钥中的任一项,以及终端设备的设备标识、第四参数集合中的至少一项,以及第一随机数,第二随机数,采用消息验 证码生成函数生成第一消息验证码,将第一消息验证码,发送给网络认证服务器,以使网络认证服务器对第一消息验证码进行验证。
第十四种可行的认证方式中,认证模块具体用于:
确定第一随机数、DH协议的第一传输参数,向网络认证服务器发送认证请求消息,认证请求消息包括第一随机数、第一传输参数、终端设备的设备标识以及第四参数集合;
接收网络认证服务器发送的第二随机数、第二传输参数、第二消息验证码,根据第一传输参数和第二传输参数执行DH密钥协商算法得到第三传输参数;
在对第二消息验证码验证通过后,根据第一随机数、第二随机数、终端设备的设备标识、第四参数集合中的至少一项,以及第三传输参数,采用密钥生成函数生成终端设备的通信密钥,根据通信密钥、第一密钥中的任一项,以及终端设备的设备标识、第四参数集合中的至少一项,以及第一随机数,第二随机数,采用消息验证码生成函数生成第一消息验证码,将第一消息验证码,发送给网络认证服务器,以使网络认证服务器对第一消息验证码进行验证。
第十五种可行的认证方式中,认证模块具体用于:
确定第一随机数,采用第一密钥对第一随机数进行加密处理,得到加密处理后的第一随机数,根据第一随机数、终端设备的设备标识、第四参数集合中的至少一项,以及第一密钥,采用消息验证码生成函数生成第一消息验证码,向网络认证服务器发送认证请求消息,认证请求消息包括第一消息验证码、加密处理后的第一随机数、终端设备的设备标识以及第四参数集合;
接收网络认证服务器发送的加密处理后的第二随机数、第二消息验证码,根据第一密钥对加密的第二随机数进行解密,得到第二随机数,加密处理后的第二随机数为网络认证服务器采用第一密钥对第二随机数加密处理得到;
在对第二消息验证码验证通过后,根据第一密钥、第一随机数、第二随机数中的至少一项,以及终端设备的设备标识、第四参数集合中的至少一项,采用密钥生成函数生成终端设备的通信密钥。
第十六种可行的认证方式中,认证模块具体用于:
确定第一随机数,根据第一随机数、终端设备的设备标识、第四参数集合中的至少一项,以及第一密钥,采用消息验证码生成函数生成第一消息验证码,向网络认证服务器发送认证请求消息,认证请求消息包括第一消息验证码、第一随机数、终端设备的设备标识以及第四参数集合;
接收网络认证服务器发送的第二随机数、第二消息验证码;
在对第二消息验证码验证通过后,根据第一随机数、第二随机数、终端设备的设备标识、第四参数集合中的至少一项,以及第一密钥,采用密钥生成函数生成终端设备的通信密钥。
第十七种可行的认证方式中,认证模块具体用于:
确定第一随机数,根据第一随机数、终端设备的设备标识、第四参数集合中的至少一项,以及第一密钥,采用消息验证码生成函数生成第一消息验证码,向网络认证服务器发送认证请求消息,认证请求消息包括第一消息验证码、第一随机数、终端设备的设备标识以及第四参数集合;
接收网络认证服务器发送的第二随机数、加密处理后的通信密钥、第二消息验证码,加密处理后的通信密钥为网络认证服务器采用第一密钥对通信密钥加密处理得到;
在对第二消息验证码验证通过后,根据第一密钥对加密处理后的通信密钥进行解密,得到通信密钥。
第十八种可行的认证方式中,认证模块具体用于:
确定第一随机数,采用第一密钥对第一随机数进行加密处理,得到加密处理后的第一随机数,根据第一密钥、第一随机数中的至少一项,以及终端设备的设备标识、第四参数集合中的至少一项,采用密钥生成函数生成终端设备的通信密钥,根据第一密钥、通信密钥中的任一项,以及第一随机数、终端设备的设备标识、第四参数集合中的至少一项,采用消息验证码生成函数生成第一消息验证码,向网络认证服务器发送认证请求消息,认证请求消息包括第一消息验证码、加密处理后的第一随机数、终端设备的设备标识以及第四参数集合;
接收网络认证服务器发送的第二消息验证码和加密处理后的第二随机数,根据第一密钥对加密的第二随机数进行解密,得到第二随机数,加密处理后的第二随机数为网络认证服务器采用第一密钥对第二随机数加密处理得到;
对第二消息验证码进行验证并确定验证通过。
第十九种可行的认证方式中,认证模块具体用于:
确定第一随机数,根据第一随机数、终端设备的设备标识和第四参数集合中的至少一项,以及第一密钥,采用密钥生成函数生成终端设备的通信密钥,根据第一密钥、通信密钥中的任一项,以及第一随机数、终端设备的设备标识、第四参数集合中的至少一项,采用消息验证码生成函数生成第一消息验证码,向网络认证服务器发送认证请求消息,认证请求消息包括第一消息验证码、第一随机数、终端设备的设备标识以及第四参数集合;
接收网络认证服务器发送的第二消息验证码和第二随机数;
对第二消息验证码进行验证并确定验证通过。
第二十种可行的认证方式中,认证模块具体用于:
确定第一随机数、DH协议的第一传输参数,根据第一随机数、终端设备的设备标识、第四参数集合中的至少一项,以及第一密钥,采用消息验证码生成函数生成第一消息验证码,向网络认证服务器发送认证请求消息,认证请求消息包括第一消息验证码、第一随机数、第一传输参数、终端设备的设备标识以及第四参数集合;
接收网络认证服务器发送的第二随机数、第二传输参数、第二消息验证码,根据第一传输参数和第二传输参数执行DH密钥协商算法得到第三传输参数;
根据第一随机数、第二随机数、终端设备的设备标识、第四参数集合中的至少一项,以及第三传输参数,采用密钥生成函数生成终端设备的通信密钥,对第二消息验证码进行验证并确定通过验证。
基于身份密钥技术的认证方式中,第一密钥为终端设备的第一私钥,终端设备的设备标识为与第一私钥对应的终端设备的第一公钥。包括如下可能的实现方式:
第二十一种可行的认证方式中,认证模块具体用于:
确定第一随机数,采用网络认证服务器的网络认证公钥对第一随机数进行加密处理,得到加密处理后的第一随机数,根据第一密钥和第一随机数生成终端设备的第一数字签 名,向网络认证服务器发送认证请求消息,认证请求消息包括第一数字签名、加密处理后的第一随机数以及终端设备的设备标识;
接收网络认证服务器发送的加密处理后的第二随机数、第二数字签名,根据终端设备的第一密钥对加密的第二随机数进行解密,得到第二随机数,在对第二数字签名验证通过后,根据第一随机数和第二随机数中的至少一项,生成终端设备的通信密钥,加密处理后的第二随机数为网络认证服务器采用终端设备的第一公钥对第二随机数加密处理得到;
根据通信密钥、第一随机数、第二随机数,生成第一消息验证码,或者根据第一密钥、第一随机数、第二随机数生成第三数字签名,将第一消息验证码或第三数字签名发送给网络认证服务器,以使网络认证服务器对第一消息验证码或第三数字签名进行验证。
第二十二种可行的认证方式中,认证模块具体用于:
确定第一随机数,根据第一密钥和第一随机数,生成终端设备的第一数字签名,向网络认证服务器发送认证请求消息,认证请求消息包括第一数字签名、第一随机数以及终端设备的设备标识;
接收网络认证服务器发送的第二随机数、加密处理后的通信密钥、第二数字签名,根据终端设备的第一密钥对加密的通信密钥进行解密,得到通信密钥,加密处理后的通信密钥为网络认证服务器采用终端设备的第一公钥对通信密钥加密处理得到;
在对第二数字签名验证通过后,根据通信密钥、第一随机数、第二随机数,生成第一消息验证码,或者根据第一密钥、第一随机数、第二随机数,生成第三数字签名,将第一消息验证码或第三数字签名发送给网络认证服务器,以使网络认证服务器对第一消息验证码或第三数字签名进行验证。
第二十三种可行的认证方式中,认证模块具体用于:
确定第一随机数、DH协议的第一传输参数,根据第一密钥、第一随机数、第一传输参数,生成终端设备的第一数字签名,向网络认证服务器发送认证请求消息,认证请求消息包括第一数字签名、第一随机数、第一传输参数以及终端设备的设备标识;
接收网络认证服务器发送的第二随机数、第二传输参数、第二数字签名,根据第一传输参数和第二传输参数执行DH密钥协商算法得到第三传输参数;
在对第二数字签名验证通过后,根据第一随机数、第二随机数中的至少一项,以及第三传输参数,采用密钥生成函数生成终端设备的通信密钥,根据第一随机数、第二随机数中的至少一项,以及通信密钥,第一传输参数,第二传输参数生成第一消息验证码,或者根据第一随机数、第二随机数中的至少一项,以及第一密钥,第一传输参数,第二传输参数生成第三数字签名,将第一消息验证码或第三数字签名发送给网络认证服务器,以使网络认证服务器对第一消息验证码或第三数字签名进行验证。
第二十四种可行的认证方式中,认证模块具体用于:
确定第一随机数,采用网络认证服务器的网络认证公钥对第一随机数进行加密处理,得到加密处理后的第一随机数,根据第一密钥和第一随机数,生成终端设备的第一数字签名,向网络认证服务器发送认证请求消息,认证请求消息包括第一数字签名、加密处理后的第一随机数以及终端设备的设备标识;
接收网络认证服务器发送的加密处理后的第二随机数、第二数字签名,根据终端设备的第一密钥对加密的第二随机数进行解密,得到第二随机数,在对第二数字签名验证通过 后,根据第一随机数、第二随机数中的至少一项生成终端设备的通信密钥,加密处理后的第二随机数为网络认证服务器采用终端设备的第一公钥对第二随机数加密处理得到。
第二十五种可行的认证方式中,认证模块具体用于:
确定第一随机数,根据第一密钥和第一随机数,生成终端设备的第一数字签名,向网络认证服务器发送认证请求消息,认证请求消息包括第一数字签名、第一随机数,以及终端设备的设备标识;
接收网络认证服务器发送的第二随机数、加密处理后的通信密钥、第二数字签名,加密处理后的通信密钥为网络认证服务器采用终端设备的第一公钥对通信密钥加密处理得到;
在对第二数字签名验证通过后,根据终端设备的第一密钥对加密的通信密钥进行解密,得到通信密钥。
基于身份密钥技术的认证方式中,当接收模块还用于接收用户管理服务器发送的第四参数集合时,其中,第四参数集合包括:用户管理服务器的标识、网络标识、业务参数中的至少一种;认证模块1302还包括如下可行的实现方式:
第二十六种可行的认证方式中,认证模块具体用于:
确定第一随机数,采用网络认证服务器的网络认证公钥对第一随机数进行加密处理,得到加密处理后的第一随机数,根据第一随机数、终端设备的设备标识、第四参数集合中的至少一项,以及第一密钥,生成终端设备的第一数字签名,向网络认证服务器发送认证请求消息,认证请求消息包括第一数字签名、加密处理后的第一随机数、终端设备的设备标识以及第四参数集合;
接收网络认证服务器发送的加密处理后的第二随机数、第二数字签名,根据终端设备的第一密钥对加密的第二随机数进行解密,得到第二随机数,在对第二数字签名验证通过后,根据第一随机数、第二随机数中的至少一项,以及终端设备的设备标识、第四参数集合中的至少一项,生成终端设备的通信密钥,加密处理后的第二随机数为网络认证服务器采用终端设备的第一公钥对第二随机数加密处理得到;
根据终端设备的设备标识、第四参数集合中的至少一项,以及通信密钥,第一随机数,第二随机数生成第一消息验证码,或者根据终端设备的设备标识、第四参数集合中的至少一项,以及第一密钥,第一随机数,第二随机数生成第三数字签名,将第一消息验证码或第三数字签名发送给网络认证服务器,以使网络认证服务器对第一消息验证码或第三数字签名进行验证。
第二十七种可行的认证方式中,认证模块具体用于:
确定第一随机数,根据第一随机数、终端设备的设备标识、第四参数集合中的至少一项,以及第一密钥,向网络认证服务器发送认证请求消息,认证请求消息包括第一数字签名、加密处理后的第一随机数、终端设备的设备标识以及第四参数集合;
接收网络认证服务器发送的第二随机数、加密处理后的通信密钥、第二数字签名,根据终端设备的第一密钥对加密的通信密钥进行解密,得到通信密钥,加密处理后的通信密钥为网络认证服务器采用终端设备的第一公钥对通信密钥加密处理得到;
在对第二数字签名验证通过后,根据终端设备的设备标识、第四参数集合中的至少一项,以及通信密钥,第一随机数,第二随机数生成第一消息验证码,或者根据终端设备的 设备标识、第四参数集合中的至少一项,以及第一密钥,第一随机数,第二随机数生成第三数字签名,将第一消息验证码或第三数字签名发送给网络认证服务器,以使网络认证服务器对第一消息验证码或第三数字签名进行验证。
第二十八种可行的认证方式中,认证模块具体用于:
确定第一随机数、DH协议的第一传输参数,根据终端设备的设备标识、第四参数集合中的至少一项,以及第一密钥,第一随机数,第一传输参数生成终端设备的第一数字签名,向网络认证服务器发送认证请求消息,认证请求消息包括第一数字签名、第一随机数、第一传输参数、终端设备的设备标识以及第四参数集合;
接收网络认证服务器发送的第二随机数、第二传输参数、第二数字签名;
在对第二数字签名验证通过后,根据第一随机数、第二随机数、终端设备的设备标识、第四参数集合中的至少一项,以及第三传输参数,采用密钥生成函数生成终端设备的通信密钥,根据终端设备的设备标识、第四参数集合中的至少一项,以及通信密钥,第一传输参数,第二传输参数生成第一消息验证码,或者根据第一随机数、第二随机数、终端设备的设备标识、第四参数集合中的至少一项,以及第一密钥,第一传输参数,第二传输参数生成第三数字签名,将第一消息验证码或第三数字签名发送给网络认证服务器,以使网络认证服务器对第一消息验证码或第三数字签名进行验证。
第二十九种可行的认证方式中,认证模块具体用于:
确定第一随机数,采用网络认证服务器的网络认证公钥对第一随机数进行加密处理,得到加密处理后的第一随机数,根据第一随机数、终端设备的设备标识、第四参数集合中的至少一项,以及第一密钥,生成终端设备的第一数字签名,向网络认证服务器发送认证请求消息,认证请求消息包括第一数字签名、加密处理后的第一随机数、终端设备的设备标识以及第四参数集合;
接收网络认证服务器发送的加密处理后的第二随机数、第二数字签名,根据终端设备的第一密钥对加密的第二随机数进行解密,得到第二随机数,在对第二数字签名验证通过后,根据第一随机数、第二随机数中的至少一项,以及终端设备的设备标识、第四参数集合中的至少一项,生成终端设备的通信密钥,加密处理后的第二随机数为网络认证服务器采用终端设备的第一公钥对第二随机数加密处理得到。
第三十种可行的认证方式中,认证模块具体用于:
确定第一随机数,根据第一随机数、终端设备的设备标识、第四参数集合中的至少一项,以及第一密钥,生成终端设备的第一数字签名,向网络认证服务器发送认证请求消息,认证请求消息包括第一数字签名、第一随机数、终端设备的设备标识以及第四参数集合;
接收网络认证服务器发送的第二随机数、加密处理后的通信密钥、第二数字签名,加密处理后的通信密钥为网络认证服务器采用终端设备的第一公钥对通信密钥加密处理得到;
在对第二数字签名验证通过后,根据终端设备的第一密钥对加密的通信密钥进行解密,得到通信密钥。
基于身份密钥技术的认证方式中,终端设备还包括公钥请求模块,用于向网络认证服务器发送公钥请求消息;
终端设备的接收模块还用于接收网络认证服务器发送的网络认证服务器的网络认证 公钥。
第三十一种可行的认证方式中,认证模块具体用于:与网络认证服务器进行相互认证,根据通信密钥、第四参数集合、会话密钥随机数、会话密钥新鲜参数、会话密钥的预设时间参数中的任一项,采用密钥生成函数生成终端设备的会话密钥。
本申请又一方面提供一种网络认证服务器用以执行上述实施例中的密钥认证方法,具有相同的技术特征和技术效果。
如上述方法实施例所述,网络认证服务器的相互认证过程至少包括基于对称密钥技术的认证方式和基于身份密钥技术的认证方式。
在基于对称密钥技术的认证方式中,结合图14对本申请提供的网络认证服务器进行详细说明。图14为本申请网络认证服务器实施例一的结构示意图。如图14所示,该服务器包括:
请求接收模块1401,用于接收终端设备发送的认证请求消息,认证请求消息包括终端设备的设备标识;
密钥接收模块1402,用于接收业务中心服务器发送的与设备标识对应的终端设备的第一密钥;
认证模块1403,用于根据第一密钥,与设备标识指示的终端设备进行相互认证以得到终端设备与功能网元的通信密钥。
在基于对称密钥技术的认证方式中,认证模块1403的认证方式包括如下可能的实现方式:
第一种可行的认证方式中,认证请求消息还包括加密处理后的第一随机数,认证模块具体用于:
根据第一密钥对加密处理后的第一随机数进行解密,得到第一随机数,确定第二随机数,并采用第一密钥对第二随机数进行加密处理,得到加密处理后的第二随机数,加密处理后的第一随机数为终端设备采用第一密钥对第一随机数加密处理得到;
根据第一密钥、第一随机数、第二随机数中的至少一项,采用密钥生成函数生成通信密钥,根据通信密钥、第一密钥中的任一项,以及第一随机数,第二随机数,采用消息验证码生成函数生成第二消息验证码,将第二消息验证码和加密处理后的第二随机数,发送给终端设备;
接收终端设备发送的第一消息验证码,在对第一消息验证码验证通过后,向功能网元发送通信密钥。
第二种可行的认证方式中,认证请求消息还包括第一随机数,认证模块具体用于:
确定第二随机数,根据第一随机数和第二随机数中的至少一项,以及第一密钥,采用密钥生成函数生成通信密钥,根据通信密钥、第一密钥中的任一项,以及第一随机数,第二随机数,采用消息验证码生成函数生成第二消息验证码,将第二消息验证码和第二随机数,发送给终端设备;
接收终端设备发送的第一消息验证码,在对第一消息验证码验证通过后,向功能网元发送通信密钥。
第三种可行的认证方式中,认证请求消息还包括第一随机数,认证模块具体用于:
确定第二随机数,根据第三随机数确定通信密钥,采用第一密钥对通信密钥进行加密 处理,得到加密处理后的通信密钥;
根据通信密钥、第一密钥中任一项,以及第一随机数,第二随机数,采用消息验证码生成函数生成第二消息验证码,将第二随机数、加密处理后的通信密钥、第二消息验证码,发送给终端设备;
接收终端设备发送的第一消息验证码,在对第一消息验证码验证通过后,向功能网元发送通信密钥。
第四种可行的认证方式中,认证请求消息还包括第一随机数和第一传输参数,认证模块具体用于:
确定第二随机数、DH协议的第二传输参数,根据第一传输参数和第二传输参数执行DH密钥协商算法得到第三传输参数;
根据第一随机数、第二随机数中的至少一项,以及第三传输参数,采用密钥生成函数生成通信密钥,根据通信密钥、第一密钥中的任一项,以及第一传输参数,第二传输参数,采用消息验证码生成函数生成第二消息验证码,将第二随机数、第二传输参数,第二消息验证码,发送给终端设备;
接收终端设备发送的第一消息验证码,在对第一消息验证码验证通过后,向功能网元发送通信密钥。
第五种可行的认证方式中,认证请求消息还包括第一消息验证码和加密处理后的第一随机数,认证模块具体用于:
根据第一密钥对加密的第一随机数进行解密,得到第一随机数,确定第二随机数,采用第一密钥对第二随机数进行加密处理,得到加密处理后的第二随机数,加密处理后的第一随机数为终端设备采用第一密钥对第一随机数加密处理得到;
在对第一消息验证码验证通过后,根据第一密钥、第一随机数、第二随机数中的至少一项,采用密钥生成函数生成通信密钥,根据通信密钥、第一密钥中任一项,以及第一随机数,第二随机数,采用消息验证码生成函数生成第二消息验证码,将加密处理后的第二随机数、第二消息验证码,发送给终端设备,向功能网元发送通信密钥。
第六种可行的认证方式中,认证请求消息还包括第一消息验证码和第一随机数,认证模块具体用于:
确定第二随机数;
在对第一消息验证码验证通过后,根据第一随机数、第二随机数中的至少一项,以及第一密钥,采用密钥生成函数生成通信密钥,根据通信密钥、第一密钥中任一项,以及第一随机数、第二随机数中的至少一项,采用消息验证码生成函数生成第二消息验证码,将第二随机数、第二消息验证码,发送给终端设备,向功能网元发送通信密钥。
第七种可行的认证方式中,认证请求消息还包括第一消息验证码和第一随机数,认证模块具体用于:
确定第二随机数,根据第三随机数确定通信密钥,采用第一密钥对通信密钥进行加密处理,得到加密处理后的通信密钥;
根据通信密钥、第一密钥中任一项,以及第一随机数,第二随机数,采用消息验证码生成函数生成第二消息验证码,将第二随机数、加密处理后的通信密钥、第二消息验证码,发送给终端设备,并向功能网元发送通信密钥。
第八种可行的认证方式中,认证请求消息还包括第一消息验证码和加密处理后的第一随机数,认证模块具体用于:
根据第一密钥对加密的第一随机数进行解密,得到第一随机数,确定第二随机数,采用第一密钥对第二随机数进行加密处理,得到加密处理后的第二随机数,加密处理后的第一随机数为终端设备采用第一密钥对第一随机数加密处理得到;
在对第一消息验证码验证通过后,根据第一密钥、第一随机数中的至少一项,采用密钥生成函数生成通信密钥,根据通信密钥、第一密钥中的任一项,以及第一随机数、第二随机数中的至少一项,采用消息验证码生成函数生成第二消息验证码,将加密处理后的第二随机数和第二消息验证码发送给终端设备,向功能网元发送通信密钥。
第九种可行的认证方式中,认证请求消息还包括第一消息验证码和第一随机数,认证模块具体用于:
确定第二随机数;
在对第一消息验证码验证通过后,根据第一密钥和第一随机数,采用密钥生成函数生成通信密钥,根据通信密钥、第一密钥中的任一项,以及第一随机数、第二随机数中的至少一项,采用消息验证码生成函数生成第二消息验证码,将第二随机数和第二消息验证码发送给终端设备,向功能网元发送通信密钥。
第十种可行的认证方式中,认证请求消息还包括第一随机数、第一消息验证码和第一传输参数,认证模块具体用于:
确定第二随机数、DH协议的第二传输参数,根据第一传输参数和第二传输参数执行DH密钥协商算法得到第三传输参数;
在对所述第一消息验证码验证通过后,根据第一随机数、第二随机数中的至少一项,以及第三传输参数,采用密钥生成函数生成通信密钥,根据通信密钥、第一密钥中任一项,以及第一传输参数、第二传输参数中任一项,采用消息验证码生成函数生成第二消息验证码,将第二随机数、第二传输参数,第二消息验证码,发送给终端设备,并向功能网元发送通信密钥。
在图14所示实施例的基础上,当认证请求消息还包括第四参数集合,其中第四参数集合包括:用户管理服务器的标识、网络标识、业务参数中的至少一种。认证模块1403还包括如下可行的实现方式:
第十一种可行的认证方式中,认证请求消息还包括加密处理后的第一随机数,认证模块具体用于:
根据第一密钥对加密处理后的第一随机数进行解密,得到第一随机数,确定第二随机数,并采用第一密钥对第二随机数进行加密处理,得到加密处理后的第二随机数,加密处理后的第一随机数为终端设备采用第一密钥对第一随机数加密处理得到;
根据第一密钥、第一随机数、第二随机数中的至少一项,以及终端设备的设备标识、第四参数集合中的至少一项,采用密钥生成函数生成通信密钥,根据通信密钥、第一密钥中的任一项,以及终端设备的设备标识、第四参数集合中的至少一项,以及第一随机数,第二随机数,采用消息验证码生成函数生成第二消息验证码,将第二消息验证码和加密处理后的第二随机数,发送给终端设备;
接收终端设备发送的第一消息验证码,在对第一消息验证码验证通过后,向功能网元 发送通信密钥。
第十二种可行的认证方式中,认证请求消息还包括第一随机数,认证模块具体用于:
确定第二随机数;
根据第一随机数、第二随机数、终端设备的设备标识、第四参数集合中的至少一项,以及第一密钥,采用密钥生成函数生成通信密钥,根据通信密钥、第一密钥中的任一项,以及终端设备的设备标识、第四参数集合中的至少一项,以及第一随机数,第二随机数,采用消息验证码生成函数生成第二消息验证码,将第二消息验证码和第二随机数,发送给终端设备;
接收终端设备发送的第一消息验证码,在对第一消息验证码验证通过后,向功能网元发送通信密钥。
第十三种可行的认证方式中,认证请求消息还包括第一随机数,认证模块具体用于:
确定第二随机数,根据第三随机数确定通信密钥,采用第一密钥对通信密钥进行加密处理,得到加密处理后的通信密钥;
根据通信密钥、第一密钥中任一项,以及终端设备的设备标识、第四参数集合中的至少一项,以及第一随机数,第二随机数,采用消息验证码生成函数生成第二消息验证码,将第二随机数、加密处理后的通信密钥、第二消息验证码,发送给终端设备;
接收终端设备发送的第一消息验证码,在对第一消息验证码验证通过后,向功能网元发送通信密钥。
第十四种可行的认证方式中,认证请求消息还包括第一随机数和第一传输参数,认证模块具体用于:
确定第二随机数、DH协议的第二传输参数,根据第一传输参数和第二传输参数执行DH密钥协商算法得到第三传输参数;
根据第一随机数、第二随机数、终端设备的设备标识、第四参数集合中的至少一项,以及第三传输参数,采用密钥生成函数生成通信密钥,根据通信密钥、第一密钥中的任一项,以及第一随机数、第二随机数、终端设备的设备标识、第四参数集合中的至少一项,以及第一传输参数,第二传输参数,采用消息验证码生成函数生成第二消息验证码,将第二随机数、第二传输参数,第二消息验证码,发送给终端设备;
接收终端设备发送的第一消息验证码,在对第一消息验证码验证通过后,向功能网元发送通信密钥。
第十五种可行的认证方式中,认证请求消息还包括第一消息验证码和加密处理后的第一随机数,认证模块具体用于:
根据第一密钥对加密的第一随机数进行解密,得到第一随机数,确定第二随机数,采用第一密钥对第二随机数进行加密处理,得到加密处理后的第二随机数,加密处理后的第一随机数为终端设备采用第一密钥对第一随机数加密处理得到;
在对第一消息验证码验证通过后,根据第一密钥、第一随机数、第二随机数中的至少一项,以及终端设备的设备标识、第四参数集合中的至少一项,采用密钥生成函数生成通信密钥,根据通信密钥、第一密钥中任一项,以及第一随机数、第二随机数、终端设备的设备标识、第四参数集合中的至少一项,采用消息验证码生成函数生成第二消息验证码,将加密处理后的第二随机数、第二消息验证码,发送给终端设备,向功能网元发送通信密 钥。
第十六种可行的认证方式中,认证请求消息还包括第一消息验证码和第一随机数,认证模块具体用于:
确定第二随机数;
在对第一消息验证码验证通过后,根据第一随机数、第二随机数、终端设备的设备标识、第四参数集合中的至少一项,以及第一密钥,采用密钥生成函数生成通信密钥,根据通信密钥、第一密钥中任一项,以及第一随机数、第二随机数、终端设备的设备标识、第四参数集合中的至少一项,采用消息验证码生成函数生成第二消息验证码,将第二随机数、第二消息验证码,发送给终端设备,向功能网元发送通信密钥。
第十七种可行的认证方式中,认证请求消息还包括第一消息验证码和第一随机数,认证模块具体用于:
确定第二随机数,根据第三随机数确定通信密钥,采用第一密钥对通信密钥进行加密处理,得到加密处理后的通信密钥;
根据通信密钥、第一密钥中任一项,以及第一随机数、第二随机数、终端设备的设备标识、第四参数集合中的任一项,采用消息验证码生成函数生成第二消息验证码,将第二随机数、加密处理后的通信密钥、第二消息验证码,发送给终端设备,并向功能网元发送通信密钥。
第十八种可行的认证方式中,认证请求消息还包括第一消息验证码和加密处理后的第一随机数,认证模块具体用于:
根据第一密钥对加密的第一随机数进行解密,得到第一随机数,确定第二随机数,采用第一密钥对第二随机数进行加密处理,得到加密处理后的第二随机数,加密处理后的第一随机数为终端设备采用第一密钥对第一随机数加密处理得到;
在对第一消息验证码验证通过后,根据第一密钥、第一随机数中的至少一项,以及终端设备的设备标识、第四参数集合中的至少一项,采用密钥生成函数生成通信密钥,根据通信密钥、第一密钥中的任一项,以及第一随机数、第二随机数、终端设备的设备标识、第四参数集合中的至少一项,采用消息验证码生成函数生成第二消息验证码,将加密处理后的第二随机数和第二消息验证码发送给终端设备,向功能网元发送通信密钥。
第十九种可行的认证方式中,,认证请求消息还包括第一消息验证码和第一随机数,认证模块具体用于:
确定第二随机数;
在对第一消息验证码验证通过后,根据第一随机数、终端设备的设备标识、第四参数集合中的至少一项,以及第一密钥,采用密钥生成函数生成通信密钥,根据通信密钥、第一密钥中的任一项,以及第一随机数、第二随机数、终端设备的设备标识、第四参数集合中的至少一项,采用消息验证码生成函数生成第二消息验证码,将第二随机数和第二消息验证码发送给终端设备,向功能网元发送通信密钥。
第二十种可行的认证方式中,认证请求消息还包括第一随机数、第一消息验证码和第一传输参数,认证模块具体用于:
确定第二随机数、DH协议的第二传输参数,根据第一传输参数和第二传输参数执行DH密钥协商算法得到第三传输参数;
在对所述第一消息验证码验证通过后,根据第一随机数、第二随机数、终端设备的设备标识、第四参数集合中的至少一项,以及第三传输参数,采用密钥生成函数生成通信密钥,根据通信密钥、第一密钥中任一项,以及终端设备的设备标识、第四参数集合、第一传输参数、第二传输参数中任一项,采用消息验证码生成函数生成第二消息验证码,将第二随机数、第二传输参数,第二消息验证码,发送给终端设备,并向功能网元发送通信密钥。
在基于身份密钥技术的认证方式中,结合图15对本申请提供的网络认证服务器进行详细说明。图15为本申请网络认证服务器实施例二的结构示意图。如图15所示,该网络认证服务器包括:
请求接收模块1501,用于接收终端设备发送的认证请求消息,认证请求消息包括终端设备的设备标识,终端设备的设备标识为终端设备的第一公钥;
认证模块1502,用于根据第一公钥、网络认证服务器的网络认证公钥、网络认证服务器的网络认证私钥与终端设备进行相互认证以得到终端设备与功能网元的通信密钥。
在基于身份密钥技术的认证方式中,认证模块1502的认证方式包括如下可能的实现方式:
第二十一种可行的认证方式中,认证请求消息还包括第一数字签名和加密处理后的第一随机数,认证模块具体用于:
根据网络认证服务器的网络认证私钥对加密的第一随机数进行解密,得到第一随机数,确定第二随机数,采用终端设备的第一公钥对第二随机数进行加密处理,得到加密处理后的第二随机数,加密处理后的第一随机数为终端设备采用网络认证服务器的网络认证公钥对第一随机数加密处理得到;
在根据预设全局公钥和终端设备的第一公钥对第一数字签名验证通过后,根据第一随机数、第二随机数中的至少一项,生成通信密钥,根据网络认证服务器的网络认证私钥、第一随机数和第二随机数生成第二数字签名,将加密处理后的第二随机数、第二数字签名,发送给终端设备;
接收终端设备发送的第一消息验证码或第三数字签名,在对第一消息验证码或第三数字签名验证通过后,向功能网元发送通信密钥。
第二十二种可行的认证方式中,认证请求消息还包括第一数字签名和第一随机数,认证模块具体用于:
确定第二随机数;
在根据预设全局公钥和终端设备的第一公钥对第一数字签名验证通过后,根据第三随机数确定通信密钥,采用终端设备的第一公钥对通信密钥进行加密处理,得到加密处理后的通信密钥,根据网络认证服务器的网络认证私钥、第一随机数和第二随机数生成第二数字签名,将第二随机数、加密处理后的通信密钥、第二数字签名,发送给终端设备;
接收终端设备发送的第一消息验证码或第三数字签名,在对第一消息验证码或第三数字签名验证通过后,向功能网元发送通信密钥。
第二十三种可行的认证方式中,认证请求消息还包括第一数字签名、第一随机数和第一传输参数,认证模块具体用于:
确定第二随机数、DH协议的第二传输参数,根据第一传输参数和第二传输参数执行 DH密钥协商算法得到第三传输参数;
在根据预设全局公钥和终端设备的第一公钥对第一数字签名验证通过后,根据第一随机数、第二随机数中的至少一项,以及第三传输参数,采用密钥生成函数生成通信密钥,根据第一随机数、第二随机数中的至少一项,以及网络认证服务器的网络认证私钥,第一传输参数,第二传输参数,生成第二数字签名,将第二随机数、加密处理后的第二传输参数、第二数字签名,发送给终端设备;
接收终端设备发送的第一消息验证码或第三数字签名,在对第一消息验证码或第三数字签名验证通过后,向功能网元发送通信密钥。
第二十四种可行的认证方式中,认证请求消息还包括第一数字签名和加密处理后的第一随机数,认证模块具体用于:
根据网络认证服务器的网络认证私钥对加密的第一随机数进行解密,得到第一随机数,确定第二随机数,采用终端设备的第一公钥对第二随机数进行加密处理,得到加密处理后的第二随机数,加密处理后的第一随机数为终端设备采用网络认证服务器的网络认证公钥对第一随机数加密处理得到;
在根据预设全局公钥和终端设备的第一公钥对第一数字签名验证通过后,根据第一随机数、第二随机数中的至少一项,生成通信密钥,根据网络认证服务器的网络认证私钥、第一随机数和第二随机数生成第二数字签名,将加密处理后的第二随机数、第二数字签名,发送给终端设备,并向功能网元发送通信密钥。
第二十五种可行的认证方式中,认证请求消息还包括第一数字签名和第一随机数,认证模块具体用于:
确定第二随机数;
在根据预设全局公钥和终端设备的第一公钥对第一数字签名验证通过后,根据第三随机数确定通信密钥,采用终端设备的第一公钥对通信密钥进行加密处理,得到加密处理后的通信密钥,根据网络认证服务器的网络认证私钥、第一随机数和第二随机数生成第二数字签名,将第二随机数、加密处理后的通信密钥和第二数字签名发送给终端设备,并向功能网元发送通信密钥。
在图15所示实施例的基础上,当认证请求消息还包括第四参数集合,其中第四参数集合包括:用户管理服务器的标识、网络标识、业务参数中的至少一种。认证模块1502还包括如下可行的实现方式:
第二十六种可行的认证方式中,认证请求消息还包括第一数字签名和加密处理后的第一随机数,认证模块具体用于:
根据网络认证服务器的网络认证私钥对加密的第一随机数进行解密,得到第一随机数,确定第二随机数,采用终端设备的第一公钥对第二随机数进行加密处理,得到加密处理后的第二随机数,加密处理后的第一随机数为终端设备采用网络认证服务器的网络认证公钥对第一随机数加密处理得到;
在根据预设全局公钥和终端设备的第一公钥对第一数字签名验证通过后,根据第一随机数、第二随机数中的至少一项,以及终端设备的设备标识、第四参数集合中的至少一项,生成通信密钥,根据终端设备的设备标识、第四参数集合中的至少一项,以及网络认证服务器的网络认证私钥,第一随机数,第二随机数生成第二数字签名,将加密处理后的第二 随机数、第二数字签名,发送给终端设备;
接收终端设备发送的第一消息验证码或第三数字签名,在对第一消息验证码或第三数字签名验证通过后,向功能网元发送通信密钥。
第二十七种可行的认证方式中,认证请求消息还包括第一数字签名和第一随机数,认证模块具体用于:
确定第二随机数;
在根据预设全局公钥和终端设备的第一公钥对第一数字签名验证通过后,根据第三随机数确定通信密钥,采用终端设备的第一公钥对通信密钥进行加密处理,得到加密处理后的通信密钥,根据终端设备的设备标识、第四参数集合中的至少一项,以及网络认证服务器的网络认证私钥,第一随机数,第二随机数生成第二数字签名,将第二随机数、加密处理后的通信密钥、第二数字签名,发送给终端设备;
接收终端设备发送的第一消息验证码或第三数字签名,在对第一消息验证码或第三数字签名验证通过后,向功能网元发送通信密钥。
第二十八种可行的认证方式中,认证请求消息还包括第一数字签名、第一随机数和第一传输参数,认证模块具体用于:
确定第二随机数、DH协议的第二传输参数,根据第一传输参数和第二传输参数执行DH密钥协商算法得到第三传输参数;
在根据预设全局公钥和终端设备的第一公钥对第一数字签名验证通过后,根据第一随机数、第二随机数中的至少一项,以及第三传输参数,采用密钥生成函数生成通信密钥,根据第一随机数、第二随机数中的至少一项,以及网络认证服务器的网络认证私钥,第一传输参数,第二传输参数,生成第二数字签名,将第二随机数、加密处理后的第二传输参数、第二数字签名,发送给终端设备;
接收终端设备发送的第一消息验证码或第三数字签名,在对第一消息验证码或第三数字签名验证通过后,向功能网元发送通信密钥。
第二十九种可行的认证方式中,认证请求消息还包括第一数字签名和加密处理后的第一随机数,认证模块具体用于:
根据网络认证服务器的网络认证私钥对加密的第一随机数进行解密,得到第一随机数,确定第二随机数,采用终端设备的第一公钥对第二随机数进行加密处理,得到加密处理后的第二随机数,加密处理后的第一随机数为终端设备采用网络认证服务器的网络认证公钥对第一随机数加密处理得到;
在根据预设全局公钥和终端设备的第一公钥对第一数字签名验证通过后,根据第一随机数、第二随机数中的至少一项,以及终端设备的设备标识、第四参数集合中的至少一项,生成通信密钥,根据终端设备的设备标识、第四参数集合中的至少一项,以及网络认证服务器的网络认证私钥,第一随机数,第二随机数生成第二数字签名,将加密处理后的第二随机数、第二数字签名,发送给终端设备,并向功能网元发送通信密钥。
第三十种可行的认证方式中,认证请求消息还包括第一数字签名和第一随机数,认证模块具体用于:
确定第二随机数;
在根据预设全局公钥和终端设备的第一公钥对第一数字签名验证通过后,根据第三随 机数确定通信密钥,采用终端设备的第一公钥对通信密钥进行加密处理,得到加密处理后的通信密钥,根据终端设备的设备标识、第四参数集合中的至少一项,以及网络认证服务器的网络认证私钥,第一随机数,第二随机数生成第二数字签名,将第二随机数、加密处理后的通信密钥和第二数字签名发送给终端设备,并向功能网元发送通信密钥。
可选的,基于身份密钥技术的认证方式中,网络认证服务器中的请求接收模块还用于接收终端设备发送的公钥请求消息;认证模块还用于向终端设备发送网络认证服务器的网络认证公钥。
可选的,基于对称密钥技术和基于身份密钥技术的认证方式中,认证模块还可具体用于:与终端设备进行相互认证,根据通信密钥、第四参数集合、会话密钥随机数、会话密钥新鲜参数、会话密钥的预设时间参数中的任一项,采用密钥生成函数生成网络认证服务器的会话密钥,并将会话密钥发送给功能网元。
本申请又一方面提供一种存储介质,存储介质为计算机可读存储介质,存储有一个或多个程序,一个或多个程序包括指令,指令当被包括多个应用程序的电子设备执行时,使电子设备执行上述任一业务中心服务器的密钥分发方法实施例所述的方法。
本申请又一方面提供一种存储介质,存储介质为计算机可读存储介质,存储有一个或多个程序,一个或多个程序包括指令,指令当被包括多个应用程序的电子设备执行时,使电子设备执行上述任一用户管理服务器的密钥分发方法实施例所述的方法。
本申请又一方面提供一种存储介质,存储介质为计算机可读存储介质,存储有一个或多个程序,一个或多个程序包括指令,指令当被包括多个应用程序的电子设备执行时,使电子设备执行上述任一终端设备的密钥认证方法实施例所述的方法。
本申请又一方面提供一种存储介质,存储介质为计算机可读存储介质,存储有一个或多个程序,一个或多个程序包括指令,指令当被包括多个应用程序的电子设备执行时,使电子设备执行上述任一网络认证服务器的密钥认证方法实施例所述的方法。
本申请又一方面提供一种密钥分发、认证系统用以执行上述实施例中的密钥分发、认证方法,具有相同的技术特征和技术效果。
该系统包括如上述任一实施例所述的业务中心服务器、如上述任一实施例所述的用户管理服务器、如上述任一实施例所述的终端设备、如上述任一实施例所述的网络认证服务器。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一 点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例例如能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,简称ROM)、随机存取存储器(Random Access Memory,简称RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上各实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述各实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的范围。

Claims (159)

  1. 一种密钥分发方法,其特征在于,包括:
    业务中心服务器接收用户管理服务器发送的第一密钥请求消息,所述第一密钥请求消息用于指示所述业务中心服务器生成所述用户管理服务器所管理的终端设备的第一密钥;
    所述业务中心服务器根据所述第一密钥请求消息生成所述终端设备的第一密钥,并将所述第一密钥发送给所述用户管理服务器。
  2. 根据权利要求1所述的方法,其特征在于,所述业务中心服务器根据所述第一密钥请求消息生成所述终端设备的第一密钥,包括:
    所述业务中心服务器根据第一参数集合,采用密钥生成函数生成所述终端设备的第一密钥;
    其中,所述第一参数集合包括第一密钥随机数、第一密钥新鲜参数、第一密钥的预设时间参数、共享密钥中的至少一种,所述共享密钥为所述用户管理服务器与所述业务中心服务器的共享密钥。
  3. 根据权利要求1所述的方法,其特征在于,所述第一密钥请求消息中包括所述终端设备的设备标识、所述用户管理服务器的标识、网络标识、业务参数中的至少一种,所述业务中心服务器根据所述第一密钥请求消息生成所述终端设备的第一密钥,包括:
    所述业务中心服务器根据第二参数集合,采用密钥生成函数生成所述终端设备的第一密钥;
    其中,所述第二参数集合包括第一密钥随机数、第一密钥新鲜参数、第一密钥的预设时间参数、共享密钥、所述用户管理服务器的标识、网络标识、业务参数、所述终端设备的设备标识中的至少一种,所述共享密钥为所述用户管理服务器与所述业务中心服务器的共享密钥。
  4. 根据权利要求1所述的方法,其特征在于,所述第一密钥请求消息中包括所述终端设备的设备标识,所述业务中心服务器根据所述第一密钥请求消息生成所述终端设备的第一密钥,包括:
    所述业务中心服务器根据预设全局私钥和所述终端设备的设备标识,基于设备身份生成算法生成所述终端设备的第一密钥;
    所述终端设备的第一密钥为所述终端设备的第一私钥,所述终端设备的设备标识为与所述第一私钥对应的所述终端设备的第一公钥。
  5. 根据权利要求1所述的方法,其特征在于,所述第一密钥请求消息中包括所述终端设备的设备标识,所述业务中心服务器根据所述第一密钥请求消息生成所述终端设备的第一密钥,包括:
    所述业务中心服务器根据所述预设全局私钥、所述终端设备的设备标识和第三参数集合,基于设备身份生成算法生成所述终端设备的第一密钥;
    其中,所述第三参数集合包含第一密钥随机数、第一密钥新鲜参数、第一密钥的预设时间参数中的至少一种参数;
    其中,所述终端设备的第一密钥为所述终端设备的第一私钥,所述终端设备的设备标识为与所述第一私钥对应的所述终端设备的第一公钥。
  6. 根据权利要求1至3任一项所述的方法,其特征在于,所述方法还包括:
    所述业务中心服务器将所述终端设备的第一密钥发送给所述网络认证服务器以使得所述网络认证服务器根据所述第一密钥与所述终端设备进行相互认证。
  7. 一种密钥分发方法,其特征在于,包括:
    用户管理服务器向业务中心服务器发送第一密钥请求消息,所述第一密钥请求消息用于指示所述业务中心服务器生成所述用户管理服务器所管理的终端设备的第一密钥;
    所述用户管理服务器接收所述业务中心服务器发送的所述终端设备的第一密钥,并将所述终端设备的第一密钥发送给所述终端设备以使得所述终端设备根据所述第一密钥与所述网络认证服务器进行相互认证。
  8. 根据权利要求7所述的方法,其特征在于,所述第一密钥为所述终端设备的第一私钥,所述终端设备的设备标识为与所述第一私钥对应的所述终端设备的第一公钥。
  9. 根据权利要求7或8所述的方法,其特征在于,所述方法还包括:
    所述用户管理服务器将第四参数集合发送给所述终端设备,所述第四参数集合包括所述用户管理服务器的标识、网络标识、业务参数中的至少一种。
  10. 一种密钥认证方法,其特征在于,包括:
    终端设备接收用户管理服务器发送的所述终端设备的第一密钥;
    所述终端设备根据所述第一密钥,与网络认证服务器进行相互认证以得到所述终端设备与功能网元的通信密钥。
  11. 根据权利要求10所述的方法,其特征在于,所述终端设备根据所述第一密钥,与网络认证服务器进行相互认证以得到所述终端设备与功能网元的通信密钥,包括:
    所述终端设备确定第一随机数,并采用所述第一密钥对所述第一随机数进行加密处理,以得到加密处理后的第一随机数,向网络认证服务器发送认证请求消息,所述认证请求消息包括所述加密处理后的第一随机数以及所述终端设备的设备标识;
    所述终端设备接收所述网络认证服务器发送的第二消息验证码、加密处理后的第二随机数,根据所述第一密钥对所述加密的第二随机数进行解密,得到第二随机数,所述加密处理后的第二随机数为所述网络认证服务器采用所述第一密钥对第二随机数加密处理得到;
    所述终端设备在对所述第二消息验证码验证通过后,根据所述第一密钥、所述第一随机数、所述第二随机数中的至少一项,采用密钥生成函数生成所述终端设备的通信密钥,根据所述通信密钥、所述第一密钥中的任一项,以及所述第一随机数,所述第二随机数,采用消息验证码生成函数生成第一消息验证码,将所述第一消息验证码,发送给所述网络认证服务器,以使所述网络认证服务器对所述第一消息验证码进行验证。
  12. 根据权利要求10所述的方法,其特征在于,所述终端设备根据所述第一密钥,与网络认证服务器进行相互认证以得到所述终端设备与功能网元的通信密钥,包括:
    所述终端设备确定第一随机数,向网络认证服务器发送认证请求消息,所述认证请求消息包括所述第一随机数以及所述终端设备的设备标识;
    所述终端设备接收所述网络认证服务器发送的第二随机数、第二消息验证码;
    所述终端设备在对所述第二消息验证码验证通过后,根据所述第一随机数和所述第二随机数中的至少一项,以及所述第一密钥,采用密钥生成函数生成所述终端设备的通信密 钥,根据所述通信密钥、所述第一密钥中的任一项,以及所述第一随机数,所述第二随机数,采用消息验证码生成函数生成第一消息验证码,将所述第一消息验证码,发送给所述网络认证服务器,以使所述网络认证服务器对所述第一消息验证码进行验证。
  13. 根据权利要求10所述的方法,其特征在于,所述终端设备根据所述第一密钥,与网络认证服务器进行相互认证以得到所述终端设备与功能网元的通信密钥,包括:
    所述终端设备确定第一随机数,向网络认证服务器发送认证请求消息,所述认证请求消息包括所述第一随机数以及所述终端设备的设备标识;
    所述终端设备接收所述网络认证服务器发送的第二随机数、加密处理后的通信密钥、第二消息验证码,根据所述第一密钥对所述加密处理后的通信密钥进行解密,得到通信密钥,所述加密处理后的通信密钥为所述网络认证服务器采用所述第一密钥对通信密钥加密处理得到;
    所述终端设备在对所述第二消息验证码验证通过后,根据所述通信密钥、所述第一密钥中任一项,以及所述第一随机数,所述第二随机数,采用消息验证码生成函数生成第一消息验证码,将所述第一消息验证码,发送给所述网络认证服务器,以使所述网络认证服务器对所述第一消息验证码进行验证。
  14. 根据权利要求10所述的方法,其特征在于,所述终端设备根据所述第一密钥,与网络认证服务器进行相互认证以得到所述终端设备与功能网元的通信密钥,包括:
    所述终端设备确定第一随机数、DH协议的第一传输参数,向网络认证服务器发送认证请求消息,所述认证请求消息包括所述第一随机数、所述第一传输参数以及所述终端设备的设备标识;
    所述终端设备接收所述网络认证服务器发送的第二随机数、第二传输参数、第二消息验证码,根据所述第一传输参数和所述第二传输参数执行DH密钥协商算法得到第三传输参数;
    所述终端设备在对所述第二消息验证码验证通过后,根据所述第一随机数、所述第二随机数中的至少一项,以及所述第三传输参数,采用密钥生成函数生成所述终端设备的通信密钥,根据所述通信密钥、所述第一密钥中的任一项,以及所述第一随机数,所述第二随机数,采用消息验证码生成函数生成第一消息验证码,将所述第一消息验证码,发送给所述网络认证服务器,以使所述网络认证服务器对所述第一消息验证码进行验证。
  15. 根据权利要求10所述的方法,其特征在于,所述终端设备根据所述第一密钥,与网络认证服务器进行相互认证以得到所述终端设备与功能网元的通信密钥,包括:
    所述终端设备确定第一随机数,采用第一密钥对所述第一随机数进行加密处理,得到加密处理后的第一随机数,根据所述第一密钥和所述第一随机数,采用消息验证码生成函数生成第一消息验证码,向网络认证服务器发送认证请求消息,所述认证请求消息包括所述第一消息验证码、所述加密处理后的第一随机数以及所述终端设备的设备标识;
    所述终端设备接收所述网络认证服务器发送的加密处理后的第二随机数、第二消息验证码,根据所述第一密钥对所述加密的第二随机数进行解密,得到第二随机数,所述加密处理后的第二随机数为所述网络认证服务器采用所述第一密钥对第二随机数加密处理得到;
    所述终端设备在对所述第二消息验证码验证通过后,根据所述第一密钥、所述第一随 机数、所述第二随机数中的至少一项,采用密钥生成函数生成所述终端设备的通信密钥。
  16. 根据权利要求10所述的方法,其特征在于,所述终端设备根据所述第一密钥,与网络认证服务器进行相互认证以得到所述终端设备与功能网元的通信密钥,包括:
    所述终端设备确定第一随机数,根据所述第一密钥和所述第一随机数,采用消息验证码生成函数生成第一消息验证码,向网络认证服务器发送认证请求消息,所述认证请求消息包括所述第一消息验证码、所述第一随机数以及所述终端设备的设备标识;
    所述终端设备接收所述网络认证服务器发送的第二随机数、第二消息验证码;
    所述终端设备在对所述第二消息验证码验证通过后,根据所述第一随机数、所述第二随机数中的至少一项,以及所述第一密钥,采用密钥生成函数生成所述终端设备的通信密钥。
  17. 根据权利要求10所述的方法,其特征在于,所述终端设备根据所述第一密钥,与网络认证服务器进行相互认证以得到所述终端设备与功能网元的通信密钥,包括:
    所述终端设备确定第一随机数,根据所述第一密钥和所述第一随机数,采用消息验证码生成函数生成第一消息验证码,向网络认证服务器发送认证请求消息,所述认证请求消息包括所述第一消息验证码、所述第一随机数以及所述终端设备的设备标识;
    所述终端设备接收所述网络认证服务器发送的第二随机数、加密处理后的通信密钥、第二消息验证码,所述加密处理后的通信密钥为所述网络认证服务器采用所述第一密钥对通信密钥加密处理得到;
    所述终端设备在对所述第二消息验证码验证通过后,根据所述第一密钥对所述加密处理后的通信密钥进行解密,得到通信密钥。
  18. 根据权利要求10所述的方法,其特征在于,所述终端设备根据所述第一密钥,与网络认证服务器进行相互认证以得到所述终端设备与功能网元的通信密钥,包括:
    所述终端设备确定第一随机数,采用第一密钥对所述第一随机数进行加密处理,得到加密处理后的第一随机数,根据所述第一密钥、所述第一随机数中的至少一项,采用密钥生成函数生成所述终端设备的通信密钥,根据所述第一密钥、所述通信密钥中的任一项,以及所述第一随机数,采用消息验证码生成函数生成第一消息验证码,向网络认证服务器发送认证请求消息,所述认证请求消息包括所述第一消息验证码、所述加密处理后的第一随机数,以及所述终端设备的设备标识;
    所述终端设备接收所述网络认证服务器发送的第二消息验证码和加密处理后的第二随机数,根据所述第一密钥对所述加密的第二随机数进行解密,得到第二随机数,所述加密处理后的第二随机数为所述网络认证服务器采用所述第一密钥对第二随机数加密处理得到;
    所述终端设备对所述第二消息验证码进行验证并确定验证通过。
  19. 根据权利要求10所述的方法,其特征在于,所述终端设备根据所述第一密钥,与网络认证服务器进行相互认证以得到所述终端设备与功能网元的通信密钥,包括:
    所述终端设备确定第一随机数,根据所述第一密钥和所述第一随机数,采用密钥生成函数生成所述网络认证服务器的通信密钥,根据所述第一密钥、所述通信密钥中的任一项,以及所述第一随机数,采用消息验证码生成函数生成第一消息验证码,向网络认证服务器发送认证请求消息,所述认证请求消息包括所述第一消息验证码、所述第一随机数以及所 述终端设备的设备标识;
    所述终端设备接收所述网络认证服务器发送的第二随机数和第二消息验证码;
    所述终端设备对所述第二消息验证码进行验证并确定验证通过。
  20. 根据权利要求10所述的方法,其特征在于,所述终端设备根据所述第一密钥,与网络认证服务器进行相互认证以得到所述终端设备与功能网元的通信密钥,包括:
    所述终端设备确定第一随机数、DH协议的第一传输参数,根据所述第一密钥和所述第一随机数,采用消息验证码生成函数生成第一消息验证码,向网络认证服务器发送认证请求消息,所述认证请求消息包括所述第一消息验证码、所述第一随机数、所述第一传输参数以及所述终端设备的设备标识;
    所述终端设备接收所述网络认证服务器发送的第二随机数、第二传输参数、第二消息验证码,根据所述第一传输参数和所述第二传输参数执行DH密钥协商算法得到第三传输参数;
    所述终端设备根据所述第一随机数、所述第二随机数中的至少一项,以及所述第三传输参数,采用密钥生成函数生成所述终端设备的通信密钥,对所述第二消息验证码进行验证并确定通过验证。
  21. 根据权利要求10所述的方法,其特征在于,所述方法还包括:
    所述终端设备接收所述用户管理服务器发送的第四参数集合;
    所述第四参数集合包括:所述用户管理服务器的标识、网络标识、业务参数中的至少一种。
  22. 根据权利要求21所述的方法,其特征在于,所述终端设备根据所述第一密钥,与网络认证服务器进行相互认证以得到所述终端设备与功能网元的通信密钥,包括:
    所述终端设备确定第一随机数,并采用所述第一密钥对所述第一随机数进行加密处理,以得到加密处理后的第一随机数,向网络认证服务器发送认证请求消息,所述认证请求消息包括所述加密处理后的第一随机数、所述终端设备的设备标识以及所述第四参数集合;
    所述终端设备接收所述网络认证服务器发送的加密处理后的第二随机数、第二消息验证码,根据所述第一密钥对所述加密的第二随机数进行解密,得到第二随机数,所述加密处理后的第二随机数为所述网络认证服务器采用所述第一密钥对第二随机数加密处理得到;
    所述终端设备在对所述第二消息验证码验证通过后,根据所述第一密钥、所述第一随机数、所述第二随机数中的至少一项,以及所述终端设备的设备标识、所述第四参数集合中的至少一项,采用密钥生成函数生成所述终端设备的通信密钥,根据所述通信密钥、所述第一密钥中的任一项,以及所述终端设备的设备标识、所述第四参数集合中的至少一项,以及所述第一随机数,所述第二随机数,采用消息验证码生成函数生成第一消息验证码,并将所述第一消息验证码,发送给所述网络认证服务器,以使所述网络认证服务器对所述第一消息验证码进行验证。
  23. 根据权利要求21所述的方法,其特征在于,所述终端设备根据所述第一密钥,与网络认证服务器进行相互认证以得到所述终端设备与功能网元的通信密钥,包括:
    所述终端设备确定第一随机数,向网络认证服务器发送认证请求消息,所述认证请求 消息包括所述第一随机数、所述终端设备的设备标识以及所述第四参数集合;
    所述终端设备接收所述网络认证服务器发送的第二随机数、第二消息验证码;
    所述终端设备在对所述第二消息验证码验证通过后,根据所述第一随机数、所述第二随机数、所述终端设备的设备标识、所述第四参数集合中的至少一项,以及所述第一密钥采用密钥生成函数生成所述终端设备的通信密钥,根据所述通信密钥、所述第一密钥中的任一项,以及所述终端设备的设备标识、所述第四参数集合中的至少一项,以及所述第一随机数,所述第二随机数,采用消息验证码生成函数生成第一消息验证码,并将所述第一消息验证码,发送给所述网络认证服务器,以使所述网络认证服务器对所述第一消息验证码进行验证。
  24. 根据权利要求21所述的方法,其特征在于,所述终端设备根据所述第一密钥,与网络认证服务器进行相互认证以得到所述终端设备与功能网元的通信密钥,包括:
    所述终端设备确定第一随机数,向网络认证服务器发送认证请求消息,所述认证请求消息包括所述第一随机数、所述终端设备的设备标识以及所述第四参数集合;
    所述终端设备接收所述网络认证服务器发送的第二随机数、加密处理后的通信密钥、第二消息验证码,根据所述第一密钥对所述加密处理后的通信密钥进行解密,得到通信密钥,所述加密处理后的通信密钥为所述网络认证服务器采用所述第一密钥对通信密钥加密处理得到;
    所述终端设备在对所述第二消息验证码验证通过后,根据所述通信密钥、所述第一密钥中的任一项,以及所述终端设备的设备标识、所述第四参数集合中的至少一项,以及所述第一随机数,所述第二随机数,采用消息验证码生成函数生成第一消息验证码,将所述第一消息验证码,发送给所述网络认证服务器,以使所述网络认证服务器对所述第一消息验证码进行验证。
  25. 根据权利要求21所述的方法,其特征在于,所述终端设备根据所述第一密钥,与网络认证服务器进行相互认证以得到所述终端设备与功能网元的通信密钥,包括:
    所述终端设备确定第一随机数、DH协议的第一传输参数,向网络认证服务器发送认证请求消息,所述认证请求消息包括所述第一随机数、所述第一传输参数、所述终端设备的设备标识以及所述第四参数集合;
    所述终端设备接收所述网络认证服务器发送的第二随机数、第二传输参数、第二消息验证码,根据所述第一传输参数和所述第二传输参数执行DH密钥协商算法得到第三传输参数;
    所述终端设备在对所述第二消息验证码验证通过后,根据所述第一随机数、所述第二随机数、所述终端设备的设备标识、所述第四参数集合中的至少一项,以及所述第三传输参数,采用密钥生成函数生成所述终端设备的通信密钥,根据所述通信密钥、所述第一密钥中的任一项,以及所述终端设备的设备标识、所述第四参数集合中的至少一项,以及所述第一随机数,所述第二随机数,采用消息验证码生成函数生成第一消息验证码,将所述第一消息验证码,发送给所述网络认证服务器,以使所述网络认证服务器对所述第一消息验证码进行验证。
  26. 根据权利要求21所述的方法,其特征在于,所述终端设备根据所述第一密钥,与网络认证服务器进行相互认证以得到所述终端设备与功能网元的通信密钥,包括:
    所述终端设备确定第一随机数,采用第一密钥对所述第一随机数进行加密处理,得到加密处理后的第一随机数,根据所述第一随机数、所述终端设备的设备标识、所述第四参数集合中的至少一项,以及所述第一密钥,采用消息验证码生成函数生成第一消息验证码,向网络认证服务器发送认证请求消息,所述认证请求消息包括所述第一消息验证码、所述加密处理后的第一随机数、所述终端设备的设备标识以及所述第四参数集合;
    所述终端设备接收所述网络认证服务器发送的加密处理后的第二随机数、第二消息验证码,根据所述第一密钥对所述加密的第二随机数进行解密,得到第二随机数,所述加密处理后的第二随机数为所述网络认证服务器采用所述第一密钥对第二随机数加密处理得到;
    所述终端设备在对所述第二消息验证码验证通过后,根据所述第一密钥、所述第一随机数、所述第二随机数中的至少一项,以及所述终端设备的设备标识、所述第四参数集合中的至少一项,采用密钥生成函数生成所述终端设备的通信密钥。
  27. 根据权利要求21所述的方法,其特征在于,所述终端设备根据所述第一密钥,与网络认证服务器进行相互认证以得到所述终端设备与功能网元的通信密钥,包括:
    所述终端设备确定第一随机数,根据所述第一随机数、所述终端设备的设备标识、所述第四参数集合中的至少一项,以及所述第一密钥,采用消息验证码生成函数生成第一消息验证码,向网络认证服务器发送认证请求消息,所述认证请求消息包括所述第一消息验证码、所述第一随机数、所述终端设备的设备标识以及所述第四参数集合;
    所述终端设备接收所述网络认证服务器发送的第二随机数、第二消息验证码;
    所述终端设备在对所述第二消息验证码验证通过后,根据所述第一随机数、所述第二随机数、所述终端设备的设备标识、所述第四参数集合中的至少一项,以及所述第一密钥,采用密钥生成函数生成所述终端设备的通信密钥。
  28. 根据权利要求21所述的方法,其特征在于,所述终端设备根据所述第一密钥,与网络认证服务器进行相互认证以得到所述终端设备与功能网元的通信密钥,包括:
    所述终端设备确定第一随机数,根据所述第一随机数、所述终端设备的设备标识、所述第四参数集合中的至少一项,以及所述第一密钥,采用消息验证码生成函数生成第一消息验证码,向网络认证服务器发送认证请求消息,所述认证请求消息包括所述第一消息验证码、所述第一随机数、所述终端设备的设备标识以及所述第四参数集合;
    所述终端设备接收所述网络认证服务器发送的第二随机数、加密处理后的通信密钥、第二消息验证码,所述加密处理后的通信密钥为所述网络认证服务器采用所述第一密钥对通信密钥加密处理得到;
    所述终端设备在对所述第二消息验证码验证通过后,根据所述第一密钥对所述加密处理后的通信密钥进行解密,得到通信密钥。
  29. 根据权利要求21所述的方法,其特征在于,所述终端设备根据所述第一密钥,与网络认证服务器进行相互认证以得到所述终端设备与功能网元的通信密钥,包括:
    所述终端设备确定第一随机数,采用第一密钥对所述第一随机数进行加密处理,得到加密处理后的第一随机数,根据所述第一密钥、所述第一随机数中的至少一项,以及所述终端设备的设备标识、所述第四参数集合中的至少一项,采用密钥生成函数生成所述终端设备的通信密钥,根据所述第一密钥、所述通信密钥中的任一项,以及所述第一随机数、 所述终端设备的设备标识、所述第四参数集合中的至少一项,采用消息验证码生成函数生成第一消息验证码,向网络认证服务器发送认证请求消息,所述认证请求消息包括所述第一消息验证码、所述加密处理后的第一随机数、所述终端设备的设备标识以及所述第四参数集合;
    所述终端设备接收所述网络认证服务器发送的第二消息验证码和加密处理后的第二随机数,根据所述第一密钥对所述加密的第二随机数进行解密,得到第二随机数,所述加密处理后的第二随机数为所述网络认证服务器采用所述第一密钥对第二随机数加密处理得到;
    所述终端设备对所述第二消息验证码进行验证并确定验证通过。
  30. 根据权利要求21所述的方法,其特征在于,所述终端设备根据所述第一密钥,与网络认证服务器进行相互认证以得到所述终端设备与功能网元的通信密钥,包括:
    所述终端设备确定第一随机数,根据所述第一随机数、所述终端设备的设备标识和所述第四参数集合中的至少一项,以及所述第一密钥,采用密钥生成函数生成所述终端设备的通信密钥,根据所述第一密钥、所述通信密钥中的任一项,以及所述第一随机数、所述终端设备的设备标识、所述第四参数集合中的至少一项,采用消息验证码生成函数生成第一消息验证码,向网络认证服务器发送认证请求消息,所述认证请求消息包括所述第一消息验证码、所述第一随机数、所述终端设备的设备标识以及所述第四参数集合;
    所述终端设备接收所述网络认证服务器发送的第二消息验证码和第二随机数;
    所述终端设备对所述第二消息验证码进行验证并确定验证通过。
  31. 根据权利要求21所述的方法,其特征在于,所述终端设备根据所述第一密钥,与网络认证服务器进行相互认证以得到所述终端设备与功能网元的通信密钥,包括:
    所述终端设备确定第一随机数、DH协议的第一传输参数,根据所述第一随机数、所述终端设备的设备标识、所述第四参数集合中的至少一项,以及所述第一密钥,采用消息验证码生成函数生成第一消息验证码,向网络认证服务器发送认证请求消息,所述认证请求消息包括所述第一消息验证码、所述第一随机数、所述第一传输参数、所述终端设备的设备标识以及所述第四参数集合;
    所述终端设备接收所述网络认证服务器发送的第二随机数、第二传输参数、第二消息验证码,根据所述第一传输参数和所述第二传输参数执行DH密钥协商算法得到第三传输参数;
    所述终端设备根据所述第一随机数、所述第二随机数、所述终端设备的设备标识、所述第四参数集合中的至少一项,以及所述第三传输参数,采用密钥生成函数生成所述终端设备的通信密钥,对所述第二消息验证码进行验证并确定通过验证。
  32. 根据权利要求10所述的方法,其特征在于,所述第一密钥为所述终端设备的第一私钥,所述终端设备的设备标识为与所述第一私钥对应的所述终端设备的第一公钥。
  33. 根据权利要求32所述的方法,其特征在于,所述终端设备根据所述第一密钥,与网络认证服务器进行相互认证以得到所述终端设备与功能网元的通信密钥,包括:
    所述终端设备确定第一随机数,采用所述网络认证服务器的网络认证公钥对所述第一随机数进行加密处理,得到加密处理后的第一随机数,根据所述第一密钥和所述第一随机数生成所述终端设备的第一数字签名,向所述网络认证服务器发送认证请求消息,所述认 证请求消息包括所述第一数字签名、所述加密处理后的第一随机数以及所述终端设备的设备标识;
    所述终端设备接收所述网络认证服务器发送的加密处理后的第二随机数、第二数字签名,根据所述终端设备的第一密钥对所述加密的第二随机数进行解密,得到第二随机数,在对所述第二数字签名验证通过后,根据所述第一随机数和所述第二随机数中的至少一项,生成所述终端设备的通信密钥,所述加密处理后的第二随机数为所述网络认证服务器采用所述终端设备的第一公钥对第二随机数加密处理得到;
    所述终端设备根据所述通信密钥、所述第一随机数、所述第二随机数,生成第一消息验证码,或者根据所述第一密钥、所述第一随机数、所述第二随机数生成第三数字签名,将所述第一消息验证码或所述第三数字签名发送给所述网络认证服务器,以使所述网络认证服务器对所述第一消息验证码或所述第三数字签名进行验证。
  34. 根据权利要求32所述的方法,其特征在于,所述终端设备根据所述第一密钥,与网络认证服务器进行相互认证以得到所述终端设备与功能网元的通信密钥,包括:
    所述终端设备确定第一随机数,根据所述第一密钥和所述第一随机数,生成所述终端设备的第一数字签名,向所述网络认证服务器发送认证请求消息,所述认证请求消息包括所述第一数字签名、所述第一随机数以及所述终端设备的设备标识;
    所述终端设备接收所述网络认证服务器发送的第二随机数、加密处理后的通信密钥、第二数字签名,根据所述终端设备的第一密钥对所述加密的通信密钥进行解密,得到通信密钥,所述加密处理后的通信密钥为所述网络认证服务器采用所述终端设备的第一公钥对通信密钥加密处理得到;
    所述终端设备在对所述第二数字签名验证通过后,根据所述通信密钥、所述第一随机数、所述第二随机数,生成第一消息验证码,或者根据所述第一密钥、所述第一随机数、所述第二随机数,生成第三数字签名,将所述第一消息验证码或所述第三数字签名发送给所述网络认证服务器,以使所述网络认证服务器对所述第一消息验证码或所述第三数字签名进行验证。
  35. 根据权利要求32所述的方法,其特征在于,所述终端设备根据所述第一密钥,与网络认证服务器进行相互认证以得到所述终端设备与功能网元的通信密钥,包括:
    所述终端设备确定第一随机数、DH协议的第一传输参数,根据所述第一密钥、所述第一随机数、所述第一传输参数,生成所述终端设备的第一数字签名,向网络认证服务器发送认证请求消息,所述认证请求消息包括所述第一数字签名、所述第一随机数、所述第一传输参数以及所述终端设备的设备标识;
    所述终端设备接收所述网络认证服务器发送的第二随机数、第二传输参数、第二数字签名,根据所述第一传输参数和所述第二传输参数执行DH密钥协商算法得到第三传输参数;
    所述终端设备在对所述第二数字签名验证通过后,根据所述第一随机数、所述第二随机数中的至少一项,以及所述第三传输参数,采用密钥生成函数生成所述终端设备的通信密钥,根据所述第一随机数、所述第二随机数中的至少一项,以及所述通信密钥,所述第一传输参数,所述第二传输参数生成第一消息验证码,或者根据所述第一随机数、所述第二随机数中的至少一项,以及所述第一密钥,所述第一传输参数,所述第二传输参数生成 第三数字签名,将所述第一消息验证码或所述第三数字签名发送给所述网络认证服务器,以使所述网络认证服务器对所述第一消息验证码或所述第三数字签名进行验证。
  36. 根据权利要求32所述的方法,其特征在于,所述终端设备根据所述第一密钥,与网络认证服务器进行相互认证以得到所述终端设备与功能网元的通信密钥,包括:
    所述终端设备确定第一随机数,采用所述网络认证服务器的网络认证公钥对所述第一随机数进行加密处理,得到加密处理后的第一随机数,根据所述第一密钥和所述第一随机数,生成所述终端设备的第一数字签名,向所述网络认证服务器发送认证请求消息,所述认证请求消息包括所述第一数字签名、所述加密处理后的第一随机数以及所述终端设备的设备标识;
    所述终端设备接收所述网络认证服务器发送的加密处理后的第二随机数、第二数字签名,根据所述终端设备的第一密钥对所述加密的第二随机数进行解密,得到第二随机数,在对所述第二数字签名验证通过后,根据所述第一随机数、所述第二随机数中的至少一项生成所述终端设备的通信密钥,所述加密处理后的第二随机数为所述网络认证服务器采用所述终端设备的第一公钥对第二随机数加密处理得到。
  37. 根据权利要求32所述的方法,其特征在于,所述终端设备根据所述第一密钥,与网络认证服务器进行相互认证以得到所述终端设备与功能网元的通信密钥,包括:
    所述终端设备确定第一随机数,根据所述第一密钥和所述第一随机数,生成所述终端设备的第一数字签名,向所述网络认证服务器发送认证请求消息,所述认证请求消息包括所述第一数字签名、所述第一随机数,以及所述终端设备的设备标识;
    所述终端设备接收所述网络认证服务器发送的第二随机数、加密处理后的通信密钥、第二数字签名,所述加密处理后的通信密钥为所述网络认证服务器采用所述终端设备的第一公钥对通信密钥加密处理得到;
    所述终端设备在对所述第二数字签名验证通过后,根据所述终端设备的第一密钥对所述加密的通信密钥进行解密,得到通信密钥。
  38. 根据权利要求32所述的方法,其特征在于,所述方法还包括:
    所述终端设备接收所述用户管理服务器发送的第四参数集合;
    所述第四参数集合包括:所述用户管理服务器的标识、网络标识、业务参数中的至少一种。
  39. 根据权利要求38所述的方法,其特征在于,所述终端设备根据所述第一密钥,与网络认证服务器进行相互认证以得到所述终端设备与功能网元的通信密钥,包括:
    所述终端设备确定第一随机数,采用所述网络认证服务器的网络认证公钥对所述第一随机数进行加密处理,得到加密处理后的第一随机数,根据所述第一随机数、所述终端设备的设备标识、所述第四参数集合中的至少一项,以及所述第一密钥,生成所述终端设备的第一数字签名,向所述网络认证服务器发送认证请求消息,所述认证请求消息包括所述第一数字签名、所述加密处理后的第一随机数、所述终端设备的设备标识以及所述第四参数集合;
    所述终端设备接收所述网络认证服务器发送的加密处理后的第二随机数、第二数字签名,根据所述终端设备的第一密钥对所述加密的第二随机数进行解密,得到第二随机数,在对所述第二数字签名验证通过后,根据所述第一随机数、所述第二随机数中的至少一项, 以及所述终端设备的设备标识、所述第四参数集合中的至少一项,生成所述终端设备的通信密钥,所述加密处理后的第二随机数为所述网络认证服务器采用所述终端设备的第一公钥对第二随机数加密处理得到;
    所述终端设备根据所述终端设备的设备标识、所述第四参数集合中的至少一项,以及所述通信密钥,所述第一随机数,所述第二随机数生成第一消息验证码,或者根据所述终端设备的设备标识、所述第四参数集合中的至少一项,以及所述第一密钥,所述第一随机数,所述第二随机数生成第三数字签名,将所述第一消息验证码或所述第三数字签名发送给所述网络认证服务器,以使所述网络认证服务器对所述第一消息验证码或所述第三数字签名进行验证。
  40. 根据权利要求38所述的方法,其特征在于,所述终端设备根据所述第一密钥,与网络认证服务器进行相互认证以得到所述终端设备与功能网元的通信密钥,包括:
    所述终端设备确定第一随机数,根据所述第一随机数、所述终端设备的设备标识、所述第四参数集合中的至少一项,以及所述第一密钥,向所述网络认证服务器发送认证请求消息,所述认证请求消息包括所述第一数字签名、所述加密处理后的第一随机数、所述终端设备的设备标识以及所述第四参数集合;
    所述终端设备接收所述网络认证服务器发送的第二随机数、加密处理后的通信密钥、第二数字签名,根据所述终端设备的第一密钥对所述加密的通信密钥进行解密,得到通信密钥,所述加密处理后的通信密钥为所述网络认证服务器采用所述终端设备的第一公钥对通信密钥加密处理得到;
    所述终端设备在对所述第二数字签名验证通过后,根据所述终端设备的设备标识、所述第四参数集合中的至少一项,以及所述通信密钥,所述第一随机数,所述第二随机数生成第一消息验证码,或者根据所述终端设备的设备标识、所述第四参数集合中的至少一项,以及所述第一密钥,所述第一随机数,所述第二随机数生成第三数字签名,将所述第一消息验证码或所述第三数字签名发送给所述网络认证服务器,以使所述网络认证服务器对所述第一消息验证码或所述第三数字签名进行验证。
  41. 根据权利要求38所述的方法,其特征在于,所述终端设备根据所述第一密钥,与网络认证服务器进行相互认证以得到所述终端设备与功能网元的通信密钥,包括:
    所述终端设备确定第一随机数、DH协议的第一传输参数,根据所述终端设备的设备标识、所述第四参数集合中的至少一项,以及所述第一密钥,所述第一随机数,所述第一传输参数生成所述终端设备的第一数字签名,向网络认证服务器发送认证请求消息,所述认证请求消息包括所述第一数字签名、所述第一随机数、所述第一传输参数、所述终端设备的设备标识以及所述第四参数集合;
    所述终端设备接收所述网络认证服务器发送的第二随机数、第二传输参数、第二数字签名;
    所述终端设备在对所述第二数字签名验证通过后,根据所述第一随机数、所述第二随机数、所述终端设备的设备标识、所述第四参数集合中的至少一项,以及所述第三传输参数,采用密钥生成函数生成所述终端设备的通信密钥,根据所述终端设备的设备标识、所述第四参数集合中的至少一项,以及所述通信密钥,所述第一传输参数,所述第二传输参数生成第一消息验证码,或者根据所述第一随机数、所述第二随机数、所述终端设备的设 备标识、所述第四参数集合中的至少一项,以及所述第一密钥,所述第一传输参数,所述第二传输参数生成第三数字签名,将所述第一消息验证码或所述第三数字签名发送给所述网络认证服务器,以使所述网络认证服务器对所述第一消息验证码或所述第三数字签名进行验证。
  42. 根据权利要求38所述的方法,其特征在于,所述终端设备根据所述第一密钥,与网络认证服务器进行相互认证以得到所述终端设备与功能网元的通信密钥,包括:
    所述终端设备确定第一随机数,采用所述网络认证服务器的网络认证公钥对所述第一随机数进行加密处理,得到加密处理后的第一随机数,根据所述第一随机数、所述终端设备的设备标识、所述第四参数集合中的至少一项,以及所述第一密钥,生成所述终端设备的第一数字签名,向所述网络认证服务器发送认证请求消息,所述认证请求消息包括所述第一数字签名、所述加密处理后的第一随机数、所述终端设备的设备标识以及所述第四参数集合;
    所述终端设备接收所述网络认证服务器发送的加密处理后的第二随机数、第二数字签名,根据所述终端设备的第一密钥对所述加密的第二随机数进行解密,得到第二随机数,在对所述第二数字签名验证通过后,根据所述第一随机数、所述第二随机数中的至少一项,以及所述终端设备的设备标识、所述第四参数集合中的至少一项,生成所述终端设备的通信密钥,所述加密处理后的第二随机数为所述网络认证服务器采用所述终端设备的第一公钥对第二随机数加密处理得到。
  43. 根据权利要求38所述的方法,其特征在于,所述终端设备根据所述第一密钥,与网络认证服务器进行相互认证以得到所述终端设备与功能网元的通信密钥,包括:
    所述终端设备确定第一随机数,根据所述第一随机数、所述终端设备的设备标识、所述第四参数集合中的至少一项,以及所述第一密钥,生成所述终端设备的第一数字签名,向所述网络认证服务器发送认证请求消息,所述认证请求消息包括所述第一数字签名、所述第一随机数、所述终端设备的设备标识以及所述第四参数集合;
    所述终端设备接收所述网络认证服务器发送的第二随机数、加密处理后的通信密钥、第二数字签名,所述加密处理后的通信密钥为所述网络认证服务器采用所述终端设备的第一公钥对通信密钥加密处理得到;
    所述终端设备在对所述第二数字签名验证通过后,根据所述终端设备的第一密钥对所述加密的通信密钥进行解密,得到通信密钥。
  44. 根据权利要求32至43任一项所述的方法,其特征在于,所述终端设备确定第一随机数之前,还包括:
    所述终端设备向所述网络认证服务器发送公钥请求消息;
    所述终端设备接收所述网络认证服务器发送的所述网络认证服务器的网络认证公钥。
  45. 一种密钥认证方法,其特征在于,包括:
    网络认证服务器接收终端设备发送的认证请求消息,所述认证请求消息包括所述终端设备的设备标识;
    所述网络认证服务器接收业务中心服务器发送的与所述设备标识对应的所述终端设备的第一密钥;
    所述网络认证服务器根据所述第一密钥,与所述设备标识所述指示的终端设备进行相 互认证以得到所述终端设备与功能网元的通信密钥。
  46. 根据权利要求45所述的方法,其特征在于,所述认证请求消息还包括加密处理后的第一随机数,所述网络认证服务器根据所述第一密钥,与所述设备标识所述指示的终端设备进行相互认证以得到所述终端设备与功能网元的通信密钥,包括:
    所述网络认证服务器根据所述第一密钥对所述加密处理后的第一随机数进行解密,得到第一随机数,确定第二随机数,并采用所述第一密钥对所述第二随机数进行加密处理,得到加密处理后的第二随机数,所述加密处理后的第一随机数为所述终端设备采用所述第一密钥对第一随机数加密处理得到;
    所述网络认证服务器根据所述第一密钥、所述第一随机数、所述第二随机数中的至少一项,采用密钥生成函数生成所述通信密钥,根据所述通信密钥、所述第一密钥中的任一项,以及所述第一随机数,所述第二随机数,采用消息验证码生成函数生成第二消息验证码,将所述第二消息验证码和所述加密处理后的第二随机数,发送给所述终端设备;
    所述网络认证服务器接收所述终端设备发送的第一消息验证码,在对所述第一消息验证码验证通过后,向所述功能网元发送所述通信密钥。
  47. 根据权利要求45所述的方法,其特征在于,所述认证请求消息还包括第一随机数,所述网络认证服务器根据所述第一密钥,与所述设备标识所述指示的终端设备进行相互认证以得到所述终端设备与功能网元的通信密钥,包括:
    所述网络认证服务器确定第二随机数,根据所述第一随机数和所述第二随机数中的至少一项,以及所述第一密钥,采用密钥生成函数生成所述通信密钥,根据所述通信密钥、所述第一密钥中的任一项,以及所述第一随机数,所述第二随机数,采用消息验证码生成函数生成第二消息验证码,将所述第二消息验证码和所述第二随机数,发送给所述终端设备;
    所述网络认证服务器接收所述终端设备发送的第一消息验证码,在对所述第一消息验证码验证通过后,向所述功能网元发送所述通信密钥。
  48. 根据权利要求45所述的方法,其特征在于,所述认证请求消息还包括第一随机数,所述网络认证服务器根据所述第一密钥,与所述设备标识所述指示的终端设备进行相互认证以得到所述终端设备与功能网元的通信密钥,包括:
    所述网络认证服务器确定第二随机数,根据第三随机数确定所述通信密钥,采用第一密钥对所述通信密钥进行加密处理,得到加密处理后的通信密钥;
    所述网络认证服务器根据所述通信密钥、所述第一密钥中任一项,以及所述第一随机数,所述第二随机数,采用消息验证码生成函数生成第二消息验证码,将所述第二随机数、所述加密处理后的通信密钥、所述第二消息验证码,发送给所述终端设备;
    所述网络认证服务器接收所述终端设备发送的第一消息验证码,在对所述第一消息验证码验证通过后,向所述功能网元发送所述通信密钥。
  49. 根据权利要求45所述的方法,其特征在于,所述认证请求消息还包括第一随机数和第一传输参数,所述网络认证服务器根据所述第一密钥,与所述设备标识所述指示的终端设备进行相互认证以得到所述终端设备与功能网元的通信密钥,包括:
    所述网络认证服务器确定第二随机数、DH协议的第二传输参数,根据所述第一传输参数和所述第二传输参数执行DH密钥协商算法得到第三传输参数;
    所述网络认证服务器根据所述第一随机数、所述第二随机数中的至少一项,以及所述第三传输参数,采用密钥生成函数生成所述通信密钥,根据所述通信密钥、所述第一密钥中的任一项,以及所述第一传输参数,所述第二传输参数,采用消息验证码生成函数生成第二消息验证码,将所述第二随机数、第二传输参数,所述第二消息验证码,发送给所述终端设备;
    所述网络认证服务器接收所述终端设备发送的第一消息验证码,在对所述第一消息验证码验证通过后,向所述功能网元发送所述通信密钥。
  50. 根据权利要求45所述的方法,其特征在于,所述认证请求消息还包括第一消息验证码和加密处理后的第一随机数,所述网络认证服务器根据所述第一密钥,与所述设备标识所述指示的终端设备进行相互认证以得到所述终端设备与功能网元的通信密钥,包括:
    所述网络认证服务器根据所述第一密钥对所述加密的第一随机数进行解密,得到第一随机数,确定第二随机数,采用第一密钥对所述第二随机数进行加密处理,得到加密处理后的第二随机数,所述加密处理后的第一随机数为所述终端设备采用所述第一密钥对第一随机数加密处理得到;
    所述网络认证服务器在对所述第一消息验证码验证通过后,根据所述第一密钥、所述第一随机数、所述第二随机数中的至少一项,采用密钥生成函数生成所述通信密钥,根据所述通信密钥、所述第一密钥中任一项,以及所述第一随机数,所述第二随机数,采用消息验证码生成函数生成第二消息验证码,将所述加密处理后的第二随机数、所述第二消息验证码,发送给所述终端设备,向所述功能网元发送所述通信密钥。
  51. 根据权利要求45所述的方法,其特征在于,所述认证请求消息还包括第一消息验证码和第一随机数,所述网络认证服务器根据所述第一密钥,与所述设备标识所述指示的终端设备进行相互认证以得到所述终端设备与功能网元的通信密钥,包括:
    所述网络认证服务器确定第二随机数;
    所述网络认证服务器在对所述第一消息验证码验证通过后,根据所述第一随机数、所述第二随机数中的至少一项,以及所述第一密钥,采用密钥生成函数生成所述通信密钥,根据所述通信密钥、所述第一密钥中任一项,以及所述第一随机数、所述第二随机数中的至少一项,采用消息验证码生成函数生成第二消息验证码,将所述第二随机数、所述第二消息验证码,发送给所述终端设备,向所述功能网元发送所述通信密钥。
  52. 根据权利要求45所述的方法,其特征在于,所述认证请求消息还包括第一消息验证码和第一随机数,所述网络认证服务器根据所述第一密钥,与所述设备标识所述指示的终端设备进行相互认证以得到所述终端设备与功能网元的通信密钥,包括:
    所述网络认证服务器确定第二随机数,根据第三随机数确定所述通信密钥,采用第一密钥对所述通信密钥进行加密处理,得到加密处理后的通信密钥;
    所述网络认证服务器根据所述通信密钥、所述第一密钥中任一项,以及所述第一随机数,所述第二随机数,采用消息验证码生成函数生成第二消息验证码,将所述第二随机数、所述加密处理后的通信密钥、所述第二消息验证码,发送给所述终端设备,并向所述功能网元发送所述通信密钥。
  53. 根据权利要求45所述的方法,其特征在于,所述认证请求消息还包括第一消息 验证码和加密处理后的第一随机数,所述网络认证服务器根据所述第一密钥,与所述设备标识所述指示的终端设备进行相互认证以得到所述终端设备与功能网元的通信密钥,包括:
    所述网络认证服务器根据所述第一密钥对所述加密的第一随机数进行解密,得到第一随机数,确定第二随机数,采用第一密钥对所述第二随机数进行加密处理,得到加密处理后的第二随机数,所述加密处理后的第一随机数为所述终端设备采用所述第一密钥对第一随机数加密处理得到;
    所述网络认证服务器在对所述第一消息验证码验证通过后,根据所述第一密钥、所述第一随机数中的至少一项,采用密钥生成函数生成所述通信密钥,根据所述通信密钥、所述第一密钥中的任一项,以及所述第一随机数、所述第二随机数中的至少一项,采用消息验证码生成函数生成第二消息验证码,将所述加密处理后的第二随机数和所述第二消息验证码发送给所述终端设备,向所述功能网元发送所述通信密钥。
  54. 根据权利要求45所述的方法,其特征在于,所述认证请求消息还包括第一消息验证码和第一随机数,所述网络认证服务器根据所述第一密钥,与所述设备标识所述指示的终端设备进行相互认证以得到所述终端设备与功能网元的通信密钥,包括:
    所述网络认证服务器确定第二随机数;
    所述网络认证服务器在对所述第一消息验证码验证通过后,根据所述第一密钥和所述第一随机数,采用密钥生成函数生成所述通信密钥,根据所述通信密钥、所述第一密钥中的任一项,以及所述第一随机数、所述第二随机数中的至少一项,采用消息验证码生成函数生成第二消息验证码,将所述第二随机数和所述第二消息验证码发送给所述终端设备,向所述功能网元发送所述通信密钥。
  55. 根据权利要求45所述的方法,其特征在于,所述认证请求消息还包括第一随机数、第一消息验证码和第一传输参数,所述网络认证服务器根据所述第一密钥,与所述设备标识所述指示的终端设备进行相互认证以得到所述终端设备与功能网元的通信密钥,包括:
    所述网络认证服务器确定第二随机数、DH协议的第二传输参数,根据所述第一传输参数和所述第二传输参数执行DH密钥协商算法得到第三传输参数;
    所述网络认证服务器在对所述第一消息验证码验证通过后,根据所述第一随机数、所述第二随机数中的至少一项,以及所述第三传输参数,采用密钥生成函数生成所述通信密钥,根据所述通信密钥、所述第一密钥中任一项,以及所述第一传输参数、所述第二传输参数中任一项,采用消息验证码生成函数生成第二消息验证码,将所述第二随机数、所述第二传输参数,所述第二消息验证码,发送给所述终端设备,并向所述功能网元发送所述通信密钥。
  56. 根据权利要求45所述的方法,其特征在于,所述认证请求消息还包括第四参数集合;
    所述第四参数集合包括:所述用户管理服务器的标识、网络标识、业务参数中的至少一种。
  57. 根据权利要求56所述的方法,其特征在于,所述认证请求消息还包括加密处理后的第一随机数,所述网络认证服务器根据所述第一密钥,与所述设备标识所述指示的终 端设备进行相互认证以得到所述终端设备与功能网元的通信密钥,包括:
    所述网络认证服务器根据所述第一密钥对所述加密处理后的第一随机数进行解密,得到第一随机数,确定第二随机数,并采用所述第一密钥对所述第二随机数进行加密处理,得到加密处理后的第二随机数,所述加密处理后的第一随机数为所述终端设备采用所述第一密钥对第一随机数加密处理得到;
    所述网络认证服务器根据所述第一密钥、所述第一随机数、所述第二随机数中的至少一项,以及所述终端设备的设备标识、所述第四参数集合中的至少一项,采用密钥生成函数生成所述通信密钥,根据所述通信密钥、所述第一密钥中的任一项,以及所述终端设备的设备标识、所述第四参数集合中的至少一项,以及所述第一随机数,所述第二随机数,采用消息验证码生成函数生成第二消息验证码,将所述第二消息验证码和所述加密处理后的第二随机数,发送给所述终端设备;
    所述网络认证服务器接收所述终端设备发送的第一消息验证码,在对所述第一消息验证码验证通过后,向所述功能网元发送所述通信密钥。
  58. 根据权利要求56所述的方法,其特征在于,所述认证请求消息还包括第一随机数,所述网络认证服务器根据所述第一密钥,与所述设备标识所述指示的终端设备进行相互认证以得到所述终端设备与功能网元的通信密钥,包括:
    所述网络认证服务器确定第二随机数;
    所述网络认证服务器根据所述第一随机数、所述第二随机数、所述终端设备的设备标识、所述第四参数集合中的至少一项,以及所述第一密钥,采用密钥生成函数生成所述通信密钥,根据所述通信密钥、所述第一密钥中的任一项,以及所述终端设备的设备标识、所述第四参数集合中的至少一项,以及所述第一随机数,所述第二随机数,采用消息验证码生成函数生成第二消息验证码,将所述第二消息验证码和所述第二随机数,发送给所述终端设备;
    所述网络认证服务器接收所述终端设备发送的第一消息验证码,在对所述第一消息验证码验证通过后,向所述功能网元发送所述通信密钥。
  59. 根据权利要求56所述的方法,其特征在于,所述认证请求消息还包括第一随机数,所述网络认证服务器根据所述第一密钥,与所述设备标识所述指示的终端设备进行相互认证以得到所述终端设备与功能网元的通信密钥,包括:
    所述网络认证服务器确定第二随机数,根据第三随机数确定所述通信密钥,采用第一密钥对所述通信密钥进行加密处理,得到加密处理后的通信密钥;
    所述网络认证服务器根据所述通信密钥、所述第一密钥中任一项,以及所述终端设备的设备标识、所述第四参数集合中的至少一项,以及所述第一随机数,所述第二随机数,采用消息验证码生成函数生成第二消息验证码,将所述第二随机数、所述加密处理后的通信密钥、所述第二消息验证码,发送给所述终端设备;
    所述网络认证服务器接收所述终端设备发送的第一消息验证码,在对所述第一消息验证码验证通过后,向所述功能网元发送所述通信密钥。
  60. 根据权利要求56所述的方法,其特征在于,所述认证请求消息还包括第一随机数和第一传输参数,所述网络认证服务器根据所述第一密钥,与所述设备标识所述指示的终端设备进行相互认证以得到所述终端设备与功能网元的通信密钥,包括:
    所述网络认证服务器确定第二随机数、DH协议的第二传输参数,根据所述第一传输参数和所述第二传输参数执行DH密钥协商算法得到第三传输参数;
    所述网络认证服务器根据所述第一随机数、所述第二随机数、所述终端设备的设备标识、所述第四参数集合中的至少一项,以及所述第三传输参数,采用密钥生成函数生成所述通信密钥,根据所述通信密钥、所述第一密钥中的任一项,以及所述第一随机数、所述第二随机数、终端设备的设备标识、所述第四参数集合中的至少一项,以及所述第一传输参数,所述第二传输参数,采用消息验证码生成函数生成第二消息验证码,将所述第二随机数、第二传输参数,所述第二消息验证码,发送给所述终端设备;
    所述网络认证服务器接收所述终端设备发送的第一消息验证码,在对所述第一消息验证码验证通过后,向所述功能网元发送所述通信密钥。
  61. 根据权利要求56所述的方法,其特征在于,所述认证请求消息还包括第一消息验证码和加密处理后的第一随机数,所述网络认证服务器根据所述第一密钥,与所述设备标识所述指示的终端设备进行相互认证以得到所述终端设备与功能网元的通信密钥,包括:
    所述网络认证服务器根据所述第一密钥对所述加密的第一随机数进行解密,得到第一随机数,确定第二随机数,采用第一密钥对所述第二随机数进行加密处理,得到加密处理后的第二随机数,所述加密处理后的第一随机数为所述终端设备采用所述第一密钥对第一随机数加密处理得到;
    所述网络认证服务器在对所述第一消息验证码验证通过后,根据所述第一密钥、所述第一随机数、所述第二随机数中的至少一项,以及所述终端设备的设备标识、所述第四参数集合中的至少一项,采用密钥生成函数生成所述通信密钥,根据所述通信密钥、所述第一密钥中任一项,以及所述第一随机数、所述第二随机数、所述终端设备的设备标识、所述第四参数集合中的至少一项,采用消息验证码生成函数生成第二消息验证码,将所述加密处理后的第二随机数、所述第二消息验证码,发送给所述终端设备,向所述功能网元发送所述通信密钥。
  62. 根据权利要求56所述的方法,其特征在于,所述认证请求消息还包括第一消息验证码和第一随机数,所述网络认证服务器根据所述第一密钥,与所述设备标识所述指示的终端设备进行相互认证以得到所述终端设备与功能网元的通信密钥,包括:
    所述网络认证服务器确定第二随机数;
    所述网络认证服务器在对所述第一消息验证码验证通过后,根据所述第一随机数、所述第二随机数、所述终端设备的设备标识、所述第四参数集合中的至少一项,以及所述第一密钥,采用密钥生成函数生成所述通信密钥,根据所述通信密钥、所述第一密钥中任一项,以及所述第一随机数、所述第二随机数、所述终端设备的设备标识、所述第四参数集合中的至少一项,采用消息验证码生成函数生成第二消息验证码,将所述第二随机数、所述第二消息验证码,发送给所述终端设备,向所述功能网元发送所述通信密钥。
  63. 根据权利要求56所述的方法,其特征在于,所述认证请求消息还包括第一消息验证码和第一随机数,所述网络认证服务器根据所述第一密钥,与所述设备标识所述指示的终端设备进行相互认证以得到所述终端设备与功能网元的通信密钥,包括:
    所述网络认证服务器确定第二随机数,根据第三随机数确定所述通信密钥,采用第一 密钥对所述通信密钥进行加密处理,得到加密处理后的通信密钥;
    所述网络认证服务器根据所述通信密钥、所述第一密钥中任一项,以及所述第一随机数、所述第二随机数、所述终端设备的设备标识、所述第四参数集合中的任一项,采用消息验证码生成函数生成第二消息验证码,将所述第二随机数、所述加密处理后的通信密钥、所述第二消息验证码,发送给所述终端设备,并向所述功能网元发送所述通信密钥。
  64. 根据权利要求56所述的方法,其特征在于,所述认证请求消息还包括第一消息验证码和加密处理后的第一随机数,所述网络认证服务器根据所述第一密钥,与所述设备标识所述指示的终端设备进行相互认证以得到所述终端设备与功能网元的通信密钥,包括:
    所述网络认证服务器根据所述第一密钥对所述加密的第一随机数进行解密,得到第一随机数,确定第二随机数,采用第一密钥对所述第二随机数进行加密处理,得到加密处理后的第二随机数,所述加密处理后的第一随机数为所述终端设备采用所述第一密钥对第一随机数加密处理得到;
    所述网络认证服务器在对所述第一消息验证码验证通过后,根据所述第一密钥、所述第一随机数中的至少一项,以及所述终端设备的设备标识、所述第四参数集合中的至少一项,采用密钥生成函数生成所述通信密钥,根据所述通信密钥、所述第一密钥中的任一项,以及所述第一随机数、所述第二随机数、所述终端设备的设备标识、所述第四参数集合中的至少一项,采用消息验证码生成函数生成第二消息验证码,将所述加密处理后的第二随机数和所述第二消息验证码发送给所述终端设备,向所述功能网元发送所述通信密钥。
  65. 根据权利要求56所述的方法,其特征在于,所述认证请求消息还包括第一消息验证码和第一随机数,所述网络认证服务器根据所述第一密钥,与所述设备标识所述指示的终端设备进行相互认证以得到所述终端设备与功能网元的通信密钥,包括:
    所述网络认证服务器确定第二随机数;
    所述网络认证服务器在对所述第一消息验证码验证通过后,根据所述第一随机数、所述终端设备的设备标识、所述第四参数集合中的至少一项,以及所述第一密钥,采用密钥生成函数生成所述通信密钥,根据所述通信密钥、所述第一密钥中的任一项,以及所述第一随机数、所述第二随机数、所述终端设备的设备标识、所述第四参数集合中的至少一项,采用消息验证码生成函数生成第二消息验证码,将所述第二随机数和所述第二消息验证码发送给所述终端设备,向所述功能网元发送所述通信密钥。
  66. 根据权利要求56所述的方法,其特征在于,所述认证请求消息还包括第一随机数、第一消息验证码和第一传输参数,所述网络认证服务器根据所述第一密钥,与所述设备标识所述指示的终端设备进行相互认证以得到所述终端设备与功能网元的通信密钥,包括:
    所述网络认证服务器确定第二随机数、DH协议的第二传输参数,根据所述第一传输参数和所述第二传输参数执行DH密钥协商算法得到第三传输参数;
    所述网络认证服务器在对所述第一消息验证码验证通过后,根据所述第一随机数、所述第二随机数、所述终端设备的设备标识、所述第四参数集合中的至少一项,以及所述第三传输参数,采用密钥生成函数生成所述通信密钥,根据所述通信密钥、所述第一密钥中任一项,以及所述终端设备的设备标识、所述第四参数集合、所述第一传输参数、所述第 二传输参数中任一项,采用消息验证码生成函数生成第二消息验证码,将所述第二随机数、所述第二传输参数,所述第二消息验证码,发送给所述终端设备,并向所述功能网元发送所述通信密钥。
  67. 一种密钥认证方法,其特征在于,包括:
    网络认证服务器接收终端设备发送的认证请求消息,所述认证请求消息包括所述终端设备的设备标识,所述终端设备的设备标识为所述终端设备的第一公钥;
    所述网络认证服务器根据所述第一公钥、所述网络认证服务器的网络认证公钥、所述网络认证服务器的网络认证私钥与所述终端设备进行相互认证以得到所述终端设备与功能网元的通信密钥。
  68. 根据权利要求67所述的方法,其特征在于,所述认证请求消息还包括第一数字签名和加密处理后的第一随机数,所述网络认证服务器根据所述第一公钥、所述网络认证服务器的网络认证公钥、所述网络认证服务器的网络认证私钥与所述终端设备进行相互认证以得到所述终端设备与功能网元的通信密钥,包括:
    所述网络认证服务器根据所述网络认证服务器的网络认证私钥对所述加密的第一随机数进行解密,得到第一随机数,确定第二随机数,采用所述终端设备的第一公钥对所述第二随机数进行加密处理,得到加密处理后的第二随机数,所述加密处理后的第一随机数为所述终端设备采用所述网络认证服务器的网络认证公钥对第一随机数加密处理得到;
    所述网络认证服务器在根据预设全局公钥和所述终端设备的第一公钥对所述第一数字签名验证通过后,根据所述第一随机数、所述第二随机数中的至少一项,生成所述通信密钥,根据所述网络认证服务器的网络认证私钥、所述第一随机数和所述第二随机数生成第二数字签名,将所述加密处理后的第二随机数、所述第二数字签名,发送给所述终端设备;
    所述网络认证服务器接收所述终端设备发送的第一消息验证码或第三数字签名,在对所述第一消息验证码或所述第三数字签名验证通过后,向所述功能网元发送所述通信密钥。
  69. 根据权利要求67所述的方法,其特征在于,所述认证请求消息还包括第一数字签名和第一随机数,所述网络认证服务器根据所述第一公钥、所述网络认证服务器的网络认证公钥、所述网络认证服务器的网络认证私钥与所述终端设备进行相互认证以得到所述终端设备与功能网元的通信密钥,包括:
    所述网络认证服务器确定第二随机数;
    所述网络认证服务器在根据预设全局公钥和所述终端设备的第一公钥对所述第一数字签名验证通过后,根据第三随机数确定所述通信密钥,采用所述终端设备的第一公钥对所述通信密钥进行加密处理,得到加密处理后的通信密钥,根据所述网络认证服务器的网络认证私钥、所述第一随机数和所述第二随机数生成第二数字签名,将所述第二随机数、所述加密处理后的通信密钥、所述第二数字签名,发送给所述终端设备;
    所述网络认证服务器接收所述终端设备发送的第一消息验证码或第三数字签名,在对所述第一消息验证码或所述第三数字签名验证通过后,向所述功能网元发送所述通信密钥。
  70. 根据权利要求67所述的方法,其特征在于,所述认证请求消息还包括第一数字 签名、第一随机数和第一传输参数,所述网络认证服务器根据所述第一公钥、所述网络认证服务器的网络认证公钥、所述网络认证服务器的网络认证私钥与所述终端设备进行相互认证以得到所述终端设备与功能网元的通信密钥,包括:
    所述网络认证服务器确定第二随机数、DH协议的第二传输参数,根据所述第一传输参数和所述第二传输参数执行DH密钥协商算法得到第三传输参数;
    所述网络认证服务器在根据预设全局公钥和所述终端设备的第一公钥对所述第一数字签名验证通过后,根据所述第一随机数、所述第二随机数中的至少一项,以及所述第三传输参数,采用密钥生成函数生成所述通信密钥,根据所述第一随机数、所述第二随机数中的至少一项,以及所述网络认证服务器的网络认证私钥,所述第一传输参数,所述第二传输参数,生成第二数字签名,将所述第二随机数、所述加密处理后的第二传输参数、所述第二数字签名,发送给所述终端设备;
    所述网络认证服务器接收所述终端设备发送的第一消息验证码或第三数字签名,在对所述第一消息验证码或所述第三数字签名验证通过后,向所述功能网元发送所述通信密钥。
  71. 根据权利要求67所述的方法,其特征在于,所述认证请求消息还包括第一数字签名和加密处理后的第一随机数,所述网络认证服务器根据所述第一公钥、所述网络认证服务器的网络认证公钥、所述网络认证服务器的网络认证私钥与所述终端设备进行相互认证以得到所述终端设备与功能网元的通信密钥,包括:
    所述网络认证服务器根据所述网络认证服务器的网络认证私钥对所述加密的第一随机数进行解密,得到第一随机数,确定第二随机数,采用所述终端设备的第一公钥对所述第二随机数进行加密处理,得到加密处理后的第二随机数,所述加密处理后的第一随机数为所述终端设备采用所述网络认证服务器的网络认证公钥对第一随机数加密处理得到;
    所述网络认证服务器在根据预设全局公钥和所述终端设备的第一公钥对所述第一数字签名验证通过后,根据所述第一随机数、所述第二随机数中的至少一项,生成所述通信密钥,根据所述网络认证服务器的网络认证私钥、所述第一随机数和所述第二随机数生成第二数字签名,将所述加密处理后的第二随机数、所述第二数字签名,发送给所述终端设备,并向所述功能网元发送所述通信密钥。
  72. 根据权利要求67所述的方法,其特征在于,所述认证请求消息还包括第一数字签名和第一随机数,所述网络认证服务器根据所述第一公钥、所述网络认证服务器的网络认证公钥、所述网络认证服务器的网络认证私钥与所述终端设备进行相互认证以得到所述终端设备与功能网元的通信密钥,包括:
    所述网络认证服务器确定第二随机数;
    所述网络认证服务器在根据预设全局公钥和所述终端设备的第一公钥对所述第一数字签名验证通过后,根据第三随机数确定所述通信密钥,采用所述终端设备的第一公钥对所述通信密钥进行加密处理,得到加密处理后的通信密钥,根据所述网络认证服务器的网络认证私钥、所述第一随机数和所述第二随机数生成第二数字签名,将所述第二随机数、所述加密处理后的通信密钥和所述第二数字签名发送给所述终端设备,并向所述功能网元发送所述通信密钥。
  73. 根据权利要求67所述的方法,其特征在于,所述认证请求消息还包括第四参数 集合;
    所述第四参数集合包括:所述用户管理服务器的标识、网络标识、业务参数中的至少一种。
  74. 根据权利要求73所述的方法,其特征在于,所述认证请求消息还包括第一数字签名和加密处理后的第一随机数,所述网络认证服务器根据所述第一公钥、所述网络认证服务器的网络认证公钥、所述网络认证服务器的网络认证私钥与所述终端设备进行相互认证以得到所述终端设备与功能网元的通信密钥,包括:
    所述网络认证服务器根据所述网络认证服务器的网络认证私钥对所述加密的第一随机数进行解密,得到第一随机数,确定第二随机数,采用所述终端设备的第一公钥对所述第二随机数进行加密处理,得到加密处理后的第二随机数,所述加密处理后的第一随机数为所述终端设备采用所述网络认证服务器的网络认证公钥对第一随机数加密处理得到;
    所述网络认证服务器在根据预设全局公钥和所述终端设备的第一公钥对所述第一数字签名验证通过后,根据所述第一随机数、所述第二随机数中的至少一项,以及所述终端设备的设备标识、所述第四参数集合中的至少一项,生成所述通信密钥,根据所述终端设备的设备标识、所述第四参数集合中的至少一项,以及所述网络认证服务器的网络认证私钥,所述第一随机数,所述第二随机数生成第二数字签名,将所述加密处理后的第二随机数、所述第二数字签名,发送给所述终端设备;
    所述网络认证服务器接收所述终端设备发送的第一消息验证码或第三数字签名,在对所述第一消息验证码或所述第三数字签名验证通过后,向所述功能网元发送所述通信密钥。
  75. 根据权利要求73所述的方法,其特征在于,所述认证请求消息还包括第一数字签名和第一随机数,所述网络认证服务器根据所述第一公钥、所述网络认证服务器的网络认证公钥、所述网络认证服务器的网络认证私钥与所述终端设备进行相互认证以得到所述终端设备与功能网元的通信密钥,包括:
    所述网络认证服务器确定第二随机数;
    所述网络认证服务器在根据预设全局公钥和所述终端设备的第一公钥对所述第一数字签名验证通过后,根据第三随机数确定所述通信密钥,采用所述终端设备的第一公钥对所述通信密钥进行加密处理,得到加密处理后的通信密钥,根据所述终端设备的设备标识、所述第四参数集合中的至少一项,以及所述网络认证服务器的网络认证私钥,所述第一随机数,所述第二随机数生成第二数字签名,将所述第二随机数、所述加密处理后的通信密钥、所述第二数字签名,发送给所述终端设备;
    所述网络认证服务器接收所述终端设备发送的第一消息验证码或第三数字签名,在对所述第一消息验证码或所述第三数字签名验证通过后,向所述功能网元发送所述通信密钥。
  76. 根据权利要求73所述的方法,其特征在于,所述认证请求消息还包括第一数字签名、第一随机数和第一传输参数,所述网络认证服务器根据所述第一公钥、所述网络认证服务器的网络认证公钥、所述网络认证服务器的网络认证私钥与所述终端设备进行相互认证以得到所述终端设备与功能网元的通信密钥,包括:
    所述网络认证服务器确定第二随机数、DH协议的第二传输参数,根据所述第一传输 参数和所述第二传输参数执行DH密钥协商算法得到第三传输参数;
    所述网络认证服务器在根据预设全局公钥和所述终端设备的第一公钥对所述第一数字签名验证通过后,根据所述第一随机数、所述第二随机数中的至少一项,以及所述第三传输参数,采用密钥生成函数生成所述通信密钥,根据所述第一随机数、所述第二随机数中的至少一项,以及所述网络认证服务器的网络认证私钥,所述第一传输参数,所述第二传输参数,生成第二数字签名,将所述第二随机数、所述加密处理后的第二传输参数、所述第二数字签名,发送给所述终端设备;
    所述网络认证服务器接收所述终端设备发送的第一消息验证码或第三数字签名,在对所述第一消息验证码或所述第三数字签名验证通过后,向所述功能网元发送所述通信密钥。
  77. 根据权利要求73所述的方法,其特征在于,所述认证请求消息还包括第一数字签名和加密处理后的第一随机数,所述网络认证服务器根据所述第一公钥、所述网络认证服务器的网络认证公钥、所述网络认证服务器的网络认证私钥与所述终端设备进行相互认证以得到所述终端设备与功能网元的通信密钥,包括:
    所述网络认证服务器根据所述网络认证服务器的网络认证私钥对所述加密的第一随机数进行解密,得到第一随机数,确定第二随机数,采用所述终端设备的第一公钥对所述第二随机数进行加密处理,得到加密处理后的第二随机数,所述加密处理后的第一随机数为所述终端设备采用所述网络认证服务器的网络认证公钥对第一随机数加密处理得到;
    所述网络认证服务器在根据预设全局公钥和所述终端设备的第一公钥对所述第一数字签名验证通过后,根据所述第一随机数、所述第二随机数中的至少一项,以及所述终端设备的设备标识、所述第四参数集合中的至少一项,生成所述通信密钥,根据所述终端设备的设备标识、所述第四参数集合中的至少一项,以及所述网络认证服务器的网络认证私钥,所述第一随机数,所述第二随机数生成第二数字签名,将所述加密处理后的第二随机数、所述第二数字签名,发送给所述终端设备,并向所述功能网元发送所述通信密钥。
  78. 根据权利要求73所述的方法,其特征在于,所述认证请求消息还包括第一数字签名和第一随机数,所述网络认证服务器根据所述第一公钥、所述网络认证服务器的网络认证公钥、所述网络认证服务器的网络认证私钥与所述终端设备进行相互认证以得到所述终端设备与功能网元的通信密钥,包括:
    所述网络认证服务器确定第二随机数;
    所述网络认证服务器在根据预设全局公钥和所述终端设备的第一公钥对所述第一数字签名验证通过后,根据第三随机数确定所述通信密钥,采用所述终端设备的第一公钥对所述通信密钥进行加密处理,得到加密处理后的通信密钥,根据所述终端设备的设备标识、所述第四参数集合中的至少一项,以及所述网络认证服务器的网络认证私钥,所述第一随机数,所述第二随机数生成第二数字签名,将所述第二随机数、所述加密处理后的通信密钥和所述第二数字签名发送给所述终端设备,并向所述功能网元发送所述通信密钥。
  79. 根据权利要求67至78任一项所述的方法,其特征在于,所述方法还包括:
    网络认证服务器接收所述终端设备发送的公钥请求消息;
    所述网络认证服务器向所述终端设备发送所述网络认证服务器的网络认证公钥。
  80. 一种业务中心服务器,其特征在于,包括:
    密钥请求接收模块,用于接收用户管理服务器发送的第一密钥请求消息,所述第一密钥请求消息用于指示所述业务中心服务器生成所述用户管理服务器所管理的终端设备的第一密钥;
    密钥生成模块,用于根据所述第一密钥请求消息生成所述终端设备的第一密钥,并将所述第一密钥发送给所述用户管理服务器。
  81. 根据权利要求80所述的服务器,其特征在于,所述密钥生成模块具体用于:
    根据第一参数集合,采用密钥生成函数生成所述终端设备的第一密钥;
    其中,所述第一参数集合包括第一密钥随机数、第一密钥新鲜参数、第一密钥的预设时间参数、共享密钥中的至少一种,所述共享密钥为所述用户管理服务器与所述业务中心服务器的共享密钥。
  82. 根据权利要求80所述的服务器,其特征在于,所述第一密钥请求消息中包括所述终端设备的设备标识、所述用户管理服务器的标识、网络标识、业务参数中的至少一种,所述密钥生成模块具体用于:
    根据第二参数集合,采用密钥生成函数生成所述终端设备的第一密钥;
    其中,所述第二参数集合包括第一密钥随机数、第一密钥新鲜参数、第一密钥的预设时间参数、共享密钥、所述用户管理服务器的标识、网络标识、业务参数、所述终端设备的设备标识中的至少一种,所述共享密钥为所述用户管理服务器与所述业务中心服务器的共享密钥。
  83. 根据权利要求80所述的服务器,其特征在于,所述第一密钥请求消息中包括所述终端设备的设备标识,所述密钥生成模块具体用于:
    根据预设全局私钥和所述终端设备的设备标识,基于设备身份生成算法生成所述终端设备的第一密钥;
    其中,所述终端设备的第一密钥为所述终端设备的第一私钥,所述终端设备的设备标识为与所述第一私钥对应的所述终端设备的第一公钥。
  84. 根据权利要求80所述的服务器,其特征在于,所述第一密钥请求消息中包括所述终端设备的设备标识,所述密钥生成模块具体用于:
    根据所述预设全局私钥、所述终端设备的设备标识和第三参数集合,基于设备身份生成算法生成所述终端设备的第一密钥;
    其中,所述第三参数集合包含第一密钥随机数、第一密钥新鲜参数、第一密钥的预设时间参数中的至少一种参数;
    其中,所述终端设备的第一密钥为所述终端设备的第一私钥,所述终端设备的设备标识为与所述第一私钥对应的所述终端设备的第一公钥。
  85. 根据权利要求80至82任一项所述的服务器,其特征在于,所述密钥生成模块还用于:
    将所述终端设备的第一密钥发送给所述网络认证服务器以使得所述网络认证服务器根据所述第一密钥与所述终端设备进行相互认证。
  86. 一种用户管理服务器,其特征在于,包括:
    请求发送模块,用于向业务中心服务器发送第一密钥请求消息,所述第一密钥请求消息用于指示所述业务中心服务器生成所述用户管理服务器所管理的终端设备的第一密钥;
    密钥接收模块,用于接收所述业务中心服务器发送的所述终端设备的第一密钥;
    密钥发送模块,用于将所述终端设备的第一密钥发送给所述终端设备以使得所述终端设备根据所述第一密钥与所述网络认证服务器进行相互认证。
  87. 根据权利要求86所述的服务器,其特征在于,所述第一密钥为所述终端设备的第一私钥,所述终端设备的设备标识为与所述第一私钥对应的所述终端设备的第一公钥。
  88. 根据权利要求86或87所述的服务器,其特征在于,所述密钥发送模块还用于:
    将第四参数集合发送给所述终端设备,所述第四参数集合包括所述用户管理服务器的标识、网络标识、业务参数中的至少一种。
  89. 一种终端设备,其特征在于,包括:
    接收模块,用于接收用户管理服务器发送的所述终端设备的第一密钥;
    认证模块,用于根据所述第一密钥,与网络认证服务器进行相互认证以得到所述终端设备与功能网元的通信密钥。
  90. 根据权利要求89所述的终端设备,其特征在于,所述认证模块具体用于:
    确定第一随机数,并采用所述第一密钥对所述第一随机数进行加密处理,以得到加密处理后的第一随机数,向网络认证服务器发送认证请求消息,所述认证请求消息包括所述加密处理后的第一随机数以及所述终端设备的设备标识;
    接收所述网络认证服务器发送的第二消息验证码、加密处理后的第二随机数,根据所述第一密钥对所述加密的第二随机数进行解密,得到第二随机数,所述加密处理后的第二随机数为所述网络认证服务器采用所述第一密钥对第二随机数加密处理得到;
    在对所述第二消息验证码验证通过后,根据所述第一密钥、所述第一随机数、所述第二随机数中的至少一项,采用密钥生成函数生成所述终端设备的通信密钥,根据所述通信密钥、所述第一密钥中的任一项,以及所述第一随机数,所述第二随机数,采用消息验证码生成函数生成第一消息验证码,将所述第一消息验证码,发送给所述网络认证服务器,以使所述网络认证服务器对所述第一消息验证码进行验证。
  91. 根据权利要求89所述的终端设备,其特征在于,所述认证模块具体用于:
    确定第一随机数,向网络认证服务器发送认证请求消息,所述认证请求消息包括所述第一随机数以及所述终端设备的设备标识;
    接收所述网络认证服务器发送的第二随机数、第二消息验证码;
    在对所述第二消息验证码验证通过后,根据所述第一随机数和所述第二随机数中的至少一项,以及所述第一密钥,采用密钥生成函数生成所述终端设备的通信密钥,根据所述通信密钥、所述第一密钥中的任一项,以及所述第一随机数,所述第二随机数,采用消息验证码生成函数生成第一消息验证码,将所述第一消息验证码,发送给所述网络认证服务器,以使所述网络认证服务器对所述第一消息验证码进行验证。
  92. 根据权利要求89所述的终端设备,其特征在于,所述认证模块具体用于:
    确定第一随机数,向网络认证服务器发送认证请求消息,所述认证请求消息包括所述第一随机数以及所述终端设备的设备标识;
    接收所述网络认证服务器发送的第二随机数、加密处理后的通信密钥、第二消息验证码,根据所述第一密钥对所述加密处理后的通信密钥进行解密,得到通信密钥,所述加密处理后的通信密钥为所述网络认证服务器采用所述第一密钥对通信密钥加密处理得到;
    在对所述第二消息验证码验证通过后,根据所述通信密钥、所述第一密钥中任一项,以及所述第一随机数,所述第二随机数,采用消息验证码生成函数生成第一消息验证码,将所述第一消息验证码,发送给所述网络认证服务器,以使所述网络认证服务器对所述第一消息验证码进行验证。
  93. 根据权利要求89所述的终端设备,其特征在于,所述认证模块具体用于:
    确定第一随机数、DH协议的第一传输参数,向网络认证服务器发送认证请求消息,所述认证请求消息包括所述第一随机数、所述第一传输参数以及所述终端设备的设备标识;
    接收所述网络认证服务器发送的第二随机数、第二传输参数、第二消息验证码,根据所述第一传输参数和所述第二传输参数执行DH密钥协商算法得到第三传输参数;
    在对所述第二消息验证码验证通过后,根据所述第一随机数、所述第二随机数中的至少一项,以及所述第三传输参数,采用密钥生成函数生成所述终端设备的通信密钥,根据所述通信密钥、所述第一密钥中的任一项,以及所述第一随机数,所述第二随机数,采用消息验证码生成函数生成第一消息验证码,将所述第一消息验证码,发送给所述网络认证服务器,以使所述网络认证服务器对所述第一消息验证码进行验证。
  94. 根据权利要求89所述的终端设备,其特征在于,所述认证模块具体用于:
    确定第一随机数,采用第一密钥对所述第一随机数进行加密处理,得到加密处理后的第一随机数,根据所述第一密钥和所述第一随机数,采用消息验证码生成函数生成第一消息验证码,向网络认证服务器发送认证请求消息,所述认证请求消息包括所述第一消息验证码、所述加密处理后的第一随机数以及所述终端设备的设备标识;
    接收所述网络认证服务器发送的加密处理后的第二随机数、第二消息验证码,根据所述第一密钥对所述加密的第二随机数进行解密,得到第二随机数,所述加密处理后的第二随机数为所述网络认证服务器采用所述第一密钥对第二随机数加密处理得到;
    在对所述第二消息验证码验证通过后,根据所述第一密钥、所述第一随机数、所述第二随机数中的至少一项,采用密钥生成函数生成所述终端设备的通信密钥。
  95. 根据权利要求89所述的终端设备,其特征在于,所述认证模块具体用于:
    确定第一随机数,根据所述第一密钥和所述第一随机数,采用消息验证码生成函数生成第一消息验证码,向网络认证服务器发送认证请求消息,所述认证请求消息包括所述第一消息验证码、所述第一随机数以及所述终端设备的设备标识;
    接收所述网络认证服务器发送的第二随机数、第二消息验证码;
    在对所述第二消息验证码验证通过后,根据所述第一随机数、所述第二随机数中的至少一项,以及所述第一密钥,采用密钥生成函数生成所述终端设备的通信密钥。
  96. 根据权利要求89所述的终端设备,其特征在于,所述认证模块具体用于:
    确定第一随机数,根据所述第一密钥和所述第一随机数,采用消息验证码生成函数生成第一消息验证码,向网络认证服务器发送认证请求消息,所述认证请求消息包括所述第一消息验证码、所述第一随机数以及所述终端设备的设备标识;
    接收所述网络认证服务器发送的第二随机数、加密处理后的通信密钥、第二消息验证码,所述加密处理后的通信密钥为所述网络认证服务器采用所述第一密钥对通信密钥加密处理得到;
    在对所述第二消息验证码验证通过后,根据所述第一密钥对所述加密处理后的通信密钥进行解密,得到通信密钥。
  97. 根据权利要求89所述的终端设备,其特征在于,所述认证模块具体用于:
    确定第一随机数,采用第一密钥对所述第一随机数进行加密处理,得到加密处理后的第一随机数,根据所述第一密钥、所述第一随机数中的至少一项,采用密钥生成函数生成所述终端设备的通信密钥,根据所述第一密钥、所述通信密钥中的任一项,以及所述第一随机数,采用消息验证码生成函数生成第一消息验证码,向网络认证服务器发送认证请求消息,所述认证请求消息包括所述第一消息验证码、所述加密处理后的第一随机数,以及所述终端设备的设备标识;
    接收所述网络认证服务器发送的第二消息验证码和加密处理后的第二随机数,根据所述第一密钥对所述加密的第二随机数进行解密,得到第二随机数,所述加密处理后的第二随机数为所述网络认证服务器采用所述第一密钥对第二随机数加密处理得到;
    对所述第二消息验证码进行验证并确定验证通过。
  98. 根据权利要求89所述的终端设备,其特征在于,所述认证模块具体用于:
    确定第一随机数,根据所述第一密钥和所述第一随机数,采用密钥生成函数生成所述网络认证服务器的通信密钥,根据所述第一密钥、所述通信密钥中的任一项,以及所述第一随机数,采用消息验证码生成函数生成第一消息验证码,向网络认证服务器发送认证请求消息,所述认证请求消息包括所述第一消息验证码、所述第一随机数以及所述终端设备的设备标识;
    接收所述网络认证服务器发送的第二随机数和第二消息验证码;
    对所述第二消息验证码进行验证并确定验证通过。
  99. 根据权利要求89所述的终端设备,其特征在于,所述认证模块具体用于:
    确定第一随机数、DH协议的第一传输参数,根据所述第一密钥和所述第一随机数,采用消息验证码生成函数生成第一消息验证码,向网络认证服务器发送认证请求消息,所述认证请求消息包括所述第一消息验证码、所述第一随机数、所述第一传输参数以及所述终端设备的设备标识;
    接收所述网络认证服务器发送的第二随机数、第二传输参数、第二消息验证码,根据所述第一传输参数和所述第二传输参数执行DH密钥协商算法得到第三传输参数;
    根据所述第一随机数、所述第二随机数中的至少一项,以及所述第三传输参数,采用密钥生成函数生成所述终端设备的通信密钥,对所述第二消息验证码进行验证并确定通过验证。
  100. 根据权利要求89所述的终端设备,其特征在于,所述接收模块还用于接收所述用户管理服务器发送的第四参数集合;
    所述第四参数集合包括:所述用户管理服务器的标识、网络标识、业务参数中的至少一种。
  101. 根据权利要求100所述的终端设备,其特征在于,所述认证模块具体用于:
    确定第一随机数,并采用所述第一密钥对所述第一随机数进行加密处理,以得到加密处理后的第一随机数,向网络认证服务器发送认证请求消息,所述认证请求消息包括所述加密处理后的第一随机数、所述终端设备的设备标识以及所述第四参数集合;
    接收所述网络认证服务器发送的加密处理后的第二随机数、第二消息验证码,根据所述第一密钥对所述加密的第二随机数进行解密,得到第二随机数,所述加密处理后的第二随机数为所述网络认证服务器采用所述第一密钥对第二随机数加密处理得到;
    在对所述第二消息验证码验证通过后,根据所述第一密钥、所述第一随机数、所述第二随机数中的至少一项,以及所述终端设备的设备标识、所述第四参数集合中的至少一项,采用密钥生成函数生成所述终端设备的通信密钥,根据所述通信密钥、所述第一密钥中的任一项,以及所述终端设备的设备标识、所述第四参数集合中的至少一项,以及所述第一随机数,所述第二随机数,采用消息验证码生成函数生成第一消息验证码,并将所述第一消息验证码,发送给所述网络认证服务器,以使所述网络认证服务器对所述第一消息验证码进行验证。
  102. 根据权利要求100所述的终端设备,其特征在于,所述认证模块具体用于:
    确定第一随机数,向网络认证服务器发送认证请求消息,所述认证请求消息包括所述第一随机数、所述终端设备的设备标识以及所述第四参数集合;
    接收所述网络认证服务器发送的第二随机数、第二消息验证码;
    在对所述第二消息验证码验证通过后,根据所述第一随机数、所述第二随机数、所述终端设备的设备标识、所述第四参数集合中的至少一项,以及所述第一密钥采用密钥生成函数生成所述终端设备的通信密钥,根据所述通信密钥、所述第一密钥中的任一项,以及所述终端设备的设备标识、所述第四参数集合中的至少一项,以及所述第一随机数,所述第二随机数,采用消息验证码生成函数生成第一消息验证码,并将所述第一消息验证码,发送给所述网络认证服务器,以使所述网络认证服务器对所述第一消息验证码进行验证。
  103. 根据权利要求100所述的终端设备,其特征在于,所述认证模块具体用于:
    确定第一随机数,向网络认证服务器发送认证请求消息,所述认证请求消息包括所述第一随机数、所述终端设备的设备标识以及所述第四参数集合;
    接收所述网络认证服务器发送的第二随机数、加密处理后的通信密钥、第二消息验证码,根据所述第一密钥对所述加密处理后的通信密钥进行解密,得到通信密钥,所述加密处理后的通信密钥为所述网络认证服务器采用所述第一密钥对通信密钥加密处理得到;
    在对所述第二消息验证码验证通过后,根据所述通信密钥、所述第一密钥中的任一项,以及所述终端设备的设备标识、所述第四参数集合中的至少一项,以及所述第一随机数,所述第二随机数,采用消息验证码生成函数生成第一消息验证码,将所述第一消息验证码,发送给所述网络认证服务器,以使所述网络认证服务器对所述第一消息验证码进行验证。
  104. 根据权利要求100所述的终端设备,其特征在于,所述认证模块具体用于:
    确定第一随机数、DH协议的第一传输参数,向网络认证服务器发送认证请求消息,所述认证请求消息包括所述第一随机数、所述第一传输参数、所述终端设备的设备标识以及所述第四参数集合;
    接收所述网络认证服务器发送的第二随机数、第二传输参数、第二消息验证码,根据所述第一传输参数和所述第二传输参数执行DH密钥协商算法得到第三传输参数;
    在对所述第二消息验证码验证通过后,根据所述第一随机数、所述第二随机数、所述终端设备的设备标识、所述第四参数集合中的至少一项,以及所述第三传输参数,采用密钥生成函数生成所述终端设备的通信密钥,根据所述通信密钥、所述第一密钥中的任一项, 以及所述终端设备的设备标识、所述第四参数集合中的至少一项,以及所述第一随机数,所述第二随机数,采用消息验证码生成函数生成第一消息验证码,将所述第一消息验证码,发送给所述网络认证服务器,以使所述网络认证服务器对所述第一消息验证码进行验证。
  105. 根据权利要求100所述的终端设备,其特征在于,所述认证模块具体用于:
    确定第一随机数,采用第一密钥对所述第一随机数进行加密处理,得到加密处理后的第一随机数,根据所述第一随机数、所述终端设备的设备标识、所述第四参数集合中的至少一项,以及所述第一密钥,采用消息验证码生成函数生成第一消息验证码,向网络认证服务器发送认证请求消息,所述认证请求消息包括所述第一消息验证码、所述加密处理后的第一随机数、所述终端设备的设备标识以及所述第四参数集合;
    接收所述网络认证服务器发送的加密处理后的第二随机数、第二消息验证码,根据所述第一密钥对所述加密的第二随机数进行解密,得到第二随机数,所述加密处理后的第二随机数为所述网络认证服务器采用所述第一密钥对第二随机数加密处理得到;
    在对所述第二消息验证码验证通过后,根据所述第一密钥、所述第一随机数、所述第二随机数中的至少一项,以及所述终端设备的设备标识、所述第四参数集合中的至少一项,采用密钥生成函数生成所述终端设备的通信密钥。
  106. 根据权利要求100所述的终端设备,其特征在于,所述认证模块具体用于:
    确定第一随机数,根据所述第一随机数、所述终端设备的设备标识、所述第四参数集合中的至少一项,以及所述第一密钥,采用消息验证码生成函数生成第一消息验证码,向网络认证服务器发送认证请求消息,所述认证请求消息包括所述第一消息验证码、所述第一随机数、所述终端设备的设备标识以及所述第四参数集合;
    接收所述网络认证服务器发送的第二随机数、第二消息验证码;
    在对所述第二消息验证码验证通过后,根据所述第一随机数、所述第二随机数、所述终端设备的设备标识、所述第四参数集合中的至少一项,以及所述第一密钥,采用密钥生成函数生成所述终端设备的通信密钥。
  107. 根据权利要求100所述的终端设备,其特征在于,所述认证模块具体用于:
    确定第一随机数,根据所述第一随机数、所述终端设备的设备标识、所述第四参数集合中的至少一项,以及所述第一密钥,采用消息验证码生成函数生成第一消息验证码,向网络认证服务器发送认证请求消息,所述认证请求消息包括所述第一消息验证码、所述第一随机数、所述终端设备的设备标识以及所述第四参数集合;
    接收所述网络认证服务器发送的第二随机数、加密处理后的通信密钥、第二消息验证码,所述加密处理后的通信密钥为所述网络认证服务器采用所述第一密钥对通信密钥加密处理得到;
    在对所述第二消息验证码验证通过后,根据所述第一密钥对所述加密处理后的通信密钥进行解密,得到通信密钥。
  108. 根据权利要求100所述的终端设备,其特征在于,所述认证模块具体用于:
    确定第一随机数,采用第一密钥对所述第一随机数进行加密处理,得到加密处理后的第一随机数,根据所述第一密钥、所述第一随机数中的至少一项,以及所述终端设备的设备标识、所述第四参数集合中的至少一项,采用密钥生成函数生成所述终端设备的通信密钥,根据所述第一密钥、所述通信密钥中的任一项,以及所述第一随机数、所述终端设备 的设备标识、所述第四参数集合中的至少一项,采用消息验证码生成函数生成第一消息验证码,向网络认证服务器发送认证请求消息,所述认证请求消息包括所述第一消息验证码、所述加密处理后的第一随机数、所述终端设备的设备标识以及所述第四参数集合;
    接收所述网络认证服务器发送的第二消息验证码和加密处理后的第二随机数,根据所述第一密钥对所述加密的第二随机数进行解密,得到第二随机数,所述加密处理后的第二随机数为所述网络认证服务器采用所述第一密钥对第二随机数加密处理得到;
    对所述第二消息验证码进行验证并确定验证通过。
  109. 根据权利要求100所述的终端设备,其特征在于,所述认证模块具体用于:
    确定第一随机数,根据所述第一随机数、所述终端设备的设备标识和所述第四参数集合中的至少一项,以及所述第一密钥,采用密钥生成函数生成所述终端设备的通信密钥,根据所述第一密钥、所述通信密钥中的任一项,以及所述第一随机数、所述终端设备的设备标识、所述第四参数集合中的至少一项,采用消息验证码生成函数生成第一消息验证码,向网络认证服务器发送认证请求消息,所述认证请求消息包括所述第一消息验证码、所述第一随机数、所述终端设备的设备标识以及所述第四参数集合;
    接收所述网络认证服务器发送的第二消息验证码和第二随机数;
    对所述第二消息验证码进行验证并确定验证通过。
  110. 根据权利要求100所述的终端设备,其特征在于,所述认证模块具体用于:
    确定第一随机数、DH协议的第一传输参数,根据所述第一随机数、所述终端设备的设备标识、所述第四参数集合中的至少一项,以及所述第一密钥,采用消息验证码生成函数生成第一消息验证码,向网络认证服务器发送认证请求消息,所述认证请求消息包括所述第一消息验证码、所述第一随机数、所述第一传输参数、所述终端设备的设备标识以及所述第四参数集合;
    接收所述网络认证服务器发送的第二随机数、第二传输参数、第二消息验证码,根据所述第一传输参数和所述第二传输参数执行DH密钥协商算法得到第三传输参数;
    根据所述第一随机数、所述第二随机数、所述终端设备的设备标识、所述第四参数集合中的至少一项,以及所述第三传输参数,采用密钥生成函数生成所述终端设备的通信密钥,对所述第二消息验证码进行验证并确定通过验证。
  111. 根据权利要求89所述的终端设备,其特征在于,所述第一密钥为所述终端设备的第一私钥,所述终端设备的设备标识为与所述第一私钥对应的所述终端设备的第一公钥。
  112. 根据权利要求111所述的终端设备,其特征在于,所述认证模块具体用于:
    确定第一随机数,采用所述网络认证服务器的网络认证公钥对所述第一随机数进行加密处理,得到加密处理后的第一随机数,根据所述第一密钥和所述第一随机数生成所述终端设备的第一数字签名,向所述网络认证服务器发送认证请求消息,所述认证请求消息包括所述第一数字签名、所述加密处理后的第一随机数以及所述终端设备的设备标识;
    接收所述网络认证服务器发送的加密处理后的第二随机数、第二数字签名,根据所述终端设备的第一密钥对所述加密的第二随机数进行解密,得到第二随机数,在对所述第二数字签名验证通过后,根据所述第一随机数和所述第二随机数中的至少一项,生成所述终端设备的通信密钥,所述加密处理后的第二随机数为所述网络认证服务器采用所述终端设 备的第一公钥对第二随机数加密处理得到;
    根据所述通信密钥、所述第一随机数、所述第二随机数,生成第一消息验证码,或者根据所述第一密钥、所述第一随机数、所述第二随机数生成第三数字签名,将所述第一消息验证码或所述第三数字签名发送给所述网络认证服务器,以使所述网络认证服务器对所述第一消息验证码或所述第三数字签名进行验证。
  113. 根据权利要求111所述的终端设备,其特征在于,所述认证模块具体用于:
    确定第一随机数,根据所述第一密钥和所述第一随机数,生成所述终端设备的第一数字签名,向所述网络认证服务器发送认证请求消息,所述认证请求消息包括所述第一数字签名、所述第一随机数以及所述终端设备的设备标识;
    接收所述网络认证服务器发送的第二随机数、加密处理后的通信密钥、第二数字签名,根据所述终端设备的第一密钥对所述加密的通信密钥进行解密,得到通信密钥,所述加密处理后的通信密钥为所述网络认证服务器采用所述终端设备的第一公钥对通信密钥加密处理得到;
    在对所述第二数字签名验证通过后,根据所述通信密钥、所述第一随机数、所述第二随机数,生成第一消息验证码,或者根据所述第一密钥、所述第一随机数、所述第二随机数,生成第三数字签名,将所述第一消息验证码或所述第三数字签名发送给所述网络认证服务器,以使所述网络认证服务器对所述第一消息验证码或所述第三数字签名进行验证。
  114. 根据权利要求111所述的终端设备,其特征在于,所述认证模块具体用于:
    确定第一随机数、DH协议的第一传输参数,根据所述第一密钥、所述第一随机数、所述第一传输参数,生成所述终端设备的第一数字签名,向网络认证服务器发送认证请求消息,所述认证请求消息包括所述第一数字签名、所述第一随机数、所述第一传输参数以及所述终端设备的设备标识;
    接收所述网络认证服务器发送的第二随机数、第二传输参数、第二数字签名,根据所述第一传输参数和所述第二传输参数执行DH密钥协商算法得到第三传输参数;
    在对所述第二数字签名验证通过后,根据所述第一随机数、所述第二随机数中的至少一项,以及所述第三传输参数,采用密钥生成函数生成所述终端设备的通信密钥,根据所述第一随机数、所述第二随机数中的至少一项,以及所述通信密钥,所述第一传输参数,所述第二传输参数生成第一消息验证码,或者根据所述第一随机数、所述第二随机数中的至少一项,以及所述第一密钥,所述第一传输参数,所述第二传输参数生成第三数字签名,将所述第一消息验证码或所述第三数字签名发送给所述网络认证服务器,以使所述网络认证服务器对所述第一消息验证码或所述第三数字签名进行验证。
  115. 根据权利要求111所述的终端设备,其特征在于,所述认证模块具体用于:
    确定第一随机数,采用所述网络认证服务器的网络认证公钥对所述第一随机数进行加密处理,得到加密处理后的第一随机数,根据所述第一密钥和所述第一随机数,生成所述终端设备的第一数字签名,向所述网络认证服务器发送认证请求消息,所述认证请求消息包括所述第一数字签名、所述加密处理后的第一随机数以及所述终端设备的设备标识;
    接收所述网络认证服务器发送的加密处理后的第二随机数、第二数字签名,根据所述终端设备的第一密钥对所述加密的第二随机数进行解密,得到第二随机数,在对所述第二数字签名验证通过后,根据所述第一随机数、所述第二随机数中的至少一项生成所述终端 设备的通信密钥,所述加密处理后的第二随机数为所述网络认证服务器采用所述终端设备的第一公钥对第二随机数加密处理得到。
  116. 根据权利要求111所述的终端设备,其特征在于,所述认证模块具体用于:
    确定第一随机数,根据所述第一密钥和所述第一随机数,生成所述终端设备的第一数字签名,向所述网络认证服务器发送认证请求消息,所述认证请求消息包括所述第一数字签名、所述第一随机数,以及所述终端设备的设备标识;
    接收所述网络认证服务器发送的第二随机数、加密处理后的通信密钥、第二数字签名,所述加密处理后的通信密钥为所述网络认证服务器采用所述终端设备的第一公钥对通信密钥加密处理得到;
    在对所述第二数字签名验证通过后,根据所述终端设备的第一密钥对所述加密的通信密钥进行解密,得到通信密钥。
  117. 根据权利要求111所述的终端设备,其特征在于,所述接收模块还用于接收所述用户管理服务器发送的第四参数集合;
    所述第四参数集合包括:所述用户管理服务器的标识、网络标识、业务参数中的至少一种。
  118. 根据权利要求117所述的终端设备,其特征在于,所述认证模块具体用于:
    确定第一随机数,采用所述网络认证服务器的网络认证公钥对所述第一随机数进行加密处理,得到加密处理后的第一随机数,根据所述第一随机数、所述终端设备的设备标识、所述第四参数集合中的至少一项,以及所述第一密钥,生成所述终端设备的第一数字签名,向所述网络认证服务器发送认证请求消息,所述认证请求消息包括所述第一数字签名、所述加密处理后的第一随机数、所述终端设备的设备标识以及所述第四参数集合;
    接收所述网络认证服务器发送的加密处理后的第二随机数、第二数字签名,根据所述终端设备的第一密钥对所述加密的第二随机数进行解密,得到第二随机数,在对所述第二数字签名验证通过后,根据所述第一随机数、所述第二随机数中的至少一项,以及所述终端设备的设备标识、所述第四参数集合中的至少一项,生成所述终端设备的通信密钥,所述加密处理后的第二随机数为所述网络认证服务器采用所述终端设备的第一公钥对第二随机数加密处理得到;
    根据所述终端设备的设备标识、所述第四参数集合中的至少一项,以及所述通信密钥,所述第一随机数,所述第二随机数生成第一消息验证码,或者根据所述终端设备的设备标识、所述第四参数集合中的至少一项,以及所述第一密钥,所述第一随机数,所述第二随机数生成第三数字签名,将所述第一消息验证码或所述第三数字签名发送给所述网络认证服务器,以使所述网络认证服务器对所述第一消息验证码或所述第三数字签名进行验证。
  119. 根据权利要求117所述的终端设备,其特征在于,所述认证模块具体用于:
    确定第一随机数,根据所述第一随机数、所述终端设备的设备标识、所述第四参数集合中的至少一项,以及所述第一密钥,向所述网络认证服务器发送认证请求消息,所述认证请求消息包括所述第一数字签名、所述加密处理后的第一随机数、所述终端设备的设备标识以及所述第四参数集合;
    接收所述网络认证服务器发送的第二随机数、加密处理后的通信密钥、第二数字签名,根据所述终端设备的第一密钥对所述加密的通信密钥进行解密,得到通信密钥,所述加密 处理后的通信密钥为所述网络认证服务器采用所述终端设备的第一公钥对通信密钥加密处理得到;
    在对所述第二数字签名验证通过后,根据所述终端设备的设备标识、所述第四参数集合中的至少一项,以及所述通信密钥,所述第一随机数,所述第二随机数生成第一消息验证码,或者根据所述终端设备的设备标识、所述第四参数集合中的至少一项,以及所述第一密钥,所述第一随机数,所述第二随机数生成第三数字签名,将所述第一消息验证码或所述第三数字签名发送给所述网络认证服务器,以使所述网络认证服务器对所述第一消息验证码或所述第三数字签名进行验证。
  120. 根据权利要求117所述的终端设备,其特征在于,所述认证模块具体用于:
    确定第一随机数、DH协议的第一传输参数,根据所述终端设备的设备标识、所述第四参数集合中的至少一项,以及所述第一密钥,所述第一随机数,所述第一传输参数生成所述终端设备的第一数字签名,向网络认证服务器发送认证请求消息,所述认证请求消息包括所述第一数字签名、所述第一随机数、所述第一传输参数、所述终端设备的设备标识以及所述第四参数集合;
    接收所述网络认证服务器发送的第二随机数、第二传输参数、第二数字签名;
    在对所述第二数字签名验证通过后,根据所述第一随机数、所述第二随机数、所述终端设备的设备标识、所述第四参数集合中的至少一项,以及所述第三传输参数,采用密钥生成函数生成所述终端设备的通信密钥,根据所述终端设备的设备标识、所述第四参数集合中的至少一项,以及所述通信密钥,所述第一传输参数,所述第二传输参数生成第一消息验证码,或者根据所述第一随机数、所述第二随机数、所述终端设备的设备标识、所述第四参数集合中的至少一项,以及所述第一密钥,所述第一传输参数,所述第二传输参数生成第三数字签名,将所述第一消息验证码或所述第三数字签名发送给所述网络认证服务器,以使所述网络认证服务器对所述第一消息验证码或所述第三数字签名进行验证。
  121. 根据权利要求117所述的终端设备,其特征在于,所述认证模块具体用于:
    确定第一随机数,采用所述网络认证服务器的网络认证公钥对所述第一随机数进行加密处理,得到加密处理后的第一随机数,根据所述第一随机数、所述终端设备的设备标识、所述第四参数集合中的至少一项,以及所述第一密钥,生成所述终端设备的第一数字签名,向所述网络认证服务器发送认证请求消息,所述认证请求消息包括所述第一数字签名、所述加密处理后的第一随机数、所述终端设备的设备标识以及所述第四参数集合;
    接收所述网络认证服务器发送的加密处理后的第二随机数、第二数字签名,根据所述终端设备的第一密钥对所述加密的第二随机数进行解密,得到第二随机数,在对所述第二数字签名验证通过后,根据所述第一随机数、所述第二随机数中的至少一项,以及所述终端设备的设备标识、所述第四参数集合中的至少一项,生成所述终端设备的通信密钥,所述加密处理后的第二随机数为所述网络认证服务器采用所述终端设备的第一公钥对第二随机数加密处理得到。
  122. 根据权利要求117所述的终端设备,其特征在于,所述认证模块具体用于:
    确定第一随机数,根据所述第一随机数、所述终端设备的设备标识、所述第四参数集合中的至少一项,以及所述第一密钥,生成所述终端设备的第一数字签名,向所述网络认证服务器发送认证请求消息,所述认证请求消息包括所述第一数字签名、所述第一随机数、 所述终端设备的设备标识以及所述第四参数集合;
    接收所述网络认证服务器发送的第二随机数、加密处理后的通信密钥、第二数字签名,所述加密处理后的通信密钥为所述网络认证服务器采用所述终端设备的第一公钥对通信密钥加密处理得到;
    在对所述第二数字签名验证通过后,根据所述终端设备的第一密钥对所述加密的通信密钥进行解密,得到通信密钥。
  123. 根据权利要求111至122任一项所述的终端设备,其特征在于,还包括:
    公钥请求模块,用于向所述网络认证服务器发送公钥请求消息;
    所述接收模块还用于接收所述网络认证服务器发送的所述网络认证服务器的网络认证公钥。
  124. 一种网络认证服务器,其特征在于,包括:
    请求接收模块,用于接收终端设备发送的认证请求消息,所述认证请求消息包括所述终端设备的设备标识;
    密钥接收模块,用于接收业务中心服务器发送的与所述设备标识对应的所述终端设备的第一密钥;
    认证模块,用于根据所述第一密钥,与所述设备标识所述指示的终端设备进行相互认证以得到所述终端设备与功能网元的通信密钥。
  125. 根据权利要求124所述的服务器,其特征在于,所述认证请求消息还包括加密处理后的第一随机数,所述认证模块具体用于:
    根据所述第一密钥对所述加密处理后的第一随机数进行解密,得到第一随机数,确定第二随机数,并采用所述第一密钥对所述第二随机数进行加密处理,得到加密处理后的第二随机数,所述加密处理后的第一随机数为所述终端设备采用所述第一密钥对第一随机数加密处理得到;
    根据所述第一密钥、所述第一随机数、所述第二随机数中的至少一项,采用密钥生成函数生成所述通信密钥,根据所述通信密钥、所述第一密钥中的任一项,以及所述第一随机数,所述第二随机数,采用消息验证码生成函数生成第二消息验证码,将所述第二消息验证码和所述加密处理后的第二随机数,发送给所述终端设备;
    接收所述终端设备发送的第一消息验证码,在对所述第一消息验证码验证通过后,向所述功能网元发送所述通信密钥。
  126. 根据权利要求124所述的服务器,其特征在于,所述认证请求消息还包括第一随机数,所述认证模块具体用于:
    确定第二随机数,根据所述第一随机数和所述第二随机数中的至少一项,以及所述第一密钥,采用密钥生成函数生成所述通信密钥,根据所述通信密钥、所述第一密钥中的任一项,以及所述第一随机数,所述第二随机数,采用消息验证码生成函数生成第二消息验证码,将所述第二消息验证码和所述第二随机数,发送给所述终端设备;
    接收所述终端设备发送的第一消息验证码,在对所述第一消息验证码验证通过后,向所述功能网元发送所述通信密钥。
  127. 根据权利要求124所述的服务器,其特征在于,所述认证请求消息还包括第一随机数,所述认证模块具体用于:
    确定第二随机数,根据第三随机数确定所述通信密钥,采用第一密钥对所述通信密钥进行加密处理,得到加密处理后的通信密钥;
    根据所述通信密钥、所述第一密钥中任一项,以及所述第一随机数,所述第二随机数,采用消息验证码生成函数生成第二消息验证码,将所述第二随机数、所述加密处理后的通信密钥、所述第二消息验证码,发送给所述终端设备;
    接收所述终端设备发送的第一消息验证码,在对所述第一消息验证码验证通过后,向所述功能网元发送所述通信密钥。
  128. 根据权利要求124所述的服务器,其特征在于,所述认证请求消息还包括第一随机数和第一传输参数,所述认证模块具体用于:
    确定第二随机数、DH协议的第二传输参数,根据所述第一传输参数和所述第二传输参数执行DH密钥协商算法得到第三传输参数;
    根据所述第一随机数、所述第二随机数中的至少一项,以及所述第三传输参数,采用密钥生成函数生成所述通信密钥,根据所述通信密钥、所述第一密钥中的任一项,以及所述第一传输参数,所述第二传输参数,采用消息验证码生成函数生成第二消息验证码,将所述第二随机数、第二传输参数,所述第二消息验证码,发送给所述终端设备;
    接收所述终端设备发送的第一消息验证码,在对所述第一消息验证码验证通过后,向所述功能网元发送所述通信密钥。
  129. 根据权利要求124所述的服务器,其特征在于,所述认证请求消息还包括第一消息验证码和加密处理后的第一随机数,所述认证模块具体用于:
    根据所述第一密钥对所述加密的第一随机数进行解密,得到第一随机数,确定第二随机数,采用第一密钥对所述第二随机数进行加密处理,得到加密处理后的第二随机数,所述加密处理后的第一随机数为所述终端设备采用所述第一密钥对第一随机数加密处理得到;
    在对所述第一消息验证码验证通过后,根据所述第一密钥、所述第一随机数、所述第二随机数中的至少一项,采用密钥生成函数生成所述通信密钥,根据所述通信密钥、所述第一密钥中任一项,以及所述第一随机数,所述第二随机数,采用消息验证码生成函数生成第二消息验证码,将所述加密处理后的第二随机数、所述第二消息验证码,发送给所述终端设备,向所述功能网元发送所述通信密钥。
  130. 根据权利要求124所述的服务器,其特征在于,所述认证请求消息还包括第一消息验证码和第一随机数,所述认证模块具体用于:
    确定第二随机数;
    在对所述第一消息验证码验证通过后,根据所述第一随机数、所述第二随机数中的至少一项,以及所述第一密钥,采用密钥生成函数生成所述通信密钥,根据所述通信密钥、所述第一密钥中任一项,以及所述第一随机数、所述第二随机数中的至少一项,采用消息验证码生成函数生成第二消息验证码,将所述第二随机数、所述第二消息验证码,发送给所述终端设备,向所述功能网元发送所述通信密钥。
  131. 根据权利要求124所述的服务器,其特征在于,所述认证请求消息还包括第一消息验证码和第一随机数,所述认证模块具体用于:
    确定第二随机数,根据第三随机数确定所述通信密钥,采用第一密钥对所述通信密钥 进行加密处理,得到加密处理后的通信密钥;
    根据所述通信密钥、所述第一密钥中任一项,以及所述第一随机数,所述第二随机数,采用消息验证码生成函数生成第二消息验证码,将所述第二随机数、所述加密处理后的通信密钥、所述第二消息验证码,发送给所述终端设备,并向所述功能网元发送所述通信密钥。
  132. 根据权利要求124所述的服务器,其特征在于,所述认证请求消息还包括第一消息验证码和加密处理后的第一随机数,所述认证模块具体用于:
    根据所述第一密钥对所述加密的第一随机数进行解密,得到第一随机数,确定第二随机数,采用第一密钥对所述第二随机数进行加密处理,得到加密处理后的第二随机数,所述加密处理后的第一随机数为所述终端设备采用所述第一密钥对第一随机数加密处理得到;
    在对所述第一消息验证码验证通过后,根据所述第一密钥、所述第一随机数中的至少一项,采用密钥生成函数生成所述通信密钥,根据所述通信密钥、所述第一密钥中的任一项,以及所述第一随机数、所述第二随机数中的至少一项,采用消息验证码生成函数生成第二消息验证码,将所述加密处理后的第二随机数和所述第二消息验证码发送给所述终端设备,向所述功能网元发送所述通信密钥。
  133. 根据权利要求124所述的服务器,其特征在于,所述认证请求消息还包括第一消息验证码和第一随机数,所述认证模块具体用于:
    确定第二随机数;
    在对所述第一消息验证码验证通过后,根据所述第一密钥和所述第一随机数,采用密钥生成函数生成所述通信密钥,根据所述通信密钥、所述第一密钥中的任一项,以及所述第一随机数、所述第二随机数中的至少一项,采用消息验证码生成函数生成第二消息验证码,将所述第二随机数和所述第二消息验证码发送给所述终端设备,向所述功能网元发送所述通信密钥。
  134. 根据权利要求124所述的服务器,其特征在于,所述认证请求消息还包括第一随机数、第一消息验证码和第一传输参数,所述认证模块具体用于:
    确定第二随机数、DH协议的第二传输参数,根据所述第一传输参数和所述第二传输参数执行DH密钥协商算法得到第三传输参数;
    在对所述第一消息验证码验证通过后,根据所述第一随机数、所述第二随机数中的至少一项,以及所述第三传输参数,采用密钥生成函数生成所述通信密钥,根据所述通信密钥、所述第一密钥中任一项,以及所述第一传输参数、所述第二传输参数中任一项,采用消息验证码生成函数生成第二消息验证码,将所述第二随机数、所述第二传输参数,所述第二消息验证码,发送给所述终端设备,并向所述功能网元发送所述通信密钥。
  135. 根据权利要求124所述的服务器,其特征在于,所述认证请求消息还包括第四参数集合;
    所述第四参数集合包括:所述用户管理服务器的标识、网络标识、业务参数中的至少一种。
  136. 根据权利要求135所述的服务器,其特征在于,所述认证请求消息还包括加密处理后的第一随机数,所述认证模块具体用于:
    根据所述第一密钥对所述加密处理后的第一随机数进行解密,得到第一随机数,确定第二随机数,并采用所述第一密钥对所述第二随机数进行加密处理,得到加密处理后的第二随机数,所述加密处理后的第一随机数为所述终端设备采用所述第一密钥对第一随机数加密处理得到;
    根据所述第一密钥、所述第一随机数、所述第二随机数中的至少一项,以及所述终端设备的设备标识、所述第四参数集合中的至少一项,采用密钥生成函数生成所述通信密钥,根据所述通信密钥、所述第一密钥中的任一项,以及所述终端设备的设备标识、所述第四参数集合中的至少一项,以及所述第一随机数,所述第二随机数,采用消息验证码生成函数生成第二消息验证码,将所述第二消息验证码和所述加密处理后的第二随机数,发送给所述终端设备;
    接收所述终端设备发送的第一消息验证码,在对所述第一消息验证码验证通过后,向所述功能网元发送所述通信密钥。
  137. 根据权利要求135所述的服务器,其特征在于,所述认证请求消息还包括第一随机数,所述认证模块具体用于:
    确定第二随机数;
    根据所述第一随机数、所述第二随机数、所述终端设备的设备标识、所述第四参数集合中的至少一项,以及所述第一密钥,采用密钥生成函数生成所述通信密钥,根据所述通信密钥、所述第一密钥中的任一项,以及所述终端设备的设备标识、所述第四参数集合中的至少一项,以及所述第一随机数,所述第二随机数,采用消息验证码生成函数生成第二消息验证码,将所述第二消息验证码和所述第二随机数,发送给所述终端设备;
    接收所述终端设备发送的第一消息验证码,在对所述第一消息验证码验证通过后,向所述功能网元发送所述通信密钥。
  138. 根据权利要求135所述的服务器,其特征在于,所述认证请求消息还包括第一随机数,所述认证模块具体用于:
    确定第二随机数,根据第三随机数确定所述通信密钥,采用第一密钥对所述通信密钥进行加密处理,得到加密处理后的通信密钥;
    根据所述通信密钥、所述第一密钥中任一项,以及所述终端设备的设备标识、所述第四参数集合中的至少一项,以及所述第一随机数,所述第二随机数,采用消息验证码生成函数生成第二消息验证码,将所述第二随机数、所述加密处理后的通信密钥、所述第二消息验证码,发送给所述终端设备;
    接收所述终端设备发送的第一消息验证码,在对所述第一消息验证码验证通过后,向所述功能网元发送所述通信密钥。
  139. 根据权利要求135所述的服务器,其特征在于,所述认证请求消息还包括第一随机数和第一传输参数,所述认证模块具体用于:
    确定第二随机数、DH协议的第二传输参数,根据所述第一传输参数和所述第二传输参数执行DH密钥协商算法得到第三传输参数;
    根据所述第一随机数、所述第二随机数、所述终端设备的设备标识、所述第四参数集合中的至少一项,以及所述第三传输参数,采用密钥生成函数生成所述通信密钥,根据所述通信密钥、所述第一密钥中的任一项,以及所述第一随机数、所述第二随机数、终端设 备的设备标识、所述第四参数集合中的至少一项,以及所述第一传输参数,所述第二传输参数,采用消息验证码生成函数生成第二消息验证码,将所述第二随机数、第二传输参数,所述第二消息验证码,发送给所述终端设备;
    接收所述终端设备发送的第一消息验证码,在对所述第一消息验证码验证通过后,向所述功能网元发送所述通信密钥。
  140. 根据权利要求135所述的服务器,其特征在于,所述认证请求消息还包括第一消息验证码和加密处理后的第一随机数,所述认证模块具体用于:
    根据所述第一密钥对所述加密的第一随机数进行解密,得到第一随机数,确定第二随机数,采用第一密钥对所述第二随机数进行加密处理,得到加密处理后的第二随机数,所述加密处理后的第一随机数为所述终端设备采用所述第一密钥对第一随机数加密处理得到;
    在对所述第一消息验证码验证通过后,根据所述第一密钥、所述第一随机数、所述第二随机数中的至少一项,以及所述终端设备的设备标识、所述第四参数集合中的至少一项,采用密钥生成函数生成所述通信密钥,根据所述通信密钥、所述第一密钥中任一项,以及所述第一随机数、所述第二随机数、所述终端设备的设备标识、所述第四参数集合中的至少一项,采用消息验证码生成函数生成第二消息验证码,将所述加密处理后的第二随机数、所述第二消息验证码,发送给所述终端设备,向所述功能网元发送所述通信密钥。
  141. 根据权利要求135所述的服务器,其特征在于,所述认证请求消息还包括第一消息验证码和第一随机数,所述认证模块具体用于:
    确定第二随机数;
    在对所述第一消息验证码验证通过后,根据所述第一随机数、所述第二随机数、所述终端设备的设备标识、所述第四参数集合中的至少一项,以及所述第一密钥,采用密钥生成函数生成所述通信密钥,根据所述通信密钥、所述第一密钥中任一项,以及所述第一随机数、所述第二随机数、所述终端设备的设备标识、所述第四参数集合中的至少一项,采用消息验证码生成函数生成第二消息验证码,将所述第二随机数、所述第二消息验证码,发送给所述终端设备,向所述功能网元发送所述通信密钥。
  142. 根据权利要求135所述的服务器,其特征在于,所述认证请求消息还包括第一消息验证码和第一随机数,所述认证模块具体用于:
    确定第二随机数,根据第三随机数确定所述通信密钥,采用第一密钥对所述通信密钥进行加密处理,得到加密处理后的通信密钥;
    根据所述通信密钥、所述第一密钥中任一项,以及所述第一随机数、所述第二随机数、所述终端设备的设备标识、所述第四参数集合中的任一项,采用消息验证码生成函数生成第二消息验证码,将所述第二随机数、所述加密处理后的通信密钥、所述第二消息验证码,发送给所述终端设备,并向所述功能网元发送所述通信密钥。
  143. 根据权利要求135所述的服务器,其特征在于,所述认证请求消息还包括第一消息验证码和加密处理后的第一随机数,所述认证模块具体用于:
    根据所述第一密钥对所述加密的第一随机数进行解密,得到第一随机数,确定第二随机数,采用第一密钥对所述第二随机数进行加密处理,得到加密处理后的第二随机数,所述加密处理后的第一随机数为所述终端设备采用所述第一密钥对第一随机数加密处理得 到;
    在对所述第一消息验证码验证通过后,根据所述第一密钥、所述第一随机数中的至少一项,以及所述终端设备的设备标识、所述第四参数集合中的至少一项,采用密钥生成函数生成所述通信密钥,根据所述通信密钥、所述第一密钥中的任一项,以及所述第一随机数、所述第二随机数、所述终端设备的设备标识、所述第四参数集合中的至少一项,采用消息验证码生成函数生成第二消息验证码,将所述加密处理后的第二随机数和所述第二消息验证码发送给所述终端设备,向所述功能网元发送所述通信密钥。
  144. 根据权利要求135所述的服务器,其特征在于,所述认证请求消息还包括第一消息验证码和第一随机数,所述认证模块具体用于:
    确定第二随机数;
    在对所述第一消息验证码验证通过后,根据所述第一随机数、所述终端设备的设备标识、所述第四参数集合中的至少一项,以及所述第一密钥,采用密钥生成函数生成所述通信密钥,根据所述通信密钥、所述第一密钥中的任一项,以及所述第一随机数、所述第二随机数、所述终端设备的设备标识、所述第四参数集合中的至少一项,采用消息验证码生成函数生成第二消息验证码,将所述第二随机数和所述第二消息验证码发送给所述终端设备,向所述功能网元发送所述通信密钥。
  145. 根据权利要求135所述的服务器,其特征在于,所述认证请求消息还包括第一随机数、第一消息验证码和第一传输参数,所述认证模块具体用于:
    确定第二随机数、DH协议的第二传输参数,根据所述第一传输参数和所述第二传输参数执行DH密钥协商算法得到第三传输参数;
    在对所述第一消息验证码验证通过后,根据所述第一随机数、所述第二随机数、所述终端设备的设备标识、所述第四参数集合中的至少一项,以及所述第三传输参数,采用密钥生成函数生成所述通信密钥,根据所述通信密钥、所述第一密钥中任一项,以及所述终端设备的设备标识、所述第四参数集合、所述第一传输参数、所述第二传输参数中任一项,采用消息验证码生成函数生成第二消息验证码,将所述第二随机数、所述第二传输参数,所述第二消息验证码,发送给所述终端设备,并向所述功能网元发送所述通信密钥。
  146. 一种网络认证服务器,其特征在于,包括:
    请求接收模块,用于接收终端设备发送的认证请求消息,所述认证请求消息包括所述终端设备的设备标识,所述终端设备的设备标识为所述终端设备的第一公钥;
    认证模块,用于根据所述第一公钥、所述网络认证服务器的网络认证公钥、所述网络认证服务器的网络认证私钥与所述终端设备进行相互认证以得到所述终端设备与功能网元的通信密钥。
  147. 根据权利要求146所述的服务器,其特征在于,所述认证请求消息还包括第一数字签名和加密处理后的第一随机数,所述认证模块具体用于:
    根据所述网络认证服务器的网络认证私钥对所述加密的第一随机数进行解密,得到第一随机数,确定第二随机数,采用所述终端设备的第一公钥对所述第二随机数进行加密处理,得到加密处理后的第二随机数,所述加密处理后的第一随机数为所述终端设备采用所述网络认证服务器的网络认证公钥对第一随机数加密处理得到;
    在根据预设全局公钥和所述终端设备的第一公钥对所述第一数字签名验证通过后,根 据所述第一随机数、所述第二随机数中的至少一项,生成所述通信密钥,根据所述网络认证服务器的网络认证私钥、所述第一随机数和所述第二随机数生成第二数字签名,将所述加密处理后的第二随机数、所述第二数字签名,发送给所述终端设备;
    接收所述终端设备发送的第一消息验证码或第三数字签名,在对所述第一消息验证码或所述第三数字签名验证通过后,向所述功能网元发送所述通信密钥。
  148. 根据权利要求146所述的服务器,其特征在于,所述认证请求消息还包括第一数字签名和第一随机数,所述认证模块具体用于:
    确定第二随机数;
    在根据预设全局公钥和所述终端设备的第一公钥对所述第一数字签名验证通过后,根据第三随机数确定所述通信密钥,采用所述终端设备的第一公钥对所述通信密钥进行加密处理,得到加密处理后的通信密钥,根据所述网络认证服务器的网络认证私钥、所述第一随机数和所述第二随机数生成第二数字签名,将所述第二随机数、所述加密处理后的通信密钥、所述第二数字签名,发送给所述终端设备;
    接收所述终端设备发送的第一消息验证码或第三数字签名,在对所述第一消息验证码或所述第三数字签名验证通过后,向所述功能网元发送所述通信密钥。
  149. 根据权利要求146所述的服务器,其特征在于,所述认证请求消息还包括第一数字签名、第一随机数和第一传输参数,所述认证模块具体用于:
    确定第二随机数、DH协议的第二传输参数,根据所述第一传输参数和所述第二传输参数执行DH密钥协商算法得到第三传输参数;
    在根据预设全局公钥和所述终端设备的第一公钥对所述第一数字签名验证通过后,根据所述第一随机数、所述第二随机数中的至少一项,以及所述第三传输参数,采用密钥生成函数生成所述通信密钥,根据所述第一随机数、所述第二随机数中的至少一项,以及所述网络认证服务器的网络认证私钥,所述第一传输参数,所述第二传输参数,生成第二数字签名,将所述第二随机数、所述加密处理后的第二传输参数、所述第二数字签名,发送给所述终端设备;
    接收所述终端设备发送的第一消息验证码或第三数字签名,在对所述第一消息验证码或所述第三数字签名验证通过后,向所述功能网元发送所述通信密钥。
  150. 根据权利要求146所述的服务器,其特征在于,所述认证请求消息还包括第一数字签名和加密处理后的第一随机数,所述认证模块具体用于:
    根据所述网络认证服务器的网络认证私钥对所述加密的第一随机数进行解密,得到第一随机数,确定第二随机数,采用所述终端设备的第一公钥对所述第二随机数进行加密处理,得到加密处理后的第二随机数,所述加密处理后的第一随机数为所述终端设备采用所述网络认证服务器的网络认证公钥对第一随机数加密处理得到;
    在根据预设全局公钥和所述终端设备的第一公钥对所述第一数字签名验证通过后,根据所述第一随机数、所述第二随机数中的至少一项,生成所述通信密钥,根据所述网络认证服务器的网络认证私钥、所述第一随机数和所述第二随机数生成第二数字签名,将所述加密处理后的第二随机数、所述第二数字签名,发送给所述终端设备,并向所述功能网元发送所述通信密钥。
  151. 根据权利要求146所述的服务器,其特征在于,所述认证请求消息还包括第一 数字签名和第一随机数,所述认证模块具体用于:
    确定第二随机数;
    在根据预设全局公钥和所述终端设备的第一公钥对所述第一数字签名验证通过后,根据第三随机数确定所述通信密钥,采用所述终端设备的第一公钥对所述通信密钥进行加密处理,得到加密处理后的通信密钥,根据所述网络认证服务器的网络认证私钥、所述第一随机数和所述第二随机数生成第二数字签名,将所述第二随机数、所述加密处理后的通信密钥和所述第二数字签名发送给所述终端设备,并向所述功能网元发送所述通信密钥。
  152. 根据权利要求146所述的服务器,其特征在于,所述认证请求消息还包括第四参数集合;
    所述第四参数集合包括:所述用户管理服务器的标识、网络标识、业务参数中的至少一种。
  153. 根据权利要求152所述的服务器,其特征在于,所述认证请求消息还包括第一数字签名和加密处理后的第一随机数,所述认证模块具体用于:
    根据所述网络认证服务器的网络认证私钥对所述加密的第一随机数进行解密,得到第一随机数,确定第二随机数,采用所述终端设备的第一公钥对所述第二随机数进行加密处理,得到加密处理后的第二随机数,所述加密处理后的第一随机数为所述终端设备采用所述网络认证服务器的网络认证公钥对第一随机数加密处理得到;
    在根据预设全局公钥和所述终端设备的第一公钥对所述第一数字签名验证通过后,根据所述第一随机数、所述第二随机数中的至少一项,以及所述终端设备的设备标识、所述第四参数集合中的至少一项,生成所述通信密钥,根据所述终端设备的设备标识、所述第四参数集合中的至少一项,以及所述网络认证服务器的网络认证私钥,所述第一随机数,所述第二随机数生成第二数字签名,将所述加密处理后的第二随机数、所述第二数字签名,发送给所述终端设备;
    接收所述终端设备发送的第一消息验证码或第三数字签名,在对所述第一消息验证码或所述第三数字签名验证通过后,向所述功能网元发送所述通信密钥。
  154. 根据权利要求152所述的服务器,其特征在于,所述认证请求消息还包括第一数字签名和第一随机数,所述认证模块具体用于:
    确定第二随机数;
    在根据预设全局公钥和所述终端设备的第一公钥对所述第一数字签名验证通过后,根据第三随机数确定所述通信密钥,采用所述终端设备的第一公钥对所述通信密钥进行加密处理,得到加密处理后的通信密钥,根据所述终端设备的设备标识、所述第四参数集合中的至少一项,以及所述网络认证服务器的网络认证私钥,所述第一随机数,所述第二随机数生成第二数字签名,将所述第二随机数、所述加密处理后的通信密钥、所述第二数字签名,发送给所述终端设备;
    接收所述终端设备发送的第一消息验证码或第三数字签名,在对所述第一消息验证码或所述第三数字签名验证通过后,向所述功能网元发送所述通信密钥。
  155. 根据权利要求152所述的服务器,其特征在于,所述认证请求消息还包括第一数字签名、第一随机数和第一传输参数,所述认证模块具体用于:
    确定第二随机数、DH协议的第二传输参数,根据所述第一传输参数和所述第二传输 参数执行DH密钥协商算法得到第三传输参数;
    在根据预设全局公钥和所述终端设备的第一公钥对所述第一数字签名验证通过后,根据所述第一随机数、所述第二随机数中的至少一项,以及所述第三传输参数,采用密钥生成函数生成所述通信密钥,根据所述第一随机数、所述第二随机数中的至少一项,以及所述网络认证服务器的网络认证私钥,所述第一传输参数,所述第二传输参数,生成第二数字签名,将所述第二随机数、所述加密处理后的第二传输参数、所述第二数字签名,发送给所述终端设备;
    接收所述终端设备发送的第一消息验证码或第三数字签名,在对所述第一消息验证码或所述第三数字签名验证通过后,向所述功能网元发送所述通信密钥。
  156. 根据权利要求152所述的服务器,其特征在于,所述认证请求消息还包括第一数字签名和加密处理后的第一随机数,所述认证模块具体用于:
    根据所述网络认证服务器的网络认证私钥对所述加密的第一随机数进行解密,得到第一随机数,确定第二随机数,采用所述终端设备的第一公钥对所述第二随机数进行加密处理,得到加密处理后的第二随机数,所述加密处理后的第一随机数为所述终端设备采用所述网络认证服务器的网络认证公钥对第一随机数加密处理得到;
    在根据预设全局公钥和所述终端设备的第一公钥对所述第一数字签名验证通过后,根据所述第一随机数、所述第二随机数中的至少一项,以及所述终端设备的设备标识、所述第四参数集合中的至少一项,生成所述通信密钥,根据所述终端设备的设备标识、所述第四参数集合中的至少一项,以及所述网络认证服务器的网络认证私钥,所述第一随机数,所述第二随机数生成第二数字签名,将所述加密处理后的第二随机数、所述第二数字签名,发送给所述终端设备,并向所述功能网元发送所述通信密钥。
  157. 根据权利要求152所述的服务器,其特征在于,所述认证请求消息还包括第一数字签名和第一随机数,所述认证模块具体用于:
    确定第二随机数;
    在根据预设全局公钥和所述终端设备的第一公钥对所述第一数字签名验证通过后,根据第三随机数确定所述通信密钥,采用所述终端设备的第一公钥对所述通信密钥进行加密处理,得到加密处理后的通信密钥,根据所述终端设备的设备标识、所述第四参数集合中的至少一项,以及所述网络认证服务器的网络认证私钥,所述第一随机数,所述第二随机数生成第二数字签名,将所述第二随机数、所述加密处理后的通信密钥和所述第二数字签名发送给所述终端设备,并向所述功能网元发送所述通信密钥。
  158. 根据权利要求146至157任一项所述的服务器,其特征在于,所述请求接收模块还用于接收所述终端设备发送的公钥请求消息;
    所述认证模块还用于向所述终端设备发送所述网络认证服务器的网络认证公钥。
  159. 一种密钥分发、认证系统,其特征在于,包括:如权利要求80至85中任一项所述的业务中心服务器、如权利要求86至88中任一项所述的用户管理服务器、如权利要求89至123中任一项所述的终端设备、如权利要求124至158中任一项所述的网络认证服务器。
PCT/CN2017/080548 2016-04-27 2017-04-14 密钥分发、认证方法,装置及系统 WO2017185999A1 (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
EP17788651.2A EP3422629B1 (en) 2016-04-27 2017-04-14 Method, apparatus and system for encryption key distribution and authentication
US16/169,416 US11240218B2 (en) 2016-04-27 2018-10-24 Key distribution and authentication method and system, and apparatus

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201610268506.XA CN107317674B (zh) 2016-04-27 2016-04-27 密钥分发、认证方法,装置及系统
CN201610268506.X 2016-04-27

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US16/169,416 Continuation US11240218B2 (en) 2016-04-27 2018-10-24 Key distribution and authentication method and system, and apparatus

Publications (1)

Publication Number Publication Date
WO2017185999A1 true WO2017185999A1 (zh) 2017-11-02

Family

ID=60160710

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2017/080548 WO2017185999A1 (zh) 2016-04-27 2017-04-14 密钥分发、认证方法,装置及系统

Country Status (4)

Country Link
US (1) US11240218B2 (zh)
EP (1) EP3422629B1 (zh)
CN (1) CN107317674B (zh)
WO (1) WO2017185999A1 (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20200351082A1 (en) * 2018-01-11 2020-11-05 Huawei Technologies Co., Ltd. Key distribution method and system, and apparatus
US11218472B2 (en) 2019-07-01 2022-01-04 Steve Rosenblatt Methods and systems to facilitate establishing a connection between an access-seeking device and an access granting device

Families Citing this family (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107317674B (zh) * 2016-04-27 2021-08-31 华为技术有限公司 密钥分发、认证方法,装置及系统
CN107317789B (zh) * 2016-04-27 2020-07-21 华为技术有限公司 密钥分发、认证方法,装置及系统
SG10201606061PA (en) * 2016-07-22 2018-02-27 Huawei Int Pte Ltd A method for unified network and service authentication based on id-based cryptography
KR20180119201A (ko) * 2017-04-24 2018-11-02 삼성전자주식회사 인증 시스템을 위한 전자 장치
CN110741613B (zh) * 2017-10-16 2021-01-12 Oppo广东移动通信有限公司 一种加密数据流的识别方法、设备、存储介质及系统
WO2019144350A1 (zh) * 2018-01-25 2019-08-01 华为技术有限公司 通信方法和通信装置
US10511447B1 (en) * 2018-09-26 2019-12-17 Guardtime Sa System and method for generating one-time data signatures
CN111406390A (zh) * 2018-12-26 2020-07-10 深圳市大疆创新科技有限公司 加密通信方法、装置、系统及计算机存储介质
JP2020167509A (ja) * 2019-03-29 2020-10-08 コベルコ建機株式会社 情報処理システム、情報処理方法、およびプログラム
WO2020252611A1 (zh) * 2019-06-17 2020-12-24 华为技术有限公司 一种数据交互方法及相关设备
CN111314274B (zh) * 2019-07-30 2023-02-10 厦门雅迅网络股份有限公司 一种车载终端与中心平台双向认证方法及系统
CN112702734B (zh) * 2019-10-23 2023-04-28 中移物联网有限公司 一种密钥分发系统及方法
CN111698225B (zh) * 2020-05-28 2022-08-19 国家电网有限公司 一种适用于电力调度控制系统的应用服务认证加密方法
CN114258013B (zh) * 2020-09-11 2023-10-31 中国联合网络通信集团有限公司 数据加密方法、设备和存储介质
CN112039922B (zh) * 2020-09-18 2022-09-23 广东乐心医疗电子股份有限公司 一种加密通信方法及装置
CN113037484B (zh) * 2021-05-19 2021-08-24 银联商务股份有限公司 数据传输方法、装置、终端、服务器及存储介质
CN115412272A (zh) * 2021-05-28 2022-11-29 北京京东方技术开发有限公司 认证方法和认证装置
CN114155632B (zh) * 2021-11-30 2023-10-31 深圳市同创新佳科技有限公司 一种联网型酒店电子门锁加密通信密钥分发方法
US11838428B2 (en) 2021-12-20 2023-12-05 Nokia Technologies Oy Certificate-based local UE authentication
CN114513781A (zh) * 2022-02-11 2022-05-17 青岛民航空管实业发展有限公司 一种空管智慧台站的身份认证方法及数据加解密方法
CN114168928B (zh) * 2022-02-14 2022-05-06 阿里云计算有限公司 获取身份认证信息的方法、装置、存储介质及系统
CN116668203B (zh) * 2023-08-02 2023-10-20 浙江大华技术股份有限公司 设备认证方法、物联网设备、认证平台以及可读存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2008110946A1 (en) * 2007-02-05 2008-09-18 Nokia Corporation Authentication procedure in an intelligent proxy for multi-access devices
CN101420413A (zh) * 2007-10-25 2009-04-29 华为技术有限公司 会话密钥协商方法、网络系统、认证服务器及网络设备
CN101621434A (zh) * 2008-06-30 2010-01-06 华为技术有限公司 无线网状网络系统以及密钥分配的方法
CN103297224A (zh) * 2012-02-23 2013-09-11 中国移动通信集团公司 密钥信息分发方法及相关设备
CN104283899A (zh) * 2014-10-30 2015-01-14 西安电子科技大学 无线网络中基于k-假名集合的用户匿名身份认证协议

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6225888B1 (en) * 1997-12-08 2001-05-01 Nokia Telecommunications Oy Authentication between communicating parties in a telecommunications network
GB2357229B (en) * 1999-12-08 2004-03-17 Hewlett Packard Co Security protocol
US6766453B1 (en) * 2000-04-28 2004-07-20 3Com Corporation Authenticated diffie-hellman key agreement protocol where the communicating parties share a secret key with a third party
US7516325B2 (en) * 2001-04-06 2009-04-07 Certicom Corp. Device authentication in a PKI
FR2825869B1 (fr) * 2001-06-08 2003-10-03 France Telecom Procede d'authentification entre un objet de telecommunication portable et une borne d'acces public
US7181620B1 (en) * 2001-11-09 2007-02-20 Cisco Technology, Inc. Method and apparatus providing secure initialization of network devices using a cryptographic key distribution approach
CN1268093C (zh) * 2002-03-08 2006-08-02 华为技术有限公司 无线局域网加密密钥的分发方法
US7464267B2 (en) * 2004-11-01 2008-12-09 Innomedia Pte Ltd. System and method for secure transmission of RTP packets
CN101243719B (zh) * 2005-07-06 2012-10-17 诺基亚公司 安全的会话密钥上下文
US10706402B2 (en) * 2008-09-22 2020-07-07 Visa International Service Association Over the air update of payment transaction data stored in secure memory
JP5390844B2 (ja) * 2008-12-05 2014-01-15 パナソニック株式会社 鍵配布システム、鍵配布方法
CN103532963A (zh) 2013-10-22 2014-01-22 中国联合网络通信集团有限公司 一种基于物联网设备认证方法、装置和系统
US10063374B2 (en) * 2015-05-31 2018-08-28 Massachusetts Institute Of Technology System and method for continuous authentication in internet of things
CN107924437A (zh) * 2015-06-17 2018-04-17 瑞典爱立信有限公司 用于使得能够实现凭证的安全供应的方法以及相关无线装置和服务器
CN108141755A (zh) * 2015-08-17 2018-06-08 瑞典爱立信有限公司 用于直接通信密钥建立的方法和设备
CN107317674B (zh) * 2016-04-27 2021-08-31 华为技术有限公司 密钥分发、认证方法,装置及系统

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2008110946A1 (en) * 2007-02-05 2008-09-18 Nokia Corporation Authentication procedure in an intelligent proxy for multi-access devices
CN101420413A (zh) * 2007-10-25 2009-04-29 华为技术有限公司 会话密钥协商方法、网络系统、认证服务器及网络设备
CN101621434A (zh) * 2008-06-30 2010-01-06 华为技术有限公司 无线网状网络系统以及密钥分配的方法
CN103297224A (zh) * 2012-02-23 2013-09-11 中国移动通信集团公司 密钥信息分发方法及相关设备
CN104283899A (zh) * 2014-10-30 2015-01-14 西安电子科技大学 无线网络中基于k-假名集合的用户匿名身份认证协议

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See also references of EP3422629A4 *

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20200351082A1 (en) * 2018-01-11 2020-11-05 Huawei Technologies Co., Ltd. Key distribution method and system, and apparatus
US11588626B2 (en) * 2018-01-11 2023-02-21 Huawei Technologies Co., Ltd. Key distribution method and system, and apparatus
US11218472B2 (en) 2019-07-01 2022-01-04 Steve Rosenblatt Methods and systems to facilitate establishing a connection between an access-seeking device and an access granting device

Also Published As

Publication number Publication date
CN107317674B (zh) 2021-08-31
CN107317674A (zh) 2017-11-03
US11240218B2 (en) 2022-02-01
EP3422629A1 (en) 2019-01-02
EP3422629A4 (en) 2019-04-17
US20190058701A1 (en) 2019-02-21
EP3422629B1 (en) 2020-12-16

Similar Documents

Publication Publication Date Title
WO2017185999A1 (zh) 密钥分发、认证方法,装置及系统
JP6641029B2 (ja) キー配信および認証方法およびシステム、ならびに装置
EP3493502B1 (en) Supplying an iot-device with an authentication key
US11228442B2 (en) Authentication method, authentication apparatus, and authentication system
US11588626B2 (en) Key distribution method and system, and apparatus
US10638321B2 (en) Wireless network connection method and apparatus, and storage medium
CN111052672B (zh) 无证书或预共享对称密钥的安全密钥传输协议
CN108599925B (zh) 一种基于量子通信网络的改进型aka身份认证系统和方法
WO2017114123A1 (zh) 一种密钥配置方法及密钥管理中心、网元
US11044084B2 (en) Method for unified network and service authentication based on ID-based cryptography
US20170201382A1 (en) Secure Endpoint Devices
CN110087240B (zh) 基于wpa2-psk模式的无线网络安全数据传输方法及系统
WO2011041962A1 (zh) 一种支持合法监听的端到端会话密钥协商方法和系统
US11652646B2 (en) System and a method for securing and distributing keys in a 3GPP system
KR20180130203A (ko) 사물인터넷 디바이스 인증 장치 및 방법
EP3413508A1 (en) Devices and methods for client device authentication
WO2022175538A1 (en) A method for operating a cellular network
CN107276755B (zh) 一种安全关联方法、装置及系统
CN116321158A (zh) 基于证书的本地ue认证
CN114157413A (zh) 信息处理方法、装置、设备及存储介质

Legal Events

Date Code Title Description
WWE Wipo information: entry into national phase

Ref document number: 2017788651

Country of ref document: EP

ENP Entry into the national phase

Ref document number: 2017788651

Country of ref document: EP

Effective date: 20180924

NENP Non-entry into the national phase

Ref country code: DE

121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 17788651

Country of ref document: EP

Kind code of ref document: A1