WO2018127118A1 - 一种身份认证方法及装置 - Google Patents
一种身份认证方法及装置 Download PDFInfo
- Publication number
- WO2018127118A1 WO2018127118A1 PCT/CN2018/071514 CN2018071514W WO2018127118A1 WO 2018127118 A1 WO2018127118 A1 WO 2018127118A1 CN 2018071514 W CN2018071514 W CN 2018071514W WO 2018127118 A1 WO2018127118 A1 WO 2018127118A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- authentication
- quantum key
- information
- identifier
- key
- Prior art date
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic 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
Definitions
- the present disclosure relates to the field of network security technologies, and in particular, to an identity authentication method and apparatus.
- Identity authentication refers to the process of confirming the identity of a user and is the first gateway for network security protection.
- pre-shared key requires the authentication parties to preset a same root key in advance, and uses a series of cryptographic operations for authentication based on the root key in the authentication process.
- the public key certificate method requires the authenticated party to have a digital certificate, and at the same time, it needs to have a private key corresponding to the certificate.
- the pre-shared key is one of the most used authentication methods.
- the method requires the two parties to preset a same root key. In order to protect the root key, multiple password operations on the root key are required in the authentication process. The two parties need to perform multiple interactions, which require a certain amount of computing resources and network resources, and result in low authentication efficiency.
- Digital certificate authentication requires the certificate authority to apply for a digital certificate and store the private key corresponding to the certificate.
- the public key algorithm is required for authentication. Because the public key algorithm is inefficient compared with the symmetric cryptographic algorithm, it requires more computing resources and requires higher terminal capabilities. In addition, with the improvement of computer computing power and the development of quantum computers, mainstream public key algorithms such as RSA have been gradually broken and cannot meet security requirements.
- the present disclosure provides an identity authentication method and apparatus for improving authentication efficiency.
- the present disclosure provides an identity authentication method, which is applied to a first device, including: generating an authentication request, including the first to-be-authenticated information, and the current identity authentication in the authentication request.
- An identifier of the first quantum key, the first encrypted ciphertext encrypted by using the first quantum key; and the authentication request is sent to the second device, so that the authentication device performs authentication according to the authentication request, wherein the The authentication device is the second device, or the authentication device is an authentication server that receives the authentication request from the second device and sends an authentication message to the second device; and receives the authentication sent by the second device.
- the authentication message of the authentication device is included in the authentication response.
- the first encrypted ciphertext is obtained by encrypting the second to-be-authenticated information by using the first quantum key, where the authentication response includes an authentication packet of the authentication server.
- the authentication packet of the authentication server includes a first authentication packet for the first device, where the first authentication packet includes an identifier of the second quantum key used by the authentication server for the current identity authentication. a second encrypted ciphertext obtained by encrypting the authentication result and the third to-be-authenticated information by using the second quantum key; the authentication result includes an authentication result of the first device by the authentication server, and the authentication An authentication result of the second device by the server; the method further includes:
- the performing the authentication on the second device and the authentication server according to the authentication response includes:
- the authentication by the authentication server is performed;
- the authentication of the second device is performed.
- the first to-be-authenticated information and the second to-be-authenticated information are any random numbers; or
- the first to-be-certified information includes any random number
- the second to-be-certified information includes the first to-be-authenticated information and any random number
- the third to-be-certified information and the first The two pending authentication information are compared, including:
- the first to-be-authenticated information includes any random number;
- the second to-be-certified information includes the first to-be-authenticated information, any random number, and a first verification number;
- the authentication request further includes: a large integer and a second largest integer;
- the first verification number is calculated according to the first large integer, the second largest integer, and the third largest integer;
- the method further includes:
- the shared quantum key is calculated as follows:
- K represents a shared quantum key
- g represents the first large integer
- n represents the second largest integer
- x represents the third largest integer
- y represents the fourth largest integer
- X represents the first verification Number
- Y represents the second verification number.
- the method further includes:
- the method further includes:
- the authentication response includes an authentication packet of the second device, where the authentication packet of the second device includes a second quantum key used by the second device for current identity authentication. Identifying, using the second encrypted ciphertext encrypted by using the second quantum key, the method further includes: acquiring a corresponding decryption quantum key according to the identifier of the second quantum key, and using the decrypted quantum key The key decrypts the second encrypted ciphertext to obtain decryption information; if the decrypted information and the information in the first encrypted ciphertext are consistent, the two-way identity authentication passes.
- the generating the authentication request includes:
- the first to-be-authenticated information is a random number; or the first to-be-authenticated information is a first random number, and the second to-be-authenticated information is The second random number.
- the obtaining the decryption quantum key according to the identifier of the second quantum key, and decrypting the second encrypted ciphertext by using the decryption quantum key to obtain decryption information including:
- decryption quantum key has not been used according to the status identifier, decrypting the second encrypted ciphertext by using the decryption quantum key to obtain decryption information.
- the method further includes:
- a key error response message is sent to the second device.
- the two-way identity authentication is passed, including:
- the two-way identity authentication is passed.
- the sending the authentication request to the second device includes:
- the receiving the authentication response message sent by the second device includes:
- the method further includes: before the generating the authentication request, the method further includes:
- the first quantum key is an unused quantum key; the method further includes:
- the present disclosure provides an identity authentication method, which is applied to a second device, including: receiving a first authentication request of a first device, so that an authentication device performs authentication according to the authentication request, where the first authentication
- the request includes first to-be-authenticated information, an identifier of a first quantum key for current identity authentication, a first encrypted ciphertext encrypted by using the first quantum key, and an authentication response sent to the first device, Included in the authentication response, an authentication message of the authentication device, where the authentication device is the second device, or the authentication device receives the authentication request from the second device and
- the two devices send the authentication server of the authentication packet.
- the authentication request includes a first encrypted ciphertext encrypted by using the first quantum key to encrypt the second to-be-authenticated information
- the authentication response includes an authentication packet of the authentication server
- the method further includes: sending an identity authentication request to the authentication server, where the identity authentication request is included The first authentication request is performed, so that the authentication server performs authentication according to the identity authentication request, and the authentication packet of the authentication server is received, and the first device is authenticated according to the authentication packet.
- the method further includes: generating a second authentication request, including, in the second authentication request, third to-be-authenticated information, where the second device is used An identifier of the second quantum key of the current identity authentication, a second encrypted ciphertext encrypted by using the second quantum key to encrypt the fourth to-be-authenticated information; and the second authentication request is further included in the identity authentication request .
- the authentication packet of the authentication server includes a second authentication packet for the second device, where the second authentication packet includes an identifier of the third quantum key used by the authentication server for the current identity authentication. a third encrypted ciphertext obtained by encrypting the authentication result and the fifth to-be-authenticated information by using the third quantum key; the authentication result includes an authentication result of the first device by the authentication server, and the authentication The authentication result of the second device by the server;
- the method further includes: authenticating the authentication server according to the authentication message.
- the authenticating the authentication server according to the authentication packet includes:
- the authentication by the authentication server is performed;
- the authenticating the first device according to the authentication packet includes:
- the authentication of the first device is performed.
- the first to-be-authenticated information and the second to-be-authenticated information are any random numbers; or
- the first to-be-certified information includes any random number
- the second to-be-certified information includes the first to-be-authenticated information, and any random number
- the third to-be-authenticated information is any random number
- the first The fourth to-be-certified information includes the third to-be-certified information and any random number
- the first to-be-authenticated information is any random number;
- the second to-be-certified information includes the first to-be-authenticated information, any random number, and a first verification number;
- the authentication request further includes: An integer and a second largest integer;
- the first verification number is calculated according to the first large integer, the second largest integer, and the third largest integer;
- the third to-be-certified information is any random number.
- the fourth to-be-certified information includes the third to-be-authenticated information, any random number and a second verification number; the second verification number is that the second device is according to the first large integer, the second Large integer and fourth largest integer generated.
- the method further includes:
- the shared quantum key is calculated as follows:
- K represents a shared quantum key
- g represents the first large integer
- n represents the second largest integer
- x represents the third largest integer
- y represents the fourth largest integer
- X represents the first A verification number
- Y represents the second verification number.
- the method further includes:
- the method further comprises: updating the quantum key set.
- the authentication device is the second device, and after the receiving the first authentication request of the first device, before sending the authentication response to the first device, the method further includes: The authentication request is used to authenticate the first device; if the authentication of the first device is passed, the authentication response is generated, and the identifier of the second quantum key used for the current identity authentication is included in the authentication response, And using the second encrypted ciphertext encrypted by the second quantum key, so that the first device performs authentication according to the authentication response message.
- the first encrypted ciphertext is obtained by the first device by using the first quantum key to encrypt the first to-be-authenticated information and the second to-be-authenticated information;
- the first to-be-authenticated information is the identifier of the first device, and the second to-be-authenticated information is a random number; or the first to-be-authenticated information is the first random number, and the second to-be-authenticated information is the second random number.
- the authenticating the first device according to the authentication request includes:
- decryption quantum key If it is determined that the decryption quantum key has not been used according to the status identifier, decrypting the first encrypted ciphertext by using the decryption quantum key to obtain decryption information;
- the authentication of the first device is passed.
- the method further includes:
- a key error response message is sent to the first device.
- the authentication response message is generated, and the authentication response message is sent to the first device, including:
- the second quantum key is an unused quantum key; the method further includes:
- the receiving the authentication request of the first device includes:
- the front-end server receives the authentication request of the first device, and sends the authentication request to the authentication server;
- the authenticating the first device according to the authentication request includes:
- the authentication server authenticates the first device according to the authentication request
- the authentication server generates an authentication response message, and sends the authentication response message to the front-end server, so that the front-end server sends the authentication response to the first device. Message.
- the method further includes: acquiring, from the quantum key distribution device, a quantum key set shared with the first device; and the quantum key set according to a predetermined manner The key in the setting key identifier; storing the quantum key set, the key identifier, the identifier of the first device, and the identifier of the second device.
- the present disclosure provides an identity authentication method, which is applied to an authentication server, and includes:
- the identity authentication request includes a first authentication request of the first device, and the first authentication request includes first information to be authenticated, and a first quantum for current identity authentication An identifier of the key, and a first encrypted ciphertext encrypted by using the first quantum key to encrypt the second to-be-authenticated information;
- the first to-be-authenticated information and the second to-be-authenticated information are any random numbers; or
- the first to-be-certified information is any random number
- the second to-be-certified information includes the first to-be-authenticated information and any random number
- the first to-be-authenticated information is any random number;
- the second to-be-certified information includes the first to-be-authenticated information, any random number, and a first verification number;
- the authentication request further includes: An integer and a second largest integer;
- the first verification number is calculated according to the first large integer, the second largest integer, and the third largest integer.
- the performing the authentication according to the identity authentication request includes:
- the status identifier of the third quantum key indicates that the third quantum key is not used, decrypting the first encrypted ciphertext by using the third quantum key to obtain the second to-be-certified information;
- the first device is authenticated.
- the comparing the second to-be-certified information with the first to-be-certified information included in the first authentication request including:
- the second authentication request includes the second authentication request of the second device, where the second authentication request includes the third to-be-authenticated information, and the second device is used for the second quantum of the current identity authentication.
- the authenticating according to the identity authentication request includes:
- the status identifier of the fourth quantum key indicates that the fourth quantum key is not used, decrypting the second encrypted ciphertext by using the fourth quantum key to obtain the fourth to-be-certified information;
- the second device is authenticated.
- the third to-be-certified information includes any random number
- the fourth to-be-certified information includes the third to-be-authenticated information, any random number and a second verification number
- the second verification number is the Generating, by the second device, according to the first large integer, the second largest integer, and the fourth largest integer
- the method further includes:
- the method further includes:
- the present disclosure provides an identity authentication apparatus, which is applied to a first device, and includes: a generating module, configured to generate an authentication request, where the first to-be-authenticated information, the current identity authentication is included in the authentication request An identifier of a quantum key, a first encrypted ciphertext encrypted by using the first quantum key, and a sending module, configured to send the authentication request to the second device, so that the authentication device performs authentication according to the authentication request
- the authentication device is the second device, or the authentication device is an authentication server that receives the authentication request from the second device and sends an authentication message to the second device; and a receiving module, configured to: Receiving an authentication response sent by the second device, where the authentication response includes an authentication packet of the authentication device.
- the first encrypted ciphertext is obtained by encrypting the second to-be-authenticated information by using the first quantum key, where the authentication response includes an authentication packet of the authentication server.
- the authentication packet of the authentication server includes a first authentication packet for the first device, where the first authentication packet includes an identifier of the second quantum key used by the authentication server for the current identity authentication.
- the authentication result includes an authentication result of the first device by the authentication server, and the authentication server pair The authentication result of the second device;
- the device further includes: an authentication module, configured to respectively authenticate the second device and the authentication server according to the authentication response.
- the authentication module includes:
- a searching submodule configured to search, according to the identifier of the second quantum key, a corresponding third quantum key
- Reading a submodule configured to read a status identifier of the third quantum key if the third quantum key is found
- a decryption submodule configured to decrypt the second encrypted ciphertext by using the third quantum key, if the status identifier of the third quantum key indicates that the third quantum key is not used, to obtain the Third to-be-certified information and the authentication result;
- a comparison submodule configured to compare the third to-be-certified information with the second to-be-certified information
- a first authentication submodule configured to: perform authentication on the authentication server if the third to-be-authentication information and the second to-be-certified information are consistent;
- the second authentication submodule is configured to authenticate the second device if the authentication result indicates that the authentication server passes the authentication of the second device.
- the first to-be-authenticated information and the second to-be-authenticated information are any random numbers; or the first to-be-authenticated information is any random number, and the second to-be-certified information includes the first to-be-certified information. Authentication information and any random number;
- the comparison submodule is specifically configured to compare any one of the third to-be-authenticated information and the second to-be-authenticated information.
- the first to-be-authenticated information includes any random number;
- the second to-be-certified information includes the first to-be-authenticated information, any random number, and a first verification number;
- the authentication request further includes: a large integer and a second largest integer;
- the first verification number is calculated according to the first large integer, the second largest integer, and the third largest integer;
- the comparison submodule is specifically configured to compare any one of the third to-be-authenticated information and the second to-be-authenticated information.
- the device further comprises:
- a key calculation module configured to calculate a shared quantum key, where the shared quantum key is used for communication with the second device
- the shared quantum key is calculated as follows:
- K represents a shared quantum key
- g represents the first large integer
- n represents the second largest integer
- x represents the third largest integer
- y represents the fourth largest integer
- X represents the first verification Number
- Y represents the second verification number.
- the device further comprises:
- a key acquisition module configured to acquire, from the quantum key distribution device, a quantum key set shared with the authentication server;
- a setting module configured to set a key identifier for a key in the quantum key set according to a predetermined manner
- a storage module configured to store the quantum key set, the key identifier, an identifier of the first device, and an identifier of the authentication server.
- the device further comprises:
- the authentication response includes an authentication packet of the second device, where the authentication packet of the second device includes a second quantum key used by the second device for current identity authentication. Identifying, using the second encrypted ciphertext encrypted by the second quantum key, the device further includes:
- a decryption module configured to acquire a corresponding decryption quantum key according to the identifier of the second quantum key, and decrypt the second encrypted ciphertext by using the decryption quantum key to obtain decryption information
- the authentication module is configured to pass the two-way identity authentication if the decryption information and the information in the first encrypted ciphertext are consistent.
- the generating module includes:
- a key acquisition submodule configured to acquire the first quantum key from a quantum key set shared by the second device
- An information obtaining submodule configured to obtain first to-be-authenticated information and second to-be-authenticated information
- An encryption submodule configured to encrypt the first to-be-authenticated information and the second to-be-authenticated information by using the first quantum key to obtain the first encrypted ciphertext
- And generating a submodule configured to generate the authentication request by using the first to-be-authenticated information, the identifier of the first quantum key, and the first encrypted ciphertext.
- the first to-be-authenticated information is a random number; or the first to-be-authenticated information is a first random number, and the second to-be-authenticated information is The second random number.
- the decryption module includes:
- a finding submodule configured to search, according to the identifier of the second quantum key, a decryption quantum key corresponding to the identifier of the second quantum key in a quantum key set shared by the second device;
- Obtaining a submodule configured to acquire a state identifier of the decryption quantum key if the decryption quantum key is found;
- a decryption submodule configured to decrypt the second encrypted ciphertext by using the decryption quantum key to obtain decryption information if it is determined that the decryption quantum key has not been used according to the status identifier.
- the sending module is further configured to send a key error response message to the second device if the decryption quantum key is not found or the decryption quantum key is used according to the status identifier. .
- the authentication module is specifically configured to: if the decryption information and the second to-be-certified information are consistent, the two-way identity authentication is passed.
- the sending module is specifically configured to send the authentication request to the front-end server, so that the front-end server sends the authentication request to the authentication server, so that the authentication server performs authentication according to the authentication request.
- the receiving module is specifically configured to receive the authentication response message sent by the front-end server, where the authentication response message is sent by the authentication server to the front-end server.
- the device further comprises:
- a key receiving module configured to acquire, from the quantum key distribution device, a quantum key set shared with the second device
- a key processing module configured to set a key identifier for the key in the quantum key set according to a predetermined manner
- a key storage module configured to store the quantum key set, the key identifier, an identifier of the first device, and an identifier of the second device.
- the first quantum key is an unused quantum key
- the apparatus also includes an update module for updating the set of quantum keys.
- an identity authentication apparatus which is applied to a second device, and includes: a receiving module, configured to receive a first authentication request of the first device, so that the authentication device performs authentication according to the authentication request, where The first authentication request includes first to-be-authenticated information, an identifier of a first quantum key for current identity authentication, a first encrypted ciphertext encrypted by using the first quantum key, and a sending module, configured to: Sending an authentication response to the first device, where the authentication response includes an authentication message of the authentication device; wherein the authentication device is the identity authentication device, or the authentication device is from the second device And an authentication server that receives the authentication request and sends the authentication message to the second device.
- the authentication request includes a first encrypted ciphertext that is encrypted by using the first quantum key to the second to-be-authenticated information
- the authentication response includes an authentication packet of the authentication server
- the sending module is further configured to send an identity authentication request to the authentication server, where the first authentication request is included in the identity authentication request, so that the authentication server performs authentication according to the identity authentication request;
- the authentication packet is received by the authentication server, and the first device is authenticated according to the authentication packet.
- the device further comprises:
- a generating module configured to generate a second authentication request, where the second authentication request includes a third to-be-authenticated information, an identifier of the second quantum key used by the second device for the current identity authentication, and the second quantum key is utilized a second encrypted ciphertext after the key is encrypted by the fourth to-be-authenticated information;
- the second authentication request is further included in the identity authentication request.
- the authentication packet of the authentication server includes a second authentication packet for the second device, where the second authentication packet includes an identifier of the third quantum key used by the authentication server for the current identity authentication. a third encrypted ciphertext obtained by encrypting the authentication result and the fifth to-be-authenticated information by using the third quantum key; the authentication result includes an authentication result of the first device by the authentication server, and the authentication The authentication result of the second device by the server;
- the device further includes: an authentication module, configured to authenticate the authentication server according to the authentication message.
- the authentication module includes:
- a searching submodule configured to search for a corresponding fourth quantum key according to the identifier of the third quantum key
- Reading a submodule configured to read a status identifier of the fourth quantum key if the fourth quantum key is found
- a decryption submodule configured to decrypt the third encrypted ciphertext by using the fourth quantum key, if the state identifier of the fourth quantum key indicates that the fourth quantum key is not used, to obtain the Fifth to-be-certified information and the authentication result;
- a comparison submodule configured to compare the fifth to-be-certified information with the fourth to-be-certified information
- a first authentication submodule configured to: if the fifth to-be-authentication information and the fourth to-be-certified information are consistent, perform authentication on the authentication server;
- the second authentication submodule is configured to authenticate the first device if the authentication result indicates that the authentication server passes the authentication of the first device.
- the first to-be-authenticated information and the second to-be-authenticated information are any random numbers; or
- the first to-be-certified information includes any random number
- the second to-be-certified information includes the first to-be-authenticated information, and any random number
- the third to-be-authenticated information is any random number
- the first The fourth to-be-certified information includes the third to-be-certified information and any random number
- the first to-be-authenticated information is any random number;
- the second to-be-certified information includes the first to-be-authenticated information, any random number, and a first verification number;
- the authentication request further includes: An integer and a second largest integer;
- the first verification number is calculated according to the first large integer, the second largest integer, and the third largest integer;
- the third to-be-certified information is any random number.
- the fourth to-be-certified information includes the third to-be-authenticated information, any random number, and a second verification number; the second verification number is that the second device is according to the first large integer, the second Large integer and fourth largest integer generated.
- the device further comprises:
- a key calculation module configured to calculate a shared quantum key, where the shared quantum key is used for communication with the first device
- the shared quantum key is calculated as follows:
- K represents a shared quantum key
- g represents the first large integer
- n represents the second largest integer
- x represents the third largest integer
- y represents the fourth largest integer
- X represents the first A verification number
- Y represents the second verification number.
- the device further comprises:
- a key acquisition module configured to acquire, from the quantum key distribution device, a quantum key set shared with the authentication server;
- a setting module configured to set a key identifier for a key in the quantum key set according to a predetermined manner
- a storage module configured to store the quantum key set, the key identifier, an identifier of the second device, and an identifier of the authentication server.
- the device further comprises:
- An update module for updating the set of quantum keys for updating the set of quantum keys.
- the device further includes: an authentication module, configured to perform authentication on the first device according to the authentication request; and a sending module, configured to generate an authentication response if the authentication of the first device is passed, And sending the authentication response to the first device, where the authentication response message includes an identifier of a second quantum key for current identity authentication, and a second encryption key encrypted by using the second quantum key. So that the first device performs authentication according to the authentication response message.
- the first encrypted ciphertext is obtained by the first device encrypting the first to-be-authenticated information and the second to-be-authenticated information by using the first quantum key; the first to-be-authenticated information is the first The identifier of the device, the second to-be-certified information is a random number; or the first to-be-authenticated information is a first random number, and the second to-be-authenticated information is a second random number.
- the authentication module includes:
- a finding submodule configured to search, according to the identifier of the first quantum key, a decryption quantum key corresponding to the identifier of the first quantum key in a quantum key set shared by the first device;
- Obtaining a submodule configured to acquire a state identifier of the decryption quantum key if the decryption quantum key is found;
- a decryption submodule configured to decrypt the first encrypted ciphertext by using the decryption quantum key to obtain decryption information if it is determined that the decryption quantum key has not been used according to the status identifier;
- the authentication submodule is configured to pass the authentication of the first device if the decryption information and the first to-be-certified information are consistent.
- the sending module is further configured to send a key error response message to the first device if the decryption quantum key is not found or the decryption quantum key is used according to the status identifier. .
- the sending module includes:
- Obtaining a submodule configured to obtain the second quantum key from a quantum key set shared by the first device if the authentication of the first device is passed;
- An encryption submodule configured to encrypt the second to-be-certified information by using the second quantum key to obtain the second encrypted ciphertext
- a sending submodule configured to generate the authentication response message by using the identifier of the second quantum key and the second encrypted ciphertext, and send an authentication response message to the first device.
- the second quantum key is an unused quantum key; the device further includes:
- An update module for updating the set of quantum keys for updating the set of quantum keys.
- the device further comprises:
- a key receiving module configured to acquire, from the quantum key distribution device, a quantum key set shared with the first device
- a key processing module configured to set a key identifier for the key in the quantum key set according to a predetermined manner
- a key storage module configured to store the quantum key set, the key identifier, an identifier of the first device, and an identifier of the second device.
- an identity authentication apparatus including:
- a receiving module configured to receive an identity authentication request of the second device, where the identity authentication request includes a first authentication request of the first device, and the first authentication request includes the first to-be-authenticated information, for the current identity An identifier of the authenticated first quantum key, and a first encrypted ciphertext encrypted by using the first quantum key to encrypt the second to-be-authenticated information;
- An authentication module configured to perform authentication according to the identity authentication request
- a sending module configured to send an authentication packet to the second device.
- the first to-be-authenticated information and the second to-be-authenticated information are any random numbers; or
- the first to-be-certified information is any random number
- the second to-be-certified information includes the first to-be-authenticated information and any random number
- the first to-be-authenticated information is any random number;
- the second to-be-certified information includes the first to-be-authenticated information, any random number, and a first verification number;
- the authentication request further includes: An integer and a second largest integer;
- the first verification number is calculated according to the first large integer, the second largest integer, and the third largest integer.
- the authentication module includes:
- a first search submodule configured to search for a corresponding third quantum key according to the identifier of the first quantum key
- a first reading submodule configured to read a status identifier of the third quantum key if the third quantum key is found
- a first decryption submodule configured to decrypt the first encrypted ciphertext by using the third quantum key if the status identifier of the third quantum key indicates that the third quantum key is not used
- the second to-be-certified information
- a first comparison submodule configured to compare the second to-be-certified information with the first to-be-certified information included in the first authentication request
- the first authentication submodule is configured to authenticate the first device if the second to-be-authenticated information and the first to-be-certified information included in the first authentication request are consistent.
- the first comparison sub-module is specifically configured to compare any one of the second to-be-certified information with the first to-be-certified information.
- the second authentication request includes the second authentication request of the second device, where the second authentication request includes the third to-be-authenticated information, and the second device is used for the second quantum of the current identity authentication.
- the identifier of the key, the second encrypted ciphertext after the fourth to-be-authenticated information is encrypted by using the second quantum key; the authentication module includes:
- a second search submodule configured to search for a corresponding fourth quantum key according to the identifier of the second quantum key
- a second reading submodule configured to read a status identifier of the fourth quantum key if the fourth quantum key is found
- a second decryption submodule configured to decrypt the second encrypted ciphertext by using the fourth quantum key if the state identifier of the fourth quantum key indicates that the fourth quantum key is not used
- a second comparison submodule configured to compare the fourth to-be-certified information with the third to-be-authenticated information
- the second authentication submodule is configured to authenticate the second device if the fourth to-be-authenticated information and the third to-be-authenticated information are consistent.
- the third to-be-certified information includes any random number
- the fourth to-be-certified information includes the third to-be-authenticated information, any random number and a second verification number
- the second verification number is the Generating, by the second device, according to the first large integer, the second largest integer, and the fourth largest integer
- the second comparison sub-module is specifically configured to compare any one of the fourth to-be-certified information with the third to-be-certified information.
- the device further comprises:
- a key acquisition module configured to acquire, respectively, a first quantum key set and a second quantum key set shared by the first device and the second device from the quantum key distribution device;
- a setting module configured to set a key identifier for the first quantum key set and the key in the second quantum key set according to a predetermined manner
- a first storage module configured to store the first quantum key set, the key identifier, an identifier of the first device, and an identifier of the authentication server;
- a second storage module configured to store the second quantum key set, the key identifier, an identifier of the second device, and an identifier of the authentication server.
- the device further comprises:
- An update module for updating the set of quantum keys for updating the set of quantum keys.
- an embodiment of the present disclosure further provides an identity authentication apparatus, applicable to a first device, including: a processor; and a memory, configured to store a computer program executable on the processor; wherein the processing The steps of the method described in the first aspect are performed by the computer program.
- an embodiment of the present disclosure further provides an identity authentication apparatus, applicable to a second device, including: a processor; and a memory, configured to store a computer program executable on the processor; wherein the processing The program is for performing the steps of the computer program implementing the method of the second aspect.
- an embodiment of the present disclosure further provides an authentication server, including: a processor; and a memory, configured to store a computer program executable on the processor; wherein the processor is configured to execute the computer program
- an authentication server including: a processor; and a memory, configured to store a computer program executable on the processor; wherein the processor is configured to execute the computer program
- an embodiment of the present disclosure further provides a computer readable storage medium, where the computer readable storage medium stores a computer program, where the computer program is executed by a processor to implement the method in the first aspect. A step of.
- an embodiment of the present disclosure further provides a computer readable storage medium, where the computer readable storage medium stores a computer program, and when the computer program is executed by a processor, implementing the method of the second aspect The steps in .
- the embodiment of the present disclosure further provides a computer readable storage medium, where the computer readable storage medium stores a computer program, and when the computer program is executed by a processor, implementing the method of the third aspect The steps in .
- the authentication of the device can be implemented through one interaction. Therefore, the solution of the embodiment of the present disclosure has a fast authentication speed and high authentication efficiency.
- 1 is a flow chart of secure and secure communication based on a quantum key distribution mechanism
- FIG. 2 is a flowchart of an identity authentication method according to Embodiment 1 of the present disclosure
- FIG. 3 is a flowchart of an identity authentication method according to Embodiment 2 of the present disclosure.
- FIG. 5 is a flowchart of an identity authentication method according to Embodiment 4 of the present disclosure.
- FIG. 6 is a flowchart of an identity authentication method according to Embodiment 5 of the present disclosure.
- FIG. 7 is a flowchart of an identity authentication method according to Embodiment 6 of the present disclosure.
- FIG. 8 is a schematic diagram of an identity authentication apparatus according to Embodiment 7 of the present disclosure.
- FIG. 9 is a structural diagram of an identity authentication apparatus according to Embodiment 7 of the present disclosure.
- FIG. 10 is a schematic diagram of an identity authentication apparatus according to Embodiment 8 of the present disclosure.
- FIG. 11 is a structural diagram of an identity authentication apparatus according to Embodiment 8 of the present disclosure.
- FIG. 12 is a schematic diagram of an identity authentication apparatus according to Embodiment 9 of the present disclosure.
- FIG. 13 is a structural diagram of an identity authentication apparatus according to Embodiment 9 of the present disclosure.
- FIG. 17 is a schematic diagram of a quantum key storage device according to an embodiment of the present invention.
- FIG. 19 is still another schematic diagram of a quantum key storage device according to an embodiment of the present invention.
- FIG. 21 is a flowchart of an identity authentication method according to Embodiment 15 of the present invention.
- FIG. 22 is a schematic diagram of an identity authentication apparatus according to Embodiment 16 of the present invention.
- FIG. 23 is a structural diagram of a dual identity authentication apparatus according to Embodiment 16 of the present invention.
- FIG. 24 is a schematic diagram of an identity authentication apparatus according to Embodiment 17 of the present invention.
- Figure 25 is a structural diagram of an identity authentication apparatus according to a seventeenth embodiment of the present invention.
- quantum secure communication technology utilizes the basic principles of quantum mechanics to ensure the absolute security of the key, that is, any measurement of the quantum system will cause interference, so if an attacker tries to measure the system Obtain key information, and communication will be convenient.
- Quantum secure communication technology can realize the secure distribution of keys through quantum networks. These keys are called quantum keys.
- quantum network transceivers and quantum channels should be included in the quantum network, quantum key transceivers are used to generate and distribute keys, quantum channels are used for quantum key transmission, and quantum keys can be used in classical communication using existing encryption algorithms. Secure transmission of information in the network. Since quantum networks can generate a large number of quantum keys, the use of these keys for identity authentication and data encryption has become a new research hotspot.
- the working principle of practical secure communication is mainly based on secure key distribution and secure data encryption transmission. That is to say, it is first necessary to use a certain security mechanism to distribute the shared key between the two communicating parties, and then use the shared key to encrypt and decrypt the data that needs to be securely transmitted between the communicating parties, thereby realizing the data of the two communicating parties. Confidential transmission.
- the encryption algorithm can use the commercial standard algorithm SM4 and some mainstream encryption algorithms in the world, such as AES, and the key distributed through a certain security key distribution mechanism, which can effectively ensure the security of data transmission in the communication process.
- mainstream encryption algorithms such as SM4 and AES have high security strength and are sufficient to resist all existing analysis and attack methods, finding a safe and efficient key distribution mechanism has become the most critical and core issue for secure communication. .
- quantum key distribution provides another safe, efficient and practical ideal key distribution method.
- quantum key distribution such as non-reclassable, unmeasurable, non-reproducible and ideal random, guarantee the unconditional security of quantum key distribution system from the perspective of the basic principles of underlying quantum mechanics.
- the secure secret communication based on the quantum key distribution mechanism mainly includes two main steps:
- Step 101 corresponds to 1, 2 in FIG.
- a dedicated quantum network and corresponding transceiving quantum devices are used to negotiate and distribute the quantum shared key between the two communicating parties, and the communication partner separately transmits the shared key to the local encryption device, which ensures key distribution and Unconditional security of the transmission process.
- Step 102 corresponds to 3, 4, and 5 in FIG.
- the first device generates an authentication request, including, in the authentication request, first to-be-authenticated information, an identifier of a first quantum key for current identity authentication, and encryption using the first quantum key The first encrypted ciphertext; the first device sends the authentication request to the second device.
- the second device may perform authentication according to the authentication request, and the second device sends an authentication response to the first device.
- the second device sends an authentication request to the authentication server, and the authentication server performs authentication according to the authentication request, and the second device receives the authentication packet sent by the authentication server and sends an authentication response carrying the authentication packet to the first device. That is to say, the authentication device may be the second device or an authentication server.
- the method of the embodiments of the present disclosure may be applied to three-party authentication, and may also be applied to two-way identity authentication.
- the identity authentication method in the first embodiment of the present disclosure is applied to a first device, including:
- Step 201 Generate an authentication request, where the authentication request includes the first to-be-authenticated information, the identifier of the first quantum key used for the current identity authentication, and the second to-be-authenticated information is encrypted by using the first quantum key.
- the first encrypted ciphertext includes the first to-be-authenticated information, the identifier of the first quantum key used for the current identity authentication, and the second to-be-authenticated information is encrypted by using the first quantum key.
- the first device acquires the first quantum key from a set of quantum keys shared with an authentication server. Meanwhile, the first device acquires the first to-be-authenticated information and the second to-be-authenticated information And then encrypting the second to-be-certified information by using the first quantum key to obtain the first encrypted ciphertext. Finally, the authentication request is generated by using the first to-be-authenticated information, the identifier of the first quantum key, and the first encrypted ciphertext.
- the first to-be-authenticated information and the second to-be-authenticated information are any random numbers, and the two may be equal.
- the first to-be-certified information includes any random number
- the second to-be-certified information includes the first to-be-authenticated information and any random number.
- the any random number may be different from the first to-be-certified information.
- the first to-be-authenticated information includes any random number;
- the second to-be-certified information includes the first to-be-authenticated information, any random number, and a first verification number;
- the authentication request further includes: a large integer and a second largest integer; the first verification number is calculated according to the first large integer, the second largest integer, and the third largest integer.
- the first quantum key is an unused quantum key.
- Step 202 Send the authentication request to the second device, so that the second device sends the authentication request to the authentication server, and the authentication server performs authentication according to the authentication request.
- Step 203 Receive an authentication response sent by the second device, where the authentication response includes an authentication packet of the authentication server.
- the two-way authentication can be implemented by one interaction between the devices. Therefore, the solution of the embodiment of the present disclosure has a fast authentication speed and high authentication efficiency.
- the identity authentication method in the second embodiment of the present disclosure is applied to the second device, including:
- Step 301 Receive a first authentication request of the first device, where the first authentication request includes the first to-be-authenticated information, the identifier of the first quantum key used for the current identity authentication, and the first quantum key.
- the first encrypted ciphertext after the second to-be-certified information is encrypted.
- Step 302 Send an identity authentication request to the authentication server, where the first authentication request is included in the identity authentication request, so that the authentication server performs authentication according to the identity authentication request.
- Step 303 Receive an authentication packet of the authentication server, and perform authentication on the first device according to the authentication packet.
- Step 304 Send an authentication response to the first device according to the authentication packet.
- the two-way authentication can be implemented by one interaction between the devices. Therefore, the solution of the embodiment of the present disclosure has a fast authentication speed and high authentication efficiency.
- the identity authentication method in the third embodiment of the present disclosure is applied to an authentication server, including:
- Step 401 Receive an identity authentication request of the second device, where the identity authentication request includes a first authentication request of the first device, and the first authentication request includes the first to-be-authenticated information and the current identity authentication. An identifier of the first quantum key, and a first encrypted ciphertext encrypted by the first quantum key to the second to-be-authenticated information.
- Step 402 Perform authentication according to the identity authentication request.
- Step 403 Send an authentication packet to the second device.
- the two-way authentication can be implemented by one interaction between the devices. Therefore, the solution of the embodiment of the present disclosure has a fast authentication speed and high authentication efficiency.
- the identity authentication method in the fourth embodiment of the present disclosure includes:
- Step 501 The device is initialized.
- the purpose of device initialization is to enable the authentication parties to generate a quantum key with the authentication center respectively.
- the authentication and key agreement phases use the stored quantum key for mutual authentication, and the shared key is generated by both parties.
- the authenticated entity needs to generate a plurality of shared keys in advance through the quantum key distribution network and the authentication server, and store the shared keys, where information such as a key identifier, a key, and the like needs to be stored.
- the process is as follows:
- the authenticated physical device A is connected to the authentication server through the quantum network, and a large number of unconditionally secure shared key sets are generated at the transmitting and receiving ends by using the quantum network.
- the key set is written as K, which contains the keys K1, K2, ....
- the key receiving unit of the key storage module in the device A receives the quantum key set K from the quantum network; the authentication server receives the quantum key set K from the quantum network.
- the device A and the authentication server define the key identifier for the key in the same way, and the identifier of the key Ki is recorded as IDKi.
- Device A and the authentication server store information such as a key, a key identifier, the identity of the device A, and the authentication server.
- the IDs of the device A and the authentication server are respectively recorded as IDA and IDAuth, and the key is stored as follows: (IDKi, Ki, IDA, IDAuth).
- Step 502 Device A sends an authentication request to device B.
- the device A selects a key KA1 that has not been used, randomly generates a random number N1, and sends an authentication request M1 to the device B, which includes the key identifier IDKA1 selected by the device A, the random number N1, and the secret after encrypting N1 using KA1.
- Text information EKA1 (N1)).
- Step 503 The device B sends an authentication request to the authentication server.
- Device B forwards the authentication request of device A to the authentication server.
- Step 504 The authentication server authenticates the device A.
- each key in the shared key set may have a corresponding status identifier. If a key is still in the collection, its corresponding status identifier can be used or not used. Therefore, here, if Kj is found, it can be determined whether it has been used by reading its status identifier.
- the authentication server searches for the KA1 in the quantum key set according to IDKA1. If KA1 has been deleted or marked as used, the key error is returned. If KA1 is not used, the ciphertext is decrypted using KA1 to obtain N1. If N1 obtained after decryption is consistent with N1 transmitted in plaintext in M1, device A is considered to have the key KA1 to authenticate device A.
- Step 505 The authentication server returns the authentication result to the device B as an authentication response.
- Step 506 The device B returns the authentication result to the device A as an authentication response.
- the device B can implement the authentication of the device A. That is, if the authentication result indicates that the authentication server has passed the authentication of the device A, the device B passes the authentication of the device A. If the authentication result indicates that the authentication server has not passed the authentication of device A, device B does not pass the authentication of device A.
- device A or the authentication server may also update the set of quantum keys. For example, the key KA1 is deleted, or the status identifier of the key KA1 is updated, and it is marked as used. The certification process is over.
- the identity authentication method in the fifth embodiment of the present disclosure includes:
- Step 601 the device is initialized.
- the authentication subject involved includes device A, device B, and an authentication server. Between the device B and the authentication server, the quantum key set between the device B and the authentication server may also be obtained in a manner that the device A and the authentication server obtain the quantum key set before.
- Step 602 Device A sends an authentication request to device B.
- the device A selects a key KA1 that has not been used, randomly generates two random numbers N1 and N2, and sends an authentication request M1 to the device B, which includes the key identifier IDKA1 selected by the device A, the random number N1, and the encrypted N1 using KA1. And ciphertext information after N2.
- Device A needs to temporarily store N2 until the end of the authentication process. Alternatively, N1 and N2 may be equal.
- Step 603 Device B generates an authentication request.
- the device B After receiving the authentication request of the device A, the device B selects an unused key KB1 from the stored quantum key set, randomly generates two random numbers N3 and N4, and organizes the authentication request M2, including the device B selecting to use.
- Device B needs to temporarily store N4 until the end of the authentication process. Alternatively, N3 and N4 may be equal.
- Step 604 The device B sends an identity authentication request to the authentication server.
- Device B sends an identity authentication request to the authentication server, which includes M1 and M2.
- Step 605 The authentication server authenticates the device A and the device B respectively.
- the authentication server searches for the corresponding keys KA1 and KB1 in the stored quantum key set, respectively, based on the key identifiers IDKA1 and IDKB1. If KA1 or KB1 has been deleted or marked as used, the key error is returned; if KA1 and KB1 are not used, the ciphertexts in M1 and M2 are decrypted using KA1 and KB1, respectively.
- the authentication server verifies whether the decrypted N1 and N3 are identical to the plaintext transmissions N1 and N3 in M1 and M2. If they are inconsistent, the authentication fails and the authentication failure message is returned. If they are consistent, device A and device B are considered to have keys KA1 and KB1, respectively, and their identity is verified. The following authentication response message is organized.
- the authentication server respectively selects a key KA2 and KB2 shared with the device A and the device B and has not been used, and organizes the messages M3 and M4.
- M3 contains the ID2 of KB2, and the ciphertext using KB2 encrypted random number N4 and the authentication result Result;
- M4 contains the identification IDKA2 of KA2, and the ciphertext using KA2 to encrypt the random number N2 and the authentication result Result.
- the authentication result includes the authentication result of the authentication server to device A and device B.
- Step 606 The authentication server sends an authentication response to the device B.
- Step 607 Device B authenticates device A and the authentication server.
- device B After receiving the authentication response of the authentication server, device B finds KB2 from its own storage area according to the key identifier IDKB2 in M3. If KB2 has been deleted or marked as used, the key is returned incorrectly; otherwise, KB2 is used to decrypt the M3. Cipher text. It is verified whether N4 obtained after decryption is consistent with N4 in the authentication request M2 that is cached by itself. If they are consistent, the authentication server has KB1 and KB2, and the authentication of the authentication server is implemented; otherwise, the authentication fails.
- the device B knows the authentication result of the authentication server to the device A according to the Result.
- device B may also update the set of quantum keys, for example, keys KB1 and KB2 may be deleted or marked as used.
- Step 608 Device B sends an authentication response to device A.
- Device B sends M4 as an authentication response to device A.
- Step 609 Device A authenticates device B and the authentication server.
- device A After receiving the authentication response of device B, device A finds KA2 from its own storage area according to the key identification IDKA2 in M4. If KA2 has been deleted or marked as used, the key is returned incorrectly; otherwise, KA2 is used to decrypt the M4. Cipher text. It is verified whether N2 obtained after decryption is consistent with N2 in the authentication request M1 that is cached by itself. If they are consistent, the authentication server has KA1 and KA2, and the authentication of the authentication server is implemented; otherwise, the authentication fails. The device A knows the authentication result of the authentication server to the device A and the device B according to the Result.
- device A may also update the set of quantum keys, for example, delete KA1 and KA2, or mark them as used. The certification process is over.
- the authentication server can implement mutual authentication between the two devices.
- the Diffie-Hellman (DH) protocol can be integrated to implement the authentication device. Key agreement between both parties.
- the Diffie-Hellman protocol is a key agreement protocol that allows two entities to negotiate keys in an insecure medium.
- the identity authentication method in Embodiment 6 of the present disclosure includes:
- Step 701 The device is initialized.
- the authentication subject involved includes device A, device B, and an authentication server. Between the device B and the authentication server, the quantum key set between the device B and the authentication server may also be obtained in a manner that the device A and the authentication server obtain the quantum key set before.
- Step 702 Device A sends an authentication request to device B.
- the device A sends an authentication request M1 to the device B, which includes the key identifier IDKA1 selected by the device A, the random number N1, the ciphertext information of the random number N1, N2, X encrypted by KA1, and the integers n and g selected by the device A.
- Device A needs to temporarily store x and N2 until the end of the authentication process.
- Step 703 Device B generates an authentication request.
- M2 which includes the key identifier IDKB1 selected by the device B, the random number N3, and the ciphertext information after encrypting N3, N4, Y using KB1.
- Device B needs to temporarily store y and N4 until the end of the authentication process.
- Step 704 The device B sends an identity authentication request to the authentication server.
- Device B sends an identity authentication request to the authentication server, which includes M1 and M2.
- Step 705 The authentication server authenticates the device A and the device B respectively.
- the authentication server verifies whether the decrypted N1 and N3 are identical to the plaintext transmissions N1 and N3 in M1 and M2. If they are inconsistent, the authentication fails and the authentication failure message is returned. If they are consistent, device A and device B are considered to have keys KA1 and KB1, respectively, and their identity is verified. The following authentication response message is organized.
- the authentication server respectively selects a key KA2 and KB2 shared with the device A and the device B and has not been used, and organizes the messages M3 and M4.
- M3 contains the identifier IDKB2 of KB2, the KB2 encrypted random number N4, the authentication result Result, and the X decrypted from M1;
- M4 contains the identification IDKA2 of KA2, the KA2 encrypted random number N2, the authentication result Result, and the slave M2 Decrypt the resulting Y.
- the authentication result includes the authentication result of the authentication server to device A and device B.
- Step 706 The authentication server sends an authentication response to the device B.
- Step 707 Device B authenticates device A and the authentication server.
- device B After receiving the authentication response of the authentication server, device B finds KB2 from its own storage area according to the key identifier IDKB2 in M3. If KB2 has been deleted or marked as used, the key is returned incorrectly; otherwise, KB2 is used to decrypt the M3. Cipher text. It is verified whether N4 obtained after decryption is consistent with N4 in the authentication request M2 that is cached by itself. If they are consistent, the authentication server has KB1 and KB2, and the authentication of the authentication server is implemented; otherwise, the authentication fails.
- the device B knows the authentication result of the authentication server to the device A according to the Result.
- device B may also update the set of quantum keys, for example, keys KB1 and KB2 may be deleted or marked as used.
- Step 708 Device B sends an authentication response to device A.
- Device B sends M4 as an authentication response to device A.
- Step 709 Device A authenticates device B and the authentication server.
- Device A finds KA2 from its own storage area according to the key identification IDKA2 in M4. If KA2 has been deleted or marked as used, the key is returned incorrectly; otherwise, the ciphertext in M4 is decrypted using KA2.
- the device A verifies whether the N2 obtained after the decryption is consistent with the N2 in the authentication request M1 that is cached by itself. If they are consistent, the authentication server has KA1 and KA2, and the authentication of the authentication server is implemented; otherwise, the authentication fails.
- the device A knows the authentication result of the authentication server to the device A and the device B according to the Result.
- device A may also update the set of quantum keys, for example, delete KA1 and KA2, or mark them as used.
- the shared key between device A and device B is:
- the authentication server uses KA2 to correctly encrypt N2, which means that the authentication server does have IDKA1 and IDKA2, that is, device A authenticates the authentication server.
- IDKB1 and IDKB2 are only shared by device B and the authentication server, if device B correctly encrypts N3 using KB1, authentication of device B is achieved. Similarly, if the authentication server uses KB2 to correctly encrypt N4, it means that the authentication server does have IDKB1 and IDKB2, that is, device B authenticates the authentication server.
- Device A and device B respectively authenticate the authentication server.
- the authentication server encrypts the authentication result Result of device A and device B to both parties to implement mutual authentication between device A and device B.
- the quantum key is shared only by both communicating parties and used only once, so even if the attacker intercepts the communication data, it cannot be decrypted.
- the encryption algorithm in the scheme can adopt the existing symmetric cryptographic algorithm, such as AES, etc., quantum computing can crack the symmetric cryptographic algorithm, but can not break the asymmetric cryptographic algorithm.
- the quantum key transceiver device has been commercialized, and the quantum network and the quantum key transceiver device can be used to realize key distribution between the device and the authentication server, and can be rapidly deployed and used.
- the identity authentication apparatus of the seventh embodiment of the present disclosure includes:
- the generating module 801 is configured to generate an authentication request, where the authentication request includes the first to-be-authenticated information, the identifier of the first quantum key used for the current identity authentication, and the second to-be-authenticated by using the first quantum key pair
- the first encrypted ciphertext after the information is encrypted
- the sending module 802 is configured to send the authentication request to the second device, so that the second device sends the authentication request to the authentication server, where the authentication server is configured according to the
- the authentication request is performed by the authentication server
- the receiving module 803 is configured to receive the authentication response sent by the second device, where the authentication response includes the authentication packet of the authentication server.
- the authentication packet of the authentication server includes a first authentication packet for the first device, where the first authentication packet includes an identifier of the second quantum key used by the authentication server for the current identity authentication.
- the authentication result includes an authentication result of the first device by the authentication server, and the authentication server pair The authentication result of the second device;
- the device further includes: an authentication module 804, configured to respectively authenticate the second device and the authentication server according to the authentication response.
- the authentication module 804 includes: a search submodule, configured to search for a corresponding third quantum key according to the identifier of the second quantum key; and a read submodule, configured to find the third quantum key a key, the state identifier of the third quantum key is read; and the decryption submodule is configured to: if the state identifier of the third quantum key indicates that the third quantum key is not used, The third quantum key decrypts the second encrypted ciphertext to obtain the third to-be-certified information and the authentication result, and the comparison sub-module is configured to perform the third to-be-authenticated information and the second to-be-certified information a first authentication sub-module, configured to: if the third to-be-certified information and the second to-be-certified information are consistent, authenticate the authentication server; and the second authentication sub-module is used to perform the authentication.
- the result indicates that the authentication of the second device by the authentication server passes, and the authentication of the second device is performed.
- the first to-be-authenticated information and the second to-be-authenticated information are any random numbers; or the first to-be-authenticated information is any random number, and the second to-be-certified information includes the first to-be-certified information.
- the authentication information and any random number; the comparison sub-module is specifically configured to compare any one of the third to-be-authenticated information and the second to-be-authenticated information.
- the first to-be-authenticated information includes any random number;
- the second to-be-certified information includes the first to-be-authenticated information, any random number, and a first verification number;
- the authentication request further includes: a large integer and a second largest integer;
- the first verification number is calculated according to the first large integer, the second largest integer, and the third largest integer;
- the comparison submodule is specifically used to Comparing any one of the third to-be-certified information and the second to-be-certified information.
- the device further includes:
- a key calculation module 805, configured to calculate a shared quantum key, where the shared quantum key is used for communication with the second device;
- the shared quantum key is calculated as follows:
- K represents a shared quantum key
- g represents the first large integer
- n represents the second largest integer
- x represents the third largest integer
- y represents the fourth largest integer
- X represents the first verification Number
- Y represents the second verification number.
- the device further includes:
- a key obtaining module 806, configured to acquire a quantum key set shared by the authentication server from the quantum key distribution device, and a setting module 807, configured to set a key for the key in the quantum key set according to a predetermined manner
- a storage module 808, configured to store the quantum key set, the key identifier, an identifier of the first device, and an identifier of the authentication server.
- the apparatus further includes: an update module 809, configured to update the quantum key set.
- the two-way authentication can be implemented by one interaction between the devices. Therefore, the solution of the embodiment of the present disclosure has a fast authentication speed and high authentication efficiency.
- the identity authentication apparatus of Embodiment 8 of the present disclosure includes:
- the first receiving module 901 is configured to receive a first authentication request of the first device, where the first authentication request includes the first to-be-authenticated information, the identifier of the first quantum key used for the current identity authentication, and the The first encrypted cipher is encrypted by the first quantum key to the second to-be-authenticated information; the first sending module 902 is configured to send an identity authentication request to the authentication server, where the first authentication request is included in the identity authentication request.
- the second authentication module 903 is configured to receive the authentication packet of the authentication server, and perform authentication on the first device according to the authentication packet.
- the second sending module 904 is configured to send an authentication response to the first device according to the authentication message.
- the device further includes:
- the generating module 905 is configured to generate a second authentication request, where the second authentication request includes the third to-be-authenticated information, the identifier of the second quantum key used by the second device for the current identity authentication, and the second quantum is utilized.
- the second encrypted ciphertext after the key is encrypted by the fourth to-be-authenticated information; the second authentication request is further included in the identity authentication request.
- the authentication packet of the authentication server includes a second authentication packet for the second device, where the second authentication packet includes an identifier of the third quantum key used by the authentication server for the current identity authentication. a third encrypted ciphertext obtained by encrypting the authentication result and the fifth to-be-authenticated information by using the third quantum key; the authentication result includes an authentication result of the first device by the authentication server, and the authentication The authentication result of the second device by the server;
- the device further includes: an authentication module 906, configured to authenticate the authentication server according to the authentication packet.
- the authentication module 906 includes:
- a submodule configured to search for a corresponding fourth quantum key according to the identifier of the third quantum key; and a reading submodule, configured to read the fourth if the fourth quantum key is found a state identifier of the quantum key; a decryption submodule, configured to decrypt the third by using the fourth quantum key if a state identifier of the fourth quantum key indicates that the fourth quantum key is not used Encrypting the ciphertext, obtaining the fifth to-be-certified information and the authentication result; and comparing the sub-module, configured to compare the fifth to-be-certified information with the fourth to-be-authenticated information; the first authentication sub-module And if the fifth to-be-authentication information and the fourth to-be-certified information are consistent, the authentication is performed by the authentication server, and the second authentication sub-module is configured to: if the authentication result indicates that the authentication server is configured to The authentication of the first device passes, and the authentication of the first device is performed.
- the first to-be-authenticated information and the second to-be-authenticated information are any random numbers; or
- the first to-be-certified information includes any random number
- the second to-be-certified information includes the first to-be-authenticated information, and any random number
- the third to-be-authenticated information is any random number
- the first The fourth to-be-certified information includes the third to-be-certified information and any random number
- the first to-be-authenticated information is any random number;
- the second to-be-certified information includes the first to-be-authenticated information, any random number, and a first verification number;
- the authentication request further includes: An integer and a second largest integer;
- the first verification number is calculated according to the first large integer, the second largest integer, and the third largest integer;
- the third to-be-certified information is any random number.
- the fourth to-be-certified information includes the third to-be-authenticated information, any random number, and a second verification number; the second verification number is that the second device is according to the first large integer, the second Large integer and fourth largest integer generated.
- the device further includes:
- a key calculation module 907 configured to calculate a shared quantum key, where the shared quantum key is used for communication with the first device;
- the shared quantum key is calculated as follows:
- K represents a shared quantum key
- g represents the first large integer
- n represents the second largest integer
- x represents the third largest integer
- y represents the fourth largest integer
- X represents the first A verification number
- Y represents the second verification number.
- the device further includes:
- a key acquisition module 908 configured to acquire a quantum key set shared with the authentication server from the quantum key distribution device, and a setting module 909, configured to set a key for the key in the quantum key set according to a predetermined manner
- a storage module 910 configured to store the quantum key set, the key identifier, an identifier of the second device, and an identifier of the authentication server.
- the apparatus further includes an update module 912, configured to update the quantum key set.
- the two-way authentication can be implemented by one interaction between the devices. Therefore, the solution of the embodiment of the present disclosure has a fast authentication speed and high authentication efficiency.
- the identity authentication apparatus of the ninth embodiment of the present disclosure includes:
- the receiving module 1201 is configured to receive an identity authentication request of the second device, where the identity authentication request includes a first authentication request of the first device, and the first authentication request includes the first to-be-authenticated information, for the current An identifier of the first quantum key of the identity authentication, the first encrypted ciphertext encrypted by using the first quantum key to encrypt the second to-be-authenticated information; the authentication module 1202, configured to perform authentication according to the identity authentication request; The module 1203 is configured to send an authentication packet to the second device.
- the first to-be-authenticated information and the second to-be-authenticated information are any random numbers; or the first to-be-authenticated information is any random number, and the second to-be-certified information includes the first to-be-certified information.
- the authentication request further includes: a first large integer and a second largest integer; and the first verification number is calculated according to the first large integer, the second largest integer, and the third largest integer.
- the authentication module 1202 includes:
- a first search submodule configured to search for a corresponding third quantum key according to the identifier of the first quantum key; and the first read submodule is configured to: if the third quantum key is found, read a state identifier of the third quantum key; a first decryption submodule, configured to use the third quantum key if a state identifier of the third quantum key indicates that the third quantum key is not used Decrypting the first encrypted ciphertext to obtain the second to-be-authenticated information; the first comparing sub-module, configured to use the second to-be-authenticated information and the first to-be-authenticated information included in the first authentication request The first authentication sub-module is configured to authenticate the first device if the second to-be-authenticated information and the first to-be-certified information included in the first authentication request are consistent.
- the first comparison sub-module is specifically configured to compare any one of the second to-be-certified information with the first to-be-certified information.
- the second authentication request includes the second authentication request of the second device, where the second authentication request includes the third to-be-authenticated information, and the second device is used for the second quantum of the current identity authentication.
- the identifier of the key, the second encrypted ciphertext after the fourth to-be-authenticated information is encrypted by using the second quantum key; the authentication module 1202 includes:
- a second search submodule configured to search for a corresponding fourth quantum key according to the identifier of the second quantum key; and a second read submodule, configured to: if the fourth quantum key is found, read a state identifier of the fourth quantum key; a second decryption submodule, configured to use the fourth quantum key if a state identifier of the fourth quantum key indicates that the fourth quantum key is not used Decrypting the second encrypted ciphertext to obtain the fourth to-be-certified information; the second comparing sub-module, configured to compare the fourth to-be-authenticated information with the third to-be-authenticated information; the second authenticator The module is configured to perform authentication on the second device if the fourth to-be-authenticated information and the third to-be-authenticated information are consistent.
- the third to-be-certified information includes any random number
- the fourth to-be-certified information includes the third to-be-authenticated information, any random number, and a second verification number
- the second verification number is the first
- the second device is generated according to the first large integer, the second largest integer, and the fourth largest integer
- the second comparison sub-module is specifically configured to compare any one of the fourth to-be-certified information with the third to-be-certified information.
- the device further includes:
- the key acquisition module 1204 is configured to separately acquire a first quantum key set and a second quantum key set shared by the first device and the second device from the quantum key distribution device, and a setting module 1205, configured to perform the predetermined The method is to set a key identifier for the first quantum key set and the key in the second quantum key set; the first storage module 1206 is configured to store the first quantum key set, the key The identifier, the identifier of the first device, and the identifier of the authentication server; the second storage module 1207 is configured to store the second quantum key set, the key identifier, the identifier of the second device, and the authentication server Logo.
- the apparatus may further include: an update module 1208, configured to update the quantum key set.
- the identity authentication method in the tenth embodiment of the present disclosure is applied to the first device, and includes:
- Step 1401 Generate an authentication request, where the authentication request includes first to-be-authenticated information, an identifier of a first quantum key used for current identity authentication, and a first encrypted ciphertext encrypted by using the first quantum key. .
- the first device acquires the first quantum key from a quantum key set shared by the second device, and acquires first to-be-authenticated information and second to-be-authenticated information. Then, the first to-be-authenticated information and the second to-be-authenticated information are encrypted by using the first quantum key to obtain the first encrypted ciphertext. Finally, the authentication request is generated by using the first to-be-authenticated information, the identifier of the first quantum key, and the first encrypted ciphertext.
- the first to-be-certified information is an identifier of the first device, and the second to-be-authenticated information is a random number. Or, in order to further improve security, the first to-be-authenticated information is a first random number, and the second to-be-authenticated information is a second random number.
- the first quantum key is an unused quantum key.
- Step 1402 Send the authentication request to the second device, so that the second device performs authentication according to the authentication request.
- Step 1403 Receive an authentication response message sent by the second device, where the authentication response message includes an identifier of a second quantum key used by the second device for current identity authentication, and using the second The second encrypted ciphertext after the quantum key is encrypted.
- the second device After the second device authenticates the first device, the second device sends an authentication response message to the first device.
- Step 1404 Acquire a corresponding decryption quantum key according to the identifier of the second quantum key, and decrypt the second encrypted ciphertext by using the decryption quantum key to obtain decryption information.
- the first device searches for a decryption quantum key corresponding to the identifier of the second quantum key in the quantum key set shared by the second device according to the identifier of the second quantum key. . Since the first device and the second device have a shared set of quantum keys, the decrypted quantum key is actually the key of the identification with the second quantum key stored in the first device. If the decryption quantum key is found, obtaining a state identifier of the decryption quantum key, if it is determined that the decryption quantum key is not used according to the state identifier, the first device uses the decryption quantum key Decrypting the second encrypted ciphertext to obtain decrypted information. And if the decryption quantum key is not found or the decryption quantum key is determined to be used according to the status identifier, a key error response message is sent to the second device.
- Step 1405 If the decryption information and the information in the first encrypted ciphertext are consistent, the two-way identity authentication is passed.
- the two-way authentication can be implemented by one interaction between the first device and the second device. Therefore, the solution of the embodiment of the present disclosure has a fast authentication speed and high authentication efficiency.
- the identity authentication method of the embodiment of the present disclosure is applied to a second device, including:
- Step 1501 Receive an authentication request of the first device, where the authentication request includes the first to-be-authenticated information, the identifier of the first quantum key used by the first device for the current identity authentication, and the The first encrypted ciphertext after a quantum key is encrypted.
- the first encrypted ciphertext is obtained by the first device by using the first quantum key to encrypt the first to-be-authenticated information and the second to-be-authenticated information.
- the first to-be-authenticated information is the identifier of the first device, and the second to-be-authenticated information is a random number; or the first to-be-authenticated information is the first random number, and the second to-be-authenticated information is the second random number.
- Step 1502 Perform authentication on the first device according to the authentication request.
- the second device searches for a decryption quantum key corresponding to the identifier of the first quantum key in a quantum key set shared by the first device according to the identifier of the first quantum key. . Since the first device and the second device have a shared set of quantum keys, the decrypted quantum key is actually the key of the first quantum key stored in the first device. If the decryption quantum key is found, the state identifier of the decrypted quantum key is obtained. And if it is determined that the decryption quantum key has not been used according to the status identifier, decrypting the first encrypted ciphertext by using the decryption quantum key to obtain decryption information.
- the authentication of the first device is passed. If the decryption quantum key is not found or if the decryption quantum key is used according to the status identifier, a key error response message is sent to the first device.
- Step 1503 If the authentication of the first device passes, generate an authentication response message, and send the authentication response message to the first device, where the authentication response message includes a second quantum for current identity authentication.
- the second quantum key is obtained from a quantum key set shared by the first device.
- the second device encrypts the second to-be-certified information by using the second quantum key to obtain the second encrypted ciphertext, and generates the identifier by using the identifier of the second quantum key and the second encrypted ciphertext And authenticating the response message, and sending an authentication response message to the first device.
- the two-way authentication can be implemented by one interaction between the first device and the second device. Therefore, the solution of the embodiment of the present disclosure has a fast authentication speed and high authentication efficiency.
- the identity authentication method of the embodiment of the present disclosure includes:
- Step 1601 the device is initialized.
- the purpose of device initialization is to use the stored quantum key for authentication in order for the authentication parties to generate and store a set of quantum keys.
- the quantum key storage device includes a quantum key receiving unit, a quantum key processing unit, and a quantum key storage unit.
- the key receiving unit is responsible for receiving the key from the quantum key transceiver.
- the quantum key transceiver may be a device such as an existing quantum gateway.
- the quantum key storage unit is responsible for securely storing the key received by the quantum key receiving unit, wherein information such as a key identifier, a key, and the identity of both devices needs to be stored.
- the initialization process is as follows:
- the communication device A and the device B are connected to the quantum key transceiver A and the quantum key transceiver B, respectively.
- the quantum key transceiver can be a device such as an existing quantum gateway, and a large number of unconditionally secure shared key sets can be generated at both ends of the transceiver.
- Device A and device B respectively activate the quantum key transceiver A and the quantum key transceiver B to generate a shared key set, denoted K, which contains the keys K1, K2, .
- the quantum key receiving unit of the device A receives the key set K from the quantum key transmitting and receiving apparatus A; the quantum key receiving unit of the device B receives the key set K from the quantum key transmitting and receiving apparatus B.
- the quantum key processing unit in the device A and the device B defines the key identification information for the key in the key set K according to an agreed manner, and the identifier of the key Ki is denoted as IDKi.
- the device A and the device B store the key, the key identifier, and the information of both parties in the communication in the quantum key storage unit of the quantum key storage device.
- the IDs of device A and device B are respectively recorded as IDA and IDB, and the key storage method is as follows:
- the record means that the key identified as IDKi is Ki for secure communication between device A and device B.
- Step 1602 Device A sends an authentication request to device B.
- Device A selects a key Ki that has not been used, randomly generates a random number nonce, and sends an authentication request to device B. It contains the identity information of device A: IDA, the key identifier selected for use: IDKi, ciphertext information (Eki (IDA, nonce)) after encrypting IDA with Ki and random number nonce. Device A needs to temporarily store the nonce until the end of the authentication process.
- Step 1603 Device B authenticates device A.
- device B After receiving the authentication request from device A, device B searches for Ki from its own quantum key storage device according to IDKi. If Ki has been deleted or marked as used, a key error response message is returned; if Ki is found and Ki is not used, the ciphertext is decrypted using Ki to obtain IDA and nonce. If the IDA obtained after the decryption is the same as the IDA transmitted in the plain text, it is considered that the device A does have the key Ki and implements the authentication of the device A; otherwise, the authentication of the device A fails.
- Step 1604 Device B sends an authentication response message to device A.
- the device B selects a key Kj that has not been used, encrypts the nonce using Kj, and carries the ciphertext (EKj (nonce)) together with the identifier IDKj of Kj in the authentication response message and returns it to the device A.
- Device B deletes the keys Ki and Kj or marks them as used.
- step 1605 device A authenticates device B.
- device A After receiving the authentication response message, device A uses IDKj to look up Kj in the quantum key storage. If Kj has been deleted or marked as used, a key error response message is returned; if Kj is found and Kj is not used, Kj is used to decrypt the ciphertext to obtain a nonce. If the nonce obtained after decryption is consistent with the nonce in the authentication request, it is considered that the device B does possess the keys Ki and Kj to implement authentication of the device B.
- device A can also update the set of quantum keys. For example, the keys Ki and Kj are deleted, or the status identifiers of the keys Ki and Kj are updated, marked as used. The certification process is over.
- each key in the shared key set has a corresponding status identifier. If a key is still in the collection, its corresponding status identifier can be used or not used. Therefore, here, if Kj is found, it can be determined whether it has been used by reading its status identifier.
- the identity authentication method of the embodiment of the present disclosure includes:
- Step 1801 The device is initialized.
- This step can be referred to the description of step 1601.
- Step 1802 Device A sends an authentication request to device B.
- Device A selects a key Ki that has not been used, randomly generates two random numbers nonce1 and nonce2, and sends an authentication request to device B, which includes the key identifier selected for use: IDKi, random number nonce1, and encrypted random number nonce1 using Ki. And ciphertext information after the nonce2 (EKi (nonce1, nonce2)).
- EKi once1, nonce2
- Device A needs to temporarily store nonce2 until the end of the authentication process.
- nonce2 can be equal to nonce1.
- step 1803 device B authenticates device A.
- the device B After receiving the authentication request of the device A, the device B searches for the Ki from the quantum key storage device according to the IDKi. If Ki has been deleted or marked as used, a key error response message is returned; if Ki is not used, the ciphertext is decrypted using Ki to obtain nonce1 and nonce2. If the nonce1 obtained after the decryption is the same as the nonce1 transmitted in the plaintext, it is considered that the device A does have the key Ki and implements the authentication of the device A; otherwise, the authentication of the device A fails.
- each key in the shared key set has a corresponding status identifier. If a key is still in the collection, its corresponding status identifier can be used or not used. Therefore, here, if Ki is found, it can be determined whether it has been used by reading its status identifier.
- Step 1804 Device B sends an authentication response message to device A.
- the device B selects a key Kj that has not been used, encrypts the nonce2 using Kj, and carries the ciphertext (EKj(nonce2)) together with the identifier IDKj of Kj in the authentication response message and returns it to the device A.
- device B can also update the set of quantum keys. For example, the keys Ki and Kj are deleted, or the status identifiers of the keys Ki and Kj are updated, marked as used.
- step 1805 device A authenticates device B.
- device A After receiving the authentication response message, device A uses IDKj to look up Kj in the quantum key storage. If Kj has been deleted or marked as used, the key is returned incorrectly; if Kj is not used, Kj is used to decrypt the ciphertext to obtain nonce2. If the nonce2 obtained after decryption coincides with the nonce2 in the authentication request, it is considered that the device B does have the keys Ki and Kj, and the device B is authenticated.
- device A can also update the set of quantum keys. For example, the keys Ki and Kj are deleted, or the status identifiers of the keys Ki and Kj are updated, marked as used. The certification process is over.
- the two parties to the authentication are the service provider and the service consumer, respectively.
- Service users are required to be certified by the service provider before using the services provided by the service provider.
- device A is the service consumer, ie the user
- device B is the service provider.
- the service provider includes a front-end server and an authentication server.
- the device B is composed of a front-end server and an authentication server.
- the front-end server is responsible for interacting with device A, which contains the quantum key storage device as described above for receiving and storing the quantum key (as shown in Figure 19) and for authenticating the user.
- the method for bidirectional identity authentication according to Embodiment 5 of the present disclosure includes:
- Step 2001 device initialization.
- step 1601 can be referred to the description of step 1601. The difference is that, in the embodiment of the present disclosure, corresponding to the device B of step 1601 is the authentication server in the embodiment of the present disclosure.
- step 2002 the device A sends an authentication request to the service provider (or device B).
- Device A selects a key Ki that has not been used, randomly generates a random number nonce, and sends an authentication request to the front-end server. It contains the identity information of device A: IDA, the key identifier selected for use: IDKi, ciphertext information (EKi (IDA, nonce)) after encrypting IDA with Ki and random number nonce. Device A needs to temporarily store the nonce until the end of the authentication process.
- step 2003 the service provider authenticates the device A.
- the front-end server of the service provider After receiving the authentication request, the front-end server of the service provider forwards the authentication request to the authentication server.
- the authentication server After receiving the authentication request, the authentication server searches for the Ki from the quantum key storage device according to the IDKi. If Ki has been deleted or marked as used, the front-end server returns a key error response message to device A; if Ki is found and Ki has not been used, then the ciphertext is decrypted using Ki to obtain IDA and nonce. If the IDA obtained after the decryption is consistent with the IDA transmitted in the plaintext, it is considered that the device A does have the key Ki and implements the authentication of the device A.
- Step 2004 The authentication server sends an authentication response message to the device A through the front-end server.
- the authentication server selects a key Kj that has not been used, encrypts the nonce using Kj, and carries the ciphertext (EKj (nonce)) together with the identifier IDKj of Kj in the authentication response message, and returns it to the device A through the front-end server.
- device B can also update the set of quantum keys. For example, the keys Ki and Kj are deleted, or the status identifiers of the keys Ki and Kj are updated, marked as used.
- step 2005 device A authenticates the service provider.
- device A After receiving the authentication response message, device A uses IDKj to look up Kj in the quantum key storage. If Kj has been deleted or marked as used, the key is returned incorrectly; if Kj is found and Kj is not used, Kj is used to decrypt the ciphertext to obtain a nonce. If the nonce obtained after decryption coincides with the nonce in the authentication request, it is considered that the service provider does have the keys Ki and Kj to authenticate the service provider.
- device A can also update the set of quantum keys. For example, the keys Ki and Kj are deleted, or the status identifiers of the keys Ki and Kj are updated, marked as used. The certification process is over.
- the identity authentication method of the embodiment of the present disclosure includes:
- Step 2101 the device is initialized.
- step 1601 can be referred to the description of step 1601. The difference is that, in the embodiment of the present disclosure, corresponding to the device B of step 1601 is the authentication server in the embodiment of the present disclosure.
- Step 2102 The device A sends an authentication request to the service provider.
- the service consumer selects a key Ki that has not been used, randomly generates two random numbers nonce1 and nonce2, and sends an authentication request to the service provider (device B), which includes the key identifier IDKi selected for use, a random number Nonce1, and ciphertext information (EKi(nonce1, nonce2)) after encrypting the random numbers nonce1 and nonce2 using Ki.
- Device A needs to temporarily store nonce2 until the end of the authentication process.
- nonce2 can be equal to nonce1.
- Step 2103 The service provider authenticates the device A.
- the front-end server of the service provider After receiving the authentication request, the front-end server of the service provider forwards the authentication request to the authentication server.
- the authentication server After receiving the authentication request, the authentication server searches for the Ki from the key storage device according to the IDKi. If the Ki has been deleted or marked as used, the key is returned via the front-end server; if the Ki is found and the Ki is not used, the authentication server uses Ki decrypts the ciphertext and gets nonce1 and nonce2. If the nonce1 obtained after the decryption is consistent with the nonce1 transmitted in the plaintext, it is considered that the device A does have the key Ki and implements the authentication of the device A.
- device B can also update the set of quantum keys. For example, the keys Ki and Kj are deleted, or the status identifiers of the keys Ki and Kj are updated, marked as used.
- Step 2104 The authentication server sends an authentication response message to the device A through the front-end server.
- the authentication server selects a key Kj that has not been used, encrypts the nonce2 with Kj, and carries the ciphertext (EKi(nonce1, nonce2)) and the identifier IDKj of Kj in the authentication response message, and returns it to the device A via the front-end server. .
- the authentication server deletes the keys Ki and Kj or marks them as used.
- Step 2105 Device A authenticates the service provider.
- device A After receiving the authentication response, device A uses IDKj to look up Kj in the key storage. If Kj has been deleted or marked as used, the key is returned incorrectly; if Kj is not used, Kj is used to decrypt the ciphertext to obtain nonce2. If the nonce2 obtained after the decryption coincides with the nonce2 in the authentication request, it is considered that the other party does own the keys Ki and Kj, and the authentication of the service provider is realized.
- device A can also update the set of quantum keys. For example, the keys Ki and Kj are deleted, or the status identifiers of the keys Ki and Kj are updated, marked as used. The certification process is over.
- two-way authentication can be implemented in one interaction, and the authentication parties only use the symmetric cryptographic algorithm for one encryption and decryption operation, and do not use the public key cryptographic algorithm, which is fast and efficient.
- the quantum key is shared only by both communicating parties and used only once, so even if the attacker intercepts the communication data, it cannot be decrypted.
- the encryption algorithm in the scheme can adopt the existing symmetric cryptographic algorithm, such as AES, etc., quantum computing can crack the asymmetric cryptographic algorithm, but can not break the symmetric cryptographic algorithm.
- the quantum key transceiver is commercially available, and only a key receiving unit needs to be designed, and a large number of shared keys can be received from the quantum key transceiver to be quickly deployed and used.
- the two-way identity authentication apparatus includes:
- the generating module 2201 is configured to generate an authentication request, where the authentication request includes a first to-be-authenticated information, an identifier of a first quantum key used for current identity authentication, and a first encrypted by using the first quantum key. Encrypting the ciphertext; the sending module 2202 is configured to send the authentication request to the second device, so that the second device performs authentication according to the authentication request, and the receiving module 2203 is configured to receive the authentication sent by the second device.
- the decryption module 2204 is configured to obtain a corresponding decryption quantum key according to the identifier of the second quantum key, and decrypt the second encrypted ciphertext by using the decryption quantum key to obtain decryption information; and the authentication module 2205 uses If the decryption information and the information in the first encrypted ciphertext are consistent, the two-way identity authentication is passed.
- the generating module 2201 includes:
- a key acquisition sub-module configured to acquire the first quantum key from a quantum key set shared by the second device
- an information acquisition sub-module configured to acquire first to-be-authenticated information and second to-be-authenticated
- an encryption submodule configured to encrypt the first to-be-authenticated information and the second to-be-authenticated information by using the first quantum key to obtain the first encrypted ciphertext; and generate a sub-module for utilizing the The first to-be-certified information, the identifier of the first quantum key, and the first encrypted ciphertext generate the authentication request.
- the first to-be-authenticated information is a random number; or the first to-be-authenticated information is a first random number, and the second to-be-authenticated information is The second random number.
- the decryption module 2204 includes:
- a finding submodule configured to search, according to the identifier of the second quantum key, a decryption quantum key corresponding to the identifier of the second quantum key in a quantum key set shared by the second device; a submodule, configured to obtain a state identifier of the decryption quantum key if the decryption quantum key is found; and a decryption submodule, configured to determine, according to the state identifier, that the decryption quantum key has not been used, And decrypting the second encrypted ciphertext by using the decryption quantum key to obtain decryption information.
- the sending module 2202 is further configured to send a key error to the second device if the decryption quantum key is not found or the decryption quantum key is used according to the status identifier. Response message.
- the authentication module 2205 is specifically configured to: if the decryption information and the second to-be-certified information are consistent, the two-way identity authentication is passed.
- the sending module 2202 is specifically configured to send the authentication request to the front-end server, so that the front-end server sends the authentication request to the authentication server, so that the authentication server is configured according to the authentication request.
- the receiving module is configured to receive the authentication response message sent by the front-end server, where the authentication response message is sent by the authentication server to the front-end server.
- the device further includes:
- the key receiving module 2206 is configured to acquire a quantum key set shared by the second device from the quantum key distribution device, and the key processing module 2207 is configured to use the key in the quantum key set according to a predetermined manner.
- a key storage module 2208 configured to store the quantum key set, the key identifier, an identifier of the first device, and an identifier of the second device.
- the first quantum key is an unused quantum key.
- the apparatus further includes an update module 2209 for updating the quantum key set.
- the two-way authentication can be implemented by one interaction between the first device and the second device. Therefore, the solution of the embodiment of the present disclosure has a fast authentication speed and high authentication efficiency.
- the two-way identity authentication apparatus includes:
- the receiving module 2401 is configured to receive an authentication request of the first device, where the authentication request includes the first to-be-authenticated information, the identifier of the first quantum key used by the first device, and the first quantum key used by the first device.
- the first encrypted ciphertext after the first quantum key is encrypted;
- the authentication module 2402 is configured to perform authentication on the first device according to the authentication request, and
- the sending module 2403 is configured to: if Passing the authentication, generating an authentication response message, and sending the authentication response message to the first device, including, in the authentication response message, an identifier of a second quantum key for current identity authentication, using the second quantum
- the second encrypted ciphertext after the key is encrypted, so that the first device performs authentication according to the authentication response message.
- the first encrypted ciphertext is obtained by the first device encrypting the first to-be-authenticated information and the second to-be-authenticated information by using the first quantum key; the first to-be-authenticated information is the first The identifier of the device, the second to-be-certified information is a random number; or the first to-be-authenticated information is a first random number, and the second to-be-authenticated information is a second random number.
- the authentication module 2402 includes:
- a finding submodule configured to search, according to the identifier of the first quantum key, a decryption quantum key corresponding to the identifier of the first quantum key in a quantum key set shared by the first device; a submodule, configured to obtain a state identifier of the decryption quantum key if the decryption quantum key is found; and a decryption submodule, configured to determine, according to the state identifier, that the decryption quantum key has not been used, Decrypting the first encrypted ciphertext by using the decrypted quantum key to obtain decryption information; and an authentication submodule, configured to: if the decrypted information and the first to-be-certified information are consistent, to the first device Certification passed.
- the sending module 2403 is further configured to send a key error to the first device if the decryption quantum key is not found or the decryption quantum key is used according to the status identifier. Response message.
- the sending module 2403 includes: an obtaining submodule, configured to acquire the second quantum key from a quantum key set shared by the first device if the authentication of the first device is passed; An encryption submodule, configured to encrypt the second to-be-authenticated information by using the second quantum key to obtain the second encrypted ciphertext; and send a sub-module, configured to use the identifier and the location of the second quantum key The second encrypted ciphertext generates the authentication response message, and sends an authentication response message to the first device.
- the second quantum key is an unused quantum key; as shown in FIG. 25, the apparatus further includes: an update module 2404, configured to update the quantum key set.
- the device further includes:
- a key receiving module 2405 configured to acquire, from a quantum key distribution device, a quantum key set shared with the first device; a key processing module 2406, configured to use a key in the quantum key set according to a predetermined manner The key identifier is set.
- the key storage module 2407 is configured to store the quantum key set, the key identifier, the identifier of the first device, and the identifier of the second device.
- the two-way authentication can be implemented by one interaction between the first device and the second device. Therefore, the solution of the embodiment of the present disclosure has a fast authentication speed and high authentication efficiency.
- the disclosed method and apparatus 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.
- the mutual coupling or direct coupling or communication connection shown or discussed may be an indirect coupling or communication connection through some interface, device or unit, and may be in an electrical, mechanical or other form.
- each functional unit in various embodiments of the present disclosure may be integrated into one processing unit, or each unit may be physically included separately, or two or more units may be integrated into one unit.
- the above integrated unit can be implemented in the form of hardware or in the form of hardware plus software functional units.
- the above-described integrated unit implemented in the form of a software functional unit can be stored in a computer readable storage medium.
- the above software functional unit is stored in a storage medium and includes a plurality of instructions for causing a computer device (which may be a personal computer, a server, or a network device, etc.) to perform part of the steps of the transceiving method of the various embodiments of the present disclosure.
- 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.
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
本公开提供一种身份认证方法及装置。该方法包括:生成认证请求,在所述认证请求中包括第一待认证信息、用于当前身份认证的第一量子密钥的标识、利用所述第一量子密钥加密后的第一加密密文;向第二设备发送所述认证请求,以使认证设备根据所述认证请求进行认证,其中所述认证设备为所述第二设备,或者所述认证设备为从所述第二设备接收所述认证请求且向所述第二设备发送认证报文的认证服务器;接收所述第二设备发送的认证响应,在所述认证响应中包括所述认证设备的认证报文。
Description
相关申请的交叉引用
本申请主张于2017年1月6日提交中国专利局、申请号为201710010373.0的优先权以及2017年2月13日提交中国专利局、申请号为201710075759.X的优先权,其全部内容据此通过引用并入本申请。
本公开涉及网络安全技术领域,尤其涉及一种身份认证方法及装置。
身份认证是指确认用户身份的过程,是网络安全防护的第一道关口。
在设备身份认证领域,目前主要有预共享密钥和公钥证书两种认证方式。其中预共享密钥要求认证双方事前预置一个相同的根密钥,在认证过程中基于根密钥采用一系列的密码运算进行认证。公钥证书方式要求被认证方拥有一张数字证书,同时自身需内置与证书对应的私钥。
其中,预共享密钥是目前采用较多的认证方式之一,该方式要求双方预置一个相同的根密钥,为了保护根密钥,在认证过程中需要对根密钥进行多次密码运算,且认证双方需要进行多次交互,需要占用一定的计算资源和网络资源,并且导致认证效率低。
数字证书认证要求被认证方向证书机构申请一张数字证书,同时自身存储与证书相对应的私钥,认证中需要使用公钥算法。由于公钥算法与对称密码算法相比效率低,需要较多的计算资源,对终端能力要求较高。此外,随着计算机计算能力的提高和量子计算机的发展,RSA等主流的公钥算法已被逐渐攻破,不能满足安全要求。
发明内容
有鉴于此,本公开提供一种身份认证方法及装置,用以提高认证效率。
为解决上述技术问题,第一方面,本公开提供一种身份认证方法,应用于 第一设备,包括:生成认证请求,在所述认证请求中包括第一待认证信息、用于当前身份认证的第一量子密钥的标识、利用所述第一量子密钥加密后的第一加密密文;向第二设备发送所述认证请求,以使认证设备根据所述认证请求进行认证,其中所述认证设备为所述第二设备,或者所述认证设备为从所述第二设备接收所述认证请求且向所述第二设备发送认证报文的认证服务器;接收所述第二设备发送的认证响应,在所述认证响应中包括所述认证设备的认证报文。
可选地,所述第一加密密文是利用所述第一量子密钥加密第二待认证信息获得的,所述认证响应中包括所述认证服务器的认证报文。
其中,所述认证服务器的认证报文包括针对所述第一设备的第一认证报文,所述第一认证报文中包括所述认证服务器用于当前身份认证的第二量子密钥的标识,利用所述第二量子密钥对认证结果和第三待认证信息加密后的第二加密密文;所述认证结果中包括所述认证服务器对所述第一设备的认证结果以及所述认证服务器对所述第二设备的认证结果;所述方法还包括:
根据所述认证响应分别对所述第二设备、所述认证服务器进行认证。
其中,所述根据所述认证响应分别对所述第二设备、所述认证服务器进行认证,包括:
根据所述第二量子密钥的标识查找对应的第三量子密钥;
若查找到所述第三量子密钥,则读取所述第三量子密钥的状态标识;
若所述第三量子密钥的状态标识表示所述第三量子密钥未被使用,则利用所述第三量子密钥解密所述第二加密密文,获得所述第三待认证信息和所述认证结果;
将所述第三待认证信息和所述第二待认证信息进行比较;
若所述第三待认证信息和所述第二待认证信息一致,则通过对所述认证服务器的认证;
若所述认证结果表示所述认证服务器对所述第二设备的认证通过,则通过对所述第二设备的认证。
其中,所述第一待认证信息和所述第二待认证信息为任一随机数;或者
所述第一待认证信息为任一随机数,所述第二待认证信息包括所述第一待认证信息和任一随机数;
当所述第一待认证信息为任一随机数,所述第二待认证信息包括所述第一待认证信息和任一随机数时,所述将所述第三待认证信息和所述第二待认证信息进行比较,包括:
将所述第三待认证信息和所述第二待认证信息中的任一随机数进行比较。
其中,所述第一待认证信息为任一随机数;所述第二待认证信息包括所述第一待认证信息、任一随机数和第一验证数;所述认证请求中还包括:第一大整数和第二大整数;所述第一验证数是根据所述第一大整数、所述第二大整数、第三大整数计算得到的;
所述将所述第三待认证信息和所述第二待认证信息进行比较,包括:
将所述第三待认证信息和所述第二待认证信息中的所述任一随机数进行比较。
其中,所述方法还包括:
计算共享量子密钥,所述共享量子密钥用于与所述第二设备之间的通信;
所述共享量子密钥按如下方式计算:
K=X
y=Y
x=g
xy mod n,Y=g
y mod n,X=g
x mod n;
其中,K表示共享量子密钥,g表示所述第一大整数,n表示所述第二大整数,x表示所述第三大整数,y表示第四大整数,X表示所述第一验证数,Y表示第二验证数。
其中,所述方法还包括:
从量子密钥分发设备获取与所述认证服务器共享的量子密钥集合;
按照预定方式为所述量子密钥集合中的密钥设置密钥标识;
存储所述量子密钥集合、所述密钥标识、第一设备的标识和所述认证服务器的标识。
其中,所述方法还包括:
更新所述量子密钥集合。
可选地,所述认证响应中包括所述第二设备的认证报文,所述第二设备的认证报文包括所述第二设备所使用的用于当前身份认证的第二量子密钥的标识、利用所述第二量子密钥加密后的第二加密密文,所述方法还包括:根据所述第二量子密钥的标识获取对应的解密量子密钥,并利用所述解密量子密钥解 密所述第二加密密文,获得解密信息;若所述解密信息和所述第一加密密文中的信息一致,则双向身份认证通过。
其中,所述生成认证请求,包括:
从与所述第二设备共享的量子密钥集合中,获取所述第一量子密钥;
获取第一待认证信息和第二待认证信息;
利用所述第一量子密钥加密所述第一待认证信息和所述第二待认证信息,获得所述第一加密密文;
利用所述第一待认证信息、所述第一量子密钥的标识和所述第一加密密文生成所述认证请求。
其中,所述第一待认证信息为第一设备的标识,所述第二待认证信息为随机数;或者,所述第一待认证信息为第一随机数,所述第二待认证信息为第二随机数。
其中,所述根据所述第二量子密钥的标识获取对应的解密量子密钥,并利用所述解密量子密钥解密所述第二加密密文,获得解密信息,包括:
根据所述第二量子密钥的标识,在与所述第二设备共享的量子密钥集合中查找与所述第二量子密钥的标识对应的解密量子密钥;
若查找到所述解密量子密钥,获取所述解密量子密钥的状态标识;
若根据所述状态标识确定所述解密量子密钥未被使用过,则利用所述解密量子密钥解密所述第二加密密文,获得解密信息。
其中,在所述获取所述解密量子密钥的状态标识后,还包括:
若未查找到所述解密量子密钥或者根据所述状态标识确定所述解密量子密钥被使用过,则向所述第二设备发送密钥错误响应消息。
其中,所述若所述解密信息和所述第一加密密文中的信息一致,则双向身份认证通过,包括:
若所述解密信息和所述第二待认证信息一致,则双向身份认证通过。
其中,所述向第二设备发送所述认证请求,包括:
向前端服务器发送所述认证请求,以由所述前端服务器将所述认证请求发送给认证服务器,以使所述认证服务器根据所述认证请求进行认证;
所述接收所述第二设备发送的认证响应消息,包括:
接收所述前端服务器发送的所述认证响应消息,其中所述认证响应消息是由所述认证服务器发送给所述前端服务器的。
其中,在所述生成认证请求前,所述方法还包括:
从量子密钥分发设备获取与所述第二设备共享的量子密钥集合;
按照预定方式为所述量子密钥集合中的密钥设置密钥标识;
存储所述量子密钥集合、所述密钥标识、第一设备的标识和所述第二设备的标识。
其中,所述第一量子密钥为未被使用过的量子密钥;所述方法还包括:
更新所述量子密钥集合。
第二方面,本公开提供一种身份认证方法,应用于第二设备,包括:接收第一设备的第一认证请求,以使认证设备根据所述认证请求进行认证,其中在所述第一认证请求中包括第一待认证信息、用于当前身份认证的第一量子密钥的标识、利用所述第一量子密钥加密后的第一加密密文;向所述第一设备发送认证响应,在所述认证响应中包括所述认证设备的认证报文;其中所述认证设备为所述第二设备,或者所述认证设备为从所述第二设备接收所述认证请求且向所述第二设备发送所述认证报文的认证服务器。
可选地,所述认证请求中包括利用所述第一量子密钥对第二待认证信息加密后的第一加密密文,所述认证响应中包括所述认证服务器的认证报文,在所述接收第一设备的第一认证请求之后,所述向所述第一设备发送认证响应之前,所述方法还包括:向所述认证服务器发送身份认证请求,在所述身份认证请求中包括所述第一认证请求,以使所述认证服务器根据所述身份认证请求进行认证;接收所述认证服务器的认证报文,根据所述认证报文对所述第一设备进行认证。
其中,在所述接收第一设备的第一认证请求之后,所述方法还包括:生成第二认证请求,在所述第二认证请求中包括第三待认证信息、所述第二设备用于当前身份认证的第二量子密钥的标识、利用所述第二量子密钥对第四待认证信息加密后的第二加密密文;在所述身份认证请求中还包括所述第二认证请求。
其中,所述认证服务器的认证报文包括针对所述第二设备的第二认证报文,所述第二认证报文中包括所述认证服务器用于当前身份认证的第三量子密钥 的标识,利用所述第三量子密钥对认证结果和第五待认证信息加密后的第三加密密文;所述认证结果中包括所述认证服务器对所述第一设备的认证结果以及所述认证服务器对所述第二设备的认证结果;
所述方法还包括:根据所述认证报文对所述认证服务器进行认证。
其中,所述根据所述认证报文对所述认证服务器进行认证,包括:
根据所述第三量子密钥的标识查找对应的第四量子密钥;
若查找到所述第四量子密钥,则读取所述第四量子密钥的状态标识;
若所述第四量子密钥的状态标识表示所述第四量子密钥未被使用,则利用所述第四量子密钥解密所述第三加密密文,获得所述第五待认证信息和所述认证结果;
将所述第五待认证信息和所述第四待认证信息进行比较;
若所述第五待认证信息和所述第四待认证信息一致,则通过对所述认证服务器的认证;
所述根据所述认证报文对所述第一设备进行认证,包括:
若所述认证结果表示所述认证服务器对所述第一设备的认证通过,则通过对所述第一设备的认证。
其中,所述第一待认证信息和所述第二待认证信息为任一随机数;或者
所述第一待认证信息为任一随机数,所述第二待认证信息包括所述第一待认证信息和任一随机数;所述第三待认证信息为任一随机数,所述第四待认证信息包括所述第三待认证信息和任一随机数;
或者
所述第一待认证信息为任一随机数;所述第二待认证信息包括所述第一待认证信息、任一随机数和第一验证数;所述认证请求中还包括:第一大整数和第二大整数;所述第一验证数是根据所述第一大整数、所述第二大整数、第三大整数计算得到的;所述第三待认证信息为任一随机数,所述第四待认证信息包括所述第三待认证信息,任一随机数和第二验证数;所述第二验证数是所述第二设备根据所述第一大整数、所述第二大整数和第四大整数生成的。
其中,所述方法还包括:
计算共享量子密钥,所述共享量子密钥用于与所述第一设备之间的通信;
所述共享量子密钥按如下方式计算:
K=X
y=Y
x=g
xy mod n,Y=g
y mod n,X=g
x mod n;
其中,K表示共享量子密钥,g表示所述第一大整数,n表示所述第二大整数,x表示所述第三大整数,y表示所述第四大整数,X表示所述第一验证数,Y表示所述第二验证数。
其中,所述方法还包括:
从量子密钥分发设备获取与所述认证服务器共享的量子密钥集合;
按照预定方式为所述量子密钥集合中的密钥设置密钥标识;
存储所述量子密钥集合、所述密钥标识、第二设备的标识和所述认证服务器的标识。
其中,所述方法还包括:更新所述量子密钥集合。
可选地,所述认证设备为所述第二设备,在所述接收第一设备的第一认证请求之后,所述向所述第一设备发送认证响应之前,所述方法还包括:根据所述认证请求对所述第一设备进行认证;若对所述第一设备的认证通过,生成所述认证响应,在所述认证响应中包括用于当前身份认证的第二量子密钥的标识、利用所述第二量子密钥加密后的第二加密密文,以使所述第一设备根据所述认证响应消息进行认证。
其中,所述第一加密密文是所述第一设备利用所述第一量子密钥加密所述第一待认证信息和第二待认证信息获得的;
所述第一待认证信息为第一设备的标识,所述第二待认证信息为随机数;或者,所述第一待认证信息为第一随机数,所述第二待认证信息为第二随机数。
其中,所述根据所述认证请求对所述第一设备进行认证,包括:
根据所述第一量子密钥的标识,在与所述第一设备共享的量子密钥集合中查找与所述第一量子密钥的标识对应的解密量子密钥;
若查找到所述解密量子密钥,获取所述解密量子密钥的状态标识;
若根据所述状态标识确定所述解密量子密钥未被使用过,则利用所述解密量子密钥解密所述第一加密密文,获得解密信息;
若所述解密信息和所述第一待认证信息一致,则对所述第一设备的认证通过。
其中,在所述获取所述解密量子密钥的状态标识后,还包括:
若未查找到所述解密量子密钥或者根据所述状态标识确定所述解密量子密钥被使用过,则向所述第一设备发送密钥错误响应消息。
其中,所述若对所述第一设备的认证通过,生成认证响应消息,并向所述第一设备发送认证响应消息,包括:
若对所述第一设备的认证通过,从与所述第一设备共享的量子密钥集合中获取所述第二量子密钥;
利用所述第二量子密钥加密所述第二待认证信息,获得所述第二加密密文;
利用所述第二量子密钥的标识和所述第二加密密文生成所述认证响应消息,并向所述第一设备发送认证响应消息。
其中,所述第二量子密钥为未被使用过的量子密钥;所述方法还包括:
更新所述量子密钥集合。
其中,所述接收第一设备的认证请求,包括:
前端服务器接收所述第一设备的认证请求,并将所述认证请求发送给认证服务器;
所述根据所述认证请求对所述第一设备进行认证,包括:
所述认证服务器根据所述认证请求对所述第一设备进行认证;
所述若对所述第一设备的认证通过,生成认证响应消息,并向所述第一设备发送所述认证响应消息,包括:
若对所述第一设备的认证通过,所述认证服务器生成认证响应消息,并向所述前端服务器发送所述认证响应消息,以使所述前端服务器向所述第一设备发送所述认证响应消息。
其中,在所述接收第一设备的认证请求前,所述方法还包括:从量子密钥分发设备获取与所述第一设备共享的量子密钥集合;按照预定方式为所述量子密钥集合中的密钥设置密钥标识;存储所述量子密钥集合、所述密钥标识、所述第一设备的标识和第二设备的标识。
第三方面,本公开提供一种身份认证方法,应用于认证服务器,包括:
接收第二设备的身份认证请求;其中,所述身份认证请求包括第一设备的第一认证请求;在所述第一认证请求中包括第一待认证信息、用于当前身份认 证的第一量子密钥的标识、利用所述第一量子密钥对第二待认证信息加密后的第一加密密文;
根据所述身份认证请求进行认证;
向所述第二设备发送认证报文。
其中,所述第一待认证信息和所述第二待认证信息为任一随机数;或者
所述第一待认证信息为任一随机数,所述第二待认证信息包括所述第一待认证信息和任一随机数;或者
所述第一待认证信息为任一随机数;所述第二待认证信息包括所述第一待认证信息、任一随机数和第一验证数;所述认证请求中还包括:第一大整数和第二大整数;所述第一验证数是根据所述第一大整数、所述第二大整数、第三大整数计算得到的。
其中,所述根据所述身份认证请求进行认证,包括:
根据所述第一量子密钥的标识查找对应的第三量子密钥;
若查找到所述第三量子密钥,则读取所述第三量子密钥的状态标识;
若所述第三量子密钥的状态标识表示所述第三量子密钥未被使用,则利用所述第三量子密钥解密所述第一加密密文,获得所述第二待认证信息;
将所述第二待认证信息和所述第一认证请求中包括的第一待认证信息进行比较;
若所述第二待认证信息和所述第一认证请求中包括的第一待认证信息一致,则通过对所述第一设备的认证。
其中,所述将所述第二待认证信息和所述第一认证请求中包括的第一待认证信息进行比较,包括:
将所述第二待认证信息中的任一随机数和所述第一待认证信息进行比较。
其中,所述身份认证请求中还包括所述第二设备的第二认证请求,在所述第二认证请求中包括第三待认证信息、所述第二设备用于当前身份认证的第二量子密钥的标识、利用所述第二量子密钥对第四待认证信息加密后的第二加密密文;
所述根据所述身份认证请求进行认证,包括:
根据所述第二量子密钥的标识查找对应的第四量子密钥;
若查找到所述第四量子密钥,则读取所述第四量子密钥的状态标识;
若所述第四量子密钥的状态标识表示所述第四量子密钥未被使用,则利用所述第四量子密钥解密所述第二加密密文,获得所述第四待认证信息;
将所述第四待认证信息和所述第三待认证信息进行比较;
若所述第四待认证信息和所述第三待认证信息一致,则通过对所述第二设备的认证。
其中,所述第三待认证信息为任一随机数,所述第四待认证信息包括所述第三待认证信息,任一随机数和第二验证数;所述第二验证数是所述第二设备根据所述第一大整数、所述第二大整数和第四大整数生成的;
所述将所述第四待认证信息和所述第三待认证信息进行比较,包括:
将所述第四待认证信息中的任一随机数和所述第三待认证信息进行比较。
其中,所述方法还包括:
从量子密钥分发设备分别获取与所述第一设备、第二设备共享的第一量子密钥集合和第二量子密钥集合;
按照预定方式为所述第一量子密钥集合和所述第二量子密钥集合中的密钥设置密钥标识;
存储所述第一量子密钥集合、所述密钥标识、第一设备的标识和所述认证服务器的标识;
存储所述第二量子密钥集合、所述密钥标识、第二设备的标识和所述认证服务器的标识。
其中,所述方法还包括:
更新所述量子密钥集合。
第四方面,本公开提供一种身份认证装置,应用于第一设备,包括:生成模块,用于生成认证请求,在所述认证请求中包括第一待认证信息、用于当前身份认证的第一量子密钥的标识、利用所述第一量子密钥加密后的第一加密密文;发送模块,用于向第二设备发送所述认证请求,以使认证设备根据所述认证请求进行认证,其中所述认证设备为所述第二设备,或者所述认证设备为从所述第二设备接收所述认证请求且向所述第二设备发送认证报文的认证服务器;接收模块,用于接收所述第二设备发送的认证响应,在所述认证响应中包 括所述认证设备的认证报文。
可选地,所述第一加密密文是利用所述第一量子密钥加密第二待认证信息获得的,所述认证响应中包括所述认证服务器的认证报文。
其中,所述认证服务器的认证报文包括针对第一设备的第一认证报文,所述第一认证报文中包括所述认证服务器用于当前身份认证的第二量子密钥的标识,利用所述第二量子密钥对认证结果和第三待认证信息加密后的第二加密密文;所述认证结果中包括所述认证服务器对所述第一设备的认证结果以及所述认证服务器对所述第二设备的认证结果;
所述装置还包括:认证模块,用于根据所述认证响应分别对所述第二设备、所述认证服务器进行认证。
其中,所述认证模块包括:
查找子模块,用于根据所述第二量子密钥的标识查找对应的第三量子密钥;
读取子模块,用于若查找到所述第三量子密钥,则读取所述第三量子密钥的状态标识;
解密子模块,用于若所述第三量子密钥的状态标识表示所述第三量子密钥未被使用,则利用所述第三量子密钥解密所述第二加密密文,获得所述第三待认证信息和所述认证结果;
比较子模块,用于将所述第三待认证信息和所述第二待认证信息进行比较;
第一认证子模块,用于若所述第三待认证信息和所述第二待认证信息一致,则通过对所述认证服务器的认证;
第二认证子模块,用于若所述认证结果表示所述认证服务器对所述第二设备的认证通过,则通过对所述第二设备的认证。
其中,所述第一待认证信息和所述第二待认证信息为任一随机数;或者所述第一待认证信息为任一随机数,所述第二待认证信息包括所述第一待认证信息和任一随机数;
所述比较子模块具体用于,将所述第三待认证信息和所述第二待认证信息中的任一随机数进行比较。
其中,所述第一待认证信息为任一随机数;所述第二待认证信息包括所述第一待认证信息、任一随机数和第一验证数;所述认证请求中还包括:第一大 整数和第二大整数;所述第一验证数是根据所述第一大整数、所述第二大整数、第三大整数计算得到的;
所述比较子模块具体用于,将所述第三待认证信息和所述第二待认证信息中的所述任一随机数进行比较。
其中,所述装置还包括:
密钥计算模块,用于计算共享量子密钥,所述共享量子密钥用于与所述第二设备之间的通信;
所述共享量子密钥按如下方式计算:
K=X
y=Y
x=g
xy mod n,Y=g
y mod n,X=g
x mod n;
其中,K表示共享量子密钥,g表示所述第一大整数,n表示所述第二大整数,x表示所述第三大整数,y表示第四大整数,X表示所述第一验证数,Y表示第二验证数。
其中,所述装置还包括:
密钥获取模块,用于从量子密钥分发设备获取与所述认证服务器共享的量子密钥集合;
设置模块,用于按照预定方式为所述量子密钥集合中的密钥设置密钥标识;
存储模块,用于存储所述量子密钥集合、所述密钥标识、第一设备的标识和所述认证服务器的标识。
其中,所述装置还包括:
更新模块,更新所述量子密钥集合。
可选地,所述认证响应中包括所述第二设备的认证报文,所述第二设备的认证报文包括所述第二设备所使用的用于当前身份认证的第二量子密钥的标识、利用所述第二量子密钥加密后的第二加密密文,所述装置还包括:
解密模块,用于根据所述第二量子密钥的标识获取对应的解密量子密钥,并利用所述解密量子密钥解密所述第二加密密文,获得解密信息;
认证模块,用于若所述解密信息和所述第一加密密文中的信息一致,则双向身份认证通过。
其中,所述生成模块包括:
密钥获取子模块,用于从与所述第二设备共享的量子密钥集合中,获取所 述第一量子密钥;
信息获取子模块,用于获取第一待认证信息和第二待认证信息;
加密子模块,用于利用所述第一量子密钥加密所述第一待认证信息和所述第二待认证信息,获得所述第一加密密文;
生成子模块,用于利用所述第一待认证信息、所述第一量子密钥的标识和所述第一加密密文生成所述认证请求。
其中,所述第一待认证信息为第一设备的标识,所述第二待认证信息为随机数;或者,所述第一待认证信息为第一随机数,所述第二待认证信息为第二随机数。
其中,所述解密模块包括:
查找子模块,用于根据所述第二量子密钥的标识,在与所述第二设备共享的量子密钥集合中查找与所述第二量子密钥的标识对应的解密量子密钥;
获取子模块,用于若查找到所述解密量子密钥,获取所述解密量子密钥的状态标识;
解密子模块,用于若根据所述状态标识确定所述解密量子密钥未被使用过,则利用所述解密量子密钥解密所述第二加密密文,获得解密信息。
其中,所述发送模块还用于,若未查找到所述解密量子密钥或者根据所述状态标识确定所述解密量子密钥被使用过,则向所述第二设备发送密钥错误响应消息。
其中,所述认证模块具体用于,若所述解密信息和所述第二待认证信息一致,则双向身份认证通过。
其中,所述发送模块具体用于,向前端服务器发送所述认证请求,以由所述前端服务器将所述认证请求发送给认证服务器,以使所述认证服务器根据所述认证请求进行认证;
所述接收模块具体用于,接收所述前端服务器发送的所述认证响应消息,其中所述认证响应消息是由所述认证服务器发送给所述前端服务器的。
其中,所述装置还包括:
密钥接收模块,用于从量子密钥分发设备获取与所述第二设备共享的量子密钥集合;
密钥处理模块,用于按照预定方式为所述量子密钥集合中的密钥设置密钥标识;
密钥存储模块,用于存储所述量子密钥集合、所述密钥标识、第一设备的标识和所述第二设备的标识。
其中,所述第一量子密钥为未被使用过的量子密钥;
所述装置还包括:更新模块,用于更新所述量子密钥集合。第五方面,本公开提供一种身份认证装置,应用于第二设备,包括:接收模块,用于接收第一设备的第一认证请求,以使认证设备根据所述认证请求进行认证,其中在所述第一认证请求中包括第一待认证信息、用于当前身份认证的第一量子密钥的标识、利用所述第一量子密钥加密后的第一加密密文;发送模块,用于向所述第一设备发送认证响应,在所述认证响应中包括所述认证设备的认证报文;其中所述认证设备为所述身份认证装置,或者所述认证设备为从所述第二设备接收所述认证请求且向所述第二设备发送所述认证报文的认证服务器。
可选地,所述认证请求中包括利用所述第一量子密钥对第二待认证信息加密后的第一加密密文,所述认证响应中包括所述认证服务器的认证报文,所述发送模块,还用于向认证服务器发送身份认证请求,在所述身份认证请求中包括所述第一认证请求,以使所述认证服务器根据所述身份认证请求进行认证;所述接收模块,还用于接收所述认证服务器的认证报文,根据所述认证报文对所述第一设备进行认证。
其中,所述装置还包括:
生成模块,用于生成第二认证请求,在所述第二认证请求中包括第三待认证信息、第二设备用于当前身份认证的第二量子密钥的标识、利用所述第二量子密钥对第四待认证信息加密后的第二加密密文;
在所述身份认证请求中还包括所述第二认证请求。
其中,所述认证服务器的认证报文包括针对所述第二设备的第二认证报文,所述第二认证报文中包括所述认证服务器用于当前身份认证的第三量子密钥的标识,利用所述第三量子密钥对认证结果和第五待认证信息加密后的第三加密密文;所述认证结果中包括所述认证服务器对所述第一设备的认证结果以及所述认证服务器对所述第二设备的认证结果;
所述装置还包括:认证模块,用于根据所述认证报文对所述认证服务器进行认证。
其中,所述认证模块包括:
查找子模块,用于根据所述第三量子密钥的标识查找对应的第四量子密钥;
读取子模块,用于若查找到所述第四量子密钥,则读取所述第四量子密钥的状态标识;
解密子模块,用于若所述第四量子密钥的状态标识表示所述第四量子密钥未被使用,则利用所述第四量子密钥解密所述第三加密密文,获得所述第五待认证信息和所述认证结果;
比较子模块,用于将所述第五待认证信息和所述第四待认证信息进行比较;
第一认证子模块,用于若所述第五待认证信息和所述第四待认证信息一致,则通过对所述认证服务器的认证;
第二认证子模块,用于若所述认证结果表示所述认证服务器对所述第一设备的认证通过,则通过对所述第一设备的认证。
其中,所述第一待认证信息和所述第二待认证信息为任一随机数;或者
所述第一待认证信息为任一随机数,所述第二待认证信息包括所述第一待认证信息和任一随机数;所述第三待认证信息为任一随机数,所述第四待认证信息包括所述第三待认证信息和任一随机数;
或者
所述第一待认证信息为任一随机数;所述第二待认证信息包括所述第一待认证信息、任一随机数和第一验证数;所述认证请求中还包括:第一大整数和第二大整数;所述第一验证数是根据所述第一大整数、所述第二大整数、第三大整数计算得到的;所述第三待认证信息为任一随机数,所述第四待认证信息包括所述第三待认证信息、任一随机数和第二验证数;所述第二验证数是所述第二设备根据所述第一大整数、所述第二大整数和第四大整数生成的。
其中,所述装置还包括:
密钥计算模块,用于计算共享量子密钥,所述共享量子密钥用于与所述第一设备之间的通信;
所述共享量子密钥按如下方式计算:
K=X
y=Y
x=g
xy mod n,Y=g
y mod n,X=g
x mod n;
其中,K表示共享量子密钥,g表示所述第一大整数,n表示所述第二大整数,x表示所述第三大整数,y表示所述第四大整数,X表示所述第一验证数,Y表示所述第二验证数。
其中,所述装置还包括:
密钥获取模块,用于从量子密钥分发设备获取与所述认证服务器共享的量子密钥集合;
设置模块,用于按照预定方式为所述量子密钥集合中的密钥设置密钥标识;
存储模块,用于存储所述量子密钥集合、所述密钥标识、第二设备的标识和所述认证服务器的标识。
其中,所述装置还包括:
更新模块,用于更新所述量子密钥集合。
可选地,所述装置还包括:认证模块,用于根据所述认证请求对所述第一设备进行认证;发送模块,具体用于若对所述第一设备的认证通过,生成认证响应,并向所述第一设备发送所述认证响应,在所述认证响应消息中包括用于当前身份认证的第二量子密钥的标识、利用所述第二量子密钥加密后的第二加密密文,以使所述第一设备根据所述认证响应消息进行认证。
其中,所述第一加密密文是所述第一设备利用所述第一量子密钥加密第一待认证信息和第二待认证信息获得的;所述第一待认证信息为所述第一设备的标识,所述第二待认证信息为随机数;或者,所述第一待认证信息为第一随机数,所述第二待认证信息为第二随机数。
其中,所述认证模块包括:
查找子模块,用于根据所述第一量子密钥的标识,在与所述第一设备共享的量子密钥集合中查找与所述第一量子密钥的标识对应的解密量子密钥;
获取子模块,用于若查找到所述解密量子密钥,获取所述解密量子密钥的状态标识;
解密子模块,用于若根据所述状态标识确定所述解密量子密钥未被使用过,则利用所述解密量子密钥解密所述第一加密密文,获得解密信息;
认证子模块,用于若所述解密信息和所述第一待认证信息一致,则对所述 第一设备的认证通过。
其中,所述发送模块还用于,若未查找到所述解密量子密钥或者根据所述状态标识确定所述解密量子密钥被使用过,则向所述第一设备发送密钥错误响应消息。
其中,所述发送模块包括:
获取子模块,用于若对所述第一设备的认证通过,从与所述第一设备共享的量子密钥集合中获取所述第二量子密钥;
加密子模块,用于利用所述第二量子密钥加密所述第二待认证信息,获得所述第二加密密文;
发送子模块,用于利用所述第二量子密钥的标识和所述第二加密密文生成所述认证响应消息,并向所述第一设备发送认证响应消息。
其中,所述第二量子密钥为未被使用过的量子密钥;所述装置还包括:
更新模块,用于更新所述量子密钥集合。
其中,所述装置还包括:
密钥接收模块,用于从量子密钥分发设备获取与所述第一设备共享的量子密钥集合;
密钥处理模块,用于按照预定方式为所述量子密钥集合中的密钥设置密钥标识;
密钥存储模块,用于存储所述量子密钥集合、所述密钥标识、所述第一设备的标识和第二设备的标识。
第六方面,本公开提供一种身份认证装置,包括:
接收模块,用于接收第二设备的身份认证请求;其中,所述身份认证请求包括第一设备的第一认证请求;在所述第一认证请求中包括第一待认证信息、用于当前身份认证的第一量子密钥的标识、利用所述第一量子密钥对第二待认证信息加密后的第一加密密文;
认证模块,用于根据所述身份认证请求进行认证;
发送模块,用于向所述第二设备发送认证报文。
其中,所述第一待认证信息和所述第二待认证信息为任一随机数;或者
所述第一待认证信息为任一随机数,所述第二待认证信息包括所述第一待 认证信息和任一随机数;或者
所述第一待认证信息为任一随机数;所述第二待认证信息包括所述第一待认证信息、任一随机数和第一验证数;所述认证请求中还包括:第一大整数和第二大整数;所述第一验证数是根据所述第一大整数、所述第二大整数、第三大整数计算得到的。
其中,所述认证模块包括:
第一查找子模块,用于根据所述第一量子密钥的标识查找对应的第三量子密钥;
第一读取子模块,用于若查找到所述第三量子密钥,则读取所述第三量子密钥的状态标识;
第一解密子模块,用于若所述第三量子密钥的状态标识表示所述第三量子密钥未被使用,则利用所述第三量子密钥解密所述第一加密密文,获得所述第二待认证信息;
第一比较子模块,用于将所述第二待认证信息和所述第一认证请求中包括的第一待认证信息进行比较;
第一认证子模块,用于若所述第二待认证信息和所述第一认证请求中包括的第一待认证信息一致,则通过对所述第一设备的认证。
其中,所述第一比较子模块具体用于,将所述第二待认证信息中的任一随机数和所述第一待认证信息进行比较。
其中,所述身份认证请求中还包括所述第二设备的第二认证请求,在所述第二认证请求中包括第三待认证信息、所述第二设备用于当前身份认证的第二量子密钥的标识、利用所述第二量子密钥对第四待认证信息加密后的第二加密密文;所述认证模块包括:
第二查找子模块,用于根据所述第二量子密钥的标识查找对应的第四量子密钥;
第二读取子模块,用于若查找到所述第四量子密钥,则读取所述第四量子密钥的状态标识;
第二解密子模块,用于若所述第四量子密钥的状态标识表示所述第四量子密钥未被使用,则利用所述第四量子密钥解密所述第二加密密文,获得所述第 四待认证信息;
第二比较子模块,用于将所述第四待认证信息和所述第三待认证信息进行比较;
第二认证子模块,用于若所述第四待认证信息和所述第三待认证信息一致,则通过对所述第二设备的认证。
其中,所述第三待认证信息为任一随机数,所述第四待认证信息包括所述第三待认证信息,任一随机数和第二验证数;所述第二验证数是所述第二设备根据所述第一大整数、所述第二大整数和第四大整数生成的;
所述第二比较子模块具体用于,将所述第四待认证信息中的任一随机数和所述第三待认证信息进行比较。
其中,所述装置还包括:
密钥获取模块,用于从量子密钥分发设备分别获取与所述第一设备、第二设备共享的第一量子密钥集合和第二量子密钥集合;
设置模块,用于按照预定方式为所述第一量子密钥集合和所述第二量子密钥集合中的密钥设置密钥标识;
第一存储模块,用于存储所述第一量子密钥集合、所述密钥标识、第一设备的标识和所述认证服务器的标识;
第二存储模块,用于存储所述第二量子密钥集合、所述密钥标识、第二设备的标识和所述认证服务器的标识。
其中,所述装置还包括:
更新模块,用于更新所述量子密钥集合。
第七方面,本公开实施例还提供了一种身份认证装置,应用于第一设备,包括:处理器;以及存储器,用于存储可在所述处理器上运行的计算机程序;其中所述处理器用于执行所述计算机程序实现第一方面所述的方法中的步骤。
第八方面,本公开实施例还提供了一种身份认证装置,应用于第二设备,包括:处理器;以及存储器,用于存储可在所述处理器上运行的计算机程序;其中所述处理器用于执行所述计算机程序实现第二方面所述的方法中的步骤。
第九方面,本公开实施例还提供了一种认证服务器,包括:处理器;以及存储器,用于存储可在所述处理器上运行的计算机程序;其中所述处理器用于 执行所述计算机程序实现第三方面所述的方法中的步骤。
第十方面,本公开实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现第一方面所述的方法中的步骤。
第十一方面,本公开实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现第二方面所述的方法中的步骤。
第十二方面,本公开实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现第三方面所述的方法中的步骤。本公开的上述技术方案的有益效果如下:
在本公开实施例中,通过一次交互即可实现对设备的认证,因此利用本公开实施例的方案认证速度快,认证效率高。
为了更清楚地说明本公开实施例的技术方案,下面将对本公开实施例的描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本公开的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为基于量子密钥分发机制的安全保密通信的流程图;
图2为本公开实施例一的身份认证方法的流程图;
图3为本公开实施例二的身份认证方法的流程图;
图4为本公开实施例三的身份认证方法的流程图;
图5为本公开实施例四的身份认证方法的流程图;
图6为本公开实施例五的身份认证方法的流程图;
图7为本公开实施例六的身份认证方法的流程图;
图8为本公开实施例七的身份认证装置的示意图;
图9为本公开实施例七的身份认证装置的结构图;
图10为本公开实施例八的身份认证装置的示意图;
图11为本公开实施例八的身份认证装置的结构图;
图12为本公开实施例九的身份认证装置的示意图;
图13为本公开实施例九的身份认证装置的结构图;
图14为本发明实施例十的身份认证方法的流程图;
图15为本发明实施例十一的身份认证方法的流程图;
图16为本发明实施例十二的身份认证方法的流程图;
图17为本发明实施例中量子密钥存储装置的示意图;
图18为本发明实施例十三的身份认证方法的流程图;
图19为本发明实施例中量子密钥存储装置的又一示意图;
图20为本发明实施例十四的身份认证方法的流程图;
图21为本发明实施例十五的身份认证方法的流程图;
图22为本发明实施例十六的身份认证装置的示意图;
图23为本发明实施例十六的双身份认证装置的结构图;
图24为本发明实施例十七的身份认证装置的示意图;
图25为本发明实施例十七的身份认证装置的结构图。
下面将结合附图和实施例,对本公开的具体实施方式作进一步详细描述。以下实施例用于说明本公开,但不用来限制本公开的范围。
随着量子通信技术的快速发展,量子保密通信技术利用量子力学的基本原理可以保证密钥的绝对安全,即,任何对量子***的测量都会产生干扰,因此如果有攻击者试图对***进行测量以获取密钥信息,通信双方便会知晓。量子保密通信技术通过量子网络可以实现密钥的安全分发,这些密钥称为量子密钥。通常量子网络中应包括量子密钥收发装置和量子信道,量子密钥收发装置用于产生和分发密钥,量子信道用于量子密钥的传输,量子密钥可使用现有加密算法在经典通信网络中实现信息的安全传输。由于使用量子网络可以产生大量量子密钥,因此,使用这些密钥实现身份认证和数据加密成为新的研究热点。
在本公开实施例中,首先对量子保密通信的基本原理做一简单介绍。
实用保密通信的工作原理主要基于安全的密钥分发和安全的数据加密传输。即首先需要在通信双方之间使用某种安全的机制进行共享密钥的分发,然 后在通信双方间使用该共享密钥对需要安全传输的数据分别进行加密和解密操作,从而实现通信双方的数据保密传输。
其中,加密算法可使用商用标准算法SM4以及国际上一些主流加密算法如AES等,结合通过某种安全密钥分发机制进行分发的密钥,能够有效保障通信过程中数据传输的安全。由于SM4、AES等主流加密算法具有极高的安全强度,足以抵抗现有的所有分析和攻击方法,因此寻找一种安全高效的密钥分发机制就成为了保障安全通信的最关键最核心的问题。
在现实应用中,大多数密钥分发机制都是基于数字证书体系来实现。这类机制很大程度上依赖于RSA、椭圆曲线、Diffie-Hellman密钥交换体系等公钥加密体制的安全性。这些公钥加密体制的底层安全性通常基于大整数因子分解、离散对数等公认困难的数学问题。但是,虽然目前尚未发现任何有效实用的算法可以快速解决这些困难的数学问题,但是绝对不能排除未来发现能够有效解决这些困难问题的高效算法的可能性。此外,伴随着软硬件计算能力的迅速提升和分布式计算等计算方法的不断改进,现有计算能力已经可以实现768位大整数的快速分解。值得一提的是,大整数因子分解问题也已经被证明在量子计算模型下是不安全的。更为实际和严重的问题是基于公钥加密体系的密钥分发机制在现实应用中如果配置使用不当,也会带来严重的安全问题。
如最近对于OpenSSL协议中低于1024位整数Diffie-Hellman协议的快速破解,以及NIST发布的伪随机数算法Dual_EC后门的利用等,都暴露出实用公钥加密体制所存在的一些极为严重的安全漏洞。长远来看,基于公钥加密体系的密钥分发机制也无法提供有效的可证明安全结果,不具备无条件安全性。
伴随着量子保密通信技术的发展、进步以及实用化,量子密钥分发提供了另外一种安全高效实用的理想密钥分发方法。量子密钥分发的不可再分、不可测量、不可复制以及理想随机等显著的技术优点,从底层量子力学基本原理的角度保证了量子密钥分发***的无条件安全性。如图1所示,基于量子密钥分发机制的安全保密通信主要包括两个主要步骤:
步骤101、对应图1中的1,2。通信双方之间使用专用的量子网络和相应的收发量子设备进行量子共享密钥的协商和分发,同时通信双方分别将该共享密钥传输到本地的加密设备中,这一步能够保证密钥分发和传输过程的无条件 安全性。
步骤102、对应图1中的3,4,5。通信双方完成量子共享密钥的安全分发后,发送方使用共享密钥和安全的加密算法对需要传输的数据进行加密,并使用传统网络传输加密数据到接收方;接收方再使用相同的共享密钥和算法对接收到的加密数据进行解密,从而实现通信双方的安全保密通信。
在本公开一些实例中,第一设备生成认证请求,在所述认证请求中包括第一待认证信息、用于当前身份认证的第一量子密钥的标识、利用所述第一量子密钥加密后的第一加密密文;第一设备向第二设备发送所述认证请求。可选地,第二设备可以根据所述认证请求进行认证,第二设备向第一设备发送认证响应。或者,第二设备将认证请求发送给认证服务器,由认证服务器根据所述认证请求进行认证,第二设备接收认证服务器发送的认证报文并向第一设备发送携带该认证报文的认证响应。也就是说,认证设备可以是第二设备,也可以是认证服务器。
需要说明的是,本公开实施例的方法可以应用于三方认证,也可以应用于双向身份认证。
下面将结合附图对本公开实施例做进一步描述,应理解,本公开实施例不限于此。
实施例一
如图2所示,本公开实施例一的身份认证方法,应用于第一设备,包括:
步骤201、生成认证请求,在所述认证请求中包括第一待认证信息、用于当前身份认证的第一量子密钥的标识、利用所述第一量子密钥对第二待认证信息加密后的第一加密密文。
在本公开实施例中,第一设备从与认证服务器共享的量子密钥集合中,获取所述第一量子密钥。同时,第一设备获取第一待认证信息和第二待认证信息。然后,利用所述第一量子密钥加密所述第二待认证信息,获得所述第一加密密文。最后,利用所述第一待认证信息、所述第一量子密钥的标识和所述第一加密密文生成所述认证请求。
其中,所述第一待认证信息和所述第二待认证信息为任一随机数,二者可相等。
其中,所述第一待认证信息为任一随机数,所述第二待认证信息包括所述第一待认证信息和任一随机数。该任一随机数可不同于所述第一待认证信息。
其中,所述第一待认证信息为任一随机数;所述第二待认证信息包括所述第一待认证信息、任一随机数和第一验证数;所述认证请求中还包括:第一大整数和第二大整数;所述第一验证数是根据所述第一大整数、所述第二大整数、第三大整数计算得到的。
为进一步保证安全性,所述第一量子密钥为未被使用过的量子密钥。
步骤202、向第二设备发送所述认证请求,以使所述第二设备将所述认证请求发送给认证服务器,由所述认证服务器根据所述认证请求进行认证。
步骤203、接收所述第二设备发送的认证响应,在所述认证响应中包括所述认证服务器的认证报文。
由上可以看出,在本公开实施例中,通过设备之间的一次交互即可实现双向认证,因此利用本公开实施例的方案认证速度快,认证效率高。
实施例二
如图3所示,本公开实施例二的身份认证方法,应用于第二设备,包括:
步骤301、接收第一设备的第一认证请求,在所述第一认证请求中包括第一待认证信息、用于当前身份认证的第一量子密钥的标识、利用所述第一量子密钥对第二待认证信息加密后的第一加密密文。
步骤302、向认证服务器发送身份认证请求,在所述身份认证请求中包括所述第一认证请求,以使所述认证服务器根据所述身份认证请求进行认证。
步骤303、接收所述认证服务器的认证报文,根据所述认证报文对所述第一设备进行认证。
步骤304、根据所述认证报文向所述第一设备发送认证响应。
由上可以看出,在本公开实施例中,通过设备之间的一次交互即可实现双向认证,因此利用本公开实施例的方案认证速度快,认证效率高。
实施例三
如图4所示,本公开实施例三的身份认证方法,应用于认证服务器,包括:
步骤401、接收第二设备的身份认证请求;其中,所述身份认证请求包括第一设备的第一认证请求;在所述第一认证请求中包括第一待认证信息、用于 当前身份认证的第一量子密钥的标识、利用所述第一量子密钥对第二待认证信息加密后的第一加密密文。
步骤402、根据所述身份认证请求进行认证。
步骤403、向所述第二设备发送认证报文。
由上可以看出,在本公开实施例中,通过设备之间的一次交互即可实现双向认证,因此利用本公开实施例的方案认证速度快,认证效率高。
实施例四
如图5所示,本公开实施例四的身份认证方法,包括:
步骤501、设备初始化。
设备初始化的目的是为了使认证双方分别与认证中心产生量子密钥,认证和密钥协商阶段使用存储的量子密钥进行双向认证,并在认证双方产生共享密钥。
被认证的实体需要预先通过量子密钥分发网络与认证服务器产生若干共享密钥,并将这些共享密钥进行存储,其中需要存储密钥标识、密钥等信息。过程如下:
(1)将被认证的实体设备A通过量子网络连接至认证服务器,利用量子网络在收发两端产生大量无条件安全的共享密钥集合。密钥集合记做K,其中包含密钥K1,K2,...。
(2)设备A中密钥存储模块的密钥接收单元从量子网络接收量子密钥集合K;认证服务器从量子网络接收量子密钥集合K。
(3)设备A和认证服务器采用相同的方式为密钥定义密钥标识,密钥Ki的标识记为IDKi。
(4)设备A和认证服务器存储密钥、密钥标识、设备A和认证服务器的身份等信息。将设备A和认证服务器的身份分别记为IDA和IDAuth,那么密钥存储方式如下:(IDKi,Ki,IDA,IDAuth)。
步骤502、设备A向设备B发送认证请求。
设备A选择一个未曾使用的密钥KA1,随机产生一个随机数N1,向设备B发送认证请求M1,其中包含设备A选择使用的密钥标识IDKA1,随机数N1,以及使用KA1加密N1之后的密文信息(EKA1(N1))。
步骤503、设备B向认证服务器发送认证请求。
设备B将设备A的认证请求转发给认证服务器。
步骤504、认证服务器对设备A进行认证。
在本公开实施例中,共享密钥集合中的每个密钥都可有对应的状态标识。如果某个密钥仍位于该集合中,其对应的状态标识可为被使用或者未被使用。因此,在此,若查找到Kj,可通过读取其状态标识确定是否被使用过。
认证服务器根据IDKA1在量子密钥集合中查找KA1,若KA1已被删除或标记为已使用,则返回密钥错误;若KA1未曾使用,则使用KA1解密密文,得到N1。若解密后得到的N1与M1中明文传输的N1一致,则认为设备A确实拥有密钥KA1,实现对设备A的认证。
步骤505、认证服务器将认证结果作为认证响应返回给设备B。
步骤506、设备B将认证结果作为认证响应返回给设备A。
根据认证服务器对设备A的认证结果,设备B可以实现对设备A的认证。即,如果认证结果表示认证服务器通过了对设备A的认证,那么设备B对设备A的认证通过。如果认证结果表示认证服务器未通过对设备A的认证,那么设备B对设备A的认证不通过。
此外,设备A或者认证服务器还可更新所述量子密钥集合。例如,将密钥KA1删除,或更新密钥KA1的状态标识,将其标记为已使用。认证过程结束。
实施例五
如图6所示,本公开实施例五的身份认证方法,包括:
步骤601、设备初始化。
此步骤可参照步骤501的描述。在本公开实施例中,涉及到的认证主体包括设备A,设备B和认证服务器。设备B和认证服务器之间,也可按照设备A和认证服务器之前获取量子密钥集合的方式获得设备B和认证服务器之间的量子密钥集合。
步骤602、设备A向设备B发送认证请求。
设备A选择一个未曾使用的密钥KA1,随机产生两个随机数N1和N2,向设备B发送认证请求M1,其中包含设备A选择使用的密钥标识IDKA1, 随机数N1,以及使用KA1加密N1和N2之后的密文信息。设备A需要临时存储N2,直至认证过程结束。可选的,N1和N2可以相等。
步骤603、设备B生成认证请求。
设备B接收到设备A的认证请求后,从它存储的量子密钥集合中选择一个未曾使用的密钥KB1,随机产生两个随机数N3和N4,组织认证请求M2,其中包括设备B选择使用的密钥标识IDKB1,以及使用KB1加密N3和N4之后的密文信息。设备B需要临时存储N4,直至认证过程结束。可选的,N3和N4可以相等。
步骤604、设备B向认证服务器发送身份认证请求。
设备B向认证服务器发送身份认证请求,其中包含M1和M2。
步骤605、认证服务器分别对设备A、设备B进行认证。
具体过程如下:
(1)认证服务器分别根据密钥标识IDKA1和IDKB1,在存储的量子密钥集合中分别查找相应的密钥KA1和KB1。若KA1或KB1已被删除或标记为已使用,则返回密钥错误;若KA1和KB1未曾使用,则分别使用KA1和KB1解密M1和M2中的密文。
(2)认证服务器验证解密后的N1和N3是否与M1和M2中明文传输的N1和N3是否一致。若不一致,则认证失败,返回认证失败消息;若一致,则认为设备A和设备B分别拥有密钥KA1和KBl,其身份得到验证。之后组织如下认证响应报文。
(3)认证服务器分别选择一个与设备A和设备B的共享且未曾使用的密钥KA2和KB2,组织报文M3和M4。其中M3包含KB2的标识IDKB2,以及使用KB2加密随机数N4和认证结果Result的密文;其中M4包含KA2的标识IDKA2,以及使用KA2加密随机数N2和认证结果Result的密文。
其中,该认证结果包括认证服务器对设备A和设备B的认证结果。
步骤606、认证服务器向设备B发送认证响应。
步骤607、设备B对设备A和认证服务器进行认证。
设备B接收到认证服务器的认证响应后,根据M3中密钥标识IDKB2从自身存储区找到KB2,若KB2已被删除或标记为已使用,则返回密钥错误; 否则,使用KB2解密M3中的密文。验证解密后得到的N4是否与自己缓存的、认证请求M2中的N4是否一致。若一致,则说明认证服务器拥有KB1和KB2,实现了对认证服务器的身份认证;否则认证失败。
设备B根据Result得知认证服务器对设备A的认证结果。
此外,设备B还可更新所述量子密钥集合,例如可将密钥KB1和KB2删除,或标记为已使用。
步骤608、设备B向设备A发送认证响应。
设备B将M4作为认证响应发送至设备A。
步骤609、设备A对设备B和认证服务器进行认证。
设备A接收到设备B的认证响应后,根据M4中密钥标识IDKA2从自身存储区找到KA2,若KA2已被删除或标记为已使用,则返回密钥错误;否则,使用KA2解密M4中的密文。验证解密后得到的N2是否与自己缓存的、认证请求M1中的N2是否一致。若一致,则说明认证服务器拥有KA1和KA2,实现了对认证服务器的身份认证;否则认证失败。设备A根据Result得知认证服务器对设备A和设备B的认证结果。
此外,设备A还可更新所述量子密钥集合,例如,将KA1和KA2删除,或标记为已使用。认证过程结束。
实施例六
实施例五中,通过将认证消息转发至认证服务器,通过认证服务器可以实现设备双方之间的相互认证,事实上,以该认证方法为基础,融合Diffie-Hellman(DH)协议,可以实现认证设备双方的密钥协商。Diffie-Hellman协议是一种密钥协商协议,允许两个实体在不安全的媒介中协商密钥。
如图7所示,本公开实施例六的身份认证方法,包括:
步骤701、设备初始化。
此步骤可参照步骤501的描述。在本公开实施例中,涉及到的认证主体包括设备A,设备B和认证服务器。设备B和认证服务器之间,也可按照设备A和认证服务器之前获取量子密钥集合的方式获得设备B和认证服务器之间的量子密钥集合。
步骤702、设备A向设备B发送认证请求。
设备A选择一个未曾使用的密钥KA1,随机产生两个随机数N1和N2,选择两个大整数n和g,随机选择一个大整数x,计算X=g
x mod n。设备A向设备B发送认证请求M1,其中包含设备A选择使用的密钥标识IDKA1,随机数N1、使用KA1加密随机数N1、N2、X的密文信息,以及设备A选择的整数n和g。设备A需要临时存储x和N2,直至认证过程结束。
步骤703、设备B生成认证请求。
设备B接收到设备A的认证请求后,选择一个未曾使用的密钥KB1,随机产生两个随机数N3和N4,选择一个大随机数y,计算Y=g
y mod n,组织自己的认证请求M2,其中包括设备B选择使用的密钥标识IDKB1,随机数N3、以及使用KB1加密N3、N4、Y之后的密文信息。设备B需要临时存储y和N4,直至认证过程结束。
步骤704、设备B向认证服务器发送身份认证请求。
设备B向认证服务器发送身份认证请求,其中包含M1和M2。
步骤705、认证服务器分别对设备A、设备B进行认证。
具体过程如下:
(1)分别根据密钥标识IDKA1和IDKB1找到相应的密钥KA1和KB1,若KA1或KB1已被删除或标记为已使用,则返回密钥错误;若KA1和KB1未曾使用,则分别使用KA1和KB1解密M1和M2中的密文。
(2)认证服务器验证解密后的N1和N3是否与M1和M2中明文传输的N1和N3是否一致。若不一致,则认证失败,返回认证失败消息;若一致,则认为设备A和设备B分别拥有密钥KA1和KB1,其身份得到验证。之后组织如下认证响应报文。
(3)认证服务器分别选择一个与设备A和设备B的共享且未曾使用的密钥KA2和KB2,组织报文M3和M4。其中M3包含KB2的标识IDKB2,使用KB2加密随机数N4、认证结果Result、以及从M1中解密的X;其中M4包含KA2的标识IDKA2,使用KA2加密随机数N2、认证结果Result、以及从M2中解密得到的Y。
其中,该认证结果包括认证服务器对设备A和设备B的认证结果。
步骤706、认证服务器向设备B发送认证响应。
步骤707、设备B对设备A和认证服务器进行认证。
设备B接收到认证服务器的认证响应后,根据M3中密钥标识IDKB2从自身存储区找到KB2,若KB2已被删除或标记为已使用,则返回密钥错误;否则,使用KB2解密M3中的密文。验证解密后得到的N4是否与自己缓存的、认证请求M2中的N4是否一致。若一致,则说明认证服务器拥有KB1和KB2,实现了对认证服务器的身份认证;否则认证失败。
设备B使用从M3中解密出的X计算与设备A之间的共享密钥,K=X
y mod n。
设备B根据Result得知认证服务器对设备A的认证结果。
此外,设备B还可更新所述量子密钥集合,例如可将密钥KB1和KB2删除,或标记为已使用。
步骤708、设备B向设备A发送认证响应。
设备B将M4作为认证响应发送至设备A。
步骤709、设备A对设备B和认证服务器进行认证。
设备A根据M4中密钥标识IDKA2从自身存储区找到KA2,若KA2已被删除或标记为已使用,则返回密钥错误;否则,使用KA2解密M4中的密文。
设备A验证解密后得到的N2是否与自己缓存的、认证请求M1中的N2是否一致。若一致,则说明认证服务器拥有KA1和KA2,实现了对认证服务器的身份认证;否则认证失败。
设备A根据Result得知认证服务器对设备A和设备B的认证结果。
设备A使用从M中解密出的Y计算与设备B之间的共享密钥,K=Y
x mod n。
此外,设备A还可更新所述量子密钥集合,例如,将KA1和KA2删除,或标记为已使用。
通过上述过程,设备A与设备B之间的共享密钥为:
K=X
y=Y
x=g
xy mod n,Y=g
y mod n,X=g
x mod n。
由上可以看出,本公开的实施例具有以下优点:
(一)安全性:
(1)三方认证:
设备A与认证服务器之间:由于标识为IDKA1和IDKA2密钥仅被设备A和认证服务器共享,因此如果设备A使用KA1正确加密N1,就实现了对设备A的认证。同理,认证服务器使用KA2正确加密N2,就说明认证服务器确实拥有IDKA1和IDKA2,即实现了设备A对认证服务器的认证。
设备B与认证服务器之间:由于标识为IDKB1和IDKB2密钥仅被设备B和认证服务器共享,因此如果设备B使用KB1正确加密N3,就实现了对设备B的认证。同理,认证服务器使用KB2正确加密N4,就说明认证服务器确实拥有IDKB1和IDKB2,即实现了设备B对认证服务器的认证。
设备A与设备B之间:设备A与设备B分别实现了对认证服务器的认证,认证服务器将设备A与设备B的认证结果Result加密发送给双方,实现设备A与设备B的相互认证。
(2)防止重放:本提案中量子密钥仅允许使用一次,之后就删除或标记为已使用过,可以实现一次一密。如果攻击者截取了认证数据,由于该认证数据中的密钥已被双方使用,因此重放该认证数据时,通信双方检测出重放消息,予以忽略。
(3)防止窃听:量子密钥仅被通信双方共享,且仅使用一次,因此即使攻击者截获通信数据,也无法进行解密。此外,方案中的加密算法可以采用现有的对称密码算法,如AES等,量子计算可以破解对称密码算法,但不能破解非对称密码算法。
(二)可行性:
(1)应用可行性:由于每个密钥仅使用一次,如果使用完需要重新进行初始化。事实上,如果使用128bits的量子密钥,可以为每个密钥分配20字节的存储空间,这样,1MB的存储空间可以存储大约50万个密钥,足够普通用户使用,通过增大存储空间还可以延长密钥的使用时间。
(2)技术实现可行性:目前量子密钥收发装置已经商用,可使用量子网络和量子密钥收发装置实现设备与认证服务器之间的密钥分配,快速部署使用。
实施例七
如图8所示,本公开实施例七的身份认证装置,包括:
生成模块801,用于生成认证请求,在所述认证请求中包括第一待认证信息、用于当前身份认证的第一量子密钥的标识、利用所述第一量子密钥对第二待认证信息加密后的第一加密密文;发送模块802,用于向第二设备发送所述认证请求,以使所述第二设备将所述认证请求发送给认证服务器,由所述认证服务器根据所述认证请求进行认证;接收模块803,用于接收所述第二设备发送的认证响应,在所述认证响应中包括所述认证服务器的认证报文。
其中,所述认证服务器的认证报文包括针对第一设备的第一认证报文,所述第一认证报文中包括所述认证服务器用于当前身份认证的第二量子密钥的标识,利用所述第二量子密钥对认证结果和第三待认证信息加密后的第二加密密文;所述认证结果中包括所述认证服务器对所述第一设备的认证结果以及所述认证服务器对所述第二设备的认证结果;
如图9所示,所述装置还包括:认证模块804,用于根据所述认证响应分别对所述第二设备、所述认证服务器进行认证。
其中,所述认证模块804包括:查找子模块,用于根据所述第二量子密钥的标识查找对应的第三量子密钥;读取子模块,用于若查找到所述第三量子密钥,则读取所述第三量子密钥的状态标识;解密子模块,用于若所述第三量子密钥的状态标识表示所述第三量子密钥未被使用,则利用所述第三量子密钥解密所述第二加密密文,获得所述第三待认证信息和所述认证结果;比较子模块,用于将所述第三待认证信息和所述第二待认证信息进行比较;第一认证子模块,用于若所述第三待认证信息和所述第二待认证信息一致,则通过对所述认证服务器的认证;第二认证子模块,用于若所述认证结果表示所述认证服务器对所述第二设备的认证通过,则通过对所述第二设备的认证。
其中,所述第一待认证信息和所述第二待认证信息为任一随机数;或者所述第一待认证信息为任一随机数,所述第二待认证信息包括所述第一待认证信息和任一随机数;所述比较子模块具体用于,将所述第三待认证信息和所述第二待认证信息中的任一随机数进行比较。
其中,所述第一待认证信息为任一随机数;所述第二待认证信息包括所述第一待认证信息、任一随机数和第一验证数;所述认证请求中还包括:第一大整数和第二大整数;所述第一验证数是根据所述第一大整数、所述第二大整数、 第三大整数计算得到的;所述比较子模块具体用于,将所述第三待认证信息和所述第二待认证信息中的所述任一随机数进行比较。
再如图9所示,所述装置还包括:
密钥计算模块805,用于计算共享量子密钥,所述共享量子密钥用于与所述第二设备之间的通信;
所述共享量子密钥按如下方式计算:
K=X
y=Y
x=g
xy mod n,Y=g
y mod n,X=g
x mod n;
其中,K表示共享量子密钥,g表示所述第一大整数,n表示所述第二大整数,x表示所述第三大整数,y表示第四大整数,X表示所述第一验证数,Y表示第二验证数。
再如图9所示,所述装置还包括:
密钥获取模块806,用于从量子密钥分发设备获取与所述认证服务器共享的量子密钥集合;设置模块807,用于按照预定方式为所述量子密钥集合中的密钥设置密钥标识;存储模块808,用于存储所述量子密钥集合、所述密钥标识、第一设备的标识和所述认证服务器的标识。
进一步的,所述装置还包括:更新模块809,用于更新所述量子密钥集合。
本公开所述装置的工作原理可参照前述方法实施例的描述。
由上可以看出,在本公开实施例中,通过设备之间的一次交互即可实现双向认证,因此利用本公开实施例的方案认证速度快,认证效率高。
实施例八
如图10所示,本公开实施例八的身份认证装置,包括:
第一接收模块901,用于接收第一设备的第一认证请求,在所述第一认证请求中包括第一待认证信息、用于当前身份认证的第一量子密钥的标识、利用所述第一量子密钥对第二待认证信息加密后的第一加密密文;第一发送模块902,用于向认证服务器发送身份认证请求,在所述身份认证请求中包括所述第一认证请求,以使所述认证服务器根据所述身份认证请求进行认证;第二接收模块903,用于接收所述认证服务器的认证报文,根据所述认证报文对所述第一设备进行认证;第二发送模块904,用于根据所述认证报文向所述第一设备发送认证响应。
如图11所示,所述装置还包括:
生成模块905,用于生成第二认证请求,在所述第二认证请求中包括第三待认证信息、第二设备用于当前身份认证的第二量子密钥的标识、利用所述第二量子密钥对第四待认证信息加密后的第二加密密文;在所述身份认证请求中还包括所述第二认证请求。
其中,所述认证服务器的认证报文包括针对所述第二设备的第二认证报文,所述第二认证报文中包括所述认证服务器用于当前身份认证的第三量子密钥的标识,利用所述第三量子密钥对认证结果和第五待认证信息加密后的第三加密密文;所述认证结果中包括所述认证服务器对所述第一设备的认证结果以及所述认证服务器对所述第二设备的认证结果;
如图11所示,所述装置还包括:认证模块906,用于根据所述认证报文对所述认证服务器进行认证。
其中,所述认证模块906包括:
查找子模块,用于根据所述第三量子密钥的标识查找对应的第四量子密钥;读取子模块,用于若查找到所述第四量子密钥,则读取所述第四量子密钥的状态标识;解密子模块,用于若所述第四量子密钥的状态标识表示所述第四量子密钥未被使用,则利用所述第四量子密钥解密所述第三加密密文,获得所述第五待认证信息和所述认证结果;比较子模块,用于将所述第五待认证信息和所述第四待认证信息进行比较;第一认证子模块,用于若所述第五待认证信息和所述第四待认证信息一致,则通过对所述认证服务器的认证;第二认证子模块,用于若所述认证结果表示所述认证服务器对所述第一设备的认证通过,则通过对所述第一设备的认证。
其中,所述第一待认证信息和所述第二待认证信息为任一随机数;或者
所述第一待认证信息为任一随机数,所述第二待认证信息包括所述第一待认证信息和任一随机数;所述第三待认证信息为任一随机数,所述第四待认证信息包括所述第三待认证信息和任一随机数;
或者
所述第一待认证信息为任一随机数;所述第二待认证信息包括所述第一待认证信息、任一随机数和第一验证数;所述认证请求中还包括:第一大整数和 第二大整数;所述第一验证数是根据所述第一大整数、所述第二大整数、第三大整数计算得到的;所述第三待认证信息为任一随机数,所述第四待认证信息包括所述第三待认证信息、任一随机数和第二验证数;所述第二验证数是所述第二设备根据所述第一大整数、所述第二大整数和第四大整数生成的。
如图11所示,所述装置还包括:
密钥计算模块907,用于计算共享量子密钥,所述共享量子密钥用于与所述第一设备之间的通信;
所述共享量子密钥按如下方式计算:
K=X
y=Y
x=g
xy mod n,Y=g
y mod n,X=g
x mod n;
其中,K表示共享量子密钥,g表示所述第一大整数,n表示所述第二大整数,x表示所述第三大整数,y表示所述第四大整数,X表示所述第一验证数,Y表示所述第二验证数。
如图11所示,所述装置还包括:
密钥获取模块908,用于从量子密钥分发设备获取与所述认证服务器共享的量子密钥集合;设置模块909,用于按照预定方式为所述量子密钥集合中的密钥设置密钥标识;存储模块910,用于存储所述量子密钥集合、所述密钥标识、第二设备的标识和所述认证服务器的标识。
如图11所示,所述装置还包括:更新模块912,用于更新所述量子密钥集合。
本公开所述装置的工作原理可参照前述方法实施例的描述。
由上可以看出,在本公开实施例中,通过设备之间的一次交互即可实现双向认证,因此利用本公开实施例的方案认证速度快,认证效率高。
实施例九
如图12所示,本公开实施例九的身份认证装置,包括:
接收模块1201,用于接收第二设备的身份认证请求;其中,所述身份认证请求包括第一设备的第一认证请求;在所述第一认证请求中包括第一待认证信息、用于当前身份认证的第一量子密钥的标识、利用所述第一量子密钥对第二待认证信息加密后的第一加密密文;认证模块1202,用于根据所述身份认证请求进行认证;发送模块1203,用于向所述第二设备发送认证报文。
其中,所述第一待认证信息和所述第二待认证信息为任一随机数;或者所述第一待认证信息为任一随机数,所述第二待认证信息包括所述第一待认证信息和任一随机数;或者所述第一待认证信息为任一随机数;所述第二待认证信息包括所述第一待认证信息、任一随机数和第一验证数;所述认证请求中还包括:第一大整数和第二大整数;所述第一验证数是根据所述第一大整数、所述第二大整数、第三大整数计算得到的。
其中,所述认证模块1202包括:
第一查找子模块,用于根据所述第一量子密钥的标识查找对应的第三量子密钥;第一读取子模块,用于若查找到所述第三量子密钥,则读取所述第三量子密钥的状态标识;第一解密子模块,用于若所述第三量子密钥的状态标识表示所述第三量子密钥未被使用,则利用所述第三量子密钥解密所述第一加密密文,获得所述第二待认证信息;第一比较子模块,用于将所述第二待认证信息和所述第一认证请求中包括的第一待认证信息进行比较;第一认证子模块,用于若所述第二待认证信息和所述第一认证请求中包括的第一待认证信息一致,则通过对所述第一设备的认证。
其中,所述第一比较子模块具体用于,将所述第二待认证信息中的任一随机数和所述第一待认证信息进行比较。
其中,所述身份认证请求中还包括所述第二设备的第二认证请求,在所述第二认证请求中包括第三待认证信息、所述第二设备用于当前身份认证的第二量子密钥的标识、利用所述第二量子密钥对第四待认证信息加密后的第二加密密文;所述认证模块1202包括:
第二查找子模块,用于根据所述第二量子密钥的标识查找对应的第四量子密钥;第二读取子模块,用于若查找到所述第四量子密钥,则读取所述第四量子密钥的状态标识;第二解密子模块,用于若所述第四量子密钥的状态标识表示所述第四量子密钥未被使用,则利用所述第四量子密钥解密所述第二加密密文,获得所述第四待认证信息;第二比较子模块,用于将所述第四待认证信息和所述第三待认证信息进行比较;第二认证子模块,用于若所述第四待认证信息和所述第三待认证信息一致,则通过对所述第二设备的认证。
其中所述第三待认证信息为任一随机数,所述第四待认证信息包括所述第 三待认证信息、任一随机数和第二验证数;所述第二验证数是所述第二设备根据所述第一大整数、所述第二大整数和第四大整数生成的;
所述第二比较子模块具体用于,将所述第四待认证信息中的任一随机数和所述第三待认证信息进行比较。
如图13所示,所述装置还包括:
密钥获取模块1204,用于从量子密钥分发设备分别获取与所述第一设备、第二设备共享的第一量子密钥集合和第二量子密钥集合;设置模块1205,用于按照预定方式为所述第一量子密钥集合和所述第二量子密钥集合中的密钥设置密钥标识;第一存储模块1206,用于存储所述第一量子密钥集合、所述密钥标识、第一设备的标识和所述认证服务器的标识;第二存储模块1207,用于存储所述第二量子密钥集合、所述密钥标识、第二设备的标识和所述认证服务器的标识。
进一步的,如图13所示,所述装置还可包括:更新模块1208,用于更新所述量子密钥集合。
实施例十
如图14所示,本公开实施例十的身份认证方法,应用于第一设备,包括:
步骤1401、生成认证请求,在所述认证请求中包括第一待认证信息、用于当前身份认证的第一量子密钥的标识、利用所述第一量子密钥加密后的第一加密密文。
在本公开实施例中,第一设备从与所述第二设备共享的量子密钥集合中,获取所述第一量子密钥,并获取第一待认证信息和第二待认证信息。然后,利用所述第一量子密钥加密所述第一待认证信息和所述第二待认证信息,获得所述第一加密密文。最后,利用所述第一待认证信息、所述第一量子密钥的标识和所述第一加密密文生成所述认证请求。
其中,所述第一待认证信息为第一设备的标识,所述第二待认证信息为随机数。或者,为了进一步提高安全性,所述第一待认证信息为第一随机数,所述第二待认证信息为第二随机数。
为进一步保证安全性,所述第一量子密钥为未被使用过的量子密钥。
步骤1402、向第二设备发送所述认证请求,以使所述第二设备根据所述 认证请求进行认证。
步骤1403、接收所述第二设备发送的认证响应消息,在所述认证响应消息中包括所述第二设备所使用的用于当前身份认证的第二量子密钥的标识、利用所述第二量子密钥加密后的第二加密密文。
当第二设备通过对第一设备的认证后,向第一设备发送认证响应消息。
步骤1404、根据所述第二量子密钥的标识获取对应的解密量子密钥,并利用所述解密量子密钥解密所述第二加密密文,获得解密信息。
在此步骤中,第一设备根据所述第二量子密钥的标识,在与所述第二设备共享的量子密钥集合中查找与所述第二量子密钥的标识对应的解密量子密钥。由于第一设备与第二设备具有共享的量子密钥集合,在此该解密量子密钥实际上是第一设备中存储的具有第二量子密钥的标识的密钥。若查找到所述解密量子密钥,获取所述解密量子密钥的状态标识,若根据所述状态标识确定所述解密量子密钥未被使用过,则第一设备利用所述解密量子密钥解密所述第二加密密文,获得解密信息。若未查找到所述解密量子密钥或者根据所述状态标识确定所述解密量子密钥被使用过,则向所述第二设备发送密钥错误响应消息。
步骤1405、若所述解密信息和所述第一加密密文中的信息一致,则双向身份认证通过。
在此步骤中,若所述解密信息和所述第二待认证信息一致,则双向身份认证通过。
由上可以看出,在本公开实施例中,通过第一设备和第二设备之间的一次交互即可实现双向认证,因此利用本公开实施例的方案认证速度快,认证效率高。
实施例十一
如图15所示,本公开实施例的身份认证方法,应用于第二设备,包括:
步骤1501、接收第一设备的认证请求,在所述认证请求中包括第一待认证信息、所述第一设备所使用的用于当前身份认证的第一量子密钥的标识、利用所述第一量子密钥加密后的第一加密密文。
其中,所述第一加密密文是所述第一设备利用所述第一量子密钥加密所述第一待认证信息和第二待认证信息获得的。所述第一待认证信息为第一设备的 标识,所述第二待认证信息为随机数;或者,所述第一待认证信息为第一随机数,所述第二待认证信息为第二随机数。
步骤1502、根据所述认证请求对所述第一设备进行认证。
在此步骤中,第二设备根据所述第一量子密钥的标识,在与所述第一设备共享的量子密钥集合中查找与所述第一量子密钥的标识对应的解密量子密钥。由于第一设备与第二设备具有共享的量子密钥集合,在此该解密量子密钥实际上是第一设备中存储的具有第一量子密钥的标识的密钥。若查找到所述解密量子密钥,获取所述解密量子密钥的状态标识。若根据所述状态标识确定所述解密量子密钥未被使用过,则利用所述解密量子密钥解密所述第一加密密文,获得解密信息。若所述解密信息和所述第一待认证信息一致,则对所述第一设备的认证通过。若未查找到所述解密量子密钥或者若根据所述状态标识确定所述解密量子密钥被使用过,则向所述第一设备发送密钥错误响应消息。
步骤1503、若对所述第一设备的认证通过,生成认证响应消息,并向所述第一设备发送所述认证响应消息,在所述认证响应消息中包括用于当前身份认证的第二量子密钥的标识、利用所述第二量子密钥加密后的第二加密密文,以使所述第一设备根据所述认证响应消息进行认证。
具体的,在此步骤中,若对所述第一设备的认证通过,从与所述第一设备共享的量子密钥集合中获取所述第二量子密钥。第二设备利用所述第二量子密钥加密所述第二待认证信息,获得所述第二加密密文,利用所述第二量子密钥的标识和所述第二加密密文生成所述认证响应消息,并向所述第一设备发送认证响应消息。
由上可以看出,在本公开实施例中,通过第一设备和第二设备之间的一次交互即可实现双向认证,因此利用本公开实施例的方案认证速度快,认证效率高。
实施例十二
如图16所示,本公开实施例的身份认证方法,包括:
步骤1601、设备初始化。
设备初始化的目的是,为了使认证双方产生并存储量子密钥集合,认证阶段使用存储的量子密钥进行认证。
通信双方需要预先通过量子密钥分发网络产生若干共享密钥,并将密钥存储于自身的量子密钥存储装置。如图17所示,量子密钥存储装置包含量子密钥接收单元、量子密钥处理单元、量子密钥存储单元。其中密钥接收单元负责从量子密钥收发装置接收密钥。其中,量子密钥收发装置可以是现有的量子网关等设备。量子密钥存储单元负责将量子密钥接收单元接收的密钥进行安全存储,其中需要存储密钥标识、密钥、以及双方设备身份等信息。初始化过程如下:
(1)将通信双方设备A和设备B分别连接至量子密钥收发装置A和量子密钥收发装置B。量子密钥收发装置可以是现有量子网关等设备,利用该装置可在收发两端产生大量无条件安全的共享密钥集合。设备A和设备B分别启动量子密钥收发装置A和量子密钥收发装置B,产生共享密钥集合,记做K,其中包含密钥K1,K2,...。
(2)设备A的量子密钥接收单元从量子密钥收发装置A中接收密钥集合K;设备B的量子密钥接收单元从量子密钥收发装置B中接收密钥集合K。
(3)设备A和设备B中的量子密钥处理单元按照约定方式为密钥集合K中的密钥定义密钥标识信息,密钥Ki的标识记为IDKi。
(4)设备A和设备B将密钥、密钥标识,以及通信双方的信息存储于量子密钥存储装置的量子密钥存储单元中。将设备A和设备B的身份分别记为IDA和IDB,那么密钥存储方式如下:
(IDKi,Ki,IDA,IDB)。
该记录含义为:标识为IDKi的密钥是Ki,用于设备A和设备B之间的安全通信。
步骤1602、设备A向设备B发送认证请求。
设备A选择一个未曾使用的密钥Ki,随机产生一个随机数nonce,向设备B发送认证请求。其中包含设备A的身份信息:IDA,选择使用的密钥标识:IDKi,使用Ki加密IDA和随机数nonce之后的密文信息(Eki(IDA,nonce))。设备A需要临时存储nonce,直至认证过程结束。
步骤1603、设备B对设备A进行认证。
设备B接收到设备A的认证请求后,根据IDKi从自身的量子密钥存储装 置中查找Ki。若Ki已被删除或标记为已使用,则返回密钥错误响应消息;若查找到Ki且Ki未曾使用,则使用Ki解密密文,得到IDA和nonce。若解密后得到的IDA与明文传输的IDA一致,则认为设备A确实拥有密钥Ki,实现对设备A的认证;否则对设备A的认证未通过。
步骤1604、设备B向设备A发送认证响应消息。
设备B选择一个未曾使用的密钥Kj,使用Kj对nonce加密,并将密文(EKj(nonce))和Kj的标识IDKj一同携带在认证响应消息中返回给设备A。设备B将密钥Ki和Kj删除,或标记为已使用。
步骤1605、设备A对设备B进行认证。
设备A接收到认证响应消息之后,使用IDKj在量子密钥存储装置中查找Kj。若Kj已被删除或标记为已使用,则返回密钥错误响应消息;若查找到Kj且Kj未曾使用,则使用Kj解密密文,得出nonce。若解密后得到的nonce与认证请求中的nonce一致,则认为设备B确实拥有密钥Ki和Kj,实现对设备B的认证。
此外,设备A还可更新所述量子密钥集合。例如,将密钥Ki和Kj删除,或更新密钥Ki和Kj的状态标识,将其标记为已使用。认证过程结束。
在本公开实施例中,共享密钥集合中每个密钥都有对应的状态标识。如果某个密钥仍位于该集合中,其对应的状态标识可为被使用或者未被使用。因此,在此,若查找到Kj,可通过读取其状态标识确定是否被使用过。
实施例十三
如图18所示,本公开实施例的身份认证方法,包括:
步骤1801、设备初始化。
此步骤可参照步骤1601的描述。
步骤1802、设备A向设备B发送认证请求。
设备A选择一个未曾使用的密钥Ki,随机产生两个随机数nonce1和nonce2,向设备B发送认证请求,其中包含选择使用的密钥标识:IDKi,随机数nonce1,以及使用Ki加密随机数nonce1和nonce2之后的密文信息(EKi(nonce1,nonce2))。设备A需要临时存储nonce2,直至认证过程结束。可选的,nonce2可以与nonce1相等。
步骤1803、设备B对设备A进行认证。
设备B接收到设备A的认证请求后,根据IDKi从量子密钥存储装置中查找Ki。若Ki已被删除或标记为已使用,则返回密钥错误响应消息;若Ki未曾使用,则使用Ki解密密文,得到nonce1和nonce2。若解密后得到的nonce1与明文传输的nonce1一致,则认为设备A确实拥有密钥Ki,实现对设备A的认证;否则对设备A的认证未通过。
在本公开实施例中,共享密钥集合中每个密钥都有对应的状态标识。如果某个密钥仍位于该集合中,其对应的状态标识可为被使用或者未被使用。因此,在此,若查找到Ki,可通过读取其状态标识确定是否被使用过。
步骤1804、设备B向设备A发送认证响应消息。
设备B选择一个未曾使用的密钥Kj,使用Kj对nonce2加密,并将密文(EKj(nonce2))和Kj的标识IDKj一同携带在认证响应消息中返回给设备A。
此外,设备B还可更新所述量子密钥集合。例如,将密钥Ki和Kj删除,或更新密钥Ki和Kj的状态标识,将其标记为已使用。
步骤1805、设备A对设备B进行认证。
设备A接收到认证响应消息之后,使用IDKj在量子密钥存储装置中查找Kj。若Kj已被删除或标记为已使用,则返回密钥错误;若Kj未曾使用,则使用Kj解密密文,得出nonce2。若解密后得到的nonce2与认证请求中的nonce2一致,则认为设备B确实拥有密钥Ki和Kj,实现对设备B的认证。
此外,设备A还可更新所述量子密钥集合。例如,将密钥Ki和Kj删除,或更新密钥Ki和Kj的状态标识,将其标记为已使用。认证过程结束。
在本公开实施例五和实施例六中,认证双方分别是服务提供方和服务使用方。服务使用方在使用服务提供方提供的服务之前,需要经过服务提供方的认证。例如,设备A是服务使用方,即用户,设备B是服务提供方。通常情况下,服务提供方包括前端服务器和认证服务器,此时,设备B由前端服务器和认证服务器构成。前端服务器负责与设备A交互,认证服务器含有如前所述的量子密钥存储装置,用于接收并存储量子密钥(如图19所示),并负责对用户的认证。
实施例十四
如图20所示,本公开实施例五的双向身份认证方法,包括:
步骤2001、设备初始化。
此步骤可参照步骤1601的描述。不同的是,在本公开实施例中,与步骤1601的设备B相对应的是本公开实施例中的认证服务器。
步骤2002、设备A向服务提供方(或设备B)发送认证请求。
设备A选择一个未曾使用的密钥Ki,随机产生一个随机数nonce,向前端服务器发送认证请求。其中包含设备A的身份信息:IDA,选择使用的密钥标识:IDKi,使用Ki加密IDA和随机数nonce之后的密文信息(EKi(IDA,nonce))。设备A需要临时存储nonce,直至认证过程结束。
步骤2003、服务提供方对设备A进行认证。
服务提供方的前端服务器接收到认证请求之后,将认证请求转发至认证服务器。
认证服务器接收到认证请求后,根据IDKi从量子密钥存储装置中查找Ki。若Ki已被删除或标记为已使用,则通过前端服务器向设备A返回密钥错误响应消息;若查找到Ki且Ki未曾使用,则使用Ki解密密文,得到IDA和nonce。若解密后得到的IDA与明文传输的IDA一致,则认为设备A确实拥有密钥Ki,实现对设备A的认证。
步骤2004、认证服务器通过前端服务器向设备A发送认证响应消息。
认证服务器选择一个未曾使用的密钥Kj,使用Kj对nonce加密,并将密文(EKj(nonce))和Kj的标识IDKj一同携带在认证响应消息中,并通过前端服务器返回给设备A。
此外,设备B还可更新所述量子密钥集合。例如,将密钥Ki和Kj删除,或更新密钥Ki和Kj的状态标识,将其标记为已使用。
步骤2005、设备A对服务提供方进行认证。
设备A接收到认证响应消息之后,使用IDKj在量子密钥存储装置中查找Kj。若Kj已被删除或标记为已使用,则返回密钥错误;若查找到Kj且Kj未曾使用,则使用Kj解密密文,得出nonce。若解密后得到的nonce与认证请求中的nonce一致,则认为服务提供方确实拥有密钥Ki和Kj,实现对服务提供方的认证。
此外,设备A还可更新所述量子密钥集合。例如,将密钥Ki和Kj删除,或更新密钥Ki和Kj的状态标识,将其标记为已使用。认证过程结束。
实施例十五
如图21所示,本公开实施例的身份认证方法,包括:
步骤2101、设备初始化。
此步骤可参照步骤1601的描述。不同的是,在本公开实施例中,与步骤1601的设备B相对应的是本公开实施例中的认证服务器。
步骤2102、设备A向服务提供方发送认证请求。
服务使用方(设备A)选择一个未曾使用的密钥Ki,随机产生两个随机数nonce1和nonce2,向服务提供方(设备B)发送认证请求,其中包含选择使用的密钥标识IDKi,随机数nonce1,以及使用Ki加密随机数nonce1和nonce2之后的密文信息(EKi(nonce1,nonce2))。设备A需要临时存储nonce2,直至认证过程结束。可选的,nonce2可以与nonce1相等。
步骤2103、服务提供方对设备A进行认证。
服务提供方的前端服务器接收到认证请求之后,将认证请求转发至认证服务器。
认证服务器接收到认证请求后,根据IDKi从密钥存储装置中查找Ki,若Ki已被删除或标记为已使用,则经前端服务器返回密钥错误;若查找到Ki且Ki未曾使用,则使用Ki解密密文,得到nonce1和nonce2。若解密后得到的nonce1与明文传输的nonce1一致,则认为设备A确实拥有密钥Ki,实现对设备A的认证。
此外,设备B还可更新所述量子密钥集合。例如,将密钥Ki和Kj删除,或更新密钥Ki和Kj的状态标识,将其标记为已使用。
步骤2104、认证服务器通过前端服务器向设备A发送认证响应消息。
认证服务器选择一个未曾使用的密钥Kj,使用Kj对nonce2加密,并将密文(EKi(nonce1,nonce2))和Kj的标识IDKj一同携带在认证响应消息中,并经前端服务器返回给设备A。认证服务器将密钥Ki和Kj删除,或标记为已使用。
步骤2105、设备A对服务提供方进行认证。
设备A接收到认证响应之后,使用IDKj在密钥存储装置中查找Kj。若Kj已被删除或标记为已使用,则返回密钥错误;若Kj未曾使用,则使用Kj解密密文,得出nonce2。若解密后得到的nonce2与认证请求中的nonce2一致,则认为对方确实拥有密钥Ki和Kj,实现对服务提供方的认证。
此外,设备A还可更新所述量子密钥集合。例如,将密钥Ki和Kj删除,或更新密钥Ki和Kj的状态标识,将其标记为已使用。认证过程结束。
由上可以看出,本公开的实施例具有以下优点:
一、安全性:
双向认证:由于IDKi的密钥仅被设备A和设备B共享,因此如果设备A使用Ki正确加密IDA或nonce1,就实现了对设备A的认证。同理,设备B使用Kj正确加密nonce,既实现了对设备B的认证,又说明设备B确实完成对设备A的认证。
也即在本公开实施例中,一次交互即可实现双向认证,且认证双方仅使用对称密码算法进行一次加密和解密运算,不使用公钥密码算法,速度快,效率高。
防止重放:本提案中量子密钥仅允许使用一次,之后就删除或标记为已使用过,可以实现一次一密。如果攻击者截取了认证数据,由于该认证数据中的密钥已被双方使用,因此重放该认证数据时,通信双方检测出重放消息,予以忽略。
防止窃听:量子密钥仅被通信双方共享,且仅使用一次,因此即使攻击者截获通信数据,也无法进行解密。此外,方案中的加密算法可以采用现有的对称密码算法,如AES等,量子计算可以破解非对称密码算法,但不能破解对称密码算法。
二、可行性:
应用可行性:由于每个密钥仅使用一次,如果使用完需要重新进行初始化。事实上,如果使用128bits的量子密钥,可以为每个密钥分配20字节的存储空间,这样,1MB的存储空间可以存储大约50万个密钥,足够普通用户使用,通过增大存储空间还可以延长设备密钥的使用时间。
技术实现可行性:目前量子密钥收发装置已经商用,仅需设计密钥接收单 元,就可以从量子密钥收发装置接收大量共享密钥,快速部署使用。
此外,由于实施例四和实施例六中未使用设备的信息作为明文传输,因此其安全性更高。
实施例十六
如图22所示,本公开实施例七的双向身份认证装置,包括:
生成模块2201,用于生成认证请求,在所述认证请求中包括第一待认证信息、用于当前身份认证的第一量子密钥的标识、利用所述第一量子密钥加密后的第一加密密文;发送模块2202,用于向第二设备发送所述认证请求,以使所述第二设备根据所述认证请求进行认证;接收模块2203,用于接收所述第二设备发送的认证响应消息,在所述认证响应消息中包括所述第二设备所使用的用于当前身份认证的第二量子密钥的标识、利用所述第二量子密钥加密后的第二加密密文;解密模块2204,用于根据所述第二量子密钥的标识获取对应的解密量子密钥,并利用所述解密量子密钥解密所述第二加密密文,获得解密信息;认证模块2205,用于若所述解密信息和所述第一加密密文中的信息一致,则双向身份认证通过。
其中,所述生成模块2201包括:
密钥获取子模块,用于从与所述第二设备共享的量子密钥集合中,获取所述第一量子密钥;信息获取子模块,用于获取第一待认证信息和第二待认证信息;加密子模块,用于利用所述第一量子密钥加密所述第一待认证信息和所述第二待认证信息,获得所述第一加密密文;生成子模块,用于利用所述第一待认证信息、所述第一量子密钥的标识和所述第一加密密文生成所述认证请求。
其中,所述第一待认证信息为第一设备的标识,所述第二待认证信息为随机数;或者,所述第一待认证信息为第一随机数,所述第二待认证信息为第二随机数。
其中,所述解密模块2204包括:
查找子模块,用于根据所述第二量子密钥的标识,在与所述第二设备共享的量子密钥集合中查找与所述第二量子密钥的标识对应的解密量子密钥;获取子模块,用于若查找到所述解密量子密钥,获取所述解密量子密钥的状态标识;解密子模块,用于若根据所述状态标识确定所述解密量子密钥未被使用过,则 利用所述解密量子密钥解密所述第二加密密文,获得解密信息。
此时,所述发送模块2202还用于,若未查找到所述解密量子密钥或者根据所述状态标识确定所述解密量子密钥被使用过,则向所述第二设备发送密钥错误响应消息。
其中,所述认证模块2205具体用于,若所述解密信息和所述第二待认证信息一致,则双向身份认证通过。
在实际应用中,所述发送模块2202具体用于,向前端服务器发送所述认证请求,以由所述前端服务器将所述认证请求发送给认证服务器,以使所述认证服务器根据所述认证请求进行认证;所述接收模块具体用于,接收所述前端服务器发送的所述认证响应消息,其中所述认证响应消息是由所述认证服务器发送给所述前端服务器的。
如图23所示,所述装置还包括:
密钥接收模块2206,用于从量子密钥分发设备获取与所述第二设备共享的量子密钥集合;密钥处理模块2207,用于按照预定方式为所述量子密钥集合中的密钥设置密钥标识;密钥存储模块2208,用于存储所述量子密钥集合、所述密钥标识、第一设备的标识和所述第二设备的标识。
其中,所述第一量子密钥为未被使用过的量子密钥。如图23所示,所述装置还包括:更新模块2209,用于更新所述量子密钥集合。
本公开所述装置的工作原理可参照前述方法实施例的描述。
由上可以看出,在本公开实施例中,通过第一设备和第二设备之间的一次交互即可实现双向认证,因此利用本公开实施例的方案认证速度快,认证效率高。
实施例十七
如图24所示,本公开实施例八的双向身份认证装置,包括:
接收模块2401,用于接收第一设备的认证请求,在所述认证请求中包括第一待认证信息、所述第一设备所使用的用于当前身份认证的第一量子密钥的标识、利用所述第一量子密钥加密后的第一加密密文;认证模块2402,用于根据所述认证请求对所述第一设备进行认证;发送模块2403,用于若对所述第一设备的认证通过,生成认证响应消息,并向所述第一设备发送所述认证响 应消息,在所述认证响应消息中包括用于当前身份认证的第二量子密钥的标识、利用所述第二量子密钥加密后的第二加密密文,以使所述第一设备根据所述认证响应消息进行认证。
其中,所述第一加密密文是所述第一设备利用所述第一量子密钥加密第一待认证信息和第二待认证信息获得的;所述第一待认证信息为所述第一设备的标识,所述第二待认证信息为随机数;或者,所述第一待认证信息为第一随机数,所述第二待认证信息为第二随机数。
其中,所述认证模块2402包括:
查找子模块,用于根据所述第一量子密钥的标识,在与所述第一设备共享的量子密钥集合中查找与所述第一量子密钥的标识对应的解密量子密钥;获取子模块,用于若查找到所述解密量子密钥,获取所述解密量子密钥的状态标识;解密子模块,用于若根据所述状态标识确定所述解密量子密钥未被使用过,则利用所述解密量子密钥解密所述第一加密密文,获得解密信息;认证子模块,用于若所述解密信息和所述第一待认证信息一致,则对所述第一设备的认证通过。
此时,所述发送模块2403还用于,若未查找到所述解密量子密钥或者根据所述状态标识确定所述解密量子密钥被使用过,则向所述第一设备发送密钥错误响应消息。
具体的,所述发送模块2403包括:获取子模块,用于若对所述第一设备的认证通过,从与所述第一设备共享的量子密钥集合中获取所述第二量子密钥;加密子模块,用于利用所述第二量子密钥加密所述第二待认证信息,获得所述第二加密密文;发送子模块,用于利用所述第二量子密钥的标识和所述第二加密密文生成所述认证响应消息,并向所述第一设备发送认证响应消息。
其中,所述第二量子密钥为未被使用过的量子密钥;如图25所示,所述装置还包括:更新模块2404,用于更新所述量子密钥集合。
如图25所示,所述装置还包括:
密钥接收模块2405,用于从量子密钥分发设备获取与所述第一设备共享的量子密钥集合;密钥处理模块2406,用于按照预定方式为所述量子密钥集合中的密钥设置密钥标识;密钥存储模块2407,用于存储所述量子密钥集合、 所述密钥标识、所述第一设备的标识和第二设备的标识。
本公开所述装置的工作原理可参照前述方法实施例的描述。
由上可以看出,在本公开实施例中,通过第一设备和第二设备之间的一次交互即可实现双向认证,因此利用本公开实施例的方案认证速度快,认证效率高。
在本申请所提供的几个实施例中,应该理解到,所揭露方法和装置,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个***,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
另外,在本公开各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理包括,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
上述以软件功能单元的形式实现的集成的单元,可以存储在一个计算机可读取存储介质中。上述软件功能单元存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本公开各个实施例所述收发方法的部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,简称ROM)、随机存取存储器(Random Access Memory,简称RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述是本公开的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本公开所述原理的前提下,还可以作出若干改进和润饰,这些改进和润饰也应视为本公开的保护范围。
Claims (92)
- 一种身份认证方法,应用于第一设备,包括:生成认证请求,在所述认证请求中包括第一待认证信息、用于当前身份认证的第一量子密钥的标识、利用所述第一量子密钥加密后的第一加密密文;向第二设备发送所述认证请求,以使认证设备根据所述认证请求进行认证,其中所述认证设备为所述第二设备,或者所述认证设备为从所述第二设备接收所述认证请求且向所述第二设备发送认证报文的认证服务器;接收所述第二设备发送的认证响应,在所述认证响应中包括所述认证设备的认证报文。
- 根据权利要求1所述的方法,其中,所述第一加密密文是利用所述第一量子密钥加密第二待认证信息获得的,所述认证响应中包括所述认证服务器的认证报文。
- 根据权利要求1所述的方法,其中,所述认证服务器的认证报文包括针对所述第一设备的第一认证报文,所述第一认证报文中包括所述认证服务器用于当前身份认证的第二量子密钥的标识,利用所述第二量子密钥对认证结果和第三待认证信息加密后的第二加密密文;所述认证结果中包括所述认证服务器对所述第一设备的认证结果以及所述认证服务器对所述第二设备的认证结果;所述方法还包括:根据所述认证响应分别对所述第二设备、所述认证服务器进行认证。
- 根据权利要求3所述的方法,其中,所述根据所述认证响应分别对所述第二设备、所述认证服务器进行认证,包括:根据所述第二量子密钥的标识查找对应的第三量子密钥;若查找到所述第三量子密钥,则读取所述第三量子密钥的状态标识;若所述第三量子密钥的状态标识表示所述第三量子密钥未被使用,则利用所述第三量子密钥解密所述第二加密密文,获得所述第三待认证信息和所述认证结果;将所述第三待认证信息和所述第二待认证信息进行比较;若所述第三待认证信息和所述第二待认证信息一致,则通过对所述认证服 务器的认证;若所述认证结果表示所述认证服务器对所述第二设备的认证通过,则通过对所述第二设备的认证。
- 根据权利要求4所述的方法,其中,所述第一待认证信息和所述第二待认证信息为任一随机数。
- 根据权利要求5所述的方法,其中,所述第一待认证信息为任一随机数,所述第二待认证信息包括所述第一待认证信息和任一随机数,所述将所述第三待认证信息和所述第二待认证信息进行比较,包括:将所述第三待认证信息和所述第二待认证信息中的任一随机数进行比较。
- 根据权利要求4所述的方法,其中,所述第一待认证信息为任一随机数;所述第二待认证信息包括所述第一待认证信息、任一随机数和第一验证数;所述认证请求中还包括:第一大整数和第二大整数;所述第一验证数是根据所述第一大整数、所述第二大整数、第三大整数计算得到的;所述将所述第三待认证信息和所述第二待认证信息进行比较,包括:将所述第三待认证信息和所述第二待认证信息中的所述任一随机数进行比较。
- 根据权利要求7所述的方法,还包括:计算共享量子密钥,所述共享量子密钥用于与所述第二设备之间的通信;所述共享量子密钥按如下方式计算:K=X y=Y x=g xymod n,Y=g ymod n,X=g xmod n;其中,K表示共享量子密钥,g表示所述第一大整数,n表示所述第二大整数,x表示所述第三大整数,y表示第四大整数,X表示所述第一验证数,Y表示第二验证数。
- 根据权利要求2-8任一所述的方法,还包括:从量子密钥分发设备获取与所述认证服务器共享的量子密钥集合;按照预定方式为所述量子密钥集合中的密钥设置密钥标识;存储所述量子密钥集合、所述密钥标识、第一设备的标识和所述认证服务器的标识。
- 根据权利要求9所述的方法,还包括:更新所述量子密钥集合。
- 根据权利要求1所述的方法,其中,所述认证响应中包括所述第二设备的认证报文,所述第二设备的认证报文包括所述第二设备所使用的用于当前身份认证的第二量子密钥的标识、利用所述第二量子密钥加密后的第二加密密文,所述方法还包括:根据所述第二量子密钥的标识获取对应的解密量子密钥,并利用所述解密量子密钥解密所述第二加密密文,获得解密信息;若所述解密信息和所述第一加密密文中的信息一致,则双向身份认证通过。
- 根据权利要求11所述的方法,其中,所述生成认证请求包括:从与所述第二设备共享的量子密钥集合中,获取所述第一量子密钥;获取第一待认证信息和第二待认证信息;利用所述第一量子密钥加密所述第一待认证信息和所述第二待认证信息,获得所述第一加密密文;利用所述第一待认证信息、所述第一量子密钥的标识和所述第一加密密文生成所述认证请求。
- 根据权利要求12所述的方法,其中,所述第一待认证信息为第一设备的标识,所述第二待认证信息为随机数;或者,所述第一待认证信息为第一随机数,所述第二待认证信息为第二随机数。
- 根据权利要求11所述的方法,其中,所述根据所述第二量子密钥的标识获取对应的解密量子密钥,并利用所述解密量子密钥解密所述第二加密密文,获得解密信息,包括:根据所述第二量子密钥的标识,在与所述第二设备共享的量子密钥集合中查找与所述第二量子密钥的标识对应的解密量子密钥;若查找到所述解密量子密钥,获取所述解密量子密钥的状态标识;若根据所述状态标识确定所述解密量子密钥未被使用过,则利用所述解密量子密钥解密所述第二加密密文,获得解密信息。
- 根据权利要求14所述的方法,其中,在所述获取所述解密量子密钥的状态标识后,所述方法还包括:若未查找到所述解密量子密钥或者根据所述状态标识确定所述解密量子 密钥被使用过,则向所述第二设备发送密钥错误响应消息。
- 根据权利要求12或13所述的方法,其中,所述若所述解密信息和所述第一加密密文中的信息一致,则双向身份认证通过,包括:若所述解密信息和所述第二待认证信息一致,则双向身份认证通过。
- 根据权利要求11-15任一项所述的方法,其中,所述向第二设备发送所述认证请求,包括:向前端服务器发送所述认证请求,以由所述前端服务器将所述认证请求发送给认证服务器,以使所述认证服务器根据所述认证请求进行认证;所述接收所述第二设备发送的认证响应,包括:接收所述前端服务器发送的所述认证响应,其中所述认证响应是由所述认证服务器发送给所述前端服务器的。
- 根据权利要求11-15任一项所述的方法,其中,在所述生成认证请求前,所述方法还包括:从量子密钥分发设备获取与所述第二设备共享的量子密钥集合;按照预定方式为所述量子密钥集合中的密钥设置密钥标识;存储所述量子密钥集合、所述密钥标识、第一设备的标识和所述第二设备的标识。
- 根据权利要求12或13所述的方法,其中,所述第一量子密钥为未被使用过的量子密钥;所述方法还包括:更新所述量子密钥集合。
- 一种身份认证方法,应用于第二设备,包括:接收第一设备的第一认证请求,以使认证设备根据所述认证请求进行认证,其中在所述第一认证请求中包括第一待认证信息、用于当前身份认证的第一量子密钥的标识、利用所述第一量子密钥加密后的第一加密密文;向所述第一设备发送认证响应,在所述认证响应中包括所述认证设备的认证报文;其中所述认证设备为所述第二设备,或者所述认证设备为从所述第二设备接收所述认证请求且向所述第二设备发送所述认证报文的认证服务器。
- 根据权利要求20所述的方法,其中,所述认证请求中包括利用所述 第一量子密钥对第二待认证信息加密后的第一加密密文,所述认证响应中包括所述认证服务器的认证报文,在所述接收第一设备的第一认证请求之后,所述向所述第一设备发送认证响应之前,所述方法还包括:向所述认证服务器发送身份认证请求,在所述身份认证请求中包括所述第一认证请求,以使所述认证服务器根据所述身份认证请求进行认证;接收所述认证服务器的认证报文,根据所述认证报文对所述第一设备进行认征。
- 根据权利要求21所述的方法,其中,在所述接收第一设备的第一认证请求之后,所述方法还包括:生成第二认证请求,在所述第二认证请求中包括第三待认证信息、所述第二设备用于当前身份认证的第二量子密钥的标识、利用所述第二量子密钥对第四待认证信息加密后的第二加密密文;在所述身份认证请求中还包括所述第二认证请求。
- 根据权利要求22所述的方法,其中,所述认证服务器的认证报文包括针对所述第二设备的第二认证报文,所述第二认证报文中包括所述认证服务器用于当前身份认证的第三量子密钥的标识,利用所述第三量子密钥对认证结果和第五待认证信息加密后的第三加密密文;所述认证结果中包括所述认证服务器对所述第一设备的认证结果以及所述认证服务器对所述第二设备的认证结果;所述方法还包括:根据所述认证报文对所述认证服务器进行认证。
- 根据权利要求23所述的方法,其中,所述根据所述认证报文对所述认证服务器进行认证,包括:根据所述第三量子密钥的标识查找对应的第四量子密钥;若查找到所述第四量子密钥,则读取所述第四量子密钥的状态标识;若所述第四量子密钥的状态标识表示所述第四量子密钥未被使用,则利用所述第四量子密钥解密所述第三加密密文,获得所述第五待认证信息和所述认证结果;将所述第五待认证信息和所述第四待认证信息进行比较;若所述第五待认证信息和所述第四待认证信息一致,则通过对所述认证服 务器的认证;所述根据所述认证报文对所述第一设备进行认证,包括:若所述认证结果表示所述认证服务器对所述第一设备的认证通过,则通过对所述第一设备的认证。
- 根据权利要求22-24任一项所述的方法,其中,所述第一待认证信息和所述第二待认证信息为任一随机数;或者所述第一待认证信息为任一随机数,所述第二待认证信息包括所述第一待认证信息和任一随机数;所述第三待认证信息为任一随机数,所述第四待认证信息包括所述第三待认证信息和任一随机数;或者所述第一待认证信息为任一随机数;所述第二待认证信息包括所述第一待认证信息、任一随机数和第一验证数;所述认证请求中还包括:第一大整数和第二大整数;所述第一验证数是根据所述第一大整数、所述第二大整数、第三大整数计算得到的;所述第三待认证信息为任一随机数,所述第四待认证信息包括所述第三待认证信息,任一随机数和第二验证数;所述第二验证数是所述第二设备根据所述第一大整数、所述第二大整数和第四大整数生成的。
- 根据权利要求25所述的方法,还包括:计算共享量子密钥,所述共享量子密钥用于与所述第一设备之间的通信;所述共享量子密钥按如下方式计算:K=X y=Y x=g xymod n,Y=g ymod n,X=g xmod n;其中,K表示共享量子密钥,g表示所述第一大整数,n表示所述第二大整数,x表示所述第三大整数,y表示所述第四大整数,X表示所述第一验证数,Y表示所述第二验证数。
- 根据权利要求21-26任一项所述的方法,还包括:从量子密钥分发设备获取与所述认证服务器共享的量子密钥集合;按照预定方式为所述量子密钥集合中的密钥设置密钥标识;存储所述量子密钥集合、所述密钥标识、第二设备的标识和所述认证服务器的标识。
- 根据权利要求27所述的方法,还包括:更新所述量子密钥集合。
- 根据权利要求20所述的方法,其中,所述认证设备为所述第二设备,在所述接收第一设备的第一认证请求之后,所述向所述第一设备发送认证响应之前,所述方法还包括:根据所述认证请求对所述第一设备进行认证;若对所述第一设备的认证通过,生成所述认证响应,在所述认证响应中包括用于当前身份认证的第二量子密钥的标识、利用所述第二量子密钥加密后的第二加密密文,以使所述第一设备根据所述认证响应消息进行认证。
- 根据权利要求29所述的方法,其中,所述第一加密密文是所述第一设备利用所述第一量子密钥加密所述第一待认证信息和第二待认证信息获得的;所述第一待认证信息为第一设备的标识,所述第二待认证信息为随机数;或者,所述第一待认证信息为第一随机数,所述第二待认证信息为第二随机数。
- 根据权利要求30所述的方法,其中,所述根据所述认证请求对所述第一设备进行认证,包括:根据所述第一量子密钥的标识,在与所述第一设备共享的量子密钥集合中查找与所述第一量子密钥的标识对应的解密量子密钥;若查找到所述解密量子密钥,获取所述解密量子密钥的状态标识;若根据所述状态标识确定所述解密量子密钥未被使用过,则利用所述解密量子密钥解密所述第一加密密文,获得解密信息;若所述解密信息和所述第一待认证信息一致,则对所述第一设备的认证通过。
- 根据权利要求31所述的方法,其中,在所述获取所述解密量子密钥的状态标识后,所述方法还包括:若未查找到所述解密量子密钥或者若根据所述状态标识确定所述解密量子密钥被使用过,则向所述第一设备发送密钥错误响应消息。
- 根据权利要求30所述的方法,其中,所述若对所述第一设备的认证通过,生成认证响应,包括:若对所述第一设备的认证通过,从与所述第一设备共享的量子密钥集合中 获取所述第二量子密钥;利用所述第二量子密钥加密所述第二待认证信息,获得所述第二加密密文;利用所述第二量子密钥的标识和所述第二加密密文生成所述认证响应消息。
- 根据权利要求29-33任一项所述的方法,其中,所述第二量子密钥为未被使用过的量子密钥;所述方法还包括:更新所述量子密钥集合。
- 根据权利要求31所述的方法,其中,所述接收第一设备的认证请求,包括:前端服务器接收所述第一设备的认证请求,并将所述认证请求发送给认证服务器;所述根据所述认证请求对所述第一设备进行认证,包括:所述认证服务器根据所述认证请求对所述第一设备进行认证;所述若对所述第一设备的认证通过,生成认证响应,包括:若对所述第一设备的认证通过,所述认证服务器生成认证响应,并向所述前端服务器发送所述认证响应,以使所述前端服务器向所述第一设备发送所述认证响应。
- 根据权利要求29-33任一项所述的方法,其中,在所述接收第一设备的认证请求前,所述方法还包括:从量子密钥分发设备获取与所述第一设备共享的量子密钥集合;按照预定方式为所述量子密钥集合中的密钥设置密钥标识;存储所述量子密钥集合、所述密钥标识、所述第一设备的标识和第二设备的标识。
- 一种身份认证方法,应用于认证服务器,包括:接收第二设备的身份认证请求;其中,所述身份认证请求包括第一设备的第一认证请求;在所述第一认证请求中包括第一待认证信息、用于当前身份认证的第一量子密钥的标识、利用所述第一量子密钥对第二待认证信息加密后的第一加密密文;根据所述身份认证请求进行认证;向所述第二设备发送认证报文。
- 根据权利要求37所述的方法,其中,所述第一待认证信息和所述第二待认证信息为任一随机数;或者所述第一待认证信息为任一随机数,所述第二待认证信息包括所述第一待认证信息和任一随机数;或者所述第一待认证信息为任一随机数;所述第二待认证信息包括所述第一待认证信息、任一随机数和第一验证数;所述认证请求中还包括:第一大整数和第二大整数;所述第一验证数是根据所述第一大整数、所述第二大整数、第三大整数计算得到的。
- 根据权利要求38所述的方法,其中,所述根据所述身份认证请求进行认证,包括:根据所述第一量子密钥的标识查找对应的第三量子密钥;若查找到所述第三量子密钥,则读取所述第三量子密钥的状态标识;若所述第三量子密钥的状态标识表示所述第三量子密钥未被使用,则利用所述第三量子密钥解密所述第一加密密文,获得所述第二待认证信息;将所述第二待认证信息和所述第一认证请求中包括的第一待认证信息进行比较;若所述第二待认证信息和所述第一认证请求中包括的第一待认证信息一致,则通过对所述第一设备的认证。
- 根据权利要求39所述的方法,其中,所述将所述第二待认证信息和所述第一认证请求中包括的第一待认证信息进行比较,包括:将所述第二待认证信息中的任一随机数和所述第一待认证信息进行比较。
- 根据权利要求38-40任一项所述的方法,其中,所述身份认证请求中还包括所述第二设备的第二认证请求,在所述第二认证请求中包括第三待认证信息、所述第二设备用于当前身份认证的第二量子密钥的标识、利用所述第二量子密钥对第四待认证信息加密后的第二加密密文;所述根据所述身份认证请求进行认证,包括:根据所述第二量子密钥的标识查找对应的第四量子密钥;若查找到所述第四量子密钥,则读取所述第四量子密钥的状态标识;若所述第四量子密钥的状态标识表示所述第四量子密钥未被使用,则利用所述第四量子密钥解密所述第二加密密文,获得所述第四待认证信息;将所述第四待认证信息和所述第三待认证信息进行比较;若所述第四待认证信息和所述第三待认证信息一致,则通过对所述第二设备的认证。
- 根据权利要求41所述的方法,其中,所述第三待认证信息为任一随机数,所述第四待认证信息包括所述第三待认证信息,任一随机数和第二验证数;所述第二验证数是所述第二设备根据所述第一大整数、所述第二大整数和第四大整数生成的;所述将所述第四待认证信息和所述第三待认证信息进行比较,包括:将所述第四待认证信息中的任一随机数和所述第三待认证信息进行比较。
- 根据权利要求37-40任一项所述的方法,还包括:从量子密钥分发设备分别获取与所述第一设备、第二设备共享的第一量子密钥集合和第二量子密钥集合;按照预定方式为所述第一量子密钥集合和所述第二量子密钥集合中的密钥设置密钥标识;存储所述第一量子密钥集合、所述密钥标识、第一设备的标识和所述认证服务器的标识;存储所述第二量子密钥集合、所述密钥标识、第二设备的标识和所述认证服务器的标识。
- 根据权利要求43所述的方法,还包括:更新所述量子密钥集合。
- 一种身份认证装置,应用于第一设备包括:生成模块,用于生成认证请求,在所述认证请求中包括第一待认证信息、用于当前身份认证的第一量子密钥的标识、利用所述第一量子密钥加密后的第一加密密文;发送模块,用于向第二设备发送所述认证请求,以使认证设备根据所述认证请求进行认证,其中所述认证设备为所述第二设备,或者所述认证设备为从所述第二设备接收所述认证请求且向所述第二设备发送认证报文的认证服务 器;接收模块,用于接收所述第二设备发送的认证响应,在所述认证响应中包括所述认证设备的认证报文。
- 根据权利要求45所述的装置,其中,所述第一加密密文是利用所述第一量子密钥加密第二待认证信息获得的,所述认证响应中包括所述认证服务器的认证报文。
- 根据权利要求46所述的装置,其中,所述认证服务器的认证报文包括针对第一设备的第一认证报文,所述第一认证报文中包括所述认证服务器用于当前身份认证的第二量子密钥的标识,利用所述第二量子密钥对认证结果和第三待认证信息加密后的第二加密密文;所述认证结果中包括所述认证服务器对所述第一设备的认证结果以及所述认证服务器对所述第二设备的认证结果;所述装置还包括:认证模块,用于根据所述认证响应分别对所述第二设备、所述认证服务器进行认证。
- 根据权利要求47所述的装置,其中,所述认证模块包括:查找子模块,用于根据所述第二量子密钥的标识查找对应的第三量子密钥;读取子模块,用于若查找到所述第三量子密钥,则读取所述第三量子密钥的状态标识;解密子模块,用于若所述第三量子密钥的状态标识表示所述第三量子密钥未被使用,则利用所述第三量子密钥解密所述第二加密密文,获得所述第三待认证信息和所述认证结果;比较子模块,用于将所述第三待认证信息和所述第二待认证信息进行比较;第一认证子模块,用于若所述第三待认证信息和所述第二待认证信息一致,则通过对所述认证服务器的认证;第二认证子模块,用于若所述认证结果表示所述认证服务器对所述第二设备的认证通过,则通过对所述第二设备的认证。
- 根据权利要求48所述的装置,其中,所述第一待认证信息和所述第二待认证信息为任一随机数;或者所述第一待认证信息为任一随机数,所述第二待认证信息包括所述第一待认证信息和任一随机数;所述比较子模块具体用于,将所述第三待认证信息和所述第二待认证信息中的任一随机数进行比较。
- 根据权利要求48所述的装置,其中,所述第一待认证信息为任一随机数;所述第二待认证信息包括所述第一待认证信息、任一随机数和第一验证数;所述认证请求中还包括:第一大整数和第二大整数;所述第一验证数是根据所述第一大整数、所述第二大整数、第三大整数计算得到的;所述比较子模块具体用于,将所述第三待认证信息和所述第二待认证信息中的所述任一随机数进行比较。
- 根据权利要求50所述的装置,还包括:密钥计算模块,用于计算共享量子密钥,所述共享量子密钥用于与所述第二设备之间的通信;所述共享量子密钥按如下方式计算:K=X y=Y x=g xymod n,Y=g ymod n,X=g xmod n;其中,K表示共享量子密钥,g表示所述第一大整数,n表示所述第二大整数,x表示所述第三大整数,y表示第四大整数,X表示所述第一验证数,Y表示第二验证数。
- 根据权利要求46-51任一项所述的装置,还包括:密钥获取模块,用于从量子密钥分发设备获取与所述认证服务器共享的量子密钥集合;设置模块,用于按照预定方式为所述量子密钥集合中的密钥设置密钥标识;存储模块,用于存储所述量子密钥集合、所述密钥标识、第一设备的标识和所述认证服务器的标识。
- 根据权利要求52所述的装置,还包括:第一更新模块,更新所述量子密钥集合。
- 根据权利要求45所述的装置,所述认证响应中包括所述第二设备的认证报文,所述第二设备的认证报文包括所述第二设备所使用的用于当前身份认证的第二量子密钥的标识、利用所述第二量子密钥加密后的第二加密密文,所述装置还包括:解密模块,用于根据所述第二量子密钥的标识获取对应的解密量子密钥, 并利用所述解密量子密钥解密所述第二加密密文,获得解密信息;认证模块,用于若所述解密信息和所述第一加密密文中的信息一致,则双向身份认证通过。
- 根据权利要求54所述的装置,所述生成模块包括:密钥获取子模块,用于从与所述第二设备共享的量子密钥集合中,获取所述第一量子密钥;信息获取子模块,用于获取第一待认证信息和第二待认证信息;加密子模块,用于利用所述第一量子密钥加密所述第一待认证信息和所述第二待认证信息,获得所述第一加密密文;生成子模块,用于利用所述第一待认证信息、所述第一量子密钥的标识和所述第一加密密文生成所述认证请求。
- 根据权利要求55所述的装置,其中,所述第一待认证信息为第一设备的标识,所述第二待认证信息为随机数;或者,所述第一待认证信息为第一随机数,所述第二待认证信息为第二随机数。
- 根据权利要求54所述的装置,其中,所述解密模块包括:查找子模块,用于根据所述第二量子密钥的标识,在与所述第二设备共享的量子密钥集合中查找与所述第二量子密钥的标识对应的解密量子密钥;获取子模块,用于若查找到所述解密量子密钥,获取所述解密量子密钥的状态标识;解密子模块,用于若根据所述状态标识确定所述解密量子密钥未被使用过,则利用所述解密量子密钥解密所述第二加密密文,获得解密信息。
- 根据权利要求57所述的装置,其中,所述发送模块还用于,若未查找到所述解密量子密钥或者根据所述状态标识确定所述解密量子密钥被使用过,则向所述第二设备发送密钥错误响应消息。
- 根据权利要求55或56所述的装置,其中,所述认证模块具体用于,若所述解密信息和所述第二待认证信息一致,则双向身份认证通过。
- 根据权利要求54-58任一项所述的装置,其特征在于,所述发送模块具体用于,向前端服务器发送所述认证请求,以由所述前端服务器将所述认证请求发送给认证服务器,以使所述认证服务器根据所述认证请求进行认证;所述接收模块具体用于,接收所述前端服务器发送的所述认证响应消息,其中所述认证响应消息是由所述认证服务器发送给所述前端服务器的。
- 根据权利要求54-58任一项所述的装置,还包括:密钥接收模块,用于从量子密钥分发设备获取与所述第二设备共享的量子密钥集合;密钥处理模块,用于按照预定方式为所述量子密钥集合中的密钥设置密钥标识;密钥存储模块,用于存储所述量子密钥集合、所述密钥标识、第一设备的标识和所述第二设备的标识。
- 根据权利要求54-58任一项所述的装置,所述第一量子密钥为未被使用过的量子密钥;所述装置还包括:更新模块,用于更新所述量子密钥集合。
- 一种身份认证装置,应用于第二设备包括:接收模块,用于接收第一设备的第一认证请求,以使认证设备根据所述认证请求进行认证,其中在所述第一认证请求中包括第一待认证信息、用于当前身份认证的第一量子密钥的标识、利用所述第一量子密钥加密后的第一加密密文;发送模块,用于向所述第一设备发送认证响应,在所述认证响应中包括所述认证设备的认证报文;其中所述认证设备为所述身份认证装置,或者所述认证设备为从所述第二设备接收所述认证请求且向所述第二设备发送所述认证报文的认证服务器。
- 根据权利要求63所述的装置,其中,所述认证请求中包括利用所述第一量子密钥对第二待认证信息加密后的第一加密密文,所述认证响应中包括所述认证服务器的认证报文,所述发送模块,还用于向认证服务器发送身份认证请求,在所述身份认证请求中包括所述第一认证请求,以使所述认证服务器根据所述身份认证请求进行认证;所述接收模块,还用于接收所述认证服务器的认证报文,根据所述认证报文对所述第一设备进行认证。
- 根据权利要求64所述的装置,还包括:生成模块,用于生成第二认证请求,在所述第二认证请求中包括第三待认证信息、第二设备用于当前身份认证的第二量子密钥的标识、利用所述第二量子密钥对第四待认证信息加密后的第二加密密文;在所述身份认证请求中还包括所述第二认证请求。
- 根据权利要求65所述的装置,其中,所述认证服务器的认证报文包括针对所述第二设备的第二认证报文,所述第二认证报文中包括所述认证服务器用于当前身份认证的第三量子密钥的标识,利用所述第三量子密钥对认证结果和第五待认证信息加密后的第三加密密文;所述认证结果中包括所述认证服务器对所述第一设备的认证结果以及所述认证服务器对所述第二设备的认证结果;所述装置还包括:认证模块,用于根据所述认证报文对所述认证服务器进行认证。
- 根据权利要求66所述的装置,其中,所述认证模块包括:查找子模块,用于根据所述第三量子密钥的标识查找对应的第四量子密钥;读取子模块,用于若查找到所述第四量子密钥,则读取所述第四量子密钥的状态标识;解密子模块,用于若所述第四量子密钥的状态标识表示所述第四量子密钥未被使用,则利用所述第四量子密钥解密所述第三加密密文,获得所述第五待认证信息和所述认证结果;比较子模块,用于将所述第五待认证信息和所述第四待认证信息进行比较;第一认证子模块,用于若所述第五待认证信息和所述第四待认证信息一致,则通过对所述认证服务器的认证;第二认证子模块,用于若所述认证结果表示所述认证服务器对所述第一设备的认证通过,则通过对所述第一设备的认证。
- 根据权利要求65-67任一项所述的装置,其中,所述第一待认证信息和所述第二待认证信息为任一随机数;或者所述第一待认证信息为任一随机数,所述第二待认证信息包括所述第一待认证信息和任一随机数;所述第三待认证信息为任一随机数,所述第四待认证 信息包括所述第三待认证信息和任一随机数;或者所述第一待认证信息为任一随机数;所述第二待认证信息包括所述第一待认证信息、任一随机数和第一验证数;所述认证请求中还包括:第一大整数和第二大整数;所述第一验证数是根据所述第一大整数、所述第二大整数、第三大整数计算得到的;所述第三待认证信息为任一随机数,所述第四待认证信息包括所述第三待认证信息、任一随机数和第二验证数;所述第二验证数是所述第二设备根据所述第一大整数、所述第二大整数和第四大整数生成的。
- 根据权利要求68所述的装置,还包括:密钥计算模块,用于计算共享量子密钥,所述共享量子密钥用于与所述第一设备之间的通信;所述共享量子密钥按如下方式计算:K=X y=Y x=g xymod n,Y=g ymod n,X=g xmod n;其中,K表示共享量子密钥,g表示所述第一大整数,n表示所述第二大整数,x表示所述第三大整数,y表示所述第四大整数,X表示所述第一验证数,Y表示所述第二验证数。
- 根据权利要求64-67任一项所述的装置,其特征在于,所述装置还包括:密钥获取模块,用于从量子密钥分发设备获取与所述认证服务器共享的量子密钥集合;设置模块,用于按照预定方式为所述量子密钥集合中的密钥设置密钥标识;存储模块,用于存储所述量子密钥集合、所述密钥标识、第二设备的标识和所述认证服务器的标识。
- 根据权利要求70所述的装置,还包括:更新模块,用于更新所述量子密钥集合。
- 根据权利要求63所述的装置,还包括:认证模块,用于根据所述认证请求对所述第一设备进行认证;发送模块,具体用于若对所述第一设备的认证通过,生成认证响应,并向所述第一设备发送所述认证响应,在所述认证响应消息中包括用于当前身份认 证的第二量子密钥的标识、利用所述第二量子密钥加密后的第二加密密文,以使所述第一设备根据所述认证响应消息进行认证。
- 根据权利要求72所述的装置,其中,所述第一加密密文是所述第一设备利用所述第一量子密钥加密第一待认证信息和第二待认证信息获得的;所述第一待认证信息为所述第一设备的标识,所述第二待认证信息为随机数;或者,所述第一待认证信息为第一随机数,所述第二待认证信息为第二随机数。
- 根据权利要求73所述的装置,其中,所述认证模块包括:查找子模块,用于根据所述第一量子密钥的标识,在与所述第一设备共享的量子密钥集合中查找与所述第一量子密钥的标识对应的解密量子密钥;获取子模块,用于若查找到所述解密量子密钥,获取所述解密量子密钥的状态标识;解密子模块,用于若根据所述状态标识确定所述解密量子密钥未被使用过,则利用所述解密量子密钥解密所述第一加密密文,获得解密信息;认证子模块,用于若所述解密信息和所述第一待认证信息一致,则对所述第一设备的认证通过。
- 根据权利要求74所述的装置,其中,所述发送模块还用于,若未查找到所述解密量子密钥或者根据所述状态标识确定所述解密量子密钥被使用过,则向所述第一设备发送密钥错误响应消息。
- 根据权利要求73所述的装置,其中,所述发送模块包括:获取子模块,用于若对所述第一设备的认证通过,从与所述第一设备共享的量子密钥集合中获取所述第二量子密钥;加密子模块,用于利用所述第二量子密钥加密所述第二待认证信息,获得所述第二加密密文;发送子模块,用于利用所述第二量子密钥的标识和所述第二加密密文生成所述认证响应消息,并向所述第一设备发送认证响应。
- 根据权利要求72-76任一项所述的装置,其中,所述第二量子密钥为未被使用过的量子密钥;所述装置还包括:更新模块,用于更新所述量子密钥集合。
- 根据权利要求72-76任一项所述的装置,还包括:密钥接收模块,用于从量子密钥分发设备获取与所述第一设备共享的量子密钥集合;密钥处理模块,用于按照预定方式为所述量子密钥集合中的密钥设置密钥标识;密钥存储模块,用于存储所述量子密钥集合、所述密钥标识、所述第一设备的标识和第二设备的标识。
- 一种身份认证装置,包括:接收模块,用于接收第二设备的身份认证请求;其中,所述身份认证请求包括第一设备的第一认证请求;在所述第一认证请求中包括第一待认证信息、用于当前身份认证的第一量子密钥的标识、利用所述第一量子密钥对第二待认证信息加密后的第一加密密文;认证模块,用于根据所述身份认证请求进行认证;发送模块,用于向所述第二设备发送认证报文。
- 根据权利要求79所述的装置,其中,所述第一待认证信息和所述第二待认证信息为任一随机数;或者所述第一待认证信息为任一随机数,所述第二待认证信息包括所述第一待认证信息和任一随机数;或者所述第一待认证信息为任一随机数;所述第二待认证信息包括所述第一待认证信息、任一随机数和第一验证数;所述认证请求中还包括:第一大整数和第二大整数;所述第一验证数是根据所述第一大整数、所述第二大整数、第三大整数计算得到的。
- 根据权利要求80所述的装置,其中,所述认证模块包括:第一查找子模块,用于根据所述第一量子密钥的标识查找对应的第三量子密钥;第一读取子模块,用于若查找到所述第三量子密钥,则读取所述第三量子密钥的状态标识;第一解密子模块,用于若所述第三量子密钥的状态标识表示所述第三量子密钥未被使用,则利用所述第三量子密钥解密所述第一加密密文,获得所述第 二待认证信息;第一比较子模块,用于将所述第二待认证信息和所述第一认证请求中包括的第一待认证信息进行比较;第一认证子模块,用于若所述第二待认证信息和所述第一认证请求中包括的第一待认证信息一致,则通过对所述第一设备的认证。
- 根据权利要求81所述的装置,其中,所述第一比较子模块具体用于,将所述第二待认证信息中的任一随机数和所述第一待认证信息进行比较。
- 根据权利要求81-83任一项所述的装置,其中,所述身份认证请求中还包括所述第二设备的第二认证请求,在所述第二认证请求中包括第三待认证信息、所述第二设备用于当前身份认证的第二量子密钥的标识、利用所述第二量子密钥对第四待认证信息加密后的第二加密密文;所述认证模块包括:第二查找子模块,用于根据所述第二量子密钥的标识查找对应的第四量子密钥;第二读取子模块,用于若查找到所述第四量子密钥,则读取所述第四量子密钥的状态标识;第二解密子模块,用于若所述第四量子密钥的状态标识表示所述第四量子密钥未被使用,则利用所述第四量子密钥解密所述第二加密密文,获得所述第四待认证信息;第二比较子模块,用于将所述第四待认证信息和所述第三待认证信息进行比较;第二认证子模块,用于若所述第四待认证信息和所述第三待认证信息一致,则通过对所述第二设备的认证。
- 根据权利要求83所述的装置,其中,所述第三待认证信息为任一随机数,所述第四待认证信息包括所述第三待认证信息、任一随机数和第二验证数;所述第二验证数是所述第二设备根据所述第一大整数、所述第二大整数和第四大整数生成的;所述第二比较子模块具体用于,将所述第四待认证信息中的任一随机数和所述第三待认证信息进行比较。
- 根据权利要求79-82任一项所述的装置,还包括:密钥获取模块,用于从量子密钥分发设备分别获取与所述第一设备、第二设备共享的第一量子密钥集合和第二量子密钥集合;设置模块,用于按照预定方式为所述第一量子密钥集合和所述第二量子密钥集合中的密钥设置密钥标识;第一存储模块,用于存储所述第一量子密钥集合、所述密钥标识、第一设备的标识和所述认证服务器的标识;第二存储模块,用于存储所述第二量子密钥集合、所述密钥标识、第二设备的标识和所述认证服务器的标识。
- 根据权利要求85所述的装置,还包括:更新模块,用于更新所述量子密钥集合。
- 一种身份认证装置,应用于第一设备,包括:处理器;以及存储器,用于存储可在所述处理器上运行的计算机程序;其中所述处理器用于执行所述计算机程序实现如权利要求1-19中任一项所述的方法中的步骤。
- 一种身份认证装置,应用于第二设备,包括:处理器;以及存储器,用于存储可在所述处理器上运行的计算机程序;其中所述处理器用于执行所述计算机程序实现如权利要求20-36中任一项所述的方法中的步骤。
- 一种认证服务器,包括:处理器;以及存储器,用于存储可在所述处理器上运行的计算机程序;其中所述处理器用于执行所述计算机程序实现如权利要求37-44中任一项所述的方法中的步骤。
- 一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1-19中任一项所述的方法中的步骤。
- 一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机 程序,所述计算机程序被处理器执行时实现如权利要求20-36中任一项所述的方法中的步骤。
- 一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求37-44中任一项所述的方法中的步骤。
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710010373.0 | 2017-01-06 | ||
CN201710010373.0A CN108282329B (zh) | 2017-01-06 | 2017-01-06 | 一种双向身份认证方法及装置 |
CN201710075759.X | 2017-02-13 | ||
CN201710075759.XA CN108429717B (zh) | 2017-02-13 | 2017-02-13 | 一种身份认证方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2018127118A1 true WO2018127118A1 (zh) | 2018-07-12 |
Family
ID=62791017
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/CN2018/071514 WO2018127118A1 (zh) | 2017-01-06 | 2018-01-05 | 一种身份认证方法及装置 |
Country Status (1)
Country | Link |
---|---|
WO (1) | WO2018127118A1 (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112398651A (zh) * | 2021-01-12 | 2021-02-23 | 南京易科腾信息技术有限公司 | 一种量子保密通信方法、装置、电子设备以及存储介质 |
CN113067699A (zh) * | 2021-03-04 | 2021-07-02 | 深圳科盾量子信息科技有限公司 | 基于量子密钥的数据共享方法、装置和计算机设备 |
CN113922956A (zh) * | 2021-10-09 | 2022-01-11 | 天翼物联科技有限公司 | 基于量子密钥的物联网数据交互方法、***、设备及介质 |
CN114980096A (zh) * | 2022-03-18 | 2022-08-30 | 国网智能电网研究院有限公司 | 基于设备指纹的传感终端安全保障方法、装置、设备及介质 |
CN115002770A (zh) * | 2022-05-24 | 2022-09-02 | 矩阵时光数字科技有限公司 | 一种基于量子密钥的近场通信*** |
CN115225411A (zh) * | 2022-09-20 | 2022-10-21 | 龙图腾网科技(合肥)股份有限公司 | 保密文件传输的量子安全验证方法、***、服务器及介质 |
WO2023029723A1 (zh) * | 2021-09-02 | 2023-03-09 | 中国电力科学研究院有限公司 | 宽带认知无线通信方法、***、设备及存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101378582A (zh) * | 2007-08-29 | 2009-03-04 | ***通信集团公司 | 用户识别模块、鉴权中心、鉴权方法及*** |
US20150350168A1 (en) * | 2013-05-03 | 2015-12-03 | Citrix Systems, Inc. | User and device authentication in enterprise systems |
CN105187450A (zh) * | 2015-10-08 | 2015-12-23 | 飞天诚信科技股份有限公司 | 一种基于认证设备进行认证的方法和设备 |
CN105915346A (zh) * | 2016-04-15 | 2016-08-31 | 青岛理工大学 | 基于诱骗态量子随机化密钥的rfid***双向认证方法 |
-
2018
- 2018-01-05 WO PCT/CN2018/071514 patent/WO2018127118A1/zh active Application Filing
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101378582A (zh) * | 2007-08-29 | 2009-03-04 | ***通信集团公司 | 用户识别模块、鉴权中心、鉴权方法及*** |
US20150350168A1 (en) * | 2013-05-03 | 2015-12-03 | Citrix Systems, Inc. | User and device authentication in enterprise systems |
CN105187450A (zh) * | 2015-10-08 | 2015-12-23 | 飞天诚信科技股份有限公司 | 一种基于认证设备进行认证的方法和设备 |
CN105915346A (zh) * | 2016-04-15 | 2016-08-31 | 青岛理工大学 | 基于诱骗态量子随机化密钥的rfid***双向认证方法 |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112398651A (zh) * | 2021-01-12 | 2021-02-23 | 南京易科腾信息技术有限公司 | 一种量子保密通信方法、装置、电子设备以及存储介质 |
CN113067699A (zh) * | 2021-03-04 | 2021-07-02 | 深圳科盾量子信息科技有限公司 | 基于量子密钥的数据共享方法、装置和计算机设备 |
WO2023029723A1 (zh) * | 2021-09-02 | 2023-03-09 | 中国电力科学研究院有限公司 | 宽带认知无线通信方法、***、设备及存储介质 |
CN113922956A (zh) * | 2021-10-09 | 2022-01-11 | 天翼物联科技有限公司 | 基于量子密钥的物联网数据交互方法、***、设备及介质 |
CN114980096A (zh) * | 2022-03-18 | 2022-08-30 | 国网智能电网研究院有限公司 | 基于设备指纹的传感终端安全保障方法、装置、设备及介质 |
CN115002770A (zh) * | 2022-05-24 | 2022-09-02 | 矩阵时光数字科技有限公司 | 一种基于量子密钥的近场通信*** |
CN115225411A (zh) * | 2022-09-20 | 2022-10-21 | 龙图腾网科技(合肥)股份有限公司 | 保密文件传输的量子安全验证方法、***、服务器及介质 |
CN115225411B (zh) * | 2022-09-20 | 2022-11-22 | 龙图腾网科技(合肥)股份有限公司 | 保密文件传输的量子安全验证方法、***、服务器及介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10785019B2 (en) | Data transmission method and apparatus | |
CN108347404B (zh) | 一种身份认证方法及装置 | |
TWI738836B (zh) | 量子資料密鑰協商系統及量子資料密鑰協商方法 | |
WO2018127118A1 (zh) | 一种身份认证方法及装置 | |
CN108282329B (zh) | 一种双向身份认证方法及装置 | |
CN108574569B (zh) | 一种基于量子密钥的认证方法及认证装置 | |
WO2018045817A1 (zh) | 移动网络的认证方法、终端设备、服务器和网络认证实体 | |
JP2019533384A (ja) | データ伝送方法、装置およびシステム | |
US11044084B2 (en) | Method for unified network and service authentication based on ID-based cryptography | |
TW201814496A (zh) | 資料儲存方法、資料獲取方法、裝置及系統 | |
US20120023336A1 (en) | System and method for designing secure client-server communication protocols based on certificateless public key infrastructure | |
EP1905186A2 (en) | Cryptographic authentication, and/or establishment of shared cryptographic keys, using a signing key encrypted with a non-one-time-pad encryption, including (but not limited to) techniques with improved security against malleability attacks | |
CN104219041A (zh) | 一种适用于移动互联网的数据传输加密方法 | |
CN103763356A (zh) | 一种安全套接层连接的建立方法、装置及*** | |
CN110087240B (zh) | 基于wpa2-psk模式的无线网络安全数据传输方法及*** | |
US9130744B1 (en) | Sending an encrypted key pair and a secret shared by two devices to a trusted intermediary | |
KR20170035665A (ko) | 키 교환 장치 및 방법 | |
US12010216B2 (en) | Computer-implemented system and method for highly secure, high speed encryption and transmission of data | |
CN110535626B (zh) | 基于身份的量子通信服务站保密通信方法和*** | |
CN111756528B (zh) | 一种量子会话密钥分发方法、装置及通信架构 | |
Seo et al. | Encryption key management for secure communication in smart advanced metering infrastructures | |
US11528127B2 (en) | Computer-implemented system and method for highly secure, high speed encryption and transmission of data | |
Niu et al. | A novel user authentication scheme with anonymity for wireless communications | |
Xu et al. | A certificateless encryption scheme based on blockchain | |
CN116132025A (zh) | 一种基于预置密钥组的密钥协商方法、装置和通信*** |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 18736169 Country of ref document: EP Kind code of ref document: A1 |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
32PN | Ep: public notification in the ep bulletin as address of the adressee cannot be established |
Free format text: NOTING OF LOSS OF RIGHTS PURSUANT TO RULE 112(1) EPC (EPO FORM 1205A DATED 01.10.2019) |
|
122 | Ep: pct application non-entry in european phase |
Ref document number: 18736169 Country of ref document: EP Kind code of ref document: A1 |