WO2020020008A1 - Authentication method and authentication system - Google Patents

Authentication method and authentication system Download PDF

Info

Publication number
WO2020020008A1
WO2020020008A1 PCT/CN2019/096040 CN2019096040W WO2020020008A1 WO 2020020008 A1 WO2020020008 A1 WO 2020020008A1 CN 2019096040 W CN2019096040 W CN 2019096040W WO 2020020008 A1 WO2020020008 A1 WO 2020020008A1
Authority
WO
WIPO (PCT)
Prior art keywords
authentication
center
module
private key
identifier
Prior art date
Application number
PCT/CN2019/096040
Other languages
French (fr)
Chinese (zh)
Inventor
符爱花
杨邺
Original Assignee
北京岸思信息科技有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 北京岸思信息科技有限公司 filed Critical 北京岸思信息科技有限公司
Publication of WO2020020008A1 publication Critical patent/WO2020020008A1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3271Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using challenge-response
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0807Network architectures or network communication protocols for network security for authentication of entities using tickets, e.g. Kerberos
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/083Network architectures or network communication protocols for network security for authentication of entities using passwords
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0876Network architectures or network communication protocols for network security for authentication of entities based on the identity of the terminal or configuration, e.g. MAC address, hardware or software configuration or device fingerprint
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0869Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/321Cryptographic 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 involving a third party or a trusted authority
    • H04L9/3213Cryptographic 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 involving a third party or a trusted authority using tickets or tokens, e.g. Kerberos
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3226Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using a predetermined code, e.g. password, passphrase or PIN
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3247Cryptographic 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 involving digital signatures

Definitions

  • the present invention relates to the field of computer technology, and in particular, to an authentication method and an authentication system.
  • PKI Public Key Facility
  • PKI Public Key Facility
  • Some American scholars call the infrastructure that provides comprehensive security services, including software, hardware, people, and policies, called PKI.
  • PKI provides security services for various applications through interfaces that extend to the user's locality, including authentication, identity recognition, digital signatures, and encryption.
  • PKI is separated from the application system using PKI, so it has the feature of "public”; on the other hand, without PKI application system, PKI itself has no use. It is the characteristics of this infrastructure that greatly improve the efficiency of PKI system design and development, because the design, development, production, and management of PKI systems can be carried out independently without considering the specificity of the application.
  • IBC Identity-Based Cryptography
  • the IBC system uses an authority—the private key generator (PKG).
  • PKG is mainly responsible for the following two steps:
  • the initialization phase generates a master key (IBC_Master_Key) and a set of public parameters (IBC_Common_Para).
  • the master key is kept by the administrator, cannot be leaked, and public parameters are made public.
  • Private_KeyID IBC_PKG (IBC_Master_Key, ID, IBC_Common_Para);
  • the administrator operates PKG, enters IBC_Master_Key and ID (signature party identification information) and IBC_Common_Para, and generates a private key (Private_KeyID) for the user. Then, this private key is sent to the corresponding signing party through credible and confidential means.
  • IBC_Signature IBC_Sign (Message, Private_KeyID, IBC_Common_Para);
  • the signing party can directly use the signer's ID for signing:
  • the existing authentication methods usually have the following three implementation methods:
  • the password method requires a database to store the password, which is not only costly, but also has a high risk of database leakage. Database breaches have led to widespread password breaches. Even in the form of a password hash value, there is still a risk of being attacked by a dictionary after the leak. And this way is difficult to bind the device or client.
  • the challenge-response method still requires a database to store the authentication key, so the risks of high cost and easy leakage of confidential information still exist. And because the authentication key needs to be stored on the client, when the device falls into the hands of the attacker, the attacker can be unblocked.
  • the certificate-based digital signature method does not require a database to store user-related keys, but requires PKI support. This is a high-cost facility in itself, and it often requires verification of the certificate chain, which greatly reduces efficiency.
  • the authentication private key needs to be stored on the client. When the device falls into the hands of the attacker, the attacker can be unblocked.
  • the attacker has the ability to steal any data from the database of a general server (such as a normal server), but the attacker cannot steal any data from a high-security server (such as a CA). Because authentication is a high-frequency operation, both the authentication operation itself and the storage of authentication-related data can only be performed by the general server.
  • a general server such as a normal server
  • a high-security server such as a CA
  • the attacker After obtaining the client device, the attacker has the ability to obtain any data stored in it.
  • the attacker has the ability to eavesdrop on all communications on non-secure channels (such as the HTTP protocol without SSL), but cannot eavesdrop on communications on secure channels (such as the HTTP protocol using SSL, cellular mobile communications, etc.)
  • the attacker has the ability to imitate the client device to communicate with the server.
  • the attacker has the ability to obtain the details of the authentication scheme.
  • the server stores several authentication factors or related information for authentication to the server's database
  • the server fetches some or all of the authentication factors or related information from the database, and then directly or indirectly compares the authentication factors or related information sent by the client. Necessary conditions.
  • the server can also retrieve some authentication factors or related information from the database, and determine whether it is valid according to some current environmental information. The judgment result is valid is a necessary condition for authentication to pass.
  • the server stores the device information of the client, the hash value of the password, and the expiration time into the database as authentication factors.
  • the client sends device information and password to the client.
  • the verification steps are as follows:
  • the server retrieves the corresponding device information from the database and compares it with the device information sent by the client. (Direct comparison)
  • the server retrieves the corresponding hash value of the password from the database, calculates the hash value of the password sent by the client, and compares the two. (Indirect comparison)
  • the server retrieves the corresponding expiration time from the database, and determines whether the current time (environmental information) is less than the aging time. If it is less than the effective time, it is invalid. (Environmental information judgment)
  • the problems with the above database-based authentication method are: the cost of database establishment, operation, management, and maintenance is high, and the use method is cumbersome. Database security is low and vulnerable to various attacks.
  • Document [1] (CN101964039B: a method and system for the protection and protection of copyright objects), document [2] (CN102523563B: an MMS encryption method based on identification password technology), document [3] (CN102970144B: identity-based Authentication method), document [4] (CN103326853A, a method and device for key update) and document [5] (CN104065487A: a digital fingerprint random secret value IBC identity authentication method) all provide an authentication method , But none of them can solve the above technical problems.
  • the purpose of the present invention is to overcome the above-mentioned shortcomings of the prior art by applying the IBC system to authentication, thereby providing an authentication method and an authentication system that can improve the security and reliability of the authentication process.
  • the present invention proposes an authentication method for implementing authentication requested by an authentication center to an authentication module, where the authentication module runs on a client, and the authentication center runs on a server, It is characterized in that the method includes:
  • the authentication center generates an authentication identifier based on one or more authentication factors, and the authentication factor is sent to the authentication center by the authentication module or is generated by the authentication center;
  • the authentication center generates an authentication private key based on the authentication identifier, and sends the authentication identifier and the authentication private key to the authentication module;
  • the authentication center and the authentication module perform all operations of storing, partially storing, or deleting the authentication identifier according to the content of the authentication identifier;
  • the authentication module sends an authentication request to the authentication center, and the authentication center verifies the authentication request.
  • the initialization step of the authentication center and the authentication module establishes a PKG of the IBC algorithm based on the selected IBC algorithm, and uses the PKG to generate a set of master keys and A set of public parameters.
  • the second storage unit of the authentication center stores the master key generated by the IBC initialization unit; the IBC load unit of the authentication module loads the set of public parameters.
  • the client device hardware information password, expiration time, account name, or client tag.
  • the method specifically includes:
  • Step A1) The authentication module initiates a private key and authentication ID generation request to an authentication center, and sends client device hardware information to the authentication center; the authentication ID generation unit of the authentication center generates a client device Hardware information authentication identifier, and the authentication private key generation unit of the authentication center generates the authentication private key according to the authentication identifier;
  • Step A2) The authentication center sends an authentication identifier and an authentication private key to the authentication module, and the authentication center deletes the authentication identifier and the authentication private key.
  • the authentication module After the authentication module receives the authentication module, the authentication module deletes Client device hardware information in the authentication identifier, and the first storage unit of the authentication module stores the authentication identifier and the authentication private key;
  • Step A3) The authentication request unit of the authentication module sends an authentication request to the authentication center, and the authentication verification unit of the authentication center returns the authentication result to the authentication module after verification.
  • the step A3) specifically includes:
  • Step A3-1) The authentication request unit of the authentication module sends an authentication request to the authentication center;
  • Step A3-2 The authentication verification unit of the authentication center sends a challenge to the authentication module; the challenge is a random number or specific information;
  • Step A3-3 The authentication module obtains the hardware information of the device and assembles a complete authentication identification; the authentication private key is used to sign the challenge using the IBC signature algorithm to obtain the challenge digital signature, and then the authentication identification and digital signature are sent To the authentication center;
  • Step A3-4) The authentication verification unit of the authentication center uses the authentication identifier as the ID to verify the digital signature using the IBC signature verification algorithm; obtain the authentication result;
  • Step A3-5 The authentication verification unit of the authentication center sends the authentication result to the authentication module.
  • the step A3-4) further includes: judging whether the device hardware information in the authentication identifier is in the device lock list, and if the determination result is positive , The inspection fails, otherwise, the inspection passes.
  • the step A3) specifically includes:
  • Step A3-1 ′ The authentication module obtains client device hardware information and assembles a complete authentication identifier; the authentication request unit of the authentication module generates a challenge, and the challenge is performed using the IBC signature algorithm using the authentication private key Sign, get a digital signature, and then send the authentication ID, challenge, and digital signature to the authentication center;
  • Step A3-2 ′ The authentication verification unit of the authentication center uses the authentication identifier as the ID to verify the digital signature using the IBC signature verification algorithm; obtains the authentication result;
  • Step A3-3 ′ The first authentication verification unit of the authentication center sends the authentication result to the authentication module.
  • the method specifically includes:
  • Step B1) The authentication module initiates a private key and authentication ID generation request to the authentication center, and the authentication module sends a password to the authentication center; the authentication ID generation unit of the authentication center generates a password including the password.
  • An authentication identifier, and an authentication private key generating unit of an authentication center generates an authentication private key according to the authentication identifier;
  • Step B2) The authentication center sends the authentication identifier and the authentication private key to the authentication module, and the authentication center deletes the authentication identifier and the authentication private key. After receiving the authentication module, the authentication module deletes The password in the authentication ID, and the first storage unit of the authentication module stores the authentication ID and the authentication private key;
  • Step B3) The authentication request unit of the authentication module sends an authentication request to the authentication center, and the authentication verification unit of the authentication center returns the authentication result to the authentication module after verification.
  • the method specifically includes:
  • Step C1) The account generation unit of the authentication module generates an account name, the authentication module initiates a private key and authentication ID generation request to the authentication center, and sends the account name to the authentication center;
  • Step C2) The authentication identifier generation unit of the authentication center generates an authentication identifier including an account name, and the authentication private key generation unit of the authentication center generates an authentication private key according to the authentication identifier;
  • Step C3) The authentication center sends the authentication identifier and the authentication private key to the authentication module, and the authentication center deletes the authentication identifier and the authentication private key; after the authentication module receives the authentication module,
  • the first storage unit stores an authentication identifier and an authentication private key;
  • Step C4) The authentication request unit of the authentication module sends an authentication request to the authentication center, and the authentication verification unit of the authentication center returns the authentication result to the authentication module after verification.
  • the method specifically includes:
  • Step D1) The authentication module initiates a request for generating a private key and an authentication identifier to the authentication center, and the authentication module sends a client tag to the authentication center;
  • the generation of the authentication identifier generating unit of the authentication center includes An authentication identifier of a client label, and an authentication private key generating unit of the authentication center generates an authentication private key according to the authentication identifier;
  • Step D2) The authentication center sends the authentication identifier and the authentication private key to the authentication module, and the authentication center deletes the authentication identifier and the authentication private key.
  • the first storage unit stores an authentication identifier and an authentication private key;
  • Step D3) The authentication request unit of the authentication module sends an authentication request to an authentication center, and the authentication verification unit of the authentication center returns the authentication result to the authentication module after verification.
  • the step D3) specifically includes:
  • Step D3-1) The authentication request unit of the authentication module sends an authentication request to the authentication center;
  • Step D3-2 The authentication verification unit of the authentication center sends a challenge to the authentication module; the challenge is a random number or specific information;
  • Step D3-3) The authentication module obtains the authentication ID from the first storage unit; uses the authentication private key to sign the challenge using the IBC signature algorithm to obtain the digital signature of the challenge, and then sends the authentication ID and digital signature to the authentication center;
  • Step D3-4) The authentication verification unit of the authentication center uses the authentication identifier as the ID to verify the digital signature using the IBC signature verification algorithm; obtains the authentication result;
  • Step D3-5 The authentication verification unit of the authentication center sends the authentication result to the authentication module.
  • the step D3-4) further includes: judging whether the client tag in the authentication identifier is in the client lock list, and if the judgment result is positive If yes, the inspection fails, otherwise, the inspection passes.
  • the method specifically includes:
  • Step E1 The authentication identifier generation unit of the authentication center generates an authentication identifier including a time of expiration, and the authentication private key generation unit of the authentication center generates an authentication private key according to the authentication identifier;
  • Step E2 The authentication center sends an authentication identifier and an authentication private key to the authentication module, and the authentication center deletes the authentication identifier and the authentication private key.
  • the first storage unit stores an authentication identifier and an authentication private key;
  • Step E3 The authentication request unit of the authentication module sends an authentication request to the authentication center, and the authentication verification unit of the authentication center returns the authentication result to the authentication module after verification.
  • the step E3) specifically includes:
  • Step E3-1) The authentication request unit of the authentication module sends an authentication request to the authentication center;
  • Step E3-2 The authentication verification unit of the authentication center sends a challenge to the authentication module; the challenge is a random number or specific information;
  • Step E3-3 The authentication module obtains the authentication ID from the first storage unit; uses the authentication private key to sign the challenge using the IBC signature algorithm to obtain the digital signature of the challenge, and then sends the authentication ID and digital signature to the authentication center;
  • Step E3-4) The authentication verification unit of the authentication center uses the authentication identifier as the ID to verify the digital signature using the IBC sign verification algorithm; obtain the authentication result;
  • Step E3-5 The authentication verification unit of the authentication center sends the authentication result to the authentication module.
  • the step E3-4) further includes: judging whether the current time is less than the expiration time in the authentication identifier, and if the judgment result is positive, the verification is passed; otherwise, the verification is not passed.
  • the method specifically includes:
  • Step F1 The authentication module initiates a private key and authentication ID generation request to the authentication center, and sends the client device hardware information and password to the authentication center;
  • the authentication ID generation unit of the authentication center includes the client End device hardware information and password authentication ID, and the authentication private key generation unit of the authentication center generates the authentication private key according to the authentication ID;
  • Step F2 The authentication center sends the authentication identifier and the authentication private key to the authentication module, and the authentication center deletes the authentication identifier; after the authentication module receives, the authentication module deletes the authentication identifier In the password, the first storage unit of the authentication module stores an authentication identifier and an authentication private key;
  • Step F3 The authentication request unit of the authentication module sends an authentication request to the authentication center, and the authentication verification unit of the authentication center returns the authentication result to the authentication module after verification.
  • the method when the authentication factor includes client device hardware information, password, and account name, the method specifically includes:
  • Step G1 The account generating unit of the authentication module generates an account name, and sends the account name to the authentication center; and stores the account name in a storage unit of the authentication center;
  • Step G2) The authentication module initiates a private key and authentication ID generation request to the authentication center, and sends the client device hardware information and password to the authentication center;
  • the generation of the authentication ID generation unit of the authentication center includes at least The authentication ID of the account name, client device hardware information, and password, and the authentication private key generation unit of the authentication center generates the authentication private key according to the authentication ID;
  • Step G3 The authentication center sends an authentication identifier and an authentication private key to the authentication module, and the authentication center deletes the authentication identifier; after the authentication module receives, the authentication module deletes the authentication identifier In the password, the first storage unit of the authentication module stores an authentication identifier and an authentication private key;
  • Step G4) The authentication request unit of the authentication module sends an authentication request to the authentication center, and the authentication verification unit of the authentication center returns the authentication result to the authentication module after verification.
  • the step G2) specifically includes:
  • Step G2-1) The authentication module initiates a private key and authentication identifier generation request to the authentication center, and the authentication module sends the client device hardware information and password to the authentication center;
  • Step G2-2 The authentication center generates an authentication identifier for the authentication module;
  • the authentication identifier consists of at least an account name, client device hardware information, and a password;
  • Step G2-3) The authentication center uses the authentication ID as the ID, and uses the PKG generated in the initialization step to generate the authentication private key through the master key.
  • the method when the authentication factor includes client device hardware information, password, client label, and expiration time, the method specifically includes:
  • Step H1 The authentication module initiates a private key and authentication ID generation request to the authentication center, and sends the client device hardware information, password, and client label to the authentication center; the authentication ID generation of the authentication center The unit generates an authentication identifier including account name, client device hardware information, password, client label, and expiration time, and the authentication private key generation unit of the authentication center generates an authentication private key according to the authentication identifier;
  • Step H2 The authentication center sends an authentication identifier and an authentication private key to the authentication module, and the authentication center deletes the authentication identifier; after receiving the authentication module, the authentication module deletes the authentication identifier.
  • the authentication module After receiving the authentication module, the authentication module deletes the authentication identifier
  • the first storage unit of the authentication module stores the authentication identifier and the authentication private key;
  • Step H3 The authentication request unit of the authentication module sends an authentication request to the authentication center, and the authentication verification unit of the authentication center returns the authentication result to the authentication module after verification.
  • the method when the authentication factor includes client device hardware information, password, account name, client label, and expiration time, the method specifically includes:
  • Step R1 The account generating unit of the authentication module generates an account name, and sends the account name to the authentication center; and stores the account name in a storage unit of the authentication center;
  • Step R2 The authentication module initiates a private key and authentication ID generation request to the authentication center, and sends client device hardware information, password, and client label to the authentication center; the authentication ID generation of the authentication center The unit generates an authentication identifier including account name, client device hardware information, password, client label, and expiration time, and the authentication private key generation unit of the authentication center generates an authentication private key according to the authentication identifier;
  • Step R3 The authentication center sends the authentication identifier and the authentication private key to the authentication module, and the authentication center deletes the authentication identifier; after receiving the authentication module, the authentication module deletes the authentication identifier.
  • the authentication module After receiving the authentication module, the authentication module deletes the authentication identifier
  • the first storage unit of the authentication module stores the authentication identifier and the authentication private key;
  • Step R4) The authentication request unit of the authentication module sends an authentication request to the authentication center, and the authentication verification unit of the authentication center returns the authentication result to the authentication module after verification.
  • the method further includes the step of reporting the loss:
  • Step S1) The user authenticates the identity of the user through the new device using the second authentication method or other identity authentication means;
  • Step S2) The authentication center verifies the identity of the user. After the authentication is passed, the authentication center displays the device information list to the user;
  • Step S3) The user selects a device to be reported from the device information list, and informs the authentication center;
  • Step S4) The authentication center stores the corresponding device hardware information in the device lock list, and the storage period is permanent or expiration date.
  • the method further includes the step of reporting the loss:
  • Step S1 ′ The user authenticates the user identity through the new device using the second authentication mode or other identity authentication means;
  • Step S2 ′ The authentication center verifies the identity of the user. After the authentication is passed, the authentication center deletes all the device hardware information and client tags corresponding to the user account in the database;
  • Step S3 ′ All device bindings of the account have been invalidated, and all devices perform the device binding process again.
  • the device after the step of reporting the loss is performed, when the time has expired, the device will automatically report the loss; when the client tag list is set in the authentication center, the method also will It further includes the steps of lifting the loss report:
  • Step T1) The user uses the new device to use the second authentication method or other identity authentication means to authenticate the user's identity;
  • Step T2) The authentication center verifies the identity of the user. After the authentication is passed, the authentication center displays the device lock list to the user;
  • Step T3 The user selects a device from the device lock list to report loss, and informs the authentication center;
  • Step T4) The authentication center puts the corresponding device hardware information and client label in the client lock list, the storage period is permanent or expiration date, and simultaneously deletes the corresponding device hardware information from the device lock list;
  • Step T5 The device to be reported is completely deleted from the original client label, then a new client label is generated, and then the device binding is performed again.
  • the present invention also provides an authentication system, the system includes: an authentication module and an authentication center; the authentication module runs on a client, and the authentication center runs on a server;
  • the authentication center is configured to generate an authentication identifier based on one or more authentication factors, and the authentication factor is sent to the authentication center by the authentication module or is generated by the authentication center; and is further used based on the authentication identifier. Generate an authentication private key, and send the authentication ID and the authentication private key to the authentication module; it is also used to perform all operations of storing, partially storing, or deleting the authentication ID based on the content of the authentication ID; Verifying the authentication request sent by the authentication module;
  • the authentication module is configured to perform all operations of storing, partially storing, or deleting the authentication identifier according to the content of the authentication identifier, and is further configured to send an authentication request to the authentication center.
  • the authentication module includes: an IBC load unit, an account generation unit, a private key request unit, a first storage unit, and an authentication request unit;
  • the IBC loading unit is used to load the public parameters disclosed by the authentication center;
  • the account generating unit is configured to generate an account name of an authentication module
  • the first storage unit is configured to store an authentication identifier and / or an authentication private key
  • the private key requesting unit is configured to send an authentication factor to an authentication center
  • the authentication request unit is configured to send an authentication request to an authentication center, and is also used to receive an authentication result sent by the authentication center.
  • the authentication center includes: an IBC initialization unit, an authentication identifier generation unit, an authentication private key generation unit, a second storage unit, and an authentication verification unit;
  • the IBC initialization unit is used to select an IBC algorithm and establish a private key generator PKG for the algorithm, use the PKG for initialization, generate a set of master keys and public parameters, and publicize the public parameters;
  • the authentication identifier generating unit is configured to generate an authentication identifier according to an authentication factor sent by an authentication module
  • the authentication private key generation unit is configured to generate an authentication private key by using the authentication identifier as an ID and the PKG and the master key generated by the IBC initialization unit; and then send the authentication identifier and the authentication private key to the authentication module. ;
  • the second storage unit is configured to store a master key generated by an IBC initialization unit
  • the authentication verification unit is configured to receive an authentication request from an authentication module, use an authentication identifier as an ID to verify a digital signature using an IBC signature verification algorithm, and send an authentication result to the authentication module.
  • the authentication method of the present invention not only solves the disadvantages of database-based authentication, but also solves the disadvantages of using PKI system for authentication.
  • FIG. 1 is a flowchart of an authentication method according to Embodiment 1 of the present invention.
  • FIG. 5 is a schematic diagram of an authentication module in an authentication system provided by Application Example 3 of the present invention.
  • FIG. 6 is a schematic diagram of an authentication center in an authentication system provided by Application Example 3 of the present invention.
  • FIG. 7 is a schematic diagram of an authentication system provided by Application Example 4 of the present invention.
  • FIG. 8 is a schematic diagram of an IoT device in an authentication system provided by Application Example 4 of the present invention.
  • FIG. 9 is a schematic diagram of an IoT platform in an authentication system provided by Application Example 4 of the present invention.
  • authentication module refers to: the party that needs to be authenticated, such as the client during a mailbox login operation.
  • authentication center refers to: the party that authenticates the authentication module, such as the server during mailbox login operations.
  • second authentication method refers to: other methods that the authentication center can use to authenticate the authentication module, such as a short message verification code.
  • Embodiment 1 General authentication process (as shown in Figure 1):
  • the authentication center selects an IBC algorithm and establishes a private key generator PKG for the algorithm. Use PKG for initialization to generate a set of IBC_Master_Key and IBC_Common_Para.
  • the IBC_Common_Para is made public, and the authentication module is loaded into the IBC_Common_Para.
  • the IBC_Master_Key should be stored in the high-security server and cannot be leaked.
  • the PKG also runs on the high-security server. Operations that do not involve IBC_Master_Key and PKG can be completed using a general server.
  • All connections between the server and client related to authentication should always be based on a secure channel (such as a channel encrypted using the SS1 protocol), and the client has the ability to authenticate the server, such as using the SSL protocol.
  • a secure channel such as a channel encrypted using the SS1 protocol
  • the authentication module initiates a private key generation request.
  • the authentication center generates an authentication token Token, and uses the Token as the ID, uses PKG to generate the authentication private key Token_Private_Key through the master keys IBC_Master_Key and IBC_Common_Para, and then uses trusted and confidential means (such as using the SSL protocol) to exchange Token_Private_Key and Token Send to the corresponding authentication module.
  • Token_Private_Key IBC_PKG (IBC_Master_Key, Token, IBC_Common_Para);
  • the authentication center completely deletes the private key, and the authentication module completely stores the private key.
  • the authentication center and the authentication module perform operations of storing, partially storing, or deleting the authentication ID in accordance with the content of the authentication ID.
  • the authentication module sends an authentication request to the authentication center.
  • the authentication center sends a Challenge to the authentication module, or the authentication module generates a challenge on its own.
  • the challenge is a random number or other specific information.
  • the authentication module uses the complete authentication ID (if the stored authentication ID is incomplete, it will be restored by the corresponding method), and uses the authentication private key Token_Private_Key to sign the challenge Challenge using the IBC signature algorithm to obtain Digitally sign Challenge_Sign, and then send Challenge (if Challenge is generated by the authentication module itself), Token, and Challenge_Sign to the authentication center;
  • the authentication center uses the authentication token Token as the ID to verify the Challenge_Sign using the IBC signature verification algorithm; obtains the authentication result;
  • the signing party can directly use the signing party's authentication ID Token as the ID for signing:
  • One of the necessary conditions for authentication is to pass the verification check. Other necessary conditions depend on the content of the authentication mark.
  • the authentication center sends the authentication result to the authentication module.
  • Embodiment 2 Authentication process (device information):
  • the authentication center selects an IBC algorithm and establishes a private key generator PKG for the algorithm. Use PKG for initialization to generate a set of IBC_Master_Key and IBC_Common_Para.
  • the IBC_Common_Para is made public, and the authentication module is loaded into the IBC_Common_Para.
  • the IBC_Master_Key should be stored in the high-security server and cannot be leaked.
  • the PKG also runs on the high-security server. Operations that do not involve IBC_Master_Key and PKG can be completed using a general server.
  • All connections between the server and client related to authentication should always be based on a secure channel (such as a channel encrypted using the SS1 protocol), and the client has the ability to authenticate the server, such as using the SSL protocol.
  • a secure channel such as a channel encrypted using the SS1 protocol
  • the authentication module initiates a private key generation request, and the private key generation request includes the current device information of the authentication module.
  • the authentication center generates an authentication token Token, which contains 1 authentication factor: device information (from the private key generation request).
  • the authentication center uses Token as the ID, and uses PKG to generate the authentication private key Token_Private_Key through the master keys IBC_Master_Key and IBC_Common_Para, and then sends the Token_Private_Key and Token to the corresponding authentication module through trusted and confidential means (such as using the SSL protocol). in.
  • Token_Private_Key IBC_PKG (IBC_Master_Key, Token, IBC_Common_Para);
  • the authentication center completely deletes the private key, and the authentication module completely stores the private key.
  • the authentication center completely deletes the entire token.
  • the authentication module completely deletes the device information in the token.
  • the authentication module sends an authentication request to the authentication center.
  • the authentication center sends a Challenge to the authentication module, or the authentication module generates a challenge on its own.
  • the challenge is a random number or other specific information.
  • the authentication module obtains the current device information in real time, thereby assembling a complete authentication identification.
  • the authentication module uses a complete authentication identifier, uses the authentication private key Token_Private_Key to sign the challenge Challenge using the IBC signature algorithm, obtains the digital signature Challenge_Sign, and then challenges (if Challenge is generated by the authentication module itself), Token and Challenge_Sign is sent to the authentication center;
  • the authentication center uses the authentication token Token as the ID to verify the Challenge_Sign using the IBC signature verification algorithm; obtains the authentication result;
  • the signing party can directly use the signing party's authentication ID Token as the ID for signing:
  • One of the necessary conditions for passing the verification is to pass the inspection. If a device lock list exists in the authentication center, the necessary conditions for authentication to pass are: the device information in the token is not in the device lock list.
  • the authentication center sends the authentication result to the authentication module.
  • Embodiment 3 Authentication process (password):
  • the authentication center selects an IBC algorithm and establishes a private key generator PKG for the algorithm. Use PKG for initialization to generate a set of IBC_Master_Key and IBC_Common_Para.
  • the IBC_Common_Para is made public, and the authentication module is loaded into the IBC_Common_Para.
  • the IBC_Master_Key should be stored in the high-security server and cannot be leaked.
  • the PKG also runs on the high-security server. Operations that do not involve IBC_Master_Key and PKG can be completed using a general server.
  • All connections between the server and client related to authentication should always be based on a secure channel (such as a channel encrypted using the SS1 protocol), and the client has the ability to authenticate the server, such as using the SSL protocol.
  • a secure channel such as a channel encrypted using the SS1 protocol
  • the authentication module initiates a private key generation request, and the private key generation request includes a password.
  • the authentication center generates an authentication token Token, which contains an authentication factor: a password (from a private key generation request).
  • the authentication center uses Token as the ID, uses PKG to generate the authentication private key Token_Private_Key through the master keys IBC_Master_Key and IBC_Common_Para, and then sends the Token_Private_Key and Token to the corresponding authentication module through trusted and confidential means (such as using the SSL protocol) in.
  • Token_Private_Key IBC_PKG (IBC_Master_Key, Token, IBC_Common_Para);
  • the authentication center completely deletes the private key, and the authentication module completely stores the private key.
  • the authentication center completely deletes the token.
  • the authentication module completely deletes the password in the Token (account-based application scenario) or stores the entire Token (device-based application scenario).
  • the authentication module sends an authentication request to the authentication center.
  • the authentication center sends a Challenge to the authentication module, or the authentication module generates a challenge on its own.
  • the challenge is a random number or other specific information.
  • the authentication module obtains the password entered by the user in real time, thereby assembling a complete authentication identifier (account-based application scenario), or directly obtaining a stored authentication identifier (device-based application scenario).
  • the authentication module uses a complete authentication identifier, uses the authentication private key Token_Private_Key to sign the challenge Challenge using the IBC signature algorithm, obtains the digital signature Challenge_Sign, and then challenges (if Challenge is generated by the authentication module itself), Token and Challenge_Sign is sent to the authentication center;
  • the authentication center uses the authentication token Token as the ID to verify the Challenge_Sign using the IBC signature verification algorithm; obtains the authentication result;
  • the signing party can directly use the signing party's authentication ID Token as the ID for signing:
  • One of the necessary conditions for passing the verification is to pass the inspection. No other necessary conditions.
  • the authentication center sends the authentication result to the authentication module.
  • Embodiment 4 Authentication process (time to failure):
  • the authentication center selects an IBC algorithm and establishes a private key generator PKG for the algorithm. Use PKG for initialization to generate a set of IBC_Master_Key and IBC_Common_Para.
  • the IBC_Common_Para is made public, and the authentication module is loaded into the IBC_Common_Para.
  • the IBC_Master_Key should be stored in the high-security server and cannot be leaked.
  • the PKG also runs on the high-security server. Operations that do not involve IBC_Master_Key and PKG can be completed using a general server.
  • All connections between the server and client related to authentication should always be based on a secure channel (such as a channel encrypted using the SS1 protocol), and the client has the ability to authenticate the server, such as using the SSL protocol.
  • a secure channel such as a channel encrypted using the SS1 protocol
  • the authentication module initiates a private key generation request.
  • the authentication center generates an authentication token Token, which contains 1 authentication factor: the expiration time (set by the authentication center).
  • the authentication center uses Token as the ID, uses PKG to generate the authentication private key Token_Private_Key through the master keys IBC_Master_Key and IBC_Common_Para, and then sends the Token_Private_Key and Token to the corresponding authentication module through trusted and confidential means (such as using the SSL protocol) in.
  • Token_Private_Key IBC_PKG (IBC_Master_Key, Token, IBC_Common_Para);
  • the authentication center completely deletes the private key, and the authentication module completely stores the private key.
  • the authentication center completely deletes the token.
  • the authentication module stores the entire token.
  • the authentication module sends an authentication request to the authentication center.
  • the authentication center sends a Challenge to the authentication module, or the authentication module generates a challenge on its own.
  • the challenge is a random number or other specific information.
  • the authentication module directly obtains the stored authentication identifier.
  • the authentication module uses a complete authentication identifier, uses the authentication private key Token_Private_Key to sign the challenge Challenge using the IBC signature algorithm, obtains the digital signature Challenge_Sign, and then challenges (if Challenge is generated by the authentication module itself), Token and Challenge_Sign is sent to the authentication center;
  • the authentication center uses the authentication token Token as the ID to verify the Challenge_Sign using the IBC signature verification algorithm; obtains the authentication result;
  • the signing party can directly use the signing party's authentication ID Token as the ID for signing:
  • One of the necessary conditions for passing the verification is to pass the inspection. Another necessary condition is that the current time is not greater than the expiration time in the authentication identification.
  • the authentication center sends the authentication result to the authentication module.
  • Embodiment 5 Authentication process (account name):
  • the authentication center selects an IBC algorithm and establishes a private key generator PKG for the algorithm. Use PKG for initialization to generate a set of IBC_Master_Key and IBC_Common_Para.
  • the IBC_Common_Para is made public, and the authentication module is loaded into the IBC_Common_Para.
  • the IBC_Master_Key should be stored in the high-security server and cannot be leaked.
  • the PKG also runs on the high-security server. Operations that do not involve IBC_Master_Key and PKG can be completed using a general server.
  • All connections between the server and client related to authentication should always be based on a secure channel (such as a channel encrypted using the SS1 protocol), and the client has the ability to authenticate the server, such as using the SSL protocol.
  • a secure channel such as a channel encrypted using the SS1 protocol
  • the authentication module initiates a private key generation request, and the private key generation request includes an account name.
  • the authentication center generates an authentication token Token, which contains 1 authentication factor: the account name (from the private key generation request).
  • the authentication center uses Token as the ID, uses PKG to generate the authentication private key Token_Private_Key through the master keys IBC_Master_Key and IBC_Common_Para, and then sends the Token_Private_Key and Token to the corresponding authentication module through trusted and confidential means (such as using the SSL protocol) in.
  • Token_Private_Key IBC_PKG (IBC_Master_Key, Token, IBC_Common_Para);
  • the authentication center completely deletes the private key, and the authentication module completely stores the private key.
  • the authentication center completely deletes the token.
  • the authentication module stores the entire token.
  • the authentication module sends an authentication request to the authentication center.
  • the authentication center sends a Challenge to the authentication module, or the authentication module generates a challenge on its own.
  • the challenge is a random number or other specific information.
  • the authentication module directly obtains the stored authentication identifier.
  • the authentication module uses a complete authentication identifier, uses the authentication private key Token_Private_Key to sign the challenge Challenge using the IBC signature algorithm, obtains the digital signature Challenge_Sign, and then challenges (if Challenge is generated by the authentication module itself), Token and Challenge_Sign is sent to the authentication center;
  • the authentication center uses the authentication token Token as the ID to verify the Challenge_Sign using the IBC signature verification algorithm; obtains the authentication result;
  • the signing party can directly use the signing party's authentication ID Token as the ID for signing:
  • One of the necessary conditions for passing the verification is to pass the inspection. No other necessary conditions.
  • the authentication center sends the authentication result to the authentication module.
  • Embodiment 6 Authentication process (client tag):
  • the authentication center selects an IBC algorithm and establishes a private key generator PKG for the algorithm. Use PKG for initialization to generate a set of IBC_Master_Key and IBC_Common_Para.
  • the IBC_Common_Para is made public, and the authentication module is loaded into the IBC_Common_Para.
  • the IBC_Master_Key should be stored in the high-security server and cannot be leaked.
  • the PKG also runs on the high-security server. Operations that do not involve IBC_Master_Key and PKG can be completed using a general server.
  • All connections between the server and client related to authentication should always be based on a secure channel (such as a channel encrypted using the SS1 protocol), and the client has the ability to authenticate the server, such as using the SSL protocol.
  • a secure channel such as a channel encrypted using the SS1 protocol
  • the authentication module initiates a private key generation request, and the private key generation request includes a client label.
  • the authentication center generates an authentication token Token, which contains an authentication factor: the client label (from the private key generation request).
  • the authentication center uses Token as the ID, uses PKG to generate the authentication private key Token_Private_Key through the master keys IBC_Master_Key and IBC_Common_Para, and then sends the Token_Private_Key and Token to the corresponding authentication module through trusted and confidential means (such as using the SSL protocol) in.
  • Token_Private_Key IBC_PKG (IBC_Master_Key, Token, IBC_Common_Para);
  • the authentication center completely deletes the private key, and the authentication module completely stores the private key.
  • the authentication center completely deletes the token.
  • the authentication module stores the entire token.
  • the authentication module sends an authentication request to the authentication center.
  • the authentication center sends a Challenge to the authentication module, or the authentication module generates a challenge on its own.
  • the challenge is a random number or other specific information.
  • the authentication module directly obtains the stored authentication identifier.
  • the authentication module uses a complete authentication identifier, uses the authentication private key Token_Private_Key to sign the challenge Challenge using the IBC signature algorithm, obtains the digital signature Challenge_Sign, and then challenges (if Challenge is generated by the authentication module itself), Token and Challenge_Sign is sent to the authentication center;
  • the authentication center uses the authentication token Token as the ID to verify the Challenge_Sign using the IBC signature verification algorithm; obtains the authentication result;
  • the signing party can directly use the signing party's authentication ID Token as the ID for signing:
  • One of the necessary conditions for passing the verification is to pass the inspection. If there is a client lock list in the authentication center, the necessary conditions for authentication to pass are: the client tag in the token is not in the client lock list.
  • the authentication center sends the authentication result to the authentication module.
  • Embodiment 7 Authentication process (device information + password):
  • the authentication center selects an IBC algorithm and establishes a private key generator PKG for the algorithm. Use PKG for initialization to generate a set of IBC_Master_Key and IBC_Common_Para.
  • the IBC_Common_Para is made public, and the authentication module is loaded into the IBC_Common_Para.
  • the IBC_Master_Key should be stored in the high-security server and cannot be leaked.
  • the PKG also runs on the high-security server. Operations that do not involve IBC_Master_Key and PKG can be completed using a general server.
  • All connections between the server and client related to authentication should always be based on a secure channel (such as a channel encrypted using the SS1 protocol), and the client has the ability to authenticate the server, such as using the SSL protocol.
  • a secure channel such as a channel encrypted using the SS1 protocol
  • the authentication module initiates a private key generation request, and the private key generation request includes the current device information and password of the authentication module.
  • the authentication center generates an authentication token Token, which contains 2 authentication factors: device information (from the private key generation request) and password (from the private key generation request).
  • the authentication center uses Token as the ID, uses PKG to generate the authentication private key Token_Private_Key through the master keys IBC_Master_Key and IBC_Common_Para, and then sends the Token_Private_Key and Token to the corresponding authentication module through trusted and confidential means (such as using the SSL protocol) in.
  • Token_Private_Key IBC_PKG (IBC_Master_Key, Token, IBC_Common_Para);
  • the authentication center completely deletes the private key, and the authentication module completely stores the private key.
  • the authentication center completely deletes the entire token.
  • the authentication module completely deletes the device information in the token.
  • the authentication module completely deletes the password in the Token (account-based application scenarios) or stores the rest of the Token (device-based application scenarios).
  • the authentication module sends an authentication request to the authentication center.
  • the authentication center sends a Challenge to the authentication module, or the authentication module generates a challenge on its own.
  • the challenge is a random number or other specific information.
  • the authentication module obtains the current device information in real time, the authentication module obtains the password entered by the user in real time (account-based application scenarios) or directly obtains the remaining part of the stored token (device-based application scenarios), thereby assembling a complete authentication identifier .
  • the authentication module uses a complete authentication identifier, uses the authentication private key Token_Private_Key to sign the challenge Challenge using the IBC signature algorithm, obtains the digital signature Challenge_Sign, and then challenges (if Challenge is generated by the authentication module itself), Token and Challenge_Sign is sent to the authentication center;
  • the authentication center uses the authentication token Token as the ID to verify the Challenge_Sign using the IBC signature verification algorithm; obtains the authentication result;
  • the signing party can directly use the signing party's authentication ID Token as the ID for signing:
  • One of the necessary conditions for passing the verification is to pass the inspection. If a device lock list exists in the authentication center, the necessary conditions for authentication to pass are: the device information in the token is not in the device lock list.
  • the authentication center sends the authentication result to the authentication module.
  • Embodiment 8 Authentication process (equipment information + expiration time):
  • the authentication center selects an IBC algorithm and establishes a private key generator PKG for the algorithm. Use PKG for initialization to generate a set of IBC_Master_Key and IBC_Common_Para.
  • the IBC_Common_Para is made public, and the authentication module is loaded into the IBC_Common_Para.
  • the IBC_Master_Key should be stored in the high-security server and cannot be leaked.
  • the PKG also runs on the high-security server. Operations that do not involve IBC_Master_Key and PKG can be completed using a general server.
  • All connections between the server and client related to authentication should always be based on a secure channel (such as a channel encrypted using the SS1 protocol), and the client has the ability to authenticate the server, such as using the SSL protocol.
  • a secure channel such as a channel encrypted using the SS1 protocol
  • the authentication module initiates a private key generation request, and the private key generation request includes the current device information of the authentication module.
  • the authentication center generates an authentication token Token, which contains two authentication factors: device information (from the private key generation request), and the expiration time (set by the authentication center).
  • the authentication center uses Token as the ID, uses PKG to generate the authentication private key Token_Private_Key through the master keys IBC_Master_Key and IBC_Common_Para, and then sends the Token_Private_Key and Token to the corresponding authentication module through trusted and confidential means (such as using the SSL protocol) in.
  • Token_Private_Key IBC_PKG (IBC_Master_Key, Token, IBC_Common_Para);
  • the authentication center completely deletes the private key, and the authentication module completely stores the private key.
  • the authentication center completely deletes the entire token.
  • the authentication module completely deletes the device information in the token and stores the rest of the token.
  • the authentication module sends an authentication request to the authentication center.
  • the authentication center sends a Challenge to the authentication module, or the authentication module generates a challenge on its own.
  • the challenge is a random number or other specific information.
  • the authentication module obtains the current device information in real time, thereby assembling a complete authentication identification.
  • the authentication module uses a complete authentication identifier, uses the authentication private key Token_Private_Key to sign the challenge Challenge using the IBC signature algorithm, obtains the digital signature Challenge_Sign, and then challenges (if Challenge is generated by the authentication module itself), Token and Challenge_Sign is sent to the authentication center;
  • the authentication center uses the authentication token Token as the ID to verify the Challenge_Sign using the IBC signature verification algorithm; obtains the authentication result;
  • the signing party can directly use the signing party's authentication ID Token as the ID for signing:
  • One of the necessary conditions for passing the verification is to pass the inspection. If a device lock list exists in the authentication center, the necessary conditions for authentication to pass are: the device information in the token is not in the device lock list. Another necessary condition is that the current time is not greater than the expiration time in the authentication identification.
  • the authentication center sends the authentication result to the authentication module.
  • Embodiment 9 Authentication process (password + expiration time):
  • the authentication center selects an IBC algorithm and establishes a private key generator PKG for the algorithm. Use PKG for initialization to generate a set of IBC_Master_Key and IBC_Common_Para.
  • the IBC_Common_Para is made public, and the authentication module is loaded into the IBC_Common_Para.
  • the IBC_Master_Key should be stored in the high-security server and cannot be leaked.
  • the PKG also runs on the high-security server. Operations that do not involve IBC_Master_Key and PKG can be completed using a general server.
  • All connections between the server and client related to authentication should always be based on a secure channel (such as a channel encrypted using the SS1 protocol), and the client has the ability to authenticate the server, such as using the SSL protocol.
  • a secure channel such as a channel encrypted using the SS1 protocol
  • the authentication module initiates a private key generation request, and the private key generation request includes a password.
  • the authentication center generates an authentication token Token, which contains two authentication factors: the password (from the private key generation request), and the expiration time (set by the authentication center).
  • the authentication center uses Token as the ID, uses PKG to generate the authentication private key Token_Private_Key through the master keys IBC_Master_Key and IBC_Common_Para, and then sends the Token_Private_Key and Token to the corresponding authentication module through trusted and confidential means (such as using the SSL protocol) in.
  • Token_Private_Key IBC_PKG (IBC_Master_Key, Token, IBC_Common_Para);
  • the authentication center completely deletes the private key, and the authentication module completely stores the private key.
  • the authentication center completely deletes the token.
  • the authentication module After the authentication module completely deletes the password in the Token, it stores the remaining part of the Token (account-based application scenario) or directly stores the remaining part of the Token (device-based application scenario).
  • the authentication module sends an authentication request to the authentication center.
  • the authentication center sends a Challenge to the authentication module, or the authentication module generates a challenge on its own.
  • the challenge is a random number or other specific information.
  • the authentication module obtains the password entered by the user in real time, thereby assembling a complete authentication identifier (account-based application scenario), or directly obtaining a stored authentication identifier (device-based application scenario).
  • the authentication module uses a complete authentication identifier, uses the authentication private key Token_Private_Key to sign the challenge Challenge using the IBC signature algorithm, obtains the digital signature Challenge_Sign, and then challenges (if Challenge is generated by the authentication module itself), Token and Challenge_Sign is sent to the authentication center;
  • the authentication center uses the authentication token Token as the ID to verify the Challenge_Sign using the IBC signature verification algorithm; obtains the authentication result;
  • the signing party can directly use the signing party's authentication ID Token as the ID for signing:
  • One of the necessary conditions for passing the verification is to pass the inspection. Another necessary condition is that the current time is not greater than the expiration time in the authentication identification.
  • the authentication center sends the authentication result to the authentication module.
  • Embodiment 10 Authentication process (device information + password + expiration time):
  • the authentication center selects an IBC algorithm and establishes a private key generator PKG for the algorithm. Use PKG for initialization to generate a set of IBC_Master_Key and IBC_Common_Para.
  • the IBC_Common_Para is made public, and the authentication module is loaded into the IBC_Common_Para.
  • the IBC_Master_Key should be stored in the high-security server and cannot be leaked.
  • the PKG also runs on the high-security server. Operations that do not involve IBC_Master_Key and PKG can be completed using a general server.
  • All connections between the server and client related to authentication should always be based on a secure channel (such as a channel encrypted using the SS1 protocol), and the client has the ability to authenticate the server, such as using the SSL protocol.
  • a secure channel such as a channel encrypted using the SS1 protocol
  • the authentication module initiates a private key generation request, and the private key generation request includes the current device information and password of the authentication module.
  • the authentication center generates an authentication token Token, which contains three authentication factors: device information (from the private key generation request), password (from the private key generation request), and expiration time (set by the authentication center).
  • the authentication center uses Token as the ID, uses PKG to generate the authentication private key Token_Private_Key through the master keys IBC_Master_Key and IBC_Common_Para, and then sends the Token_Private_Key and Token to the corresponding authentication module through trusted and confidential means (such as using the SSL protocol) in.
  • Token_Private_Key IBC_PKG (IBC_Master_Key, Token, IBC_Common_Para);
  • the authentication center completely deletes the private key, and the authentication module completely stores the private key.
  • the authentication center completely deletes the entire token.
  • the authentication module completely deletes the device information in the token.
  • the authentication module After the authentication module completely deletes the password in the Token, it stores the remaining part of the Token (account-based application scenario) or directly stores the remaining part of the Token (device-based application scenario).
  • the authentication module sends an authentication request to the authentication center.
  • the authentication center sends a Challenge to the authentication module, or the authentication module generates a challenge on its own.
  • the challenge is a random number or other specific information.
  • the authentication module obtains the current device information in real time, the authentication module obtains the password entered by the user in real time (account-based application scenarios) or directly obtains the remaining part of the stored token (device-based application scenarios), thereby assembling a complete authentication identifier .
  • the authentication module uses a complete authentication identifier, uses the authentication private key Token_Private_Key to sign the challenge Challenge using the IBC signature algorithm, obtains the digital signature Challenge_Sign, and then challenges (if Challenge is generated by the authentication module itself), Token and Challenge_Sign is sent to the authentication center;
  • the authentication center uses the authentication token Token as the ID to verify the Challenge_Sign using the IBC signature verification algorithm; obtains the authentication result;
  • the signing party can directly use the signing party's authentication ID Token as the ID for signing:
  • One of the necessary conditions for passing the verification is to pass the inspection. If a device lock list exists in the authentication center, the necessary conditions for authentication to pass are: the device information in the token is not in the device lock list. Another necessary condition is that the current time is not greater than the expiration time in the authentication identification.
  • the authentication center sends the authentication result to the authentication module.
  • Embodiment 11 Authentication process (device information + password + expiration time + client label):
  • the authentication center selects an IBC algorithm and establishes a private key generator PKG for the algorithm. Use PKG for initialization to generate a set of IBC_Master_Key and IBC_Common_Para.
  • the IBC_Common_Para is made public, and the authentication module is loaded into the IBC_Common_Para.
  • the IBC_Master_Key should be stored in the high-security server and cannot be leaked.
  • the PKG also runs on the high-security server. Operations that do not involve IBC_Master_Key and PKG can be completed using a general server.
  • All connections between the server and client related to authentication should always be based on a secure channel (such as a channel encrypted using the SS1 protocol), and the client has the ability to authenticate the server, such as using the SSL protocol.
  • a secure channel such as a channel encrypted using the SS1 protocol
  • the authentication module initiates a private key generation request, and the private key generation request includes the current device information, password, and client label of the authentication module.
  • the authentication center generates an authentication token Token, which contains 4 authentication factors: device information (from the private key generation request), password (from the private key generation request), client label (from the private key generation request), and expiration time (Set by the authentication center).
  • the authentication center uses Token as the ID, uses PKG to generate the authentication private key Token_Private_Key through the master keys IBC_Master_Key and IBC_Common_Para, and then sends the Token_Private_Key and Token to the corresponding authentication module through trusted and confidential means (such as using the SSL protocol) in.
  • Token_Private_Key IBC_PKG (IBC_Master_Key, Token, IBC_Common_Para);
  • the authentication center completely deletes the private key, and the authentication module completely stores the private key.
  • the authentication center completely deletes the entire token.
  • the authentication module completely deletes the device information in the token.
  • the authentication module After the authentication module completely deletes the password in the Token, it stores the remaining part of the Token (account-based application scenario) or directly stores the remaining part of the Token (device-based application scenario).
  • the authentication module sends an authentication request to the authentication center.
  • the authentication center sends a Challenge to the authentication module, or the authentication module generates a challenge on its own.
  • the challenge is a random number or other specific information.
  • the authentication module obtains the current device information in real time, the authentication module obtains the password entered by the user in real time (account-based application scenarios) or directly obtains the remaining part of the stored token (device-based application scenarios), thereby assembling a complete authentication identifier .
  • the authentication module uses a complete authentication identifier, uses the authentication private key Token_Private_Key to sign the challenge Challenge using the IBC signature algorithm, obtains the digital signature Challenge_Sign, and then challenges (if Challenge is generated by the authentication module itself), Token and Challenge_Sign is sent to the authentication center;
  • the authentication center uses the authentication token Token as the ID to verify the Challenge_Sign using the IBC signature verification algorithm; obtains the authentication result;
  • the signing party can directly use the signing party's authentication ID Token as the ID for signing:
  • One of the necessary conditions for passing the verification is to pass the inspection. If a device lock list exists in the authentication center, the necessary conditions for authentication to pass are: the device information in the token is not in the device lock list. Another necessary condition is that the current time is not greater than the expiration time in the authentication identification. If there is a client lock list in the authentication center, the necessary conditions for authentication to pass are: the client tag in the token is not in the client lock list.
  • the authentication center sends the authentication result to the authentication module.
  • Embodiment 12 Authentication process (device information + password + expiration time + account name + client label):
  • the authentication center selects an IBC algorithm and establishes a private key generator PKG for the algorithm. Use PKG for initialization to generate a set of IBC_Master_Key and IBC_Common_Para.
  • the IBC_Common_Para is made public, and the authentication module is loaded into the IBC_Common_Para.
  • the IBC_Master_Key should be stored in the high-security server and cannot be leaked.
  • the PKG also runs on the high-security server. Operations that do not involve IBC_Master_Key and PKG can be completed using a general server.
  • All connections between the server and client related to authentication should always be based on a secure channel (such as a channel encrypted using the SS1 protocol), and the client has the ability to authenticate the server, such as using the SSL protocol.
  • a secure channel such as a channel encrypted using the SS1 protocol
  • the authentication module initiates a private key generation request.
  • the private key generation request includes the current device information, password, account name, and client label of the authentication module.
  • the authentication center generates an authentication token Token, which contains 5 authentication factors: device information (from the private key generation request), password (from the private key generation request), expiration time (set by the authentication center), and account name (From the private key generation request), client tag (from the private key generation request).
  • the authentication center uses Token as the ID, uses PKG to generate the authentication private key Token_Private_Key through the master keys IBC_Master_Key and IBC_Common_Para, and then sends the Token_Private_Key and Token to the corresponding authentication module through trusted and confidential means (such as using the SSL protocol) in.
  • Token_Private_Key IBC_PKG (IBC_Master_Key, Token, IBC_Common_Para);
  • the authentication center completely deletes the private key, and the authentication module completely stores the private key.
  • the authentication center completely deletes the entire token.
  • the authentication module completely deletes the device information in the token.
  • the authentication module After the authentication module completely deletes the password in the Token, it stores the remaining part of the Token (account-based application scenario) or directly stores the remaining part of the Token (device-based application scenario).
  • the authentication module sends an authentication request to the authentication center.
  • the authentication center sends a Challenge to the authentication module, or the authentication module generates a challenge on its own.
  • the challenge is a random number or other specific information.
  • the authentication module obtains the current device information in real time, the authentication module obtains the password entered by the user in real time (account-based application scenarios) or directly obtains the remaining part of the stored token (device-based application scenarios), thereby assembling a complete authentication identifier .
  • the authentication module uses a complete authentication identifier, uses the authentication private key Token_Private_Key to sign the challenge Challenge using the IBC signature algorithm, obtains the digital signature Challenge_Sign, and then challenges (if Challenge is generated by the authentication module itself), Token and Challenge_Sign is sent to the authentication center;
  • the authentication center uses the authentication token Token as the ID to verify the Challenge_Sign using the IBC signature verification algorithm; obtains the authentication result;
  • the signing party can directly use the signing party's authentication ID Token as the ID for signing:
  • One of the necessary conditions for passing the verification is to pass the inspection. If a device lock list exists in the authentication center, the necessary conditions for authentication to pass are: the device information in the token is not in the device lock list. If there is a client lock list in the authentication center, the necessary conditions for authentication to pass are: the client tag in the token is not in the client lock list. Another necessary condition is that the current time is not greater than the expiration time in the authentication identification.
  • the authentication center sends the authentication result to the authentication module.
  • Embodiment 12 includes the following four application examples:
  • the application scenario is an application scenario based on user accounts.
  • the authentication module refers to various hardware, software, or firmware that performs account authentication operations, such as certain online banking clients and electronic locks.
  • the authentication center runs on the server and is used to process the client's authentication request.
  • an authentication method includes the following steps:
  • Step 11) The authentication center selects an IBC algorithm and establishes a private key generator PKG for the algorithm. Use PKG for initialization to generate a set of IBC_Master_Key and IBC_Common_Para.
  • the IBC_Common_Para is made public, and the authentication module is loaded into the IBC_Common_Para.
  • the IBC_Master_Key should be stored in the high-security server and cannot be leaked.
  • the PKG also runs on the high-security server. Operations that do not involve IBC_Master_Key and PKG can be completed using a general server.
  • All connections between the server and the client related to authentication should always be based on a secure channel, and the client has the ability to authenticate the server, such as using the SSL protocol.
  • Step 12) The authentication module generates an account name and sets a second authentication method, and sends the account name and the second authentication method to the authentication center; the authentication center binds the account name and the second authentication method to the database and stores it in the database. in;
  • Each account corresponds to a unique account name Account.
  • the account name is selected by the user, or specified by the authentication center of the server, or generated through negotiation between the two parties.
  • the user When generating an account, the user needs to leave a reliable second authentication method, such as the mobile phone number used to receive the SMS verification code.
  • Step 13) The authentication module performs device binding, and sends device hardware information and password to the authentication center; the authentication center generates an authentication identifier, and generates an authentication private key based on the authentication identifier; specifically including:
  • Step 13-1) The user initiates a binding application on the authentication module of the device and uses the second authentication method for authentication;
  • Step 13-2) After passing the authentication using the second authentication method, the authentication module sends information such as device hardware information Dev_Info, password Psw, and client tag Client_Tag to the authentication center;
  • Step 13-3) The authentication center generates an authentication token Token for the authentication module
  • Token consists of at least account name Account, hardware information Dev_Info, and password Psw, and can also contain information such as client tag Client_Tag and expiry date Expire_Date. See Table 1:
  • Dev_Info is information that can uniquely identify the current device.
  • the password is entered by the user. After the device binding is completed, neither the client nor the server saves the Psw. The Psw must be saved by the user and cannot be leaked.
  • the password is not limited to the character form. It can also be deterministic information such as a gesture password, and vague information such as a fingerprint cannot be used.
  • Client_Tag When the client is started for the first time, a random number is generated as Client_Tag. The user can also delete and regenerate Client_Tag.
  • Expire_Date The expiration date of the token, which is determined by the server.
  • Step 13-4) The authentication center uses Token as the ID, and uses the PKG of step 11) to generate the authentication private key Token_Private_Key from the master key;
  • Token_Private_Key IBC_PKG (IBC_Master_Key, Token, IBC_Common_Para);
  • the administrator operates PKG, inputs IBC_Master_Key and ID (authentication identifier) and IBC_Common_Para, and generates a private key (Token_Private_Key) for the authentication module. Then, the private key is sent to the corresponding signatory through trusted and confidential means (such as using the SSL protocol).
  • Step 14 The authentication center sends the authentication ID and the authentication private key to the authentication module, and then deletes the password in the authentication ID; after receiving the authentication module, the authentication ID and the authentication private key with the password deleted are stored; These include:
  • Step 14-1) The authentication center sends the Token and Token_Private_Key to the authentication module, and then deletes the Token or saves only some information other than Psw in the Token to the database (be sure to completely delete the Psw information)
  • Step 14-2) After receiving the Token and Token_Private_Key, the authentication module saves the Token_Private_Key, and at the same time saves all information in the Token except Psw (be sure to completely delete the Psw information).
  • Step 15 The authentication module sends an authentication request to the authentication center, and the authentication center returns the authentication result to the authentication module after processing; specifically including:
  • Step 15-1) The authentication module sends an authentication request to the authentication center
  • Step 15-2) The authentication center sends a Challenge to the authentication module; the challenge is a random number or other specific information;
  • Step 15-3 The user enters the password Psw into the authentication module, and the authentication module assembles a complete authentication identifier Token; uses the authentication private key Token_Private_Key to sign the challenge Challenge using the IBC signature algorithm, and obtains the digital signature Challenge_Sign of Challenge Then send Token and Challenge_Sign to the authentication center;
  • IBC_Signature IBC_Sign (Message, Token_Private_Key, IBC_Common_Para);
  • Step 15-4) The authentication center uses the authentication token Token as the ID to verify the Challenge_Sign using the IBC signature verification algorithm; obtain the authentication result;
  • the signing party can directly use the signer's ID for signing:
  • Dev_Info and Client_Tag are not in the device lock list
  • Dev_Info and Client_Tag are not.
  • the current time is before Expire_Date (if there is Expire_Date) and so on.
  • Step 15-5) The authentication center sends the authentication result to the authentication module.
  • the step 15) includes:
  • Step 15-1 ′ The user enters the password Psw into the authentication module, and the authentication module assembles a complete authentication token Token; the authentication module generates a challenge, and uses the authentication private key Token_Private_Key to sign the challenge Challenge using the IBC signature algorithm, Get the digital signature Challenge_Sign of Challenge, and then send the Token, challenge and digital signature Challenge_Sign to the authentication center;
  • IBC_Signature IBC_Sign (Message, Token_Private_Key, IBC_Common_Para);
  • Step 15-2 ′ The authentication center uses the authentication token Token as the ID to verify the Challenge_Sign using the IBC signing algorithm; obtain the authentication result;
  • the signing party can directly use the signer's ID for signing:
  • Dev_Info and Client_Tag are not in the device lock list
  • Dev_Info and Client_Tag are not.
  • the current time is before Expire_Date (if there is Expire_Date) and so on.
  • Step 15-3 ′ The authentication center sends the authentication result to the authentication module.
  • the authentication center can also set a security control policy to put certain Dev_Info into the device lock list under certain appropriate conditions (such as authentication failure several times).
  • the loss report method includes the following steps:
  • Step S1) The user uses the new device to use a second authentication method or other identity authentication means to authenticate the user's identity;
  • Step S2) The authentication center verifies the identity of the user. After the authentication is passed, the authentication center displays the Dev_Info list to the user;
  • Step S3) The user selects a device to be reported from the Dev_Info list, and informs the authentication center;
  • Step S4) The authentication center stores the corresponding Dev_Info in the device lock list, and the storage period is permanent (if there is no Expire_Date) or Expire_Date (if there is Expire_Date).
  • the device needs to go through the device binding process again.
  • the device loss report When the time comes to Expire_Date (if there is Expire_Date), the device loss report will be lifted by itself. If the Client_Tag is also stored in the database of the authentication center, the loss reporting operation can be performed on the lost equipment before the loss reporting of the equipment is automatically resolved, including:
  • Step T1) The user uses the new device to use the second authentication method or other identity authentication means to authenticate the user's identity;
  • Step T2) The authentication center verifies the identity of the user. After the authentication is passed, the authentication center displays the device lock list to the user;
  • Step T3 The user selects a device from the device lock list to report loss, and informs the authentication center;
  • Step T4) The authentication center stores the corresponding Dev_Info and Client_Tag into the client lock list, the storage period is permanent (if there is no Expire_Date) or Expire_Date (if there is Expire_Date), and the corresponding Dev_Info is deleted from the device lock list;
  • Step T5 The device to be reported is completely deleted from the original Client_Tag, then a new Client_Tag is generated, and then the device binding process is performed again.
  • Another method of reporting loss includes the following steps:
  • Step S1 ′ The user authenticates the user identity through the new device using the second authentication mode or other identity authentication means;
  • Step S2 ′ The authentication center verifies the identity of the user. After the authentication is passed, the authentication center deletes all Dev_Info and Client_Tag (if there is Client_Tag) corresponding to the user account name Account in the database.
  • the above method of loss reporting is applicable to application scenarios with higher security requirements.
  • the application scenario is a device-based application scenario, where "client” refers to the device to be authenticated, such as an Internet of Things device.
  • an authentication method includes:
  • Step 21) The IoT platform establishes an algorithm PKG based on the selected IBC algorithm, and uses the PKG to generate a set of master keys and a set of public parameters; the IoT device loads the set of public parameters;
  • the IoT platform selects an IBC algorithm and establishes a PKG for the algorithm. Use PKG for initialization to generate a set of IBC_Master_Key and IBC_Common_Para. Make IBC_Common_Para public.
  • the IBC_Master_Key should be stored on the high-security server and cannot be leaked.
  • the PKG should also be run on the high-security server. Operations that do not involve IBC_Master_Key and PKG can be completed using a general server.
  • Step 22) The IoT device sends the device information and password to the IoT platform.
  • the IoT platform generates an authentication ID, and generates an authentication private key based on the authentication ID. Specifically, it includes:
  • Step 22-1) The IoT device sends the hardware information Dev_Info and the password Psw to the IoT platform;
  • Step 22-2) The IoT platform generates a device authentication token Token for the IoT device
  • the device authentication ID is composed of at least hardware information Dev_Info, and may also include information such as the expiration date Expire_Date and password Psw. See Table 2:
  • Dev_Info is information that can uniquely identify the current device.
  • Psw The password is randomly generated by the device.
  • the IoT platform does not save Psw.
  • Psw is stored in a secure area of the IoT device and cannot be leaked.
  • Expire_Date Token expiration date, determined by the IoT platform.
  • Step 22-3) The IoT platform uses Token as the ID, and uses the PKG of step 21) to generate the authentication private key Token_Private_Key from the master key;
  • Step 23) The IoT platform sends the authentication ID and the authentication private key to the IoT device, and deletes the password in the authentication ID.
  • the IoT device After receiving, the IoT device saves the authentication ID and the authentication private key with the password deleted, and sends The password is stored in the device's secure storage area; it includes:
  • Step 23-1) The IoT platform sends the Token and Token_Private_Key to the IoT device, and then deletes the Token or saves only some information other than Psw in the Token to the database (be sure to completely delete the Psw information);
  • Step 23-2) After the IoT device receives the Token and Token_Private_Key, it saves all information in the Token except Psw; and stores the Token_Private_Key and Psw in the secure area of the device.
  • Step 24 The IoT device sends an authentication request to the IoT platform, and the IoT platform returns the authentication result to the IoT device after processing; specifically including:
  • Step 24-1) The IoT device sends an authentication request to the IoT platform
  • Step 24-2) The IoT platform sends a challenge to the IoT device, and the challenge is a random number or other specific information;
  • Step 24-3) The IoT device reads Psw from the device's secure storage area to assemble a complete Token; then uses Token_Private_Key to sign the Challenge using the IBC signature algorithm to get the digital signature Challenge_Sign to the Challenge, and the IoT device sends the Token and Challenge_Sign Send to IoT platform;
  • Step 24-4) The IoT platform uses the Token as the ID to verify the Challenge_Sign using the IBC signing algorithm, and returns the authentication result;
  • the signing party can directly use the signer's ID for signing:
  • Dev_Info and Client_Tag are not in the device lock list
  • Dev_Info and Client_Tag are not.
  • the current time is before Expire_Date (if there is Expire_Date) and so on.
  • the IoT platform can also set security control policies to put certain Dev_Info in the device lock list under certain appropriate conditions (such as authentication failure several times).
  • the step 24) includes:
  • Step 24-1 ′ The IoT device reads Psw from the device's secure storage area to assemble a complete Token; the authentication device generates a challenge, and uses the authentication private key Token_Private_Key to sign the challenge Challenge using the IBC signature algorithm to obtain the Challenge Digitally sign Challenge_Sign, then send the Token, challenge and digital signature Challenge_Sign to the IoT platform;
  • IBC_Signature IBC_Sign (Message, Token_Private_Key, IBC_Common_Para);
  • Step 24-2 ′ The IoT platform uses the authentication token Token as the ID to verify the Challenge_Sign using the IBC signature verification algorithm; obtains the authentication result;
  • the signing party can directly use the signer's ID for signing:
  • Dev_Info and Client_Tag are not in the device lock list
  • Dev_Info and Client_Tag are not.
  • the current time is before Expire_Date (if there is Expire_Date) and so on.
  • Step 24-3 ' The IoT platform sends the authentication result to the IoT device.
  • the application scenario is an application scenario based on user accounts, where the authentication unit refers to various hardware, software, or firmware that performs account authentication operations, such as certain online banking clients.
  • an authentication system includes: an authentication module 300 and an authentication center 400; as shown in FIG. 5, the authentication module 300 includes: a first IBC loading unit 301, and account generation A unit 302, a device binding unit 303, a first storage unit 304, and a first authentication request unit 305;
  • a first IBC loading unit 301 configured to load public parameters disclosed by the authentication center 400;
  • the account generating unit 302 is configured to generate an account name of the authentication module, set a second authentication mode, and send the account name and the second authentication mode to the authentication center 400;
  • the device binding unit 303 is configured to initiate a device binding request and perform authentication using a second authentication method. After the request is passed, the device information, the password Psw, and the client tag Client_Tag are sent to the authentication center;
  • a first storage unit 304 configured to store the Psw-deleted authentication identifier Token and the authentication private key Token_Private_Key sent by the authentication center 400;
  • a first authentication requesting unit 305 configured to send an authentication request to the authentication center 400 by inputting a password Psw, and further configured to receive an authentication result sent by the authentication center 400;
  • the user inputs Psw to the first authentication request unit, and the first authentication request unit assembles a complete authentication identifier Token; uses the authentication private key Token_Private_Key to sign the Challenge using the IBC signature algorithm, and obtains the digital signature Challenge_Sign of the Challenge, and then Send Token and Challenge_Sign to the authentication center;
  • the authentication center 400 includes a first IBC initialization unit 401, a first authentication identifier generation unit 402, a first authentication private key generation unit 403, a second storage unit 404, and a first authentication verification unit. 405;
  • the first IBC initialization unit 401 is used to select an IBC algorithm and establish a private key generator PKG of the algorithm, use the PKG to initialize, generate a set of master key IBC_Master_Key and public parameter IBC_Common_Para, and expose IBC_Common_Para;
  • the first authentication identifier generating unit 402 is configured to generate a device authentication identifier Token according to the account name, device information, and password sent by the authentication module 300; the form of the token is shown in Table 1;
  • the first authentication private key generation unit 403 is configured to generate an authentication private key Token_Private_Key by using the PKG and the master key generated by the IBC initialization unit 401 with the authentication identification Token as the ID; and then send the authentication identification and the authentication private key To the authentication module 300;
  • a second storage unit 404 used to store the master key generated by the IBC initialization unit 401, used to store the account name and the second authentication mode of the authentication module 300, and also used to store the authentication identifier with the password deleted;
  • the first authentication verification unit 405 is configured to receive an authentication request from the authentication module 300, and send a challenge to the authentication module 300; verify the Challenge_Sign using the IBC signature verification algorithm with the authentication identifier as the ID; and the authentication center 400 sends the authentication result to the authentication module 300.
  • Dev_Info and Client_Tag are not in the device lock list
  • Dev_Info and Client_Tag are not.
  • Client lock list the current time is before Expire_Date (if there is Expire_Date)
  • the application scenario is a device-based application scenario, where "client” refers to the device to be authenticated, such as an Internet of Things device.
  • an authentication system includes: an IoT device 500 and an IoT platform 600; as shown in FIG. 8, the IoT device 500 includes: a second IBC loading unit 501, information A sending unit 502, a third storage unit 503, a device secure storage area 504, and a second authentication request unit 505;
  • An information sending unit 502 configured to send device information and a password Psw to the IoT platform 600;
  • a third storage unit 503, configured to store the authentication identifier Token with the deleted password Psw sent by the Internet of Things platform 600;
  • Device secure storage area 504 which is used to store the password Psw and the authentication private key Token_Private_Key;
  • a second authentication requesting unit 505 configured to send an authentication request to the Internet of Things platform 600, and receive an authentication result sent by the Internet of Things platform 600;
  • the Internet of Things platform 600 includes: a second IBC initialization unit 601, a second authentication identifier generation unit 602, a second authentication private key generation unit 603, a fourth storage unit 604, and a second authentication verification unit 605;
  • the second IBC initialization unit 601 is used to select an IBC algorithm and establish a private key generator PKG for the algorithm, use the PKG to initialize, generate a set of master key IBC_Master_Key and public parameter IBC_Common_Para, and expose IBC_Common_Para;
  • the second authentication identifier generating unit 602 is configured to generate a device authentication identifier Token according to the device information and password sent by the IoT device 500; the form of the token is shown in Table 2;
  • the second authentication private key generation unit 603 is configured to generate an authentication private key Token_Private_Key with the Token as the ID and the PKG and the master key generated by the IBC initialization unit 601; and then send the authentication identifier and the authentication private key to the authenticator.
  • a fourth storage unit 604 used to store the master key generated by the IBC initialization unit 401, and also used to store the authentication identifier with the password deleted;
  • the second authentication verification unit 605 is configured to receive an authentication request from the IoT device 500 and send a challenge Challenge to the IoT device 500; use the IBC signature verification algorithm to verify the Challenge_Sign with the authentication ID as the ID; the IoT platform 600 will authenticate The weight result is sent to the IoT device 500;
  • Dev_Info and Client_Tag are not in the device lock list
  • Dev_Info and Client_Tag are not.
  • the current time is before Expire_Date (if there is Expire_Date).
  • the security analysis of the authentication method of the present invention is as follows:
  • Attack scenario 1 The attacker steals data from the server database.
  • the password is stored in the database in the form of a clear text or a password hash value.
  • the attacker can directly obtain the password, or use a dictionary attack to obtain the password with a non-negligible success rate.
  • the authentication key is stored in a database.
  • the attacker can directly obtain the authentication key.
  • the server-side database does not store any information about the password, nor does it store the authentication private key. Even if the attacker obtains all information except the password for the Token, it cannot pass the authentication.
  • Attack scenario 2 Password leak.
  • an attacker cannot obtain authentication simply by obtaining a password. Even if attack scenario 1 appears side by side, the attacker can only assemble tokens, but because he does not know the authentication private key, he still cannot authenticate successfully.
  • Attack scenario 3 Attacker gains client device.
  • the attacker can obtain any data stored in the device.
  • the authentication private key is also stored in the client device, because the client device does not store the password, the attacker cannot form a complete token for authentication.
  • the method of the present invention uses the second authentication method when binding the device, and the password needs to be entered on the device during authentication, which is in contrast to the existing high security application scenarios (such as online banking clients) Do the same, without compromising ease of use.
  • the method of the present invention no longer uses PKI and certificate chains. Only one verification is required during authentication, and the certificate-based digital signature method requires at least two verifications (verification of the certificate and verification of the authentication signature). And compared with CA, the construction cost of PKG is very low, and the maintenance workload and maintenance cost are also very low.

Abstract

Disclosed are an authentication method and an authentication system. The method is used for implementing the authentication, requested by an authentication module, by means of an authentication center, the authentication module runs on a client, and the authentication center runs on a server. The method comprises: the authentication center generating an authentication identifier based on one or more authentication factors, wherein the authentication factors are sent to the authentication center by the authentication module or are generated by the authentication center; the authentication center generating a private authentication key based on the authentication identifier, and sending the authentication identifier and the private authentication key to the authentication module; the authentication center and the authentication module performing the operation of complete storage, partial storage, or complete deletion on the authentication identifier according to the content of the authentication identifier; and the authentication module sending an authentication request to the authentication center, and the authentication center verifying the authentication request. On the premise that the usability thereof is not reduced, the authentication method and system in the present invention achieve higher security, and also control the efficiency and costs at a better level.

Description

一种鉴权方法及鉴权系统Authentication method and authentication system 技术领域Technical field
本发明涉及计算机技术领域,具体涉及一种鉴权方法及鉴权系统。The present invention relates to the field of computer technology, and in particular, to an authentication method and an authentication system.
背景技术Background technique
20世纪80年代,美国学者提出了PKI(公开密钥设施)的概念,PKI是一种普遍适用的网络安全基础设施。一些美国学者把提供全面安全服务的基础设施,包括软件、硬件、人和策略的集合叫做PKI。PKI通过延伸到用户本地的接口为各种应用提供安全服务,包括认证、身份识别、数字签名、加密等。一方面,作为基础设施,PKI与使用PKI的应用系统是分离的,因此具有“公用”的特性;另一方面,离开PKI应用系统,PKI本身没有任何用处。正是这种基础设施的特性使PKI系统的设计和开发效率大大提高,因为PKI系统的设计、开发、生产及管理都可以独立地进行,不需要考虑应用的特殊性。In the 1980s, American scholars proposed the concept of PKI (Public Key Facility), which is a universally applicable network security infrastructure. Some American scholars call the infrastructure that provides comprehensive security services, including software, hardware, people, and policies, called PKI. PKI provides security services for various applications through interfaces that extend to the user's locality, including authentication, identity recognition, digital signatures, and encryption. On the one hand, as the infrastructure, PKI is separated from the application system using PKI, so it has the feature of "public"; on the other hand, without PKI application system, PKI itself has no use. It is the characteristics of this infrastructure that greatly improve the efficiency of PKI system design and development, because the design, development, production, and management of PKI systems can be carried out independently without considering the specificity of the application.
为了解决PKI体系中公钥难以管理的问题,1984年,以色列科学家Shamir提出了基于标识的密码系统的概念。在基于标识的系统中,每个实体具有一个标识。该标识可以是任何有意义的字符串。但和传统公钥系统最大的不同是,在基于标识的系统中,实体的标识本身就是实体的公开密钥。由于标识本身就是实体的公钥,这类系统就不再依赖证书和证书管理系统如PKI,从而极大地简化了管理密码系统的复杂性。在提出IBC概念的同时,Shamir提出了一个基于大数分解的基于标识的签名算法(IBS)。In order to solve the problem of difficult management of public keys in the PKI system, in 1984, Israeli scientist Shamir proposed the concept of an identity-based cryptosystem. In an identity-based system, each entity has an identity. The ID can be any meaningful string. But the biggest difference from the traditional public key system is that in the identity-based system, the identity of the entity itself is the entity's public key. Since the identity itself is the entity's public key, such systems no longer rely on certificates and certificate management systems such as PKI, which greatly simplifies the complexity of managing cryptographic systems. While proposing the concept of IBC, Shamir proposed an identity-based signature algorithm (IBS) based on large number decomposition.
基于身份的密码学(Identity-Base Cryptography,IBC)是一种新兴的非对称密码学。其特点是用户公钥与用户身份天然相关,不需要再用额外的机制(如数字证书等)来检验这一点。Identity-Based Cryptography (IBC) is a new type of asymmetric cryptography. Its feature is that the user's public key is naturally related to the user's identity, and no additional mechanism (such as a digital certificate) is needed to check this.
IBC体系使用一个权威方——私钥生成器(PKG)。PKG主要负责以下两个步骤:The IBC system uses an authority—the private key generator (PKG). PKG is mainly responsible for the following two steps:
初始化:initialization:
(IBC_Master_Key,IBC_Common_Para)=IBC_Setup();(IBC_Master_Key, IBC_Common_Para) = IBC_Setup ();
初始化阶段产生一个主密钥(IBC_Master_Key)和一组公共参数(IBC_Common_Para)。主密钥由管理员保存,不可泄露,并将公共参数公开。The initialization phase generates a master key (IBC_Master_Key) and a set of public parameters (IBC_Common_Para). The master key is kept by the administrator, cannot be leaked, and public parameters are made public.
私钥生成:Private key generation:
Private_KeyID=IBC_PKG(IBC_Master_Key,ID,IBC_Common_Para);Private_KeyID = IBC_PKG (IBC_Master_Key, ID, IBC_Common_Para);
管理员操作PKG,输入IBC_Master_Key和ID(签名方标识信息)以及IBC_Common_Para,为该用户生成私钥(Private_KeyID)。然后通过可信且保密的手段,将这个私钥送到相应的签名方手中。The administrator operates PKG, enters IBC_Master_Key and ID (signature party identification information) and IBC_Common_Para, and generates a private key (Private_KeyID) for the user. Then, this private key is sent to the corresponding signing party through credible and confidential means.
签名方获得私钥后,就可以进行数字签名:After the signing party obtains the private key, they can digitally sign:
IBC_Signature=IBC_Sign(Message,Private_KeyID,IBC_Common_Para);IBC_Signature = IBC_Sign (Message, Private_KeyID, IBC_Common_Para);
验签方可以直接使用签名方的ID进行验签:The signing party can directly use the signer's ID for signing:
Result=IBC_Verify(Message,IBC_Signature,ID,IBC_Common_Para);Result = IBC_Verify (Message, IBC_Signature, ID, IBC_Common_Para);
现有鉴权方法通常有以下三种实现方式:The existing authentication methods usually have the following three implementation methods:
(1)口令的方式,需要数据库存储口令,不但成本高,而且数据库的泄露风险很大。数据库被攻击导致口令大规模泄露的事件已经司空见惯。即使是采取存口令散列值的形式,依然存在泄露后被字典攻击的风险。而且该方式难以绑定设备或客户端。(1) The password method requires a database to store the password, which is not only costly, but also has a high risk of database leakage. Database breaches have led to widespread password breaches. Even in the form of a password hash value, there is still a risk of being attacked by a dictionary after the leak. And this way is difficult to bind the device or client.
(2)挑战应答协议的方式,依然需要数据库存储鉴权密钥,所以成本高和机密信息易泄露的风险依然存在。而且由于鉴权密钥需要存放在客户端,当设备落入攻击者之手时,攻击者即可畅通无阻。(2) The challenge-response method still requires a database to store the authentication key, so the risks of high cost and easy leakage of confidential information still exist. And because the authentication key needs to be stored on the client, when the device falls into the hands of the attacker, the attacker can be unblocked.
(3)基于证书的数字签名的方式,虽然不需要数据库存储与用户相关的密钥,但需要PKI支持,这本身就是高成本设施,而且经常需要验证证书链,大大降低了效率。鉴权私钥需要存放在客户端,当设备落入攻击者之手时,攻击者即可畅通无阻。(3) The certificate-based digital signature method does not require a database to store user-related keys, but requires PKI support. This is a high-cost facility in itself, and it often requires verification of the certificate chain, which greatly reduces efficiency. The authentication private key needs to be stored on the client. When the device falls into the hands of the attacker, the attacker can be unblocked.
假设攻击者具有以下五种能力:Assume an attacker has the following five capabilities:
1、攻击者有能力从一般服务端(如普通服务器)的数据库窃取任何数据,但攻击者无法从高安全服务端(如CA等)窃取任何数据。由于鉴权为高频繁操作,因此鉴权操作本身和鉴权相关数据的存储,都只能由一般服务端完成。1. The attacker has the ability to steal any data from the database of a general server (such as a normal server), but the attacker cannot steal any data from a high-security server (such as a CA). Because authentication is a high-frequency operation, both the authentication operation itself and the storage of authentication-related data can only be performed by the general server.
2、攻击者在获得了客户端设备后,有能力获得其中存储的任何数据。2. After obtaining the client device, the attacker has the ability to obtain any data stored in it.
3、攻击者有能力窃听非安全信道(如:不使用SSL的HTTP协议)上的所有通信,但无法窃听安全信道(如:使用了SSL的HTTP协议,蜂窝移动通信等)上的通信。3. The attacker has the ability to eavesdrop on all communications on non-secure channels (such as the HTTP protocol without SSL), but cannot eavesdrop on communications on secure channels (such as the HTTP protocol using SSL, cellular mobile communications, etc.)
4、攻击者有能力模仿客户端设备与服务端通信。4. The attacker has the ability to imitate the client device to communicate with the server.
5、攻击者有能力获取鉴权方案的流程细节。5. The attacker has the ability to obtain the details of the authentication scheme.
基于上述攻击者假设,前述的三种鉴权方式皆不能抵御。Based on the attacker's assumption above, none of the three aforementioned authentication methods can be resisted.
现有鉴权方案大多数都是依赖于数据库来实现的。具体做法概括如下:Most of the existing authentication schemes rely on a database to implement. The specific approach is summarized as follows:
1、服务端将用于鉴权的若干个鉴权因子或其相关信息存储到服务端的数据库;1. The server stores several authentication factors or related information for authentication to the server's database;
2、在鉴权时,服务端从数据库中调取部分或全部鉴权因子或其相关信息,然后直接对比或间接对比客户端发送来的鉴权因子或其相关信息,全部一致是鉴权通过的必要条件。服务端还可以从数据库中调取部分鉴权因子或其相关信息,依据当前的某些环境信息判断是否有效,判断结果为有效是鉴权通过的必要条件。2. During authentication, the server fetches some or all of the authentication factors or related information from the database, and then directly or indirectly compares the authentication factors or related information sent by the client. Necessary conditions. The server can also retrieve some authentication factors or related information from the database, and determine whether it is valid according to some current environmental information. The judgment result is valid is a necessary condition for authentication to pass.
例如:E.g:
1、服务端将客户端的设备信息、口令的Hash值和失效时间三者作为鉴权因子存入数据库。1. The server stores the device information of the client, the hash value of the password, and the expiration time into the database as authentication factors.
2、鉴权时,客户端发送设备信息和口令给客户端。验证步骤如下:2. During authentication, the client sends device information and password to the client. The verification steps are as follows:
2.1、服务端从数据库中调取对应的设备信息,并与该客户端发来的设备信息作对比。(直接对比)2.1. The server retrieves the corresponding device information from the database and compares it with the device information sent by the client. (Direct comparison)
2.2、服务端从数据库中调取对应的口令的Hash值,计算客户端发来的口令的Hash值,二者作对比。(间接对比)2.2 The server retrieves the corresponding hash value of the password from the database, calculates the hash value of the password sent by the client, and compares the two. (Indirect comparison)
2.3、服务端从数据库中调取对应的失效时间,判断当前时间(环境信息)是否小于该时效时间,小于则有效,大于或等于则无效。(环境信息判断)2.3. The server retrieves the corresponding expiration time from the database, and determines whether the current time (environmental information) is less than the aging time. If it is less than the effective time, it is invalid. (Environmental information judgment)
2.4、依据上述2.1至2.3的验证结果判断鉴权是否通过。当且仅当2.1和2.2的对比结果都是一致,并且2.3的判断结果为有效时,鉴权通过。2.4. Determine whether the authentication is passed based on the verification results of 2.1 to 2.3 above. If and only if the comparison results of 2.1 and 2.2 are consistent, and the judgment result of 2.3 is valid, the authentication is passed.
上述基于数据库的鉴权方法存在的问题是:数据库建立、运营、管理、维护的成本高,并且使用方法繁琐。数据库安全性低,容易遭受各种攻击。The problems with the above database-based authentication method are: the cost of database establishment, operation, management, and maintenance is high, and the use method is cumbersome. Database security is low and vulnerable to various attacks.
文献[1](CN 101964039 B:一种版权对象的加密保护方法和系统)、文献[2](CN102523563B:一种基于标识密码技术的彩信加密方法)、文献[3](CN102970144B:基于身份的认证方法)、文献[4](CN103326853A、一种密钥更新的方法及装置)和文献[5](CN104065487A:一种基于数字指纹随机密值IBC身份认证方法)都提供了一种鉴权方法,但是都不能解决上述技术问题。Document [1] (CN101964039B: a method and system for the protection and protection of copyright objects), document [2] (CN102523563B: an MMS encryption method based on identification password technology), document [3] (CN102970144B: identity-based Authentication method), document [4] (CN103326853A, a method and device for key update) and document [5] (CN104065487A: a digital fingerprint random secret value IBC identity authentication method) all provide an authentication method , But none of them can solve the above technical problems.
发明内容Summary of the Invention
本发明的目的在于,通过将IBC体系运用到鉴权中,克服现有技术存在的上述缺陷,从而提供了一种鉴权方法和鉴权系统,能够提高鉴权过程的安全性和可靠性。The purpose of the present invention is to overcome the above-mentioned shortcomings of the prior art by applying the IBC system to authentication, thereby providing an authentication method and an authentication system that can improve the security and reliability of the authentication process.
为了实现上述目的,本发明提出了一种鉴权方法,用于实现鉴权中心对鉴权模块请求的鉴权,所述鉴权模块运行在客户端,所述鉴权中心运行在服务端,其特征在于,所述方法包括:In order to achieve the above object, the present invention proposes an authentication method for implementing authentication requested by an authentication center to an authentication module, where the authentication module runs on a client, and the authentication center runs on a server, It is characterized in that the method includes:
所述鉴权中心基于一个或多个鉴权因子生成鉴权标识,所述鉴权因子由鉴权模块发送给鉴权中心或者由鉴权中心生成;The authentication center generates an authentication identifier based on one or more authentication factors, and the authentication factor is sent to the authentication center by the authentication module or is generated by the authentication center;
所述鉴权中心基于该鉴权标识生成鉴权私钥,并将鉴权标识和鉴权私钥发送给鉴权模块;The authentication center generates an authentication private key based on the authentication identifier, and sends the authentication identifier and the authentication private key to the authentication module;
所述鉴权中心和鉴权模块依据鉴权标识的内容,对鉴权标识进行全部存储、部分存储或全部删除的操作;The authentication center and the authentication module perform all operations of storing, partially storing, or deleting the authentication identifier according to the content of the authentication identifier;
所述鉴权模块向所述鉴权中心发送鉴权请求,所述鉴权中心对所述鉴权请求进行验证。The authentication module sends an authentication request to the authentication center, and the authentication center verifies the authentication request.
作为上述方法的一种改进,鉴权中心和鉴权模块的初始化步骤:所述鉴权中心的IBC初始化单元基于选择的IBC算法,建立IBC算法的PKG,使用该PKG生成一组主密钥和一组公共参数,所述鉴权中心的第二存储单元存储IBC初始化单元生成的主密钥;所述鉴权模块的IBC载入单元载入该组公共参数。As an improvement to the above method, the initialization step of the authentication center and the authentication module: The IBC initialization unit of the authentication center establishes a PKG of the IBC algorithm based on the selected IBC algorithm, and uses the PKG to generate a set of master keys and A set of public parameters. The second storage unit of the authentication center stores the master key generated by the IBC initialization unit; the IBC load unit of the authentication module loads the set of public parameters.
作为上述方法的一种改进,客户端设备硬件信息、口令、失效时间、账户名或客户端标签。As an improvement of the above method, the client device hardware information, password, expiration time, account name, or client tag.
作为上述方法的一种改进,所述方法具体包括:As an improvement of the above method, the method specifically includes:
步骤A1)所述鉴权模块向鉴权中心发起私钥与鉴权标识生成请求,将客户端设备硬件信息发送给鉴权中心;所述鉴权中心的鉴权标识生成单元生成包括客户端设备硬件信息的鉴权标识,鉴权中心的鉴权私钥生成单元根据鉴权标识生成鉴权私钥;Step A1) The authentication module initiates a private key and authentication ID generation request to an authentication center, and sends client device hardware information to the authentication center; the authentication ID generation unit of the authentication center generates a client device Hardware information authentication identifier, and the authentication private key generation unit of the authentication center generates the authentication private key according to the authentication identifier;
步骤A2)所述鉴权中心将鉴权标识和鉴权私钥发送给鉴权模块,鉴权中心删除鉴权标识和鉴权私钥,所述鉴权模块接收后,所述鉴权模块删除鉴权标识中的客户端设备硬件信息,所述鉴权模块的第一存储单元存储鉴权标识和鉴权私钥;Step A2) The authentication center sends an authentication identifier and an authentication private key to the authentication module, and the authentication center deletes the authentication identifier and the authentication private key. After the authentication module receives the authentication module, the authentication module deletes Client device hardware information in the authentication identifier, and the first storage unit of the authentication module stores the authentication identifier and the authentication private key;
步骤A3)所述鉴权模块的鉴权请求单元向鉴权中心发送鉴权请求,所述鉴权中心的鉴权验证单元验证后将鉴权结果返回鉴权模块。Step A3) The authentication request unit of the authentication module sends an authentication request to the authentication center, and the authentication verification unit of the authentication center returns the authentication result to the authentication module after verification.
作为上述方法的一种改进,所述步骤A3)具体包括:As an improvement of the above method, the step A3) specifically includes:
步骤A3-1)所述鉴权模块的鉴权请求单元向鉴权中心发送鉴权请求;Step A3-1) The authentication request unit of the authentication module sends an authentication request to the authentication center;
步骤A3-2)所述鉴权中心的鉴权验证单元向鉴权模块发送一个挑战;所述挑战为随机数或特定信息;Step A3-2) The authentication verification unit of the authentication center sends a challenge to the authentication module; the challenge is a random number or specific information;
步骤A3-3)鉴权模块获取设备硬件信息,组装出完整的鉴权标识;使用鉴权私钥对挑战使用IBC签名算法进行签名,得到挑战的数字签名,然后将鉴权标识和数字签名发送给鉴权中心;Step A3-3) The authentication module obtains the hardware information of the device and assembles a complete authentication identification; the authentication private key is used to sign the challenge using the IBC signature algorithm to obtain the challenge digital signature, and then the authentication identification and digital signature are sent To the authentication center;
步骤A3-4)所述鉴权中心的鉴权验证单元以鉴权标识作为ID使用IBC验签算法验证数字签名;得到鉴权结果;Step A3-4) The authentication verification unit of the authentication center uses the authentication identifier as the ID to verify the digital signature using the IBC signature verification algorithm; obtain the authentication result;
步骤A3-5)所述鉴权中心的鉴权验证单元将鉴权结果发送给鉴权模块。Step A3-5) The authentication verification unit of the authentication center sends the authentication result to the authentication module.
作为上述方法的一种改进,当鉴权中心设置设备锁定列表,则所述步骤A3-4) 还包括:判断鉴权标识中的设备硬件信息是否在设备锁定列表中,如果判断结果是肯定的,则验签未通过,否则,验签通过。As an improvement of the above method, when the authentication center sets a device lock list, the step A3-4) further includes: judging whether the device hardware information in the authentication identifier is in the device lock list, and if the determination result is positive , The inspection fails, otherwise, the inspection passes.
作为上述方法的一种改进,所述步骤A3)具体包括:As an improvement of the above method, the step A3) specifically includes:
步骤A3-1′)鉴权模块获取客户端设备硬件信息,组装出完整的鉴权标识;所述鉴权模块的鉴权请求单元生成一个挑战,使用鉴权私钥对挑战使用IBC签名算法进行签名,得到数字签名,然后将鉴权标识、挑战和数字签名发送给鉴权中心;Step A3-1 ′) The authentication module obtains client device hardware information and assembles a complete authentication identifier; the authentication request unit of the authentication module generates a challenge, and the challenge is performed using the IBC signature algorithm using the authentication private key Sign, get a digital signature, and then send the authentication ID, challenge, and digital signature to the authentication center;
步骤A3-2′)所述鉴权中心的鉴权验证单元以鉴权标识作为ID使用IBC验签算法验证数字签名;得到鉴权结果;Step A3-2 ′) The authentication verification unit of the authentication center uses the authentication identifier as the ID to verify the digital signature using the IBC signature verification algorithm; obtains the authentication result;
步骤A3-3′)所述鉴权中心的第一鉴权验证单元将鉴权结果发送给鉴权模块。Step A3-3 ′) The first authentication verification unit of the authentication center sends the authentication result to the authentication module.
作为上述方法的一种改进,所述方法具体包括:As an improvement of the above method, the method specifically includes:
步骤B1)所述鉴权模块向鉴权中心发起私钥与鉴权标识生成请求,所述鉴权模块将口令发送给鉴权中心;所述鉴权中心的鉴权标识生成单元生成包括口令的鉴权标识,鉴权中心的鉴权私钥生成单元根据鉴权标识生成鉴权私钥;Step B1) The authentication module initiates a private key and authentication ID generation request to the authentication center, and the authentication module sends a password to the authentication center; the authentication ID generation unit of the authentication center generates a password including the password. An authentication identifier, and an authentication private key generating unit of an authentication center generates an authentication private key according to the authentication identifier;
步骤B2)所述鉴权中心将鉴权标识和鉴权私钥发送给鉴权模块,鉴权中心删除鉴权标识和鉴权私钥,所述鉴权模块接收后,所述鉴权模块删除鉴权标识中的口令,所述鉴权模块的第一存储单元存储鉴权标识和鉴权私钥;Step B2) The authentication center sends the authentication identifier and the authentication private key to the authentication module, and the authentication center deletes the authentication identifier and the authentication private key. After receiving the authentication module, the authentication module deletes The password in the authentication ID, and the first storage unit of the authentication module stores the authentication ID and the authentication private key;
步骤B3)所述鉴权模块的鉴权请求单元向鉴权中心发送鉴权请求,所述鉴权中心的鉴权验证单元验证后将鉴权结果返回鉴权模块。Step B3) The authentication request unit of the authentication module sends an authentication request to the authentication center, and the authentication verification unit of the authentication center returns the authentication result to the authentication module after verification.
作为上述方法的一种改进,所述方法具体包括:As an improvement of the above method, the method specifically includes:
步骤C1)所述鉴权模块的账户生成单元生成账户名,所述鉴权模块向鉴权中心发起私钥与鉴权标识生成请求,将账户名发送给鉴权中心;Step C1) The account generation unit of the authentication module generates an account name, the authentication module initiates a private key and authentication ID generation request to the authentication center, and sends the account name to the authentication center;
步骤C2)所述鉴权中心的鉴权标识生成单元生成包括账户名的鉴权标识,鉴权中心的鉴权私钥生成单元根据鉴权标识生成鉴权私钥;Step C2) The authentication identifier generation unit of the authentication center generates an authentication identifier including an account name, and the authentication private key generation unit of the authentication center generates an authentication private key according to the authentication identifier;
步骤C3)所述鉴权中心将鉴权标识和鉴权私钥发送给鉴权模块,鉴权中心删除鉴权标识和鉴权私钥;所述鉴权模块接收后,所述鉴权模块的第一存储单元存储鉴权标识和鉴权私钥;Step C3) The authentication center sends the authentication identifier and the authentication private key to the authentication module, and the authentication center deletes the authentication identifier and the authentication private key; after the authentication module receives the authentication module, The first storage unit stores an authentication identifier and an authentication private key;
步骤C4)所述鉴权模块的鉴权请求单元向鉴权中心发送鉴权请求,所述鉴权中心的鉴权验证单元验证后将鉴权结果返回鉴权模块。Step C4) The authentication request unit of the authentication module sends an authentication request to the authentication center, and the authentication verification unit of the authentication center returns the authentication result to the authentication module after verification.
作为上述方法的一种改进,所述方法具体包括:As an improvement of the above method, the method specifically includes:
步骤D1)所述鉴权模块向鉴权中心发起私钥与鉴权标识生成请求,所述鉴权模块将客户端标签发送给鉴权中心;所述鉴权中心的鉴权标识生成单元生成包括客户端标签的鉴权标识,所述鉴权中心的鉴权私钥生成单元根据鉴权标识生成鉴权私钥;Step D1) The authentication module initiates a request for generating a private key and an authentication identifier to the authentication center, and the authentication module sends a client tag to the authentication center; the generation of the authentication identifier generating unit of the authentication center includes An authentication identifier of a client label, and an authentication private key generating unit of the authentication center generates an authentication private key according to the authentication identifier;
步骤D2)所述鉴权中心将鉴权标识和鉴权私钥发送给鉴权模块,鉴权中心删除鉴权标识和鉴权私钥,所述鉴权模块接收后,所述鉴权模块的第一存储单元存储鉴权标识和鉴权私钥;Step D2) The authentication center sends the authentication identifier and the authentication private key to the authentication module, and the authentication center deletes the authentication identifier and the authentication private key. After the authentication module receives the authentication module, The first storage unit stores an authentication identifier and an authentication private key;
步骤D3)所述鉴权模块的鉴权请求单元向鉴权中心发送鉴权请求,所述鉴权中心的鉴权验证单元验证后将鉴权结果返回鉴权模块。Step D3) The authentication request unit of the authentication module sends an authentication request to an authentication center, and the authentication verification unit of the authentication center returns the authentication result to the authentication module after verification.
作为上述方法的一种改进,所述步骤D3)具体包括:As an improvement of the above method, the step D3) specifically includes:
步骤D3-1)所述鉴权模块的鉴权请求单元向鉴权中心发送鉴权请求;Step D3-1) The authentication request unit of the authentication module sends an authentication request to the authentication center;
步骤D3-2)所述鉴权中心的鉴权验证单元向鉴权模块发送一个挑战;所述挑战为随机数或特定信息;Step D3-2) The authentication verification unit of the authentication center sends a challenge to the authentication module; the challenge is a random number or specific information;
步骤D3-3)鉴权模块从第一存储单元获取鉴权标识;使用鉴权私钥对挑战使用IBC签名算法进行签名,得到挑战的数字签名,然后将鉴权标识和数字签名发送给鉴权中心;Step D3-3) The authentication module obtains the authentication ID from the first storage unit; uses the authentication private key to sign the challenge using the IBC signature algorithm to obtain the digital signature of the challenge, and then sends the authentication ID and digital signature to the authentication center;
步骤D3-4)所述鉴权中心的鉴权验证单元以鉴权标识作为ID使用IBC验签算法验证数字签名;得到鉴权结果;Step D3-4) The authentication verification unit of the authentication center uses the authentication identifier as the ID to verify the digital signature using the IBC signature verification algorithm; obtains the authentication result;
步骤D3-5)所述鉴权中心的鉴权验证单元将鉴权结果发送给鉴权模块。Step D3-5) The authentication verification unit of the authentication center sends the authentication result to the authentication module.
作为上述方法的一种改进,当鉴权中心设置客户端锁定列表,所述步骤D3-4)还包括:判断鉴权标识中的客户端标签是否在客户端锁定列表中,如果判断结果是肯定的,则验签未通过,否则,验签通过。As an improvement of the above method, when the authentication center sets a client lock list, the step D3-4) further includes: judging whether the client tag in the authentication identifier is in the client lock list, and if the judgment result is positive If yes, the inspection fails, otherwise, the inspection passes.
作为上述方法的一种改进,所述方法具体包括:As an improvement of the above method, the method specifically includes:
步骤E1)所述鉴权中心的鉴权标识生成单元生成包括失效时间的鉴权标识,所述鉴权中心的鉴权私钥生成单元根据鉴权标识生成鉴权私钥;Step E1) The authentication identifier generation unit of the authentication center generates an authentication identifier including a time of expiration, and the authentication private key generation unit of the authentication center generates an authentication private key according to the authentication identifier;
步骤E2)所述鉴权中心将鉴权标识和鉴权私钥发送给鉴权模块,鉴权中心删除鉴权标识和鉴权私钥,所述鉴权模块接收后,所述鉴权模块的第一存储单元存储鉴权标识和鉴权私钥;Step E2) The authentication center sends an authentication identifier and an authentication private key to the authentication module, and the authentication center deletes the authentication identifier and the authentication private key. After the authentication module receives the authentication module, The first storage unit stores an authentication identifier and an authentication private key;
步骤E3)所述鉴权模块的鉴权请求单元向鉴权中心发送鉴权请求,所述鉴权中心的鉴权验证单元验证后将鉴权结果返回鉴权模块。Step E3) The authentication request unit of the authentication module sends an authentication request to the authentication center, and the authentication verification unit of the authentication center returns the authentication result to the authentication module after verification.
作为上述方法的一种改进,所述步骤E3)具体包括:As an improvement of the above method, the step E3) specifically includes:
步骤E3-1)所述鉴权模块的鉴权请求单元向鉴权中心发送鉴权请求;Step E3-1) The authentication request unit of the authentication module sends an authentication request to the authentication center;
步骤E3-2)所述鉴权中心的鉴权验证单元向鉴权模块发送一个挑战;所述挑战为随机数或特定信息;Step E3-2) The authentication verification unit of the authentication center sends a challenge to the authentication module; the challenge is a random number or specific information;
步骤E3-3)鉴权模块从第一存储单元获取鉴权标识;使用鉴权私钥对挑战使用IBC签名算法进行签名,得到挑战的数字签名,然后将鉴权标识和数字签名发送给 鉴权中心;Step E3-3) The authentication module obtains the authentication ID from the first storage unit; uses the authentication private key to sign the challenge using the IBC signature algorithm to obtain the digital signature of the challenge, and then sends the authentication ID and digital signature to the authentication center;
步骤E3-4)所述鉴权中心的鉴权验证单元以鉴权标识作为ID使用IBC验签算法验证数字签名;得到鉴权结果;Step E3-4) The authentication verification unit of the authentication center uses the authentication identifier as the ID to verify the digital signature using the IBC sign verification algorithm; obtain the authentication result;
步骤E3-5)所述鉴权中心的鉴权验证单元将鉴权结果发送给鉴权模块。Step E3-5) The authentication verification unit of the authentication center sends the authentication result to the authentication module.
作为上述方法的一种改进,所述步骤E3-4)还包括:判断当前时间是否小于鉴权标识中的失效时间,如果判断结果是肯定的,则验签通过,否则,验签未通过。As an improvement of the above method, the step E3-4) further includes: judging whether the current time is less than the expiration time in the authentication identifier, and if the judgment result is positive, the verification is passed; otherwise, the verification is not passed.
作为上述方法的一种改进,当鉴权因子包括客户端设备硬件信息和口令时,所述方法具体包括:As an improvement of the above method, when the authentication factor includes client device hardware information and a password, the method specifically includes:
步骤F1)所述鉴权模块向鉴权中心发起私钥与鉴权标识生成请求,将客户端设备硬件信息和口令发送给鉴权中心;所述鉴权中心的鉴权标识生成单元生成包括客户端设备硬件信息和口令的鉴权标识,鉴权中心的鉴权私钥生成单元根据鉴权标识生成鉴权私钥;Step F1) The authentication module initiates a private key and authentication ID generation request to the authentication center, and sends the client device hardware information and password to the authentication center; the authentication ID generation unit of the authentication center includes the client End device hardware information and password authentication ID, and the authentication private key generation unit of the authentication center generates the authentication private key according to the authentication ID;
步骤F2)所述鉴权中心将鉴权标识和鉴权私钥发送给鉴权模块,所述鉴权中心删除鉴权标识;所述鉴权模块接收后,所述鉴权模块删除鉴权标识中的口令,所述鉴权模块的第一存储单元存储鉴权标识和鉴权私钥;Step F2) The authentication center sends the authentication identifier and the authentication private key to the authentication module, and the authentication center deletes the authentication identifier; after the authentication module receives, the authentication module deletes the authentication identifier In the password, the first storage unit of the authentication module stores an authentication identifier and an authentication private key;
步骤F3)所述鉴权模块的鉴权请求单元向鉴权中心发送鉴权请求,所述鉴权中心的鉴权验证单元验证后将鉴权结果返回鉴权模块。Step F3) The authentication request unit of the authentication module sends an authentication request to the authentication center, and the authentication verification unit of the authentication center returns the authentication result to the authentication module after verification.
作为上述方法的一种改进,当鉴权因子包括客户端设备硬件信息、口令和账户名时,所述方法具体包括:As an improvement of the above method, when the authentication factor includes client device hardware information, password, and account name, the method specifically includes:
步骤G1)所述鉴权模块的账户生成单元生成账户名,将账户名发送给鉴权中心;将账户名存储在鉴权中心的存储单元;Step G1) The account generating unit of the authentication module generates an account name, and sends the account name to the authentication center; and stores the account name in a storage unit of the authentication center;
步骤G2)所述鉴权模块向鉴权中心发起私钥与鉴权标识生成请求,将客户端设备硬件信息和口令发送给鉴权中心;所述鉴权中心的鉴权标识生成单元生成至少包括账户名、客户端设备硬件信息和口令的鉴权标识,鉴权中心的鉴权私钥生成单元根据鉴权标识生成鉴权私钥;Step G2) The authentication module initiates a private key and authentication ID generation request to the authentication center, and sends the client device hardware information and password to the authentication center; the generation of the authentication ID generation unit of the authentication center includes at least The authentication ID of the account name, client device hardware information, and password, and the authentication private key generation unit of the authentication center generates the authentication private key according to the authentication ID;
步骤G3)所述鉴权中心将鉴权标识和鉴权私钥发送给鉴权模块,所述鉴权中心删除鉴权标识;所述鉴权模块接收后,所述鉴权模块删除鉴权标识中的口令,所述鉴权模块的第一存储单元存储鉴权标识和鉴权私钥;Step G3) The authentication center sends an authentication identifier and an authentication private key to the authentication module, and the authentication center deletes the authentication identifier; after the authentication module receives, the authentication module deletes the authentication identifier In the password, the first storage unit of the authentication module stores an authentication identifier and an authentication private key;
步骤G4)所述鉴权模块的鉴权请求单元向鉴权中心发送鉴权请求,所述鉴权中心的鉴权验证单元验证后将鉴权结果返回鉴权模块。Step G4) The authentication request unit of the authentication module sends an authentication request to the authentication center, and the authentication verification unit of the authentication center returns the authentication result to the authentication module after verification.
作为上述方法的一种改进,所述步骤G2)具体包括:As an improvement of the above method, the step G2) specifically includes:
步骤G2-1)所述鉴权模块向鉴权中心发起私钥与鉴权标识生成请求,所述鉴权 模块将客户端设备硬件信息和口令发送给鉴权中心;Step G2-1) The authentication module initiates a private key and authentication identifier generation request to the authentication center, and the authentication module sends the client device hardware information and password to the authentication center;
步骤G2-2)鉴权中心为鉴权模块生成鉴权标识;所述鉴权标识至少由账户名、客户端设备硬件信息和口令组成;Step G2-2) The authentication center generates an authentication identifier for the authentication module; the authentication identifier consists of at least an account name, client device hardware information, and a password;
步骤G2-3)鉴权中心以鉴权标识作为ID,使用初始化步骤生成的PKG通过主密钥生成鉴权私钥。Step G2-3) The authentication center uses the authentication ID as the ID, and uses the PKG generated in the initialization step to generate the authentication private key through the master key.
作为上述方法的一种改进,所当鉴权因子包括客户端设备硬件信息、口令、客户端标签和失效时间时,所述方法具体包括:As an improvement of the above method, when the authentication factor includes client device hardware information, password, client label, and expiration time, the method specifically includes:
步骤H1)所述鉴权模块向鉴权中心发起私钥与鉴权标识生成请求,将客户端设备硬件信息、口令和客户端标签发送给鉴权中心;所述鉴权中心的鉴权标识生成单元生成包括账户名、客户端设备硬件信息、口令、客户端标签和失效时间的鉴权标识,鉴权中心的鉴权私钥生成单元根据鉴权标识生成鉴权私钥;Step H1) The authentication module initiates a private key and authentication ID generation request to the authentication center, and sends the client device hardware information, password, and client label to the authentication center; the authentication ID generation of the authentication center The unit generates an authentication identifier including account name, client device hardware information, password, client label, and expiration time, and the authentication private key generation unit of the authentication center generates an authentication private key according to the authentication identifier;
步骤H2)所述鉴权中心将鉴权标识和鉴权私钥发送给鉴权模块,所述鉴权中心删除鉴权标识;所述鉴权模块接收后,所述鉴权模块删除鉴权标识中的口令和客户端设备硬件信息,所述鉴权模块的第一存储单元存储鉴权标识和鉴权私钥;Step H2) The authentication center sends an authentication identifier and an authentication private key to the authentication module, and the authentication center deletes the authentication identifier; after receiving the authentication module, the authentication module deletes the authentication identifier The password and the client device hardware information, the first storage unit of the authentication module stores the authentication identifier and the authentication private key;
步骤H3)所述鉴权模块的鉴权请求单元向鉴权中心发送鉴权请求,所述鉴权中心的鉴权验证单元验证后将鉴权结果返回鉴权模块。Step H3) The authentication request unit of the authentication module sends an authentication request to the authentication center, and the authentication verification unit of the authentication center returns the authentication result to the authentication module after verification.
作为上述方法的一种改进,当鉴权因子包括客户端设备硬件信息、口令、账户名、客户端标签和失效时间时,所述方法具体包括:As an improvement of the above method, when the authentication factor includes client device hardware information, password, account name, client label, and expiration time, the method specifically includes:
步骤R1)所述鉴权模块的账户生成单元生成账户名,将账户名发送给鉴权中心;将账户名存储在鉴权中心的存储单元;Step R1) The account generating unit of the authentication module generates an account name, and sends the account name to the authentication center; and stores the account name in a storage unit of the authentication center;
步骤R2)所述鉴权模块向鉴权中心发起私钥与鉴权标识生成请求,将客户端设备硬件信息、口令和客户端标签发送给鉴权中心;所述鉴权中心的鉴权标识生成单元生成包括账户名、客户端设备硬件信息、口令、客户端标签和失效时间的鉴权标识,鉴权中心的鉴权私钥生成单元根据鉴权标识生成鉴权私钥;Step R2) The authentication module initiates a private key and authentication ID generation request to the authentication center, and sends client device hardware information, password, and client label to the authentication center; the authentication ID generation of the authentication center The unit generates an authentication identifier including account name, client device hardware information, password, client label, and expiration time, and the authentication private key generation unit of the authentication center generates an authentication private key according to the authentication identifier;
步骤R3)所述鉴权中心将鉴权标识和鉴权私钥发送给鉴权模块,所述鉴权中心删除鉴权标识;所述鉴权模块接收后,所述鉴权模块删除鉴权标识中的口令和客户端设备硬件信息,所述鉴权模块的第一存储单元存储鉴权标识和鉴权私钥;Step R3) The authentication center sends the authentication identifier and the authentication private key to the authentication module, and the authentication center deletes the authentication identifier; after receiving the authentication module, the authentication module deletes the authentication identifier The password and the client device hardware information, the first storage unit of the authentication module stores the authentication identifier and the authentication private key;
步骤R4)所述鉴权模块的鉴权请求单元向鉴权中心发送鉴权请求,所述鉴权中心的鉴权验证单元验证后将鉴权结果返回鉴权模块。Step R4) The authentication request unit of the authentication module sends an authentication request to the authentication center, and the authentication verification unit of the authentication center returns the authentication result to the authentication module after verification.
作为上述方法的一种改进,当所述鉴权中心保存设备信息列表,所述方法还包括挂失的步骤:As an improvement of the above method, when the authentication center saves the device information list, the method further includes the step of reporting the loss:
步骤S1)用户通过新的设备使用第二鉴权方式或其它身份认证手段认证用户身 份;Step S1) The user authenticates the identity of the user through the new device using the second authentication method or other identity authentication means;
步骤S2)所述鉴权中心验证用户身份,认证通过后,所述鉴权中心向用户展示设备信息列表;Step S2) The authentication center verifies the identity of the user. After the authentication is passed, the authentication center displays the device information list to the user;
步骤S3)用户从设备信息列表中选择需要挂失的设备,并告知鉴权中心;Step S3) The user selects a device to be reported from the device information list, and informs the authentication center;
步骤S4)所述鉴权中心将对应的设备硬件信息存放入设备锁定列表中,存放期限为永久或者失效日。Step S4) The authentication center stores the corresponding device hardware information in the device lock list, and the storage period is permanent or expiration date.
作为上述方法的一种改进,当所述鉴权中心保存设备硬件信息,所述方法还包括挂失的步骤:As an improvement of the above method, when the authentication center stores device hardware information, the method further includes the step of reporting the loss:
步骤S1′)用户通过新的设备使用第二鉴权方式或其他身份认证手段认证用户身份;Step S1 ′) The user authenticates the user identity through the new device using the second authentication mode or other identity authentication means;
步骤S2′)所述鉴权中心验证用户身份,认证通过后,鉴权中心将数据库中该用户账户对应的所有的设备硬件信息和客户端标签删除;Step S2 ′) The authentication center verifies the identity of the user. After the authentication is passed, the authentication center deletes all the device hardware information and client tags corresponding to the user account in the database;
步骤S3′)该账户的所有设备绑定都已失效,所有设备重新进行设备绑定流程。Step S3 ′) All device bindings of the account have been invalidated, and all devices perform the device binding process again.
作为上述方法的一种改进,执行挂失的步骤后,当时间到了失效时间的时候,设备挂失自行解除;当鉴权中心中设置客户端标签列表,则在设备挂失自行解除之前,所述方法还进一步包括解除挂失的步骤:As an improvement of the above method, after the step of reporting the loss is performed, when the time has expired, the device will automatically report the loss; when the client tag list is set in the authentication center, the method also will It further includes the steps of lifting the loss report:
步骤T1))用户通过新的设备使用第二鉴权方式或其他身份认证手段认证用户身份;Step T1)) The user uses the new device to use the second authentication method or other identity authentication means to authenticate the user's identity;
步骤T2)所述鉴权中心验证用户身份,认证通过后,鉴权中心向用户展示设备锁定列表;Step T2) The authentication center verifies the identity of the user. After the authentication is passed, the authentication center displays the device lock list to the user;
步骤T3)用户从设备锁定列表中选择需要解除挂失的设备,并告知鉴权中心;Step T3) The user selects a device from the device lock list to report loss, and informs the authentication center;
步骤T4)所述鉴权中心将对应的设备硬件信息与客户端标签放入客户端锁定列表中,存放期限为永久或者失效日期,同时将对应的设备硬件信息从设备锁定列表中删除;Step T4) The authentication center puts the corresponding device hardware information and client label in the client lock list, the storage period is permanent or expiration date, and simultaneously deletes the corresponding device hardware information from the device lock list;
步骤T5)待解除挂失的设备彻底删除原有的客户端标签,然后生成新的客户端标签,然后重新进行设备绑定。Step T5) The device to be reported is completely deleted from the original client label, then a new client label is generated, and then the device binding is performed again.
此外,本发明还提供了一种鉴权系统,所述系统包括:鉴权模块和鉴权中心;所述鉴权模块运行在客户端,所述鉴权中心运行在服务端;其特征在于,In addition, the present invention also provides an authentication system, the system includes: an authentication module and an authentication center; the authentication module runs on a client, and the authentication center runs on a server;
所述鉴权中心,用于基于一个或多个鉴权因子生成鉴权标识,所述鉴权因子由鉴权模块发送给鉴权中心或者由鉴权中心生成;还用于基于该鉴权标识生成鉴权私钥,并将鉴权标识和鉴权私钥发送给鉴权模块;还用于依据鉴权标识的内容,对鉴权标识进行全部存储、部分存储或全部删除的操作;还用于对鉴权模块发送的鉴权 请求进行验证;The authentication center is configured to generate an authentication identifier based on one or more authentication factors, and the authentication factor is sent to the authentication center by the authentication module or is generated by the authentication center; and is further used based on the authentication identifier. Generate an authentication private key, and send the authentication ID and the authentication private key to the authentication module; it is also used to perform all operations of storing, partially storing, or deleting the authentication ID based on the content of the authentication ID; Verifying the authentication request sent by the authentication module;
所述鉴权模块,用于依据鉴权标识的内容,对鉴权标识进行全部存储、部分存储或全部删除的操作;还用于向所述鉴权中心发送鉴权请求。The authentication module is configured to perform all operations of storing, partially storing, or deleting the authentication identifier according to the content of the authentication identifier, and is further configured to send an authentication request to the authentication center.
作为上述系统的一种改进,所述鉴权模块包括:IBC载入单元、账户生成单元、私钥请求单元、第一存储单元和鉴权请求单元;As an improvement of the above system, the authentication module includes: an IBC load unit, an account generation unit, a private key request unit, a first storage unit, and an authentication request unit;
所述IBC载入单元,用于载入鉴权中心公开的公共参数;The IBC loading unit is used to load the public parameters disclosed by the authentication center;
所述账户生成单元,用于生成鉴权模块的账户名;The account generating unit is configured to generate an account name of an authentication module;
所述第一存储单元,用于存储鉴权标识和/或鉴权私钥;The first storage unit is configured to store an authentication identifier and / or an authentication private key;
所述私钥请求单元,用于向鉴权中心发送鉴权因子;The private key requesting unit is configured to send an authentication factor to an authentication center;
所述鉴权请求单元,用于向鉴权中心发送鉴权请求,还用于接收鉴权中心发送的鉴权结果。The authentication request unit is configured to send an authentication request to an authentication center, and is also used to receive an authentication result sent by the authentication center.
作为上述系统的一种改进,所述鉴权中心包括:IBC初始化单元、鉴权标识生成单元、鉴权私钥生成单元、第二存储单元和鉴权验证单元;As an improvement of the above system, the authentication center includes: an IBC initialization unit, an authentication identifier generation unit, an authentication private key generation unit, a second storage unit, and an authentication verification unit;
所述IBC初始化单元,用于选择一种IBC算法,并建立一个该算法的私钥生成器PKG,使用PKG进行初始化,生成一组主密钥和公共参数,将公共参数公开;The IBC initialization unit is used to select an IBC algorithm and establish a private key generator PKG for the algorithm, use the PKG for initialization, generate a set of master keys and public parameters, and publicize the public parameters;
所述鉴权标识生成单元,用于根据鉴权模块发送的鉴权因子生成鉴权标识;The authentication identifier generating unit is configured to generate an authentication identifier according to an authentication factor sent by an authentication module;
所述鉴权私钥生成单元,用于以鉴权标识作为ID,通过IBC初始化单元生成的PKG和主密钥生成鉴权私钥;然后将鉴权标识和鉴权私钥发送给鉴权模块;The authentication private key generation unit is configured to generate an authentication private key by using the authentication identifier as an ID and the PKG and the master key generated by the IBC initialization unit; and then send the authentication identifier and the authentication private key to the authentication module. ;
所述第二存储单元:用于存储IBC初始化单元生成的主密钥;The second storage unit is configured to store a master key generated by an IBC initialization unit;
所述鉴权验证单元:用于接收鉴权模块的鉴权请求,以鉴权标识作为ID使用IBC验签算法验证数字签名,以及将鉴权结果发送给鉴权模块。The authentication verification unit is configured to receive an authentication request from an authentication module, use an authentication identifier as an ID to verify a digital signature using an IBC signature verification algorithm, and send an authentication result to the authentication module.
本发明的优势在于:The advantages of the present invention are:
1、使用开放式的鉴权标识,提高了鉴权方法的灵活性和可扩展性。1. The use of open authentication identification improves the flexibility and scalability of the authentication method.
2、在本发明的鉴权方法中,在客户端和服务端都不保存口令,口令只有用户本人知道,从而避免了由于口令被盗导致的安全问题;2. In the authentication method of the present invention, neither the client nor the server saves the password, and only the user knows the password, thereby avoiding the security problem caused by theft of the password;
3、在易用性不降低的前提下,本发明的鉴权方法和系统达到了更高的安全性,同时效率和成本也控制在一个较优的水平;3. On the premise that ease of use is not reduced, the authentication method and system of the present invention achieve higher security, and at the same time, efficiency and cost are controlled at a better level;
4、本发明的鉴权方法不但解决了基于数据库鉴权的弊端,还解决了使用PKI体系进行鉴权的弊端。4. The authentication method of the present invention not only solves the disadvantages of database-based authentication, but also solves the disadvantages of using PKI system for authentication.
附图说明BRIEF DESCRIPTION OF THE DRAWINGS
图1为本发明的实施例1提供的鉴权方法的流程图;FIG. 1 is a flowchart of an authentication method according to Embodiment 1 of the present invention; FIG.
图2为本发明的应用实例1提供的鉴权方法的流程图;2 is a flowchart of an authentication method provided by Application Example 1 of the present invention;
图3为本发明的应用实例2提供的鉴权方法的流程图;3 is a flowchart of an authentication method provided by Application Example 2 of the present invention;
图4为本发明的应用实例3提供的鉴权系统的示意图;4 is a schematic diagram of an authentication system provided by Application Example 3 of the present invention;
图5为本发明的应用实例3提供的鉴权系统中的鉴权模块的示意图;5 is a schematic diagram of an authentication module in an authentication system provided by Application Example 3 of the present invention;
图6为本发明的应用实例3提供的鉴权系统中的鉴权中心的示意图;6 is a schematic diagram of an authentication center in an authentication system provided by Application Example 3 of the present invention;
图7为本发明的应用实例4提供的鉴权系统的示意图;7 is a schematic diagram of an authentication system provided by Application Example 4 of the present invention;
图8为本发明的应用实例4提供的鉴权系统中的物联网设备的示意图;8 is a schematic diagram of an IoT device in an authentication system provided by Application Example 4 of the present invention;
图9为本发明的应用实例4提供的鉴权系统中的物联网平台的示意图。FIG. 9 is a schematic diagram of an IoT platform in an authentication system provided by Application Example 4 of the present invention.
具体实施方式detailed description
为使本领域的技术人员更好地理解本发明的技术方案,下面结合附图和具体实施例对本发明所提供的一种鉴权方法和鉴权系统进行详细的描述。To enable those skilled in the art to better understand the technical solution of the present invention, an authentication method and an authentication system provided by the present invention are described in detail below with reference to the accompanying drawings and specific embodiments.
下述“鉴权模块”指的是:需要被鉴权的一方,如邮箱登录操作时的客户端。The following "authentication module" refers to: the party that needs to be authenticated, such as the client during a mailbox login operation.
下述“鉴权中心”指的是:对鉴权模块进行鉴权的一方,如邮箱登录操作时的服务器。The following "authentication center" refers to: the party that authenticates the authentication module, such as the server during mailbox login operations.
下述“第二鉴权方式”指的是:鉴权中心可用于对鉴权模块进行鉴权的其他方式,如短信验证码等。The following "second authentication method" refers to: other methods that the authentication center can use to authenticate the authentication module, such as a short message verification code.
实施例1:通用鉴权流程(如图1所示):Embodiment 1: General authentication process (as shown in Figure 1):
1、系统建立:1. System establishment:
鉴权中心选择一种IBC算法,并建立一个该算法的私钥生成器PKG。使用PKG进行初始化,生成一组IBC_Master_Key和IBC_Common_Para。将IBC_Common_Para公开,鉴权模块载入IBC_Common_Para。IBC_Master_Key应存放在高安全服务端中,不可泄露,PKG也运行在高安全服务端上。不涉及IBC_Master_Key和PKG的操作可以使用一般服务端完成。The authentication center selects an IBC algorithm and establishes a private key generator PKG for the algorithm. Use PKG for initialization to generate a set of IBC_Master_Key and IBC_Common_Para. The IBC_Common_Para is made public, and the authentication module is loaded into the IBC_Common_Para. The IBC_Master_Key should be stored in the high-security server and cannot be leaked. The PKG also runs on the high-security server. Operations that do not involve IBC_Master_Key and PKG can be completed using a general server.
PKG的初始化阶段:The initialization phase of PKG:
(IBC_Master_Key,IBC_Common_Para)=IBC_Setup();(IBC_Master_Key, IBC_Common_Para) = IBC_Setup ();
服务端和客户端与鉴权相关的所有连接应该始终基于安全的信道(如使用SSl协议加密的信道),同时客户端有能力鉴权服务端,如使用SSL协议等。All connections between the server and client related to authentication should always be based on a secure channel (such as a channel encrypted using the SS1 protocol), and the client has the ability to authenticate the server, such as using the SSL protocol.
2、私钥与鉴权标识生成:2. Private key and authentication identification generation:
鉴权模块发起私钥生成请求。The authentication module initiates a private key generation request.
鉴权中心生成鉴权标识Token,并以Token作为ID,使用PKG通过主密钥IBC_Master_Key和IBC_Common_Para生成鉴权私钥Token_Private_Key,然后通过 可信且保密的手段(如使用SSL协议),将Token_Private_Key和Token发送到相应的鉴权模块中。The authentication center generates an authentication token Token, and uses the Token as the ID, uses PKG to generate the authentication private key Token_Private_Key through the master keys IBC_Master_Key and IBC_Common_Para, and then uses trusted and confidential means (such as using the SSL protocol) to exchange Token_Private_Key and Token Send to the corresponding authentication module.
Token_Private_Key=IBC_PKG(IBC_Master_Key,Token,IBC_Common_Para);Token_Private_Key = IBC_PKG (IBC_Master_Key, Token, IBC_Common_Para);
3、对私钥与鉴权标识的处理:3. Handling of private key and authentication ID:
鉴权中心彻底删除私钥,鉴权模块完整存储私钥。The authentication center completely deletes the private key, and the authentication module completely stores the private key.
鉴权中心和鉴权模块依据鉴权标识的内容,对鉴权标识进行全部存储、部分存储或全部删除的操作。The authentication center and the authentication module perform operations of storing, partially storing, or deleting the authentication ID in accordance with the content of the authentication ID.
4、鉴权:4. Authentication:
鉴权模块向鉴权中心发送鉴权请求。The authentication module sends an authentication request to the authentication center.
鉴权中心向鉴权模块发送一个挑战Challenge,或鉴权模块自己生成一个挑战。所述挑战为随机数或其它特定信息。The authentication center sends a Challenge to the authentication module, or the authentication module generates a challenge on its own. The challenge is a random number or other specific information.
鉴权模块使用完整的鉴权标识(若存储的鉴权标识不完整,则用相应的方法将其恢复完整),使用鉴权私钥Token_Private_Key对挑战Challenge使用IBC签名算法进行签名,得到对Challenge的数字签名Challenge_Sign,然后将Challenge(如果Challenge由鉴权模块自己生成)、Token和Challenge_Sign发送给鉴权中心;The authentication module uses the complete authentication ID (if the stored authentication ID is incomplete, it will be restored by the corresponding method), and uses the authentication private key Token_Private_Key to sign the challenge Challenge using the IBC signature algorithm to obtain Digitally sign Challenge_Sign, and then send Challenge (if Challenge is generated by the authentication module itself), Token, and Challenge_Sign to the authentication center;
Challenge_Sign=IBC_Sign(Challenge,Token_Private_Key,IBC_Common_Para);Challenge_Sign = IBC_Sign (Challenge, Token_Private_Key, IBC_Common_Para);
鉴权中心以鉴权标识Token作为ID使用IBC验签算法验证Challenge_Sign;得到鉴权结果;The authentication center uses the authentication token Token as the ID to verify the Challenge_Sign using the IBC signature verification algorithm; obtains the authentication result;
验签方可以直接使用签名方的鉴权标识Token作为ID进行验签:The signing party can directly use the signing party's authentication ID Token as the ID for signing:
Result=IBC_Verify(Challenge,Challenge_Sign,ID,IBC_Common_Para);Result = IBC_Verify (Challenge, Challenge_Sign, ID, IBC_Common_Para);
以验签通过作为鉴权通过的必要条件之一,其他必要条件取决于鉴权标识的内容。One of the necessary conditions for authentication is to pass the verification check. Other necessary conditions depend on the content of the authentication mark.
鉴权中心将鉴权结果发送给鉴权模块。The authentication center sends the authentication result to the authentication module.
实施例2:鉴权流程(设备信息):Embodiment 2: Authentication process (device information):
1、系统建立:1. System establishment:
鉴权中心选择一种IBC算法,并建立一个该算法的私钥生成器PKG。使用PKG进行初始化,生成一组IBC_Master_Key和IBC_Common_Para。将IBC_Common_Para公开,鉴权模块载入IBC_Common_Para。IBC_Master_Key应存放在高安全服务端中,不可泄露,PKG也运行在高安全服务端上。不涉及IBC_Master_Key和PKG的操作可以使用一般服务端完成。The authentication center selects an IBC algorithm and establishes a private key generator PKG for the algorithm. Use PKG for initialization to generate a set of IBC_Master_Key and IBC_Common_Para. The IBC_Common_Para is made public, and the authentication module is loaded into the IBC_Common_Para. The IBC_Master_Key should be stored in the high-security server and cannot be leaked. The PKG also runs on the high-security server. Operations that do not involve IBC_Master_Key and PKG can be completed using a general server.
PKG的初始化阶段:The initialization phase of PKG:
(IBC_Master_Key,IBC_Common_Para)=IBC_Setup();(IBC_Master_Key, IBC_Common_Para) = IBC_Setup ();
服务端和客户端与鉴权相关的所有连接应该始终基于安全的信道(如使用SSl协议加密的信道),同时客户端有能力鉴权服务端,如使用SSL协议等。All connections between the server and client related to authentication should always be based on a secure channel (such as a channel encrypted using the SS1 protocol), and the client has the ability to authenticate the server, such as using the SSL protocol.
2、私钥与鉴权标识生成:2. Private key and authentication identification generation:
鉴权模块发起私钥生成请求,私钥生成请求中包含鉴权模块的当前设备信息。The authentication module initiates a private key generation request, and the private key generation request includes the current device information of the authentication module.
鉴权中心生成鉴权标识Token,Token中包含1个鉴权因子:设备信息(来自私钥生成请求)。鉴权中心以Token作为ID,使用PKG通过主密钥IBC_Master_Key和IBC_Common_Para生成鉴权私钥Token_Private_Key,然后通过可信且保密的手段(如使用SSL协议),将Token_Private_Key和Token发送到相应的鉴权模块中。The authentication center generates an authentication token Token, which contains 1 authentication factor: device information (from the private key generation request). The authentication center uses Token as the ID, and uses PKG to generate the authentication private key Token_Private_Key through the master keys IBC_Master_Key and IBC_Common_Para, and then sends the Token_Private_Key and Token to the corresponding authentication module through trusted and confidential means (such as using the SSL protocol). in.
Token_Private_Key=IBC_PKG(IBC_Master_Key,Token,IBC_Common_Para);Token_Private_Key = IBC_PKG (IBC_Master_Key, Token, IBC_Common_Para);
3、对私钥与鉴权标识的处理:3. Handling of private key and authentication ID:
鉴权中心彻底删除私钥,鉴权模块完整存储私钥。The authentication center completely deletes the private key, and the authentication module completely stores the private key.
鉴权中心彻底删除整个Token。The authentication center completely deletes the entire token.
鉴权模块彻底删除Token中的设备信息。The authentication module completely deletes the device information in the token.
4、鉴权:4. Authentication:
鉴权模块向鉴权中心发送鉴权请求。The authentication module sends an authentication request to the authentication center.
鉴权中心向鉴权模块发送一个挑战Challenge,或鉴权模块自己生成一个挑战。所述挑战为随机数或其它特定信息。The authentication center sends a Challenge to the authentication module, or the authentication module generates a challenge on its own. The challenge is a random number or other specific information.
鉴权模块实时获取当前设备信息,从而组装出完整的鉴权标识。鉴权模块使用完整的鉴权标识,使用鉴权私钥Token_Private_Key对挑战Challenge使用IBC签名算法进行签名,得到对Challenge的数字签名Challenge_Sign,然后将Challenge(如果Challenge由鉴权模块自己生成)、Token和Challenge_Sign发送给鉴权中心;The authentication module obtains the current device information in real time, thereby assembling a complete authentication identification. The authentication module uses a complete authentication identifier, uses the authentication private key Token_Private_Key to sign the challenge Challenge using the IBC signature algorithm, obtains the digital signature Challenge_Sign, and then challenges (if Challenge is generated by the authentication module itself), Token and Challenge_Sign is sent to the authentication center;
Challenge_Sign=IBC_Sign(Challenge,Token_Private_Key,IBC_Common_Para);Challenge_Sign = IBC_Sign (Challenge, Token_Private_Key, IBC_Common_Para);
鉴权中心以鉴权标识Token作为ID使用IBC验签算法验证Challenge_Sign;得到鉴权结果;The authentication center uses the authentication token Token as the ID to verify the Challenge_Sign using the IBC signature verification algorithm; obtains the authentication result;
验签方可以直接使用签名方的鉴权标识Token作为ID进行验签:The signing party can directly use the signing party's authentication ID Token as the ID for signing:
Result=IBC_Verify(Challenge,Challenge_Sign,ID,IBC_Common_Para);Result = IBC_Verify (Challenge, Challenge_Sign, ID, IBC_Common_Para);
以验签通过作为鉴权通过的必要条件之一。如果鉴权中心存在设备锁定列表,则鉴权通过的必要条件还有:Token中的设备信息不在设备锁定列表中。One of the necessary conditions for passing the verification is to pass the inspection. If a device lock list exists in the authentication center, the necessary conditions for authentication to pass are: the device information in the token is not in the device lock list.
鉴权中心将鉴权结果发送给鉴权模块。The authentication center sends the authentication result to the authentication module.
实施例3:鉴权流程(口令):Embodiment 3: Authentication process (password):
1、系统建立:1. System establishment:
鉴权中心选择一种IBC算法,并建立一个该算法的私钥生成器PKG。使用PKG进行初始化,生成一组IBC_Master_Key和IBC_Common_Para。将IBC_Common_Para公开,鉴权模块载入IBC_Common_Para。IBC_Master_Key应存放在高安全服务端中,不可泄露,PKG也运行在高安全服务端上。不涉及IBC_Master_Key和PKG的操作可以使用一般服务端完成。The authentication center selects an IBC algorithm and establishes a private key generator PKG for the algorithm. Use PKG for initialization to generate a set of IBC_Master_Key and IBC_Common_Para. The IBC_Common_Para is made public, and the authentication module is loaded into the IBC_Common_Para. The IBC_Master_Key should be stored in the high-security server and cannot be leaked. The PKG also runs on the high-security server. Operations that do not involve IBC_Master_Key and PKG can be completed using a general server.
PKG的初始化阶段:The initialization phase of PKG:
(IBC_Master_Key,IBC_Common_Para)=IBC_Setup();(IBC_Master_Key, IBC_Common_Para) = IBC_Setup ();
服务端和客户端与鉴权相关的所有连接应该始终基于安全的信道(如使用SSl协议加密的信道),同时客户端有能力鉴权服务端,如使用SSL协议等。All connections between the server and client related to authentication should always be based on a secure channel (such as a channel encrypted using the SS1 protocol), and the client has the ability to authenticate the server, such as using the SSL protocol.
2、私钥与鉴权标识生成:2. Private key and authentication identification generation:
鉴权模块发起私钥生成请求,私钥生成请求中包含口令。The authentication module initiates a private key generation request, and the private key generation request includes a password.
鉴权中心生成鉴权标识Token,Token中包含1个鉴权因子:口令(来自私钥生成请求)。鉴权中心以Token作为ID,使用PKG通过主密钥IBC_Master_Key和IBC_Common_Para生成鉴权私钥Token_Private_Key,然后通过可信且保密的手段(如使用SSL协议),将Token_Private_Key和Token发送到相应的鉴权模块中。The authentication center generates an authentication token Token, which contains an authentication factor: a password (from a private key generation request). The authentication center uses Token as the ID, uses PKG to generate the authentication private key Token_Private_Key through the master keys IBC_Master_Key and IBC_Common_Para, and then sends the Token_Private_Key and Token to the corresponding authentication module through trusted and confidential means (such as using the SSL protocol) in.
Token_Private_Key=IBC_PKG(IBC_Master_Key,Token,IBC_Common_Para);Token_Private_Key = IBC_PKG (IBC_Master_Key, Token, IBC_Common_Para);
3、对私钥与鉴权标识的处理:3. Handling of private key and authentication ID:
鉴权中心彻底删除私钥,鉴权模块完整存储私钥。The authentication center completely deletes the private key, and the authentication module completely stores the private key.
鉴权中心彻底删除Token。The authentication center completely deletes the token.
鉴权模块彻底删除Token中的口令(基于账户的应用场景),或存储整个Token(基于设备的应用场景)。The authentication module completely deletes the password in the Token (account-based application scenario) or stores the entire Token (device-based application scenario).
4、鉴权:4. Authentication:
鉴权模块向鉴权中心发送鉴权请求。The authentication module sends an authentication request to the authentication center.
鉴权中心向鉴权模块发送一个挑战Challenge,或鉴权模块自己生成一个挑战。所述挑战为随机数或其它特定信息。The authentication center sends a Challenge to the authentication module, or the authentication module generates a challenge on its own. The challenge is a random number or other specific information.
鉴权模块实时获取用户输入的口令,从而组装出完整的鉴权标识(基于账户的应用场景),或者直接获取存储的鉴权标识(基于设备的应用场景)。鉴权模块使用完整的鉴权标识,使用鉴权私钥Token_Private_Key对挑战Challenge使用IBC签名算法进行签名,得到对Challenge的数字签名Challenge_Sign,然后将Challenge (如果Challenge由鉴权模块自己生成)、Token和Challenge_Sign发送给鉴权中心;The authentication module obtains the password entered by the user in real time, thereby assembling a complete authentication identifier (account-based application scenario), or directly obtaining a stored authentication identifier (device-based application scenario). The authentication module uses a complete authentication identifier, uses the authentication private key Token_Private_Key to sign the challenge Challenge using the IBC signature algorithm, obtains the digital signature Challenge_Sign, and then challenges (if Challenge is generated by the authentication module itself), Token and Challenge_Sign is sent to the authentication center;
Challenge_Sign=IBC_Sign(Challenge,Token_Private_Key,IBC_Common_Para);Challenge_Sign = IBC_Sign (Challenge, Token_Private_Key, IBC_Common_Para);
鉴权中心以鉴权标识Token作为ID使用IBC验签算法验证Challenge_Sign;得到鉴权结果;The authentication center uses the authentication token Token as the ID to verify the Challenge_Sign using the IBC signature verification algorithm; obtains the authentication result;
验签方可以直接使用签名方的鉴权标识Token作为ID进行验签:The signing party can directly use the signing party's authentication ID Token as the ID for signing:
Result=IBC_Verify(Challenge,Challenge_Sign,ID,IBC_Common_Para);Result = IBC_Verify (Challenge, Challenge_Sign, ID, IBC_Common_Para);
以验签通过作为鉴权通过的必要条件之一。无其他必要条件。One of the necessary conditions for passing the verification is to pass the inspection. No other necessary conditions.
鉴权中心将鉴权结果发送给鉴权模块。The authentication center sends the authentication result to the authentication module.
实施例4:鉴权流程(失效时间):Embodiment 4: Authentication process (time to failure):
1、系统建立:1. System establishment:
鉴权中心选择一种IBC算法,并建立一个该算法的私钥生成器PKG。使用PKG进行初始化,生成一组IBC_Master_Key和IBC_Common_Para。将IBC_Common_Para公开,鉴权模块载入IBC_Common_Para。IBC_Master_Key应存放在高安全服务端中,不可泄露,PKG也运行在高安全服务端上。不涉及IBC_Master_Key和PKG的操作可以使用一般服务端完成。The authentication center selects an IBC algorithm and establishes a private key generator PKG for the algorithm. Use PKG for initialization to generate a set of IBC_Master_Key and IBC_Common_Para. The IBC_Common_Para is made public, and the authentication module is loaded into the IBC_Common_Para. The IBC_Master_Key should be stored in the high-security server and cannot be leaked. The PKG also runs on the high-security server. Operations that do not involve IBC_Master_Key and PKG can be completed using a general server.
PKG的初始化阶段:The initialization phase of PKG:
(IBC_Master_Key,IBC_Common_Para)=IBC_Setup();(IBC_Master_Key, IBC_Common_Para) = IBC_Setup ();
服务端和客户端与鉴权相关的所有连接应该始终基于安全的信道(如使用SSl协议加密的信道),同时客户端有能力鉴权服务端,如使用SSL协议等。All connections between the server and client related to authentication should always be based on a secure channel (such as a channel encrypted using the SS1 protocol), and the client has the ability to authenticate the server, such as using the SSL protocol.
2、私钥与鉴权标识生成:2. Private key and authentication identification generation:
鉴权模块发起私钥生成请求。The authentication module initiates a private key generation request.
鉴权中心生成鉴权标识Token,Token中包含1个鉴权因子:失效时间(由鉴权中心设定)。鉴权中心以Token作为ID,使用PKG通过主密钥IBC_Master_Key和IBC_Common_Para生成鉴权私钥Token_Private_Key,然后通过可信且保密的手段(如使用SSL协议),将Token_Private_Key和Token发送到相应的鉴权模块中。The authentication center generates an authentication token Token, which contains 1 authentication factor: the expiration time (set by the authentication center). The authentication center uses Token as the ID, uses PKG to generate the authentication private key Token_Private_Key through the master keys IBC_Master_Key and IBC_Common_Para, and then sends the Token_Private_Key and Token to the corresponding authentication module through trusted and confidential means (such as using the SSL protocol) in.
Token_Private_Key=IBC_PKG(IBC_Master_Key,Token,IBC_Common_Para);Token_Private_Key = IBC_PKG (IBC_Master_Key, Token, IBC_Common_Para);
3、对私钥与鉴权标识的处理:3. Handling of private key and authentication ID:
鉴权中心彻底删除私钥,鉴权模块完整存储私钥。The authentication center completely deletes the private key, and the authentication module completely stores the private key.
鉴权中心彻底删除Token。The authentication center completely deletes the token.
鉴权模块存储整个Token。The authentication module stores the entire token.
4、鉴权:4. Authentication:
鉴权模块向鉴权中心发送鉴权请求。The authentication module sends an authentication request to the authentication center.
鉴权中心向鉴权模块发送一个挑战Challenge,或鉴权模块自己生成一个挑战。所述挑战为随机数或其它特定信息。The authentication center sends a Challenge to the authentication module, or the authentication module generates a challenge on its own. The challenge is a random number or other specific information.
鉴权模块直接获取存储的鉴权标识。鉴权模块使用完整的鉴权标识,使用鉴权私钥Token_Private_Key对挑战Challenge使用IBC签名算法进行签名,得到对Challenge的数字签名Challenge_Sign,然后将Challenge(如果Challenge由鉴权模块自己生成)、Token和Challenge_Sign发送给鉴权中心;The authentication module directly obtains the stored authentication identifier. The authentication module uses a complete authentication identifier, uses the authentication private key Token_Private_Key to sign the challenge Challenge using the IBC signature algorithm, obtains the digital signature Challenge_Sign, and then challenges (if Challenge is generated by the authentication module itself), Token and Challenge_Sign is sent to the authentication center;
Challenge_Sign=IBC_Sign(Challenge,Token_Private_Key,IBC_Common_Para);Challenge_Sign = IBC_Sign (Challenge, Token_Private_Key, IBC_Common_Para);
鉴权中心以鉴权标识Token作为ID使用IBC验签算法验证Challenge_Sign;得到鉴权结果;The authentication center uses the authentication token Token as the ID to verify the Challenge_Sign using the IBC signature verification algorithm; obtains the authentication result;
验签方可以直接使用签名方的鉴权标识Token作为ID进行验签:The signing party can directly use the signing party's authentication ID Token as the ID for signing:
Result=IBC_Verify(Challenge,Challenge_Sign,ID,IBC_Common_Para);Result = IBC_Verify (Challenge, Challenge_Sign, ID, IBC_Common_Para);
以验签通过作为鉴权通过的必要条件之一。另外的必要条件有:当前时间不大于鉴权标识中的失效时间。One of the necessary conditions for passing the verification is to pass the inspection. Another necessary condition is that the current time is not greater than the expiration time in the authentication identification.
鉴权中心将鉴权结果发送给鉴权模块。The authentication center sends the authentication result to the authentication module.
实施例5:鉴权流程(账户名):Embodiment 5: Authentication process (account name):
1、系统建立:1. System establishment:
鉴权中心选择一种IBC算法,并建立一个该算法的私钥生成器PKG。使用PKG进行初始化,生成一组IBC_Master_Key和IBC_Common_Para。将IBC_Common_Para公开,鉴权模块载入IBC_Common_Para。IBC_Master_Key应存放在高安全服务端中,不可泄露,PKG也运行在高安全服务端上。不涉及IBC_Master_Key和PKG的操作可以使用一般服务端完成。The authentication center selects an IBC algorithm and establishes a private key generator PKG for the algorithm. Use PKG for initialization to generate a set of IBC_Master_Key and IBC_Common_Para. The IBC_Common_Para is made public, and the authentication module is loaded into the IBC_Common_Para. The IBC_Master_Key should be stored in the high-security server and cannot be leaked. The PKG also runs on the high-security server. Operations that do not involve IBC_Master_Key and PKG can be completed using a general server.
PKG的初始化阶段:The initialization phase of PKG:
(IBC_Master_Key,IBC_Common_Para)=IBC_Setup();(IBC_Master_Key, IBC_Common_Para) = IBC_Setup ();
服务端和客户端与鉴权相关的所有连接应该始终基于安全的信道(如使用SSl协议加密的信道),同时客户端有能力鉴权服务端,如使用SSL协议等。All connections between the server and client related to authentication should always be based on a secure channel (such as a channel encrypted using the SS1 protocol), and the client has the ability to authenticate the server, such as using the SSL protocol.
2、私钥与鉴权标识生成:2. Private key and authentication identification generation:
鉴权模块发起私钥生成请求,私钥生成请求中包含账户名。The authentication module initiates a private key generation request, and the private key generation request includes an account name.
鉴权中心生成鉴权标识Token,Token中包含1个鉴权因子:账户名(来自私 钥生成请求)。鉴权中心以Token作为ID,使用PKG通过主密钥IBC_Master_Key和IBC_Common_Para生成鉴权私钥Token_Private_Key,然后通过可信且保密的手段(如使用SSL协议),将Token_Private_Key和Token发送到相应的鉴权模块中。The authentication center generates an authentication token Token, which contains 1 authentication factor: the account name (from the private key generation request). The authentication center uses Token as the ID, uses PKG to generate the authentication private key Token_Private_Key through the master keys IBC_Master_Key and IBC_Common_Para, and then sends the Token_Private_Key and Token to the corresponding authentication module through trusted and confidential means (such as using the SSL protocol) in.
Token_Private_Key=IBC_PKG(IBC_Master_Key,Token,IBC_Common_Para);Token_Private_Key = IBC_PKG (IBC_Master_Key, Token, IBC_Common_Para);
3、对私钥与鉴权标识的处理:3. Handling of private key and authentication ID:
鉴权中心彻底删除私钥,鉴权模块完整存储私钥。The authentication center completely deletes the private key, and the authentication module completely stores the private key.
鉴权中心彻底删除Token。The authentication center completely deletes the token.
鉴权模块存储整个Token。The authentication module stores the entire token.
4、鉴权:4. Authentication:
鉴权模块向鉴权中心发送鉴权请求。The authentication module sends an authentication request to the authentication center.
鉴权中心向鉴权模块发送一个挑战Challenge,或鉴权模块自己生成一个挑战。所述挑战为随机数或其它特定信息。The authentication center sends a Challenge to the authentication module, or the authentication module generates a challenge on its own. The challenge is a random number or other specific information.
鉴权模块直接获取存储的鉴权标识。鉴权模块使用完整的鉴权标识,使用鉴权私钥Token_Private_Key对挑战Challenge使用IBC签名算法进行签名,得到对Challenge的数字签名Challenge_Sign,然后将Challenge(如果Challenge由鉴权模块自己生成)、Token和Challenge_Sign发送给鉴权中心;The authentication module directly obtains the stored authentication identifier. The authentication module uses a complete authentication identifier, uses the authentication private key Token_Private_Key to sign the challenge Challenge using the IBC signature algorithm, obtains the digital signature Challenge_Sign, and then challenges (if Challenge is generated by the authentication module itself), Token and Challenge_Sign is sent to the authentication center;
Challenge_Sign=IBC_Sign(Challenge,Token_Private_Key,IBC_Common_Para);Challenge_Sign = IBC_Sign (Challenge, Token_Private_Key, IBC_Common_Para);
鉴权中心以鉴权标识Token作为ID使用IBC验签算法验证Challenge_Sign;得到鉴权结果;The authentication center uses the authentication token Token as the ID to verify the Challenge_Sign using the IBC signature verification algorithm; obtains the authentication result;
验签方可以直接使用签名方的鉴权标识Token作为ID进行验签:The signing party can directly use the signing party's authentication ID Token as the ID for signing:
Result=IBC_Verify(Challenge,Challenge_Sign,ID,IBC_Common_Para);Result = IBC_Verify (Challenge, Challenge_Sign, ID, IBC_Common_Para);
以验签通过作为鉴权通过的必要条件之一。无其他必要条件。One of the necessary conditions for passing the verification is to pass the inspection. No other necessary conditions.
鉴权中心将鉴权结果发送给鉴权模块。The authentication center sends the authentication result to the authentication module.
实施例6:鉴权流程(客户端标签):Embodiment 6: Authentication process (client tag):
1、系统建立:1. System establishment:
鉴权中心选择一种IBC算法,并建立一个该算法的私钥生成器PKG。使用PKG进行初始化,生成一组IBC_Master_Key和IBC_Common_Para。将IBC_Common_Para公开,鉴权模块载入IBC_Common_Para。IBC_Master_Key应存放在高安全服务端中,不可泄露,PKG也运行在高安全服务端上。不涉及IBC_Master_Key和PKG的操作可以使用一般服务端完成。The authentication center selects an IBC algorithm and establishes a private key generator PKG for the algorithm. Use PKG for initialization to generate a set of IBC_Master_Key and IBC_Common_Para. The IBC_Common_Para is made public, and the authentication module is loaded into the IBC_Common_Para. The IBC_Master_Key should be stored in the high-security server and cannot be leaked. The PKG also runs on the high-security server. Operations that do not involve IBC_Master_Key and PKG can be completed using a general server.
PKG的初始化阶段:The initialization phase of PKG:
(IBC_Master_Key,IBC_Common_Para)=IBC_Setup();(IBC_Master_Key, IBC_Common_Para) = IBC_Setup ();
服务端和客户端与鉴权相关的所有连接应该始终基于安全的信道(如使用SSl协议加密的信道),同时客户端有能力鉴权服务端,如使用SSL协议等。All connections between the server and client related to authentication should always be based on a secure channel (such as a channel encrypted using the SS1 protocol), and the client has the ability to authenticate the server, such as using the SSL protocol.
2、私钥与鉴权标识生成:2. Private key and authentication identification generation:
鉴权模块发起私钥生成请求,私钥生成请求中包含客户端标签。The authentication module initiates a private key generation request, and the private key generation request includes a client label.
鉴权中心生成鉴权标识Token,Token中包含1个鉴权因子:客户端标签(来自私钥生成请求)。鉴权中心以Token作为ID,使用PKG通过主密钥IBC_Master_Key和IBC_Common_Para生成鉴权私钥Token_Private_Key,然后通过可信且保密的手段(如使用SSL协议),将Token_Private_Key和Token发送到相应的鉴权模块中。The authentication center generates an authentication token Token, which contains an authentication factor: the client label (from the private key generation request). The authentication center uses Token as the ID, uses PKG to generate the authentication private key Token_Private_Key through the master keys IBC_Master_Key and IBC_Common_Para, and then sends the Token_Private_Key and Token to the corresponding authentication module through trusted and confidential means (such as using the SSL protocol) in.
Token_Private_Key=IBC_PKG(IBC_Master_Key,Token,IBC_Common_Para);Token_Private_Key = IBC_PKG (IBC_Master_Key, Token, IBC_Common_Para);
3、对私钥与鉴权标识的处理:3. Handling of private key and authentication ID:
鉴权中心彻底删除私钥,鉴权模块完整存储私钥。The authentication center completely deletes the private key, and the authentication module completely stores the private key.
鉴权中心彻底删除Token。The authentication center completely deletes the token.
鉴权模块存储整个Token。The authentication module stores the entire token.
4、鉴权:4. Authentication:
鉴权模块向鉴权中心发送鉴权请求。The authentication module sends an authentication request to the authentication center.
鉴权中心向鉴权模块发送一个挑战Challenge,或鉴权模块自己生成一个挑战。所述挑战为随机数或其它特定信息。The authentication center sends a Challenge to the authentication module, or the authentication module generates a challenge on its own. The challenge is a random number or other specific information.
鉴权模块直接获取存储的鉴权标识。鉴权模块使用完整的鉴权标识,使用鉴权私钥Token_Private_Key对挑战Challenge使用IBC签名算法进行签名,得到对Challenge的数字签名Challenge_Sign,然后将Challenge(如果Challenge由鉴权模块自己生成)、Token和Challenge_Sign发送给鉴权中心;The authentication module directly obtains the stored authentication identifier. The authentication module uses a complete authentication identifier, uses the authentication private key Token_Private_Key to sign the challenge Challenge using the IBC signature algorithm, obtains the digital signature Challenge_Sign, and then challenges (if Challenge is generated by the authentication module itself), Token and Challenge_Sign is sent to the authentication center;
Challenge_Sign=IBC_Sign(Challenge,Token_Private_Key,IBC_Common_Para);Challenge_Sign = IBC_Sign (Challenge, Token_Private_Key, IBC_Common_Para);
鉴权中心以鉴权标识Token作为ID使用IBC验签算法验证Challenge_Sign;得到鉴权结果;The authentication center uses the authentication token Token as the ID to verify the Challenge_Sign using the IBC signature verification algorithm; obtains the authentication result;
验签方可以直接使用签名方的鉴权标识Token作为ID进行验签:The signing party can directly use the signing party's authentication ID Token as the ID for signing:
Result=IBC_Verify(Challenge,Challenge_Sign,ID,IBC_Common_Para);Result = IBC_Verify (Challenge, Challenge_Sign, ID, IBC_Common_Para);
以验签通过作为鉴权通过的必要条件之一。如果鉴权中心存在客户端锁定列表,则鉴权通过的必要条件还有:Token中的客户端标签不在客户端锁定列表中。One of the necessary conditions for passing the verification is to pass the inspection. If there is a client lock list in the authentication center, the necessary conditions for authentication to pass are: the client tag in the token is not in the client lock list.
鉴权中心将鉴权结果发送给鉴权模块。The authentication center sends the authentication result to the authentication module.
实施例7:鉴权流程(设备信息+口令):Embodiment 7: Authentication process (device information + password):
1、系统建立:1. System establishment:
鉴权中心选择一种IBC算法,并建立一个该算法的私钥生成器PKG。使用PKG进行初始化,生成一组IBC_Master_Key和IBC_Common_Para。将IBC_Common_Para公开,鉴权模块载入IBC_Common_Para。IBC_Master_Key应存放在高安全服务端中,不可泄露,PKG也运行在高安全服务端上。不涉及IBC_Master_Key和PKG的操作可以使用一般服务端完成。The authentication center selects an IBC algorithm and establishes a private key generator PKG for the algorithm. Use PKG for initialization to generate a set of IBC_Master_Key and IBC_Common_Para. The IBC_Common_Para is made public, and the authentication module is loaded into the IBC_Common_Para. The IBC_Master_Key should be stored in the high-security server and cannot be leaked. The PKG also runs on the high-security server. Operations that do not involve IBC_Master_Key and PKG can be completed using a general server.
PKG的初始化阶段:The initialization phase of PKG:
(IBC_Master_Key,IBC_Common_Para)=IBC_Setup();(IBC_Master_Key, IBC_Common_Para) = IBC_Setup ();
服务端和客户端与鉴权相关的所有连接应该始终基于安全的信道(如使用SSl协议加密的信道),同时客户端有能力鉴权服务端,如使用SSL协议等。All connections between the server and client related to authentication should always be based on a secure channel (such as a channel encrypted using the SS1 protocol), and the client has the ability to authenticate the server, such as using the SSL protocol.
2、私钥与鉴权标识生成:2. Private key and authentication identification generation:
鉴权模块发起私钥生成请求,私钥生成请求中包含鉴权模块的当前设备信息和口令。The authentication module initiates a private key generation request, and the private key generation request includes the current device information and password of the authentication module.
鉴权中心生成鉴权标识Token,Token中包含2个鉴权因子:设备信息(来自私钥生成请求)和口令(来自私钥生成请求)。鉴权中心以Token作为ID,使用PKG通过主密钥IBC_Master_Key和IBC_Common_Para生成鉴权私钥Token_Private_Key,然后通过可信且保密的手段(如使用SSL协议),将Token_Private_Key和Token发送到相应的鉴权模块中。The authentication center generates an authentication token Token, which contains 2 authentication factors: device information (from the private key generation request) and password (from the private key generation request). The authentication center uses Token as the ID, uses PKG to generate the authentication private key Token_Private_Key through the master keys IBC_Master_Key and IBC_Common_Para, and then sends the Token_Private_Key and Token to the corresponding authentication module through trusted and confidential means (such as using the SSL protocol) in.
Token_Private_Key=IBC_PKG(IBC_Master_Key,Token,IBC_Common_Para);Token_Private_Key = IBC_PKG (IBC_Master_Key, Token, IBC_Common_Para);
3、对私钥与鉴权标识的处理:3. Handling of private key and authentication ID:
鉴权中心彻底删除私钥,鉴权模块完整存储私钥。The authentication center completely deletes the private key, and the authentication module completely stores the private key.
鉴权中心彻底删除整个Token。The authentication center completely deletes the entire token.
鉴权模块彻底删除Token中的设备信息。The authentication module completely deletes the device information in the token.
鉴权模块彻底删除Token中的口令(基于账户的应用场景),或存储Token的剩余部分(基于设备的应用场景)。The authentication module completely deletes the password in the Token (account-based application scenarios) or stores the rest of the Token (device-based application scenarios).
4、鉴权:4. Authentication:
鉴权模块向鉴权中心发送鉴权请求。The authentication module sends an authentication request to the authentication center.
鉴权中心向鉴权模块发送一个挑战Challenge,或鉴权模块自己生成一个挑战。所述挑战为随机数或其它特定信息。The authentication center sends a Challenge to the authentication module, or the authentication module generates a challenge on its own. The challenge is a random number or other specific information.
鉴权模块实时获取当前设备信息,鉴权模块实时获取用户输入的口令(基于账 户的应用场景)或者直接获取存储的Token的剩余部分(基于设备的应用场景),从而组装出完整的鉴权标识。鉴权模块使用完整的鉴权标识,使用鉴权私钥Token_Private_Key对挑战Challenge使用IBC签名算法进行签名,得到对Challenge的数字签名Challenge_Sign,然后将Challenge(如果Challenge由鉴权模块自己生成)、Token和Challenge_Sign发送给鉴权中心;The authentication module obtains the current device information in real time, the authentication module obtains the password entered by the user in real time (account-based application scenarios) or directly obtains the remaining part of the stored token (device-based application scenarios), thereby assembling a complete authentication identifier . The authentication module uses a complete authentication identifier, uses the authentication private key Token_Private_Key to sign the challenge Challenge using the IBC signature algorithm, obtains the digital signature Challenge_Sign, and then challenges (if Challenge is generated by the authentication module itself), Token and Challenge_Sign is sent to the authentication center;
Challenge_Sign=IBC_Sign(Challenge,Token_Private_Key,IBC_Common_Para);Challenge_Sign = IBC_Sign (Challenge, Token_Private_Key, IBC_Common_Para);
鉴权中心以鉴权标识Token作为ID使用IBC验签算法验证Challenge_Sign;得到鉴权结果;The authentication center uses the authentication token Token as the ID to verify the Challenge_Sign using the IBC signature verification algorithm; obtains the authentication result;
验签方可以直接使用签名方的鉴权标识Token作为ID进行验签:The signing party can directly use the signing party's authentication ID Token as the ID for signing:
Result=IBC_Verify(Challenge,Challenge_Sign,ID,IBC_Common_Para);Result = IBC_Verify (Challenge, Challenge_Sign, ID, IBC_Common_Para);
以验签通过作为鉴权通过的必要条件之一。如果鉴权中心存在设备锁定列表,则鉴权通过的必要条件还有:Token中的设备信息不在设备锁定列表中。One of the necessary conditions for passing the verification is to pass the inspection. If a device lock list exists in the authentication center, the necessary conditions for authentication to pass are: the device information in the token is not in the device lock list.
鉴权中心将鉴权结果发送给鉴权模块。The authentication center sends the authentication result to the authentication module.
实施例8:鉴权流程(设备信息+失效时间):Embodiment 8: Authentication process (equipment information + expiration time):
1、系统建立:1. System establishment:
鉴权中心选择一种IBC算法,并建立一个该算法的私钥生成器PKG。使用PKG进行初始化,生成一组IBC_Master_Key和IBC_Common_Para。将IBC_Common_Para公开,鉴权模块载入IBC_Common_Para。IBC_Master_Key应存放在高安全服务端中,不可泄露,PKG也运行在高安全服务端上。不涉及IBC_Master_Key和PKG的操作可以使用一般服务端完成。The authentication center selects an IBC algorithm and establishes a private key generator PKG for the algorithm. Use PKG for initialization to generate a set of IBC_Master_Key and IBC_Common_Para. The IBC_Common_Para is made public, and the authentication module is loaded into the IBC_Common_Para. The IBC_Master_Key should be stored in the high-security server and cannot be leaked. The PKG also runs on the high-security server. Operations that do not involve IBC_Master_Key and PKG can be completed using a general server.
PKG的初始化阶段:The initialization phase of PKG:
(IBC_Master_Key,IBC_Common_Para)=IBC_Setup();(IBC_Master_Key, IBC_Common_Para) = IBC_Setup ();
服务端和客户端与鉴权相关的所有连接应该始终基于安全的信道(如使用SSl协议加密的信道),同时客户端有能力鉴权服务端,如使用SSL协议等。All connections between the server and client related to authentication should always be based on a secure channel (such as a channel encrypted using the SS1 protocol), and the client has the ability to authenticate the server, such as using the SSL protocol.
2、私钥与鉴权标识生成:2. Private key and authentication identification generation:
鉴权模块发起私钥生成请求,私钥生成请求中包含鉴权模块的当前设备信息。The authentication module initiates a private key generation request, and the private key generation request includes the current device information of the authentication module.
鉴权中心生成鉴权标识Token,Token中包含2个鉴权因子:设备信息(来自私钥生成请求)、失效时间(由鉴权中心设定)。鉴权中心以Token作为ID,使用PKG通过主密钥IBC_Master_Key和IBC_Common_Para生成鉴权私钥Token_Private_Key,然后通过可信且保密的手段(如使用SSL协议),将Token_Private_Key和Token发 送到相应的鉴权模块中。The authentication center generates an authentication token Token, which contains two authentication factors: device information (from the private key generation request), and the expiration time (set by the authentication center). The authentication center uses Token as the ID, uses PKG to generate the authentication private key Token_Private_Key through the master keys IBC_Master_Key and IBC_Common_Para, and then sends the Token_Private_Key and Token to the corresponding authentication module through trusted and confidential means (such as using the SSL protocol) in.
Token_Private_Key=IBC_PKG(IBC_Master_Key,Token,IBC_Common_Para);Token_Private_Key = IBC_PKG (IBC_Master_Key, Token, IBC_Common_Para);
3、对私钥与鉴权标识的处理:3. Handling of private key and authentication ID:
鉴权中心彻底删除私钥,鉴权模块完整存储私钥。The authentication center completely deletes the private key, and the authentication module completely stores the private key.
鉴权中心彻底删除整个Token。The authentication center completely deletes the entire token.
鉴权模块彻底删除Token中的设备信息,并存储Token的剩余部分。The authentication module completely deletes the device information in the token and stores the rest of the token.
4、鉴权:4. Authentication:
鉴权模块向鉴权中心发送鉴权请求。The authentication module sends an authentication request to the authentication center.
鉴权中心向鉴权模块发送一个挑战Challenge,或鉴权模块自己生成一个挑战。所述挑战为随机数或其它特定信息。The authentication center sends a Challenge to the authentication module, or the authentication module generates a challenge on its own. The challenge is a random number or other specific information.
鉴权模块实时获取当前设备信息,从而组装出完整的鉴权标识。鉴权模块使用完整的鉴权标识,使用鉴权私钥Token_Private_Key对挑战Challenge使用IBC签名算法进行签名,得到对Challenge的数字签名Challenge_Sign,然后将Challenge(如果Challenge由鉴权模块自己生成)、Token和Challenge_Sign发送给鉴权中心;The authentication module obtains the current device information in real time, thereby assembling a complete authentication identification. The authentication module uses a complete authentication identifier, uses the authentication private key Token_Private_Key to sign the challenge Challenge using the IBC signature algorithm, obtains the digital signature Challenge_Sign, and then challenges (if Challenge is generated by the authentication module itself), Token and Challenge_Sign is sent to the authentication center;
Challenge_Sign=IBC_Sign(Challenge,Token_Private_Key,IBC_Common_Para);Challenge_Sign = IBC_Sign (Challenge, Token_Private_Key, IBC_Common_Para);
鉴权中心以鉴权标识Token作为ID使用IBC验签算法验证Challenge_Sign;得到鉴权结果;The authentication center uses the authentication token Token as the ID to verify the Challenge_Sign using the IBC signature verification algorithm; obtains the authentication result;
验签方可以直接使用签名方的鉴权标识Token作为ID进行验签:The signing party can directly use the signing party's authentication ID Token as the ID for signing:
Result=IBC_Verify(Challenge,Challenge_Sign,ID,IBC_Common_Para);Result = IBC_Verify (Challenge, Challenge_Sign, ID, IBC_Common_Para);
以验签通过作为鉴权通过的必要条件之一。如果鉴权中心存在设备锁定列表,则鉴权通过的必要条件还有:Token中的设备信息不在设备锁定列表中。另外的必要条件有:当前时间不大于鉴权标识中的失效时间。One of the necessary conditions for passing the verification is to pass the inspection. If a device lock list exists in the authentication center, the necessary conditions for authentication to pass are: the device information in the token is not in the device lock list. Another necessary condition is that the current time is not greater than the expiration time in the authentication identification.
鉴权中心将鉴权结果发送给鉴权模块。The authentication center sends the authentication result to the authentication module.
实施例9:鉴权流程(口令+失效时间):Embodiment 9: Authentication process (password + expiration time):
1、系统建立:1. System establishment:
鉴权中心选择一种IBC算法,并建立一个该算法的私钥生成器PKG。使用PKG进行初始化,生成一组IBC_Master_Key和IBC_Common_Para。将IBC_Common_Para公开,鉴权模块载入IBC_Common_Para。IBC_Master_Key应存放在高安全服务端中,不可泄露,PKG也运行在高安全服务端上。不涉及IBC_Master_Key和PKG的操作可以使用一般服务端完成。The authentication center selects an IBC algorithm and establishes a private key generator PKG for the algorithm. Use PKG for initialization to generate a set of IBC_Master_Key and IBC_Common_Para. The IBC_Common_Para is made public, and the authentication module is loaded into the IBC_Common_Para. The IBC_Master_Key should be stored in the high-security server and cannot be leaked. The PKG also runs on the high-security server. Operations that do not involve IBC_Master_Key and PKG can be completed using a general server.
PKG的初始化阶段:The initialization phase of PKG:
(IBC_Master_Key,IBC_Common_Para)=IBC_Setup();(IBC_Master_Key, IBC_Common_Para) = IBC_Setup ();
服务端和客户端与鉴权相关的所有连接应该始终基于安全的信道(如使用SSl协议加密的信道),同时客户端有能力鉴权服务端,如使用SSL协议等。All connections between the server and client related to authentication should always be based on a secure channel (such as a channel encrypted using the SS1 protocol), and the client has the ability to authenticate the server, such as using the SSL protocol.
2、私钥与鉴权标识生成:2. Private key and authentication identification generation:
鉴权模块发起私钥生成请求,私钥生成请求中包含口令。The authentication module initiates a private key generation request, and the private key generation request includes a password.
鉴权中心生成鉴权标识Token,Token中包含2个鉴权因子:口令(来自私钥生成请求)、失效时间(由鉴权中心设定)。鉴权中心以Token作为ID,使用PKG通过主密钥IBC_Master_Key和IBC_Common_Para生成鉴权私钥Token_Private_Key,然后通过可信且保密的手段(如使用SSL协议),将Token_Private_Key和Token发送到相应的鉴权模块中。The authentication center generates an authentication token Token, which contains two authentication factors: the password (from the private key generation request), and the expiration time (set by the authentication center). The authentication center uses Token as the ID, uses PKG to generate the authentication private key Token_Private_Key through the master keys IBC_Master_Key and IBC_Common_Para, and then sends the Token_Private_Key and Token to the corresponding authentication module through trusted and confidential means (such as using the SSL protocol) in.
Token_Private_Key=IBC_PKG(IBC_Master_Key,Token,IBC_Common_Para);Token_Private_Key = IBC_PKG (IBC_Master_Key, Token, IBC_Common_Para);
3、对私钥与鉴权标识的处理:3. Handling of private key and authentication ID:
鉴权中心彻底删除私钥,鉴权模块完整存储私钥。The authentication center completely deletes the private key, and the authentication module completely stores the private key.
鉴权中心彻底删除Token。The authentication center completely deletes the token.
鉴权模块彻底删除Token中的口令后存储Token的剩余部分(基于账户的应用场景),或直接存储Token的剩余部分(基于设备的应用场景)。After the authentication module completely deletes the password in the Token, it stores the remaining part of the Token (account-based application scenario) or directly stores the remaining part of the Token (device-based application scenario).
4、鉴权:4. Authentication:
鉴权模块向鉴权中心发送鉴权请求。The authentication module sends an authentication request to the authentication center.
鉴权中心向鉴权模块发送一个挑战Challenge,或鉴权模块自己生成一个挑战。所述挑战为随机数或其它特定信息。The authentication center sends a Challenge to the authentication module, or the authentication module generates a challenge on its own. The challenge is a random number or other specific information.
鉴权模块实时获取用户输入的口令,从而组装出完整的鉴权标识(基于账户的应用场景),或者直接获取存储的鉴权标识(基于设备的应用场景)。鉴权模块使用完整的鉴权标识,使用鉴权私钥Token_Private_Key对挑战Challenge使用IBC签名算法进行签名,得到对Challenge的数字签名Challenge_Sign,然后将Challenge(如果Challenge由鉴权模块自己生成)、Token和Challenge_Sign发送给鉴权中心;The authentication module obtains the password entered by the user in real time, thereby assembling a complete authentication identifier (account-based application scenario), or directly obtaining a stored authentication identifier (device-based application scenario). The authentication module uses a complete authentication identifier, uses the authentication private key Token_Private_Key to sign the challenge Challenge using the IBC signature algorithm, obtains the digital signature Challenge_Sign, and then challenges (if Challenge is generated by the authentication module itself), Token and Challenge_Sign is sent to the authentication center;
Challenge_Sign=IBC_Sign(Challenge,Token_Private_Key,IBC_Common_Para);Challenge_Sign = IBC_Sign (Challenge, Token_Private_Key, IBC_Common_Para);
鉴权中心以鉴权标识Token作为ID使用IBC验签算法验证Challenge_Sign;得到鉴权结果;The authentication center uses the authentication token Token as the ID to verify the Challenge_Sign using the IBC signature verification algorithm; obtains the authentication result;
验签方可以直接使用签名方的鉴权标识Token作为ID进行验签:The signing party can directly use the signing party's authentication ID Token as the ID for signing:
Result=IBC_Verify(Challenge,Challenge_Sign,ID,IBC_Common_Para);Result = IBC_Verify (Challenge, Challenge_Sign, ID, IBC_Common_Para);
以验签通过作为鉴权通过的必要条件之一。另外的必要条件有:当前时间不大于鉴权标识中的失效时间。One of the necessary conditions for passing the verification is to pass the inspection. Another necessary condition is that the current time is not greater than the expiration time in the authentication identification.
鉴权中心将鉴权结果发送给鉴权模块。The authentication center sends the authentication result to the authentication module.
实施例10:鉴权流程(设备信息+口令+失效时间):Embodiment 10: Authentication process (device information + password + expiration time):
1、系统建立:1. System establishment:
鉴权中心选择一种IBC算法,并建立一个该算法的私钥生成器PKG。使用PKG进行初始化,生成一组IBC_Master_Key和IBC_Common_Para。将IBC_Common_Para公开,鉴权模块载入IBC_Common_Para。IBC_Master_Key应存放在高安全服务端中,不可泄露,PKG也运行在高安全服务端上。不涉及IBC_Master_Key和PKG的操作可以使用一般服务端完成。The authentication center selects an IBC algorithm and establishes a private key generator PKG for the algorithm. Use PKG for initialization to generate a set of IBC_Master_Key and IBC_Common_Para. The IBC_Common_Para is made public, and the authentication module is loaded into the IBC_Common_Para. The IBC_Master_Key should be stored in the high-security server and cannot be leaked. The PKG also runs on the high-security server. Operations that do not involve IBC_Master_Key and PKG can be completed using a general server.
PKG的初始化阶段:The initialization phase of PKG:
(IBC_Master_Key,IBC_Common_Para)=IBC_Setup();(IBC_Master_Key, IBC_Common_Para) = IBC_Setup ();
服务端和客户端与鉴权相关的所有连接应该始终基于安全的信道(如使用SSl协议加密的信道),同时客户端有能力鉴权服务端,如使用SSL协议等。All connections between the server and client related to authentication should always be based on a secure channel (such as a channel encrypted using the SS1 protocol), and the client has the ability to authenticate the server, such as using the SSL protocol.
2、私钥与鉴权标识生成:2. Private key and authentication identification generation:
鉴权模块发起私钥生成请求,私钥生成请求中包含鉴权模块的当前设备信息和口令。The authentication module initiates a private key generation request, and the private key generation request includes the current device information and password of the authentication module.
鉴权中心生成鉴权标识Token,Token中包含3个鉴权因子:设备信息(来自私钥生成请求)、口令(来自私钥生成请求)、失效时间(由鉴权中心设定)。鉴权中心以Token作为ID,使用PKG通过主密钥IBC_Master_Key和IBC_Common_Para生成鉴权私钥Token_Private_Key,然后通过可信且保密的手段(如使用SSL协议),将Token_Private_Key和Token发送到相应的鉴权模块中。The authentication center generates an authentication token Token, which contains three authentication factors: device information (from the private key generation request), password (from the private key generation request), and expiration time (set by the authentication center). The authentication center uses Token as the ID, uses PKG to generate the authentication private key Token_Private_Key through the master keys IBC_Master_Key and IBC_Common_Para, and then sends the Token_Private_Key and Token to the corresponding authentication module through trusted and confidential means (such as using the SSL protocol) in.
Token_Private_Key=IBC_PKG(IBC_Master_Key,Token,IBC_Common_Para);Token_Private_Key = IBC_PKG (IBC_Master_Key, Token, IBC_Common_Para);
3、对私钥与鉴权标识的处理:3. Handling of private key and authentication ID:
鉴权中心彻底删除私钥,鉴权模块完整存储私钥。The authentication center completely deletes the private key, and the authentication module completely stores the private key.
鉴权中心彻底删除整个Token。The authentication center completely deletes the entire token.
鉴权模块彻底删除Token中的设备信息。The authentication module completely deletes the device information in the token.
鉴权模块彻底删除Token中的口令后存储Token的剩余部分(基于账户的应用场景),或直接存储Token的剩余部分(基于设备的应用场景)。After the authentication module completely deletes the password in the Token, it stores the remaining part of the Token (account-based application scenario) or directly stores the remaining part of the Token (device-based application scenario).
4、鉴权:4. Authentication:
鉴权模块向鉴权中心发送鉴权请求。The authentication module sends an authentication request to the authentication center.
鉴权中心向鉴权模块发送一个挑战Challenge,或鉴权模块自己生成一个挑战。所述挑战为随机数或其它特定信息。The authentication center sends a Challenge to the authentication module, or the authentication module generates a challenge on its own. The challenge is a random number or other specific information.
鉴权模块实时获取当前设备信息,鉴权模块实时获取用户输入的口令(基于账户的应用场景)或者直接获取存储的Token的剩余部分(基于设备的应用场景),从而组装出完整的鉴权标识。鉴权模块使用完整的鉴权标识,使用鉴权私钥Token_Private_Key对挑战Challenge使用IBC签名算法进行签名,得到对Challenge的数字签名Challenge_Sign,然后将Challenge(如果Challenge由鉴权模块自己生成)、Token和Challenge_Sign发送给鉴权中心;The authentication module obtains the current device information in real time, the authentication module obtains the password entered by the user in real time (account-based application scenarios) or directly obtains the remaining part of the stored token (device-based application scenarios), thereby assembling a complete authentication identifier . The authentication module uses a complete authentication identifier, uses the authentication private key Token_Private_Key to sign the challenge Challenge using the IBC signature algorithm, obtains the digital signature Challenge_Sign, and then challenges (if Challenge is generated by the authentication module itself), Token and Challenge_Sign is sent to the authentication center;
Challenge_Sign=IBC_Sign(Challenge,Token_Private_Key,IBC_Common_Para);Challenge_Sign = IBC_Sign (Challenge, Token_Private_Key, IBC_Common_Para);
鉴权中心以鉴权标识Token作为ID使用IBC验签算法验证Challenge_Sign;得到鉴权结果;The authentication center uses the authentication token Token as the ID to verify the Challenge_Sign using the IBC signature verification algorithm; obtains the authentication result;
验签方可以直接使用签名方的鉴权标识Token作为ID进行验签:The signing party can directly use the signing party's authentication ID Token as the ID for signing:
Result=IBC_Verify(Challenge,Challenge_Sign,ID,IBC_Common_Para);Result = IBC_Verify (Challenge, Challenge_Sign, ID, IBC_Common_Para);
以验签通过作为鉴权通过的必要条件之一。如果鉴权中心存在设备锁定列表,则鉴权通过的必要条件还有:Token中的设备信息不在设备锁定列表中。另外的必要条件有:当前时间不大于鉴权标识中的失效时间。One of the necessary conditions for passing the verification is to pass the inspection. If a device lock list exists in the authentication center, the necessary conditions for authentication to pass are: the device information in the token is not in the device lock list. Another necessary condition is that the current time is not greater than the expiration time in the authentication identification.
鉴权中心将鉴权结果发送给鉴权模块。The authentication center sends the authentication result to the authentication module.
实施例11:鉴权流程(设备信息+口令+失效时间+客户端标签):Embodiment 11: Authentication process (device information + password + expiration time + client label):
1、系统建立:1. System establishment:
鉴权中心选择一种IBC算法,并建立一个该算法的私钥生成器PKG。使用PKG进行初始化,生成一组IBC_Master_Key和IBC_Common_Para。将IBC_Common_Para公开,鉴权模块载入IBC_Common_Para。IBC_Master_Key应存放在高安全服务端中,不可泄露,PKG也运行在高安全服务端上。不涉及IBC_Master_Key和PKG的操作可以使用一般服务端完成。The authentication center selects an IBC algorithm and establishes a private key generator PKG for the algorithm. Use PKG for initialization to generate a set of IBC_Master_Key and IBC_Common_Para. The IBC_Common_Para is made public, and the authentication module is loaded into the IBC_Common_Para. The IBC_Master_Key should be stored in the high-security server and cannot be leaked. The PKG also runs on the high-security server. Operations that do not involve IBC_Master_Key and PKG can be completed using a general server.
PKG的初始化阶段:The initialization phase of PKG:
(IBC_Master_Key,IBC_Common_Para)=IBC_Setup();(IBC_Master_Key, IBC_Common_Para) = IBC_Setup ();
服务端和客户端与鉴权相关的所有连接应该始终基于安全的信道(如使用SSl协议加密的信道),同时客户端有能力鉴权服务端,如使用SSL协议等。All connections between the server and client related to authentication should always be based on a secure channel (such as a channel encrypted using the SS1 protocol), and the client has the ability to authenticate the server, such as using the SSL protocol.
2、私钥与鉴权标识生成:2. Private key and authentication identification generation:
鉴权模块发起私钥生成请求,私钥生成请求中包含鉴权模块的当前设备信息、 口令和客户端标签。The authentication module initiates a private key generation request, and the private key generation request includes the current device information, password, and client label of the authentication module.
鉴权中心生成鉴权标识Token,Token中包含4个鉴权因子:设备信息(来自私钥生成请求)、口令(来自私钥生成请求)、客户端标签(来自私钥生成请求)、失效时间(由鉴权中心设定)。鉴权中心以Token作为ID,使用PKG通过主密钥IBC_Master_Key和IBC_Common_Para生成鉴权私钥Token_Private_Key,然后通过可信且保密的手段(如使用SSL协议),将Token_Private_Key和Token发送到相应的鉴权模块中。The authentication center generates an authentication token Token, which contains 4 authentication factors: device information (from the private key generation request), password (from the private key generation request), client label (from the private key generation request), and expiration time (Set by the authentication center). The authentication center uses Token as the ID, uses PKG to generate the authentication private key Token_Private_Key through the master keys IBC_Master_Key and IBC_Common_Para, and then sends the Token_Private_Key and Token to the corresponding authentication module through trusted and confidential means (such as using the SSL protocol) in.
Token_Private_Key=IBC_PKG(IBC_Master_Key,Token,IBC_Common_Para);Token_Private_Key = IBC_PKG (IBC_Master_Key, Token, IBC_Common_Para);
3、对私钥与鉴权标识的处理:3. Handling of private key and authentication ID:
鉴权中心彻底删除私钥,鉴权模块完整存储私钥。The authentication center completely deletes the private key, and the authentication module completely stores the private key.
鉴权中心彻底删除整个Token。The authentication center completely deletes the entire token.
鉴权模块彻底删除Token中的设备信息。The authentication module completely deletes the device information in the token.
鉴权模块彻底删除Token中的口令后存储Token的剩余部分(基于账户的应用场景),或直接存储Token的剩余部分(基于设备的应用场景)。After the authentication module completely deletes the password in the Token, it stores the remaining part of the Token (account-based application scenario) or directly stores the remaining part of the Token (device-based application scenario).
4、鉴权:4. Authentication:
鉴权模块向鉴权中心发送鉴权请求。The authentication module sends an authentication request to the authentication center.
鉴权中心向鉴权模块发送一个挑战Challenge,或鉴权模块自己生成一个挑战。所述挑战为随机数或其它特定信息。The authentication center sends a Challenge to the authentication module, or the authentication module generates a challenge on its own. The challenge is a random number or other specific information.
鉴权模块实时获取当前设备信息,鉴权模块实时获取用户输入的口令(基于账户的应用场景)或者直接获取存储的Token的剩余部分(基于设备的应用场景),从而组装出完整的鉴权标识。鉴权模块使用完整的鉴权标识,使用鉴权私钥Token_Private_Key对挑战Challenge使用IBC签名算法进行签名,得到对Challenge的数字签名Challenge_Sign,然后将Challenge(如果Challenge由鉴权模块自己生成)、Token和Challenge_Sign发送给鉴权中心;The authentication module obtains the current device information in real time, the authentication module obtains the password entered by the user in real time (account-based application scenarios) or directly obtains the remaining part of the stored token (device-based application scenarios), thereby assembling a complete authentication identifier . The authentication module uses a complete authentication identifier, uses the authentication private key Token_Private_Key to sign the challenge Challenge using the IBC signature algorithm, obtains the digital signature Challenge_Sign, and then challenges (if Challenge is generated by the authentication module itself), Token and Challenge_Sign is sent to the authentication center;
Challenge_Sign=IBC_Sign(Challenge,Token_Private_Key,IBC_Common_Para)Challenge_Sign = IBC_Sign (Challenge, Token_Private_Key, IBC_Common_Para)
鉴权中心以鉴权标识Token作为ID使用IBC验签算法验证Challenge_Sign;得到鉴权结果;The authentication center uses the authentication token Token as the ID to verify the Challenge_Sign using the IBC signature verification algorithm; obtains the authentication result;
验签方可以直接使用签名方的鉴权标识Token作为ID进行验签:The signing party can directly use the signing party's authentication ID Token as the ID for signing:
Result=IBC_Verify(Challenge,Challenge_Sign,ID,IBC_Common_Para)Result = IBC_Verify (Challenge, Challenge_Sign, ID, IBC_Common_Para)
以验签通过作为鉴权通过的必要条件之一。如果鉴权中心存在设备锁定列表,则鉴权通过的必要条件还有:Token中的设备信息不在设备锁定列表中。另外的必要 条件有:当前时间不大于鉴权标识中的失效时间。如果鉴权中心存在客户端锁定列表,则鉴权通过的必要条件还有:Token中的客户端标签不在客户端锁定列表中。One of the necessary conditions for passing the verification is to pass the inspection. If a device lock list exists in the authentication center, the necessary conditions for authentication to pass are: the device information in the token is not in the device lock list. Another necessary condition is that the current time is not greater than the expiration time in the authentication identification. If there is a client lock list in the authentication center, the necessary conditions for authentication to pass are: the client tag in the token is not in the client lock list.
鉴权中心将鉴权结果发送给鉴权模块。The authentication center sends the authentication result to the authentication module.
实施例12:鉴权流程(设备信息+口令+失效时间+账户名+客户端标签):Embodiment 12: Authentication process (device information + password + expiration time + account name + client label):
1、系统建立:1. System establishment:
鉴权中心选择一种IBC算法,并建立一个该算法的私钥生成器PKG。使用PKG进行初始化,生成一组IBC_Master_Key和IBC_Common_Para。将IBC_Common_Para公开,鉴权模块载入IBC_Common_Para。IBC_Master_Key应存放在高安全服务端中,不可泄露,PKG也运行在高安全服务端上。不涉及IBC_Master_Key和PKG的操作可以使用一般服务端完成。The authentication center selects an IBC algorithm and establishes a private key generator PKG for the algorithm. Use PKG for initialization to generate a set of IBC_Master_Key and IBC_Common_Para. The IBC_Common_Para is made public, and the authentication module is loaded into the IBC_Common_Para. The IBC_Master_Key should be stored in the high-security server and cannot be leaked. The PKG also runs on the high-security server. Operations that do not involve IBC_Master_Key and PKG can be completed using a general server.
PKG的初始化阶段:The initialization phase of PKG:
(IBC_Master_Key,IBC_Common_Para)=IBC_Setup();(IBC_Master_Key, IBC_Common_Para) = IBC_Setup ();
服务端和客户端与鉴权相关的所有连接应该始终基于安全的信道(如使用SSl协议加密的信道),同时客户端有能力鉴权服务端,如使用SSL协议等。All connections between the server and client related to authentication should always be based on a secure channel (such as a channel encrypted using the SS1 protocol), and the client has the ability to authenticate the server, such as using the SSL protocol.
2、私钥与鉴权标识生成:2. Private key and authentication identification generation:
鉴权模块发起私钥生成请求,私钥生成请求中包含鉴权模块的当前设备信息、口令、账户名、客户端标签。The authentication module initiates a private key generation request. The private key generation request includes the current device information, password, account name, and client label of the authentication module.
鉴权中心生成鉴权标识Token,Token中包含5个鉴权因子:设备信息(来自私钥生成请求)、口令(来自私钥生成请求)、失效时间(由鉴权中心设定)、账户名(来自私钥生成请求)、客户端标签(来自私钥生成请求)。鉴权中心以Token作为ID,使用PKG通过主密钥IBC_Master_Key和IBC_Common_Para生成鉴权私钥Token_Private_Key,然后通过可信且保密的手段(如使用SSL协议),将Token_Private_Key和Token发送到相应的鉴权模块中。The authentication center generates an authentication token Token, which contains 5 authentication factors: device information (from the private key generation request), password (from the private key generation request), expiration time (set by the authentication center), and account name (From the private key generation request), client tag (from the private key generation request). The authentication center uses Token as the ID, uses PKG to generate the authentication private key Token_Private_Key through the master keys IBC_Master_Key and IBC_Common_Para, and then sends the Token_Private_Key and Token to the corresponding authentication module through trusted and confidential means (such as using the SSL protocol) in.
Token_Private_Key=IBC_PKG(IBC_Master_Key,Token,IBC_Common_Para);Token_Private_Key = IBC_PKG (IBC_Master_Key, Token, IBC_Common_Para);
3、对私钥与鉴权标识的处理:3. Handling of private key and authentication ID:
鉴权中心彻底删除私钥,鉴权模块完整存储私钥。The authentication center completely deletes the private key, and the authentication module completely stores the private key.
鉴权中心彻底删除整个Token。The authentication center completely deletes the entire token.
鉴权模块彻底删除Token中的设备信息。The authentication module completely deletes the device information in the token.
鉴权模块彻底删除Token中的口令后存储Token的剩余部分(基于账户的应用场景),或直接存储Token的剩余部分(基于设备的应用场景)。After the authentication module completely deletes the password in the Token, it stores the remaining part of the Token (account-based application scenario) or directly stores the remaining part of the Token (device-based application scenario).
4、鉴权:4. Authentication:
鉴权模块向鉴权中心发送鉴权请求。The authentication module sends an authentication request to the authentication center.
鉴权中心向鉴权模块发送一个挑战Challenge,或鉴权模块自己生成一个挑战。所述挑战为随机数或其它特定信息。The authentication center sends a Challenge to the authentication module, or the authentication module generates a challenge on its own. The challenge is a random number or other specific information.
鉴权模块实时获取当前设备信息,鉴权模块实时获取用户输入的口令(基于账户的应用场景)或者直接获取存储的Token的剩余部分(基于设备的应用场景),从而组装出完整的鉴权标识。鉴权模块使用完整的鉴权标识,使用鉴权私钥Token_Private_Key对挑战Challenge使用IBC签名算法进行签名,得到对Challenge的数字签名Challenge_Sign,然后将Challenge(如果Challenge由鉴权模块自己生成)、Token和Challenge_Sign发送给鉴权中心;The authentication module obtains the current device information in real time, the authentication module obtains the password entered by the user in real time (account-based application scenarios) or directly obtains the remaining part of the stored token (device-based application scenarios), thereby assembling a complete authentication identifier . The authentication module uses a complete authentication identifier, uses the authentication private key Token_Private_Key to sign the challenge Challenge using the IBC signature algorithm, obtains the digital signature Challenge_Sign, and then challenges (if Challenge is generated by the authentication module itself), Token and Challenge_Sign is sent to the authentication center;
Challenge_Sign=IBC_Sign(Challenge,Token_Private_Key,IBC_Common_Para);Challenge_Sign = IBC_Sign (Challenge, Token_Private_Key, IBC_Common_Para);
鉴权中心以鉴权标识Token作为ID使用IBC验签算法验证Challenge_Sign;得到鉴权结果;The authentication center uses the authentication token Token as the ID to verify the Challenge_Sign using the IBC signature verification algorithm; obtains the authentication result;
验签方可以直接使用签名方的鉴权标识Token作为ID进行验签:The signing party can directly use the signing party's authentication ID Token as the ID for signing:
Result=IBC_Verify(Challenge,Challenge_Sign,ID,IBC_Common_Para);Result = IBC_Verify (Challenge, Challenge_Sign, ID, IBC_Common_Para);
以验签通过作为鉴权通过的必要条件之一。如果鉴权中心存在设备锁定列表,则鉴权通过的必要条件还有:Token中的设备信息不在设备锁定列表中。如果鉴权中心存在客户端锁定列表,则鉴权通过的必要条件还有:Token中的客户端标签不在客户端锁定列表中。另外的必要条件有:当前时间不大于鉴权标识中的失效时间。One of the necessary conditions for passing the verification is to pass the inspection. If a device lock list exists in the authentication center, the necessary conditions for authentication to pass are: the device information in the token is not in the device lock list. If there is a client lock list in the authentication center, the necessary conditions for authentication to pass are: the client tag in the token is not in the client lock list. Another necessary condition is that the current time is not greater than the expiration time in the authentication identification.
鉴权中心将鉴权结果发送给鉴权模块。The authentication center sends the authentication result to the authentication module.
针对不同的应用场景,实施例12包括以下四个应用实例:For different application scenarios, Embodiment 12 includes the following four application examples:
应用实例1:Application Example 1:
应用场景为基于用户账户的应用场景,其中的鉴权模块指的是进行账户鉴权操作的各种硬件、软件或固件,如某些网银客户端、电子锁等。鉴权中心运行在服务端,用于处理客户端的鉴权请求。The application scenario is an application scenario based on user accounts. The authentication module refers to various hardware, software, or firmware that performs account authentication operations, such as certain online banking clients and electronic locks. The authentication center runs on the server and is used to process the client's authentication request.
如图2所示,一种鉴权方法,该方法具体包括以下步骤:As shown in FIG. 2, an authentication method includes the following steps:
步骤11)鉴权中心选择一种IBC算法,并建立一个该算法的私钥生成器PKG。使用PKG进行初始化,生成一组IBC_Master_Key和IBC_Common_Para。将IBC_Common_Para公开,鉴权模块载入IBC_Common_Para。IBC_Master_Key应存放在高安全服务端中,不可泄露,PKG也运行在高安全服务端上。不涉及IBC_Master_Key和PKG的操作可以使用一般服务端完成。Step 11) The authentication center selects an IBC algorithm and establishes a private key generator PKG for the algorithm. Use PKG for initialization to generate a set of IBC_Master_Key and IBC_Common_Para. The IBC_Common_Para is made public, and the authentication module is loaded into the IBC_Common_Para. The IBC_Master_Key should be stored in the high-security server and cannot be leaked. The PKG also runs on the high-security server. Operations that do not involve IBC_Master_Key and PKG can be completed using a general server.
PKG的初始化阶段:The initialization phase of PKG:
(IBC_Master_Key,IBC_Common_Para)=IBC_Setup();(IBC_Master_Key, IBC_Common_Para) = IBC_Setup ();
服务端与客户端与鉴权相关的所有连接应该始终基于安全的信道,同时客户端有能力鉴权服务端,如使用SSL协议等。All connections between the server and the client related to authentication should always be based on a secure channel, and the client has the ability to authenticate the server, such as using the SSL protocol.
步骤12)鉴权模块生成账户名并设置第二鉴权方式,将账户名与第二鉴权方式发送给鉴权中心;鉴权中心将账户名与第二鉴权方式绑定后存入数据库中;Step 12) The authentication module generates an account name and sets a second authentication method, and sends the account name and the second authentication method to the authentication center; the authentication center binds the account name and the second authentication method to the database and stores it in the database. in;
每一个账户皆对应一个唯一的账户名Account,账户名由用户自己选择,或由服务端的鉴权中心指定,或由双方协商产生。用户在生成账户时,需留下可靠的第二鉴权方式,如用于接收短信验证码的手机号等。Each account corresponds to a unique account name Account. The account name is selected by the user, or specified by the authentication center of the server, or generated through negotiation between the two parties. When generating an account, the user needs to leave a reliable second authentication method, such as the mobile phone number used to receive the SMS verification code.
步骤13)鉴权模块进行设备绑定,将设备硬件信息和口令发送给鉴权中心;鉴权中心生成鉴权标识,并根据鉴权标识生成鉴权私钥;具体包括:Step 13) The authentication module performs device binding, and sends device hardware information and password to the authentication center; the authentication center generates an authentication identifier, and generates an authentication private key based on the authentication identifier; specifically including:
步骤13-1)用户在设备的鉴权模块上发起绑定申请,并使用第二鉴权方式进行鉴权;Step 13-1) The user initiates a binding application on the authentication module of the device and uses the second authentication method for authentication;
步骤13-2)使用第二鉴权方式鉴权通过后,鉴权模块将设备硬件信息Dev_Info、口令Psw和客户端标签Client_Tag等信息发送给鉴权中心;Step 13-2) After passing the authentication using the second authentication method, the authentication module sends information such as device hardware information Dev_Info, password Psw, and client tag Client_Tag to the authentication center;
步骤13-3)鉴权中心为鉴权模块生成鉴权标识Token;Step 13-3) The authentication center generates an authentication token Token for the authentication module;
Token至少由账户名Account、硬件信息Dev_Info和口令Psw组成,并还可以包含客户端标签Client_Tag、失效日期Expire_Date等信息。见表1:Token consists of at least account name Account, hardware information Dev_Info, and password Psw, and can also contain information such as client tag Client_Tag and expiry date Expire_Date. See Table 1:
表1Table 1
Figure PCTCN2019096040-appb-000001
Figure PCTCN2019096040-appb-000001
其中:among them:
Dev_Info为可以唯一标识当前设备的信息。Dev_Info is information that can uniquely identify the current device.
Psw:口令由用户输入,设备绑定完成后,客户端与服务端皆不保存Psw,Psw需由用户保存,不可泄露。口令不限于字符形式,也可以是手势密码等具备确定性的信息,指纹等模糊型信息则不可使用。Psw: The password is entered by the user. After the device binding is completed, neither the client nor the server saves the Psw. The Psw must be saved by the user and cannot be leaked. The password is not limited to the character form. It can also be deterministic information such as a gesture password, and vague information such as a fingerprint cannot be used.
Client_Tag:客户端第一次启动时,生成一个随机数作为Client_Tag。用户也可以删除并重新生成Client_Tag。Client_Tag: When the client is started for the first time, a random number is generated as Client_Tag. The user can also delete and regenerate Client_Tag.
Expire_Date:Token失效日期,由服务端决定。Expire_Date: The expiration date of the token, which is determined by the server.
步骤13-4)鉴权中心以Token作为ID,使用步骤11)的PKG通过主密钥生成鉴权私钥Token_Private_Key;Step 13-4) The authentication center uses Token as the ID, and uses the PKG of step 11) to generate the authentication private key Token_Private_Key from the master key;
Token_Private_Key=IBC_PKG(IBC_Master_Key,Token,IBC_Common_Para);Token_Private_Key = IBC_PKG (IBC_Master_Key, Token, IBC_Common_Para);
管理员操作PKG,输入IBC_Master_Key和ID(鉴权标识)以及IBC_Common_Para,为该鉴权模块生成私钥(Token_Private_Key)。然后通过可信且保密的手段(如使用SSL协议),将这个私钥送到相应的签名方手中。The administrator operates PKG, inputs IBC_Master_Key and ID (authentication identifier) and IBC_Common_Para, and generates a private key (Token_Private_Key) for the authentication module. Then, the private key is sent to the corresponding signatory through trusted and confidential means (such as using the SSL protocol).
步骤14)鉴权中心将鉴权标识和鉴权私钥发送给鉴权模块,然后删除鉴权标识中的口令;鉴权模块接收后,保存删除了口令的鉴权标识和鉴权私钥;具体包括:Step 14) The authentication center sends the authentication ID and the authentication private key to the authentication module, and then deletes the password in the authentication ID; after receiving the authentication module, the authentication ID and the authentication private key with the password deleted are stored; These include:
步骤14-1)鉴权中心将Token和Token_Private_Key发送给鉴权模块,然后删除Token或只保存Token中Psw以外的部分信息到数据库(务必将Psw信息彻底删除);Step 14-1) The authentication center sends the Token and Token_Private_Key to the authentication module, and then deletes the Token or saves only some information other than Psw in the Token to the database (be sure to completely delete the Psw information)
步骤14-2)鉴权模块在收到Token和Token_Private_Key后,保存Token_Private_Key,同时保存Token中除了Psw以外的所有信息(务必将Psw信息彻底删除)。Step 14-2) After receiving the Token and Token_Private_Key, the authentication module saves the Token_Private_Key, and at the same time saves all information in the Token except Psw (be sure to completely delete the Psw information).
步骤15)鉴权模块向鉴权中心发送鉴权请求,鉴权中心处理后将鉴权结果返回鉴权模块;具体包括:Step 15) The authentication module sends an authentication request to the authentication center, and the authentication center returns the authentication result to the authentication module after processing; specifically including:
步骤15-1)鉴权模块向鉴权中心发送鉴权请求;Step 15-1) The authentication module sends an authentication request to the authentication center;
步骤15-2)鉴权中心向鉴权模块发送一个挑战Challenge;所述挑战为随机数或其它特定信息;Step 15-2) The authentication center sends a Challenge to the authentication module; the challenge is a random number or other specific information;
步骤15-3)用户向鉴权模块输入口令Psw,鉴权模块组装出完整的鉴权标识Token;使用鉴权私钥Token_Private_Key对挑战Challenge使用IBC签名算法进行签名,得到对Challenge的数字签名Challenge_Sign,然后将Token和Challenge_Sign发送给鉴权中心;Step 15-3) The user enters the password Psw into the authentication module, and the authentication module assembles a complete authentication identifier Token; uses the authentication private key Token_Private_Key to sign the challenge Challenge using the IBC signature algorithm, and obtains the digital signature Challenge_Sign of Challenge Then send Token and Challenge_Sign to the authentication center;
签名方获得私钥后,就可以进行数字签名:After the signing party obtains the private key, they can digitally sign:
IBC_Signature=IBC_Sign(Message,Token_Private_Key,IBC_Common_Para);IBC_Signature = IBC_Sign (Message, Token_Private_Key, IBC_Common_Para);
步骤15-4)鉴权中心以鉴权标识Token作为ID使用IBC验签算法验证Challenge_Sign;得到鉴权结果;Step 15-4) The authentication center uses the authentication token Token as the ID to verify the Challenge_Sign using the IBC signature verification algorithm; obtain the authentication result;
验签方可以直接使用签名方的ID进行验签:The signing party can directly use the signer's ID for signing:
Result=IBC_Verify(Message,IBC_Signature,ID,IBC_Common_Para);Result = IBC_Verify (Message, IBC_Signature, ID, IBC_Common_Para);
以验签通过作为鉴权通过的必要条件之一,其他可选的必要条件还有:Dev_Info与Client_Tag(如果有Client_Tag)在数据库中并且与Account对应,Dev_Info不在设备锁定列表中,Dev_Info与Client_Tag不在客户端锁定列表中,当前时间在Expire_Date之前(如果有Expire_Date)等等。One of the necessary conditions for authentication is to pass the verification check. Other optional requirements are: Dev_Info and Client_Tag (if there is Client_Tag) in the database and corresponding to Account, Dev_Info is not in the device lock list, Dev_Info and Client_Tag are not. In the client lock list, the current time is before Expire_Date (if there is Expire_Date) and so on.
步骤15-5)鉴权中心将鉴权结果发送给鉴权模块。Step 15-5) The authentication center sends the authentication result to the authentication module.
当采用另一种挑战验证方式,所述步骤15)包括:When another challenge verification method is adopted, the step 15) includes:
步骤15-1′)用户向鉴权模块输入口令Psw,鉴权模块组装出完整的鉴权标识Token;鉴权模块生成一个挑战,使用鉴权私钥Token_Private_Key对挑战Challenge使用IBC签名算法进行签名,得到对Challenge的数字签名Challenge_Sign,然后将Token、挑战和数字签名Challenge_Sign发送给鉴权中心;Step 15-1 ′) The user enters the password Psw into the authentication module, and the authentication module assembles a complete authentication token Token; the authentication module generates a challenge, and uses the authentication private key Token_Private_Key to sign the challenge Challenge using the IBC signature algorithm, Get the digital signature Challenge_Sign of Challenge, and then send the Token, challenge and digital signature Challenge_Sign to the authentication center;
签名方获得私钥后,就可以进行数字签名:After the signing party obtains the private key, they can digitally sign:
IBC_Signature=IBC_Sign(Message,Token_Private_Key,IBC_Common_Para);IBC_Signature = IBC_Sign (Message, Token_Private_Key, IBC_Common_Para);
步骤15-2′)鉴权中心以鉴权标识Token作为ID使用IBC验签算法验证Challenge_Sign;得到鉴权结果;Step 15-2 ′) The authentication center uses the authentication token Token as the ID to verify the Challenge_Sign using the IBC signing algorithm; obtain the authentication result;
验签方可以直接使用签名方的ID进行验签:The signing party can directly use the signer's ID for signing:
Result=IBC_Verify(Message,IBC_Signature,ID,IBC_Common_Para);Result = IBC_Verify (Message, IBC_Signature, ID, IBC_Common_Para);
以验签通过作为鉴权通过的必要条件之一,其他可选的必要条件还有:Dev_Info与Client_Tag(如果有Client_Tag)在数据库中并且与Account对应,Dev_Info不在设备锁定列表中,Dev_Info与Client_Tag不在客户端锁定列表中,当前时间在Expire_Date之前(如果有Expire_Date)等等。One of the necessary conditions for authentication is to pass the verification check. Other optional requirements are: Dev_Info and Client_Tag (if there is Client_Tag) in the database and corresponding to Account, Dev_Info is not in the device lock list, Dev_Info and Client_Tag are not. In the client lock list, the current time is before Expire_Date (if there is Expire_Date) and so on.
步骤15-3′)鉴权中心将鉴权结果发送给鉴权模块。Step 15-3 ′) The authentication center sends the authentication result to the authentication module.
此外,鉴权中心还可以设置安全控制策略,在某些适当的条件下(如鉴权失败若干次),将某些Dev_Info放入设备锁定列表中。In addition, the authentication center can also set a security control policy to put certain Dev_Info into the device lock list under certain appropriate conditions (such as authentication failure several times).
当用户在Psw有泄露风险、鉴权模块所绑定的设备丢失或者Token_Private_Key有泄露风险时,应当进行挂失。When the user has the risk of leakage in Psw, the device bound to the authentication module is lost, or the Token_Private_Key has the risk of leakage, he should report the loss.
如果鉴权中心的数据库中保存有Dev_Info信息,则挂失方法包括以下步骤:If Dev_Info information is stored in the database of the authentication center, the loss report method includes the following steps:
步骤S1)用户通过新的设备使用第二鉴权方式或其他身份认证手段认证用户身份;Step S1) The user uses the new device to use a second authentication method or other identity authentication means to authenticate the user's identity;
步骤S2)鉴权中心验证用户身份,认证通过后,鉴权中心向用户展示Dev_Info列表;Step S2) The authentication center verifies the identity of the user. After the authentication is passed, the authentication center displays the Dev_Info list to the user;
步骤S3)用户从Dev_Info列表中选择需要挂失的设备,并告知鉴权中心;Step S3) The user selects a device to be reported from the Dev_Info list, and informs the authentication center;
步骤S4)鉴权中心将对应的Dev_Info存放入设备锁定列表中,存放期限为永久(如果没有Expire_Date)或者Expire_Date(如果有Expire_Date)。Step S4) The authentication center stores the corresponding Dev_Info in the device lock list, and the storage period is permanent (if there is no Expire_Date) or Expire_Date (if there is Expire_Date).
此外,在遗忘口令或者Token到期的情形下,该设备皆需要重新进行设备绑定流程。In addition, if the password is forgotten or the token expires, the device needs to go through the device binding process again.
当时间到了Expire_Date(如果有Expire_Date)的时候,设备挂失自行解除。如果鉴权中心的数据库中还保存有Client_Tag,则可在设备挂失自行解除之前,对挂失的设备进行解除挂失操作,具体包括:When the time comes to Expire_Date (if there is Expire_Date), the device loss report will be lifted by itself. If the Client_Tag is also stored in the database of the authentication center, the loss reporting operation can be performed on the lost equipment before the loss reporting of the equipment is automatically resolved, including:
步骤T1))用户通过新的设备使用第二鉴权方式或其他身份认证手段认证用户身份;Step T1)) The user uses the new device to use the second authentication method or other identity authentication means to authenticate the user's identity;
步骤T2)鉴权中心验证用户身份,认证通过后,鉴权中心向用户展示设备锁定列表;Step T2) The authentication center verifies the identity of the user. After the authentication is passed, the authentication center displays the device lock list to the user;
步骤T3)用户从设备锁定列表中选择需要解除挂失的设备,并告知鉴权中心;Step T3) The user selects a device from the device lock list to report loss, and informs the authentication center;
步骤T4)鉴权中心将对应的Dev_Info与Client_Tag存放入客户端锁定列表中,存放期限为永久(如果没有Expire_Date)或者Expire_Date(如果有Expire_Date),同时将对应的Dev_Info从设备锁定列表中删除;Step T4) The authentication center stores the corresponding Dev_Info and Client_Tag into the client lock list, the storage period is permanent (if there is no Expire_Date) or Expire_Date (if there is Expire_Date), and the corresponding Dev_Info is deleted from the device lock list;
步骤T5)待解除挂失的设备彻底删除原有的Client_Tag,然后生成新的Client_Tag,然后再进行一遍设备绑定流程。Step T5) The device to be reported is completely deleted from the original Client_Tag, then a new Client_Tag is generated, and then the device binding process is performed again.
如果鉴权中心的数据库中保存有Dev_Info信息,则另外一种挂失方法包括以下步骤:If Dev_Info information is stored in the database of the authentication center, another method of reporting loss includes the following steps:
步骤S1′)用户通过新的设备使用第二鉴权方式或其他身份认证手段认证用户身份;Step S1 ′) The user authenticates the user identity through the new device using the second authentication mode or other identity authentication means;
步骤S2′)鉴权中心验证用户身份,认证通过后,鉴权中心将数据库中该用户账户名Account对应的所有的Dev_Info和Client_Tag(如果有Client_Tag)删除。Step S2 ′) The authentication center verifies the identity of the user. After the authentication is passed, the authentication center deletes all Dev_Info and Client_Tag (if there is Client_Tag) corresponding to the user account name Account in the database.
挂失结束后,将该Account的所有已绑定设备重新进行设备绑定。一个Account可以绑定在多个设备上。就是说如果用这种方法挂失,那么该Account所有的现有设备绑定都会失效,都需要重新绑定一遍。After the loss report is completed, re-bind all the bound devices of the Account. One Account can be bound to multiple devices. That is to say, if the loss is reported by this method, all existing device bindings of the Account will be invalidated, and all bindings need to be re-bind again.
上述挂失的方法适用于更高安全要求的应用场景。The above method of loss reporting is applicable to application scenarios with higher security requirements.
应用实例2Application example 2
应用场景为基于设备的应用场景,其中的“客户端”指的是待被鉴权的设备本身,如物联网设备。The application scenario is a device-based application scenario, where "client" refers to the device to be authenticated, such as an Internet of Things device.
如图3所示,一种鉴权方法,所述方法包括:As shown in FIG. 3, an authentication method includes:
步骤21)物联网平台基于选择的IBC算法并建立算法的PKG,使用该PKG生成一组主密钥和一组公共参数;物联网设备载入该组公共参数;Step 21) The IoT platform establishes an algorithm PKG based on the selected IBC algorithm, and uses the PKG to generate a set of master keys and a set of public parameters; the IoT device loads the set of public parameters;
物联网平台选择一种IBC算法,并建立一个该算法的PKG。使用PKG进行初始化,生成一组IBC_Master_Key和IBC_Common_Para。将IBC_Common_Para公开。IBC_Master_Key应存放在高安全服务端中,不可泄露,PKG也应运行在高安全服务端上。不涉及IBC_Master_Key和PKG的操作可以使用一般服务端完成。The IoT platform selects an IBC algorithm and establishes a PKG for the algorithm. Use PKG for initialization to generate a set of IBC_Master_Key and IBC_Common_Para. Make IBC_Common_Para public. The IBC_Master_Key should be stored on the high-security server and cannot be leaked. The PKG should also be run on the high-security server. Operations that do not involve IBC_Master_Key and PKG can be completed using a general server.
步骤22)物联网设备将设备信息、口令发送给物联网平台,物联网平台生成鉴 权标识,并根据鉴权标识生成鉴权私钥;具体包括:Step 22) The IoT device sends the device information and password to the IoT platform. The IoT platform generates an authentication ID, and generates an authentication private key based on the authentication ID. Specifically, it includes:
步骤22-1)物联网设备将硬件信息Dev_Info和口令Psw发送给物联网平台;Step 22-1) The IoT device sends the hardware information Dev_Info and the password Psw to the IoT platform;
步骤22-2)物联网平台为物联网设备生成设备鉴权标识Token;Step 22-2) The IoT platform generates a device authentication token Token for the IoT device;
设备鉴权标识由至少由硬件信息Dev_Info组成,并还可以包含失效日期Expire_Date和口令Psw等信息。见表2:The device authentication ID is composed of at least hardware information Dev_Info, and may also include information such as the expiration date Expire_Date and password Psw. See Table 2:
表2Table 2
Figure PCTCN2019096040-appb-000002
Figure PCTCN2019096040-appb-000002
其中:among them:
Dev_Info为可以唯一标识当前设备的信息。Dev_Info is information that can uniquely identify the current device.
Psw:口令由设备随机生成,物联网平台不保存Psw,Psw存放在物联网设备的安全区域,不可泄露。Psw: The password is randomly generated by the device. The IoT platform does not save Psw. Psw is stored in a secure area of the IoT device and cannot be leaked.
Expire_Date:Token失效日期,由物联网平台决定。Expire_Date: Token expiration date, determined by the IoT platform.
步骤22-3)物联网平台以Token作为ID,使用步骤21)的PKG通过主密钥生成鉴权私钥Token_Private_Key;Step 22-3) The IoT platform uses Token as the ID, and uses the PKG of step 21) to generate the authentication private key Token_Private_Key from the master key;
步骤23)物联网平台将鉴权标识和鉴权私钥发送给物联网设备,删除鉴权标识中的口令;物联网设备接收后,保存删除了口令的鉴权标识和鉴权私钥,将口令存储在设备安全存储区;具体包括:Step 23) The IoT platform sends the authentication ID and the authentication private key to the IoT device, and deletes the password in the authentication ID. After receiving, the IoT device saves the authentication ID and the authentication private key with the password deleted, and sends The password is stored in the device's secure storage area; it includes:
步骤23-1)物联网平台将Token和Token_Private_Key发送给物联网设备,然后删除Token或只保存Token中Psw以外的部分信息到数据库(务必将Psw信息彻底删除);Step 23-1) The IoT platform sends the Token and Token_Private_Key to the IoT device, and then deletes the Token or saves only some information other than Psw in the Token to the database (be sure to completely delete the Psw information);
步骤23-2)物联网设备收到Token和Token_Private_Key后,保存Token中除了Psw以外的所有信息;并将Token_Private_Key和Psw存储在设备的安全区域。Step 23-2) After the IoT device receives the Token and Token_Private_Key, it saves all information in the Token except Psw; and stores the Token_Private_Key and Psw in the secure area of the device.
步骤24)物联网设备向物联网平台发送鉴权请求,物联网平台处理后将鉴权结果返回物联网设备;具体包括:Step 24) The IoT device sends an authentication request to the IoT platform, and the IoT platform returns the authentication result to the IoT device after processing; specifically including:
步骤24-1)物联网设备向物联网平台发送鉴权请求;Step 24-1) The IoT device sends an authentication request to the IoT platform;
步骤24-2)物联网平台向物联网设备发送一个挑战(Challenge),挑战为随机数或其它特定信息;Step 24-2) The IoT platform sends a challenge to the IoT device, and the challenge is a random number or other specific information;
步骤24-3)物联网设备从设备安全存储区读取Psw,组装出完整的Token;然后使用Token_Private_Key对Challenge使用IBC签名算法进行签名,得到对Challenge的数字签名Challenge_Sign,物联网设备将Token和Challenge_Sign发送给物联网平台;Step 24-3) The IoT device reads Psw from the device's secure storage area to assemble a complete Token; then uses Token_Private_Key to sign the Challenge using the IBC signature algorithm to get the digital signature Challenge_Sign to the Challenge, and the IoT device sends the Token and Challenge_Sign Send to IoT platform;
步骤24-4)物联网平台以Token作为ID使用IBC验签算法验证Challenge_Sign,返回鉴权结果;Step 24-4) The IoT platform uses the Token as the ID to verify the Challenge_Sign using the IBC signing algorithm, and returns the authentication result;
验签方可以直接使用签名方的ID进行验签:The signing party can directly use the signer's ID for signing:
Result=IBC_Verify(Message,IBC_Signature,ID,IBC_Common_Para);Result = IBC_Verify (Message, IBC_Signature, ID, IBC_Common_Para);
以验签通过作为鉴权通过的必要条件之一,其他可选的必要条件还有:Dev_Info与Client_Tag(如果有Client_Tag)在数据库中并且与Account对应,Dev_Info不在设备锁定列表中,Dev_Info与Client_Tag不在客户端锁定列表中,当前时间在Expire_Date之前(如果有Expire_Date)等等。One of the necessary conditions for authentication is to pass the verification check. Other optional requirements are: Dev_Info and Client_Tag (if there is Client_Tag) in the database and corresponding to Account, Dev_Info is not in the device lock list, Dev_Info and Client_Tag are not. In the client lock list, the current time is before Expire_Date (if there is Expire_Date) and so on.
物联网平台还可以设置安全控制策略,在某些适当的条件下(如鉴权失败若干次),将某些Dev_Info放入设备锁定列表中。The IoT platform can also set security control policies to put certain Dev_Info in the device lock list under certain appropriate conditions (such as authentication failure several times).
当采用另一种挑战验证方式,所述步骤24)包括:When another challenge verification method is adopted, the step 24) includes:
步骤24-1′)物联网设备从设备安全存储区读取Psw,组装出完整的Token;鉴权设备生成一个挑战,使用鉴权私钥Token_Private_Key对挑战Challenge使用IBC签名算法进行签名,得到对Challenge的数字签名Challenge_Sign,然后将Token、挑战和数字签名Challenge_Sign发送给物联网平台;Step 24-1 ′) The IoT device reads Psw from the device's secure storage area to assemble a complete Token; the authentication device generates a challenge, and uses the authentication private key Token_Private_Key to sign the challenge Challenge using the IBC signature algorithm to obtain the Challenge Digitally sign Challenge_Sign, then send the Token, challenge and digital signature Challenge_Sign to the IoT platform;
签名方获得私钥后,就可以进行数字签名:After the signing party obtains the private key, they can digitally sign:
IBC_Signature=IBC_Sign(Message,Token_Private_Key,IBC_Common_Para);IBC_Signature = IBC_Sign (Message, Token_Private_Key, IBC_Common_Para);
步骤24-2′)物联网平台以鉴权标识Token作为ID使用IBC验签算法验证Challenge_Sign;得到鉴权结果;Step 24-2 ′) The IoT platform uses the authentication token Token as the ID to verify the Challenge_Sign using the IBC signature verification algorithm; obtains the authentication result;
验签方可以直接使用签名方的ID进行验签:The signing party can directly use the signer's ID for signing:
Result=IBC_Verify(Message,IBC_Signature,ID,IBC_Common_Para);Result = IBC_Verify (Message, IBC_Signature, ID, IBC_Common_Para);
以验签通过作为鉴权通过的必要条件之一,其他可选的必要条件还有:Dev_Info与Client_Tag(如果有Client_Tag)在数据库中并且与Account对应,Dev_Info不在设备锁定列表中,Dev_Info与Client_Tag不在客户端锁定列表中,当前时间在Expire_Date之前(如果有Expire_Date)等等。One of the necessary conditions for authentication is to pass the verification check. Other optional requirements are: Dev_Info and Client_Tag (if there is Client_Tag) in the database and corresponding to Account, Dev_Info is not in the device lock list, Dev_Info and Client_Tag are not. In the client lock list, the current time is before Expire_Date (if there is Expire_Date) and so on.
步骤24-3′)物联网平台将鉴权结果发送给物联网设备。Step 24-3 ') The IoT platform sends the authentication result to the IoT device.
应用实例3:Application Example 3:
应用场景为基于用户账户的应用场景,其中的鉴权单元指的是进行账户鉴权操作的各种硬件、软件或固件,如某些网银客户端等。The application scenario is an application scenario based on user accounts, where the authentication unit refers to various hardware, software, or firmware that performs account authentication operations, such as certain online banking clients.
如图4所示,一种鉴权系统,该系统包括:鉴权模块300和鉴权中心400;如图5所示,所述鉴权模块300包括:第一IBC载入单元301、账户生成单元302、设备 绑定单元303、第一存储单元304和第一鉴权请求单元305;As shown in FIG. 4, an authentication system includes: an authentication module 300 and an authentication center 400; as shown in FIG. 5, the authentication module 300 includes: a first IBC loading unit 301, and account generation A unit 302, a device binding unit 303, a first storage unit 304, and a first authentication request unit 305;
第一IBC载入单元301,用于载入鉴权中心400公开的公共参数;A first IBC loading unit 301, configured to load public parameters disclosed by the authentication center 400;
账户生成单元302,用于生成鉴权模块的账户名,并设置第二鉴权方式,将账户名与第二鉴权方式发送给鉴权中心400;The account generating unit 302 is configured to generate an account name of the authentication module, set a second authentication mode, and send the account name and the second authentication mode to the authentication center 400;
设备绑定单元303,用于发起设备绑定请求,并使用第二鉴权方式进行鉴权,请求通过后,将设备信息、口令Psw和客户端标签Client_Tag等信息发送给鉴权中心;The device binding unit 303 is configured to initiate a device binding request and perform authentication using a second authentication method. After the request is passed, the device information, the password Psw, and the client tag Client_Tag are sent to the authentication center;
第一存储单元304,用于保存鉴权中心400发送的删除了Psw的鉴权标识Token和鉴权私钥Token_Private_Key;A first storage unit 304, configured to store the Psw-deleted authentication identifier Token and the authentication private key Token_Private_Key sent by the authentication center 400;
第一鉴权请求单元305,用于通过输入口令Psw向鉴权中心400发送鉴权请求,还用于接收鉴权中心400发送的鉴权结果;A first authentication requesting unit 305, configured to send an authentication request to the authentication center 400 by inputting a password Psw, and further configured to receive an authentication result sent by the authentication center 400;
用户向第一鉴权请求单元输入Psw,第一鉴权请求单元组装出完整的鉴权标识Token;使用鉴权私钥Token_Private_Key对Challenge使用IBC签名算法进行签名,得到对Challenge的数字签名Challenge_Sign,然后将Token和Challenge_Sign发送给鉴权中心;The user inputs Psw to the first authentication request unit, and the first authentication request unit assembles a complete authentication identifier Token; uses the authentication private key Token_Private_Key to sign the Challenge using the IBC signature algorithm, and obtains the digital signature Challenge_Sign of the Challenge, and then Send Token and Challenge_Sign to the authentication center;
如图6所示,鉴权中心400包括:第一IBC初始化单元401、第一鉴权标识生成单元402、第一鉴权私钥生成单元403、第二存储单元404和第一鉴权验证单元405;As shown in FIG. 6, the authentication center 400 includes a first IBC initialization unit 401, a first authentication identifier generation unit 402, a first authentication private key generation unit 403, a second storage unit 404, and a first authentication verification unit. 405;
第一IBC初始化单元401,用于选择一种IBC算法,并建立一个该算法的私钥生成器PKG,使用PKG进行初始化,生成一组主密钥IBC_Master_Key和公共参数IBC_Common_Para,将IBC_Common_Para公开;The first IBC initialization unit 401 is used to select an IBC algorithm and establish a private key generator PKG of the algorithm, use the PKG to initialize, generate a set of master key IBC_Master_Key and public parameter IBC_Common_Para, and expose IBC_Common_Para;
第一鉴权标识生成单元402,用于根据鉴权模块300发送的账户名、设备信息和口令生成设备鉴权标识Token;Token的形式见表1;The first authentication identifier generating unit 402 is configured to generate a device authentication identifier Token according to the account name, device information, and password sent by the authentication module 300; the form of the token is shown in Table 1;
第一鉴权私钥生成单元403,用于以鉴权标识Token作为ID,通过IBC初始化单元401生成的PKG和主密钥生成鉴权私钥Token_Private_Key;然后将鉴权标识和鉴权私钥发送给鉴权模块300;The first authentication private key generation unit 403 is configured to generate an authentication private key Token_Private_Key by using the PKG and the master key generated by the IBC initialization unit 401 with the authentication identification Token as the ID; and then send the authentication identification and the authentication private key To the authentication module 300;
第二存储单元404:用于存储IBC初始化单元401生成的主密钥,用于存储鉴权模块300的账户名和第二鉴权方式,还用于存储删除了口令的鉴权标识;A second storage unit 404: used to store the master key generated by the IBC initialization unit 401, used to store the account name and the second authentication mode of the authentication module 300, and also used to store the authentication identifier with the password deleted;
第一鉴权验证单元405:用于接收鉴权模块300的鉴权请求,向鉴权模块300发送一个挑战(Challenge);以鉴权标识作为ID使用IBC验签算法验证Challenge_Sign;,鉴权中心400将鉴权结果发送给鉴权模块300。The first authentication verification unit 405 is configured to receive an authentication request from the authentication module 300, and send a challenge to the authentication module 300; verify the Challenge_Sign using the IBC signature verification algorithm with the authentication identifier as the ID; and the authentication center 400 sends the authentication result to the authentication module 300.
以验签通过作为鉴权通过的必要条件之一,其他可选的必要条件还有:Dev_Info与Client_Tag(如果有Client_Tag)在数据库中并且与Account对应,Dev_Info不在设备锁定列表中,Dev_Info与Client_Tag不在客户端锁定列表中,当前时间在 Expire_Date之前(如果有Expire_Date)One of the necessary conditions for authentication is to pass the verification check. Other optional requirements are: Dev_Info and Client_Tag (if there is Client_Tag) in the database and corresponding to Account, Dev_Info is not in the device lock list, Dev_Info and Client_Tag are not. Client lock list, the current time is before Expire_Date (if there is Expire_Date)
应用实例4:Application Example 4:
应用场景为基于设备的应用场景,其中的“客户端”指的是待被鉴权的设备本身,如物联网设备。The application scenario is a device-based application scenario, where "client" refers to the device to be authenticated, such as an Internet of Things device.
如图7所示,一种鉴权系统,所述系统包括:物联网设备500和物联网平台600;如图8所示,所述物联网设备500包括:第二IBC载入单元501、信息发送单元502、第三存储单元503、设备安全存储区504和第二鉴权请求单元505;As shown in FIG. 7, an authentication system includes: an IoT device 500 and an IoT platform 600; as shown in FIG. 8, the IoT device 500 includes: a second IBC loading unit 501, information A sending unit 502, a third storage unit 503, a device secure storage area 504, and a second authentication request unit 505;
第二IBC载入单元501,用于载入物联网平台600公开的公共参数;A second IBC loading unit 501 for loading public parameters disclosed by the Internet of Things platform 600;
信息发送单元502,用于将设备信息和口令Psw发送给物联网平台600;An information sending unit 502, configured to send device information and a password Psw to the IoT platform 600;
第三存储单元503,用于保存物联网平台600发送的删除了口令Psw的鉴权标识Token;A third storage unit 503, configured to store the authentication identifier Token with the deleted password Psw sent by the Internet of Things platform 600;
设备安全存储区504,用于存储口令Psw和鉴权私钥Token_Private_Key;Device secure storage area 504, which is used to store the password Psw and the authentication private key Token_Private_Key;
第二鉴权请求单元505,用于向物联网平台600发送鉴权请求,并接收物联网平台600发送的鉴权结果;A second authentication requesting unit 505, configured to send an authentication request to the Internet of Things platform 600, and receive an authentication result sent by the Internet of Things platform 600;
从设备安全存储区读取Psw,组装出完整的鉴权标识;使用Token_Private_Key对Challenge使用IBC签名算法进行签名,得到对Challenge的数字签名(Challenge_Sign),然后将Token和Challenge_Sign发送给物联网平台400。Read the Psw from the device's secure storage area to assemble a complete authentication identification; use Token_Private_Key to sign the Challenge using the IBC signature algorithm, get a digital signature on the Challenge (Challenge_Sign), and send the Token and Challenge_Sign to the IoT platform 400.
如图9所示,物联网平台600包括:第二IBC初始化单元601、第二鉴权标识生成单元602、第二鉴权私钥生成单元603、第四存储单元604和第二鉴权验证单元605;As shown in FIG. 9, the Internet of Things platform 600 includes: a second IBC initialization unit 601, a second authentication identifier generation unit 602, a second authentication private key generation unit 603, a fourth storage unit 604, and a second authentication verification unit 605;
第二IBC初始化单元601,用于选择一种IBC算法,并建立一个该算法的私钥生成器PKG,使用PKG进行初始化,生成一组主密钥IBC_Master_Key和公共参数IBC_Common_Para,将IBC_Common_Para公开;The second IBC initialization unit 601 is used to select an IBC algorithm and establish a private key generator PKG for the algorithm, use the PKG to initialize, generate a set of master key IBC_Master_Key and public parameter IBC_Common_Para, and expose IBC_Common_Para;
第二鉴权标识生成单元602,用于根据物联网设备500发送的设备信息和口令生成设备鉴权标识Token;Token的形式见表2;The second authentication identifier generating unit 602 is configured to generate a device authentication identifier Token according to the device information and password sent by the IoT device 500; the form of the token is shown in Table 2;
第二鉴权私钥生成单元603,用于以Token作为ID,通过IBC初始化单元601生成的PKG和主密钥生成鉴权私钥Token_Private_Key;然后将鉴权标识和鉴权私钥发送给鉴物联网设备500;The second authentication private key generation unit 603 is configured to generate an authentication private key Token_Private_Key with the Token as the ID and the PKG and the master key generated by the IBC initialization unit 601; and then send the authentication identifier and the authentication private key to the authenticator. Networked equipment 500;
第四存储单元604:用于存储IBC初始化单元401生成的主密钥,还用于存储删除了口令的鉴权标识;A fourth storage unit 604: used to store the master key generated by the IBC initialization unit 401, and also used to store the authentication identifier with the password deleted;
第二鉴权验证单元605:用于接收物联网设备500的鉴权请求,向物联网设备 500发送一个挑战Challenge;以鉴权标识作为ID使用IBC验签算法验证Challenge_Sign;物联网平台600将鉴权结果发送给物联网设备500;The second authentication verification unit 605 is configured to receive an authentication request from the IoT device 500 and send a challenge Challenge to the IoT device 500; use the IBC signature verification algorithm to verify the Challenge_Sign with the authentication ID as the ID; the IoT platform 600 will authenticate The weight result is sent to the IoT device 500;
以验签通过作为鉴权通过的必要条件之一,其他可选的必要条件还有:Dev_Info与Client_Tag(如果有Client_Tag)在数据库中并且与Account对应,Dev_Info不在设备锁定列表中,Dev_Info与Client_Tag不在客户端锁定列表中,当前时间在Expire_Date之前(如果有Expire_Date)。One of the necessary conditions for authentication is to pass the verification check. Other optional requirements are: Dev_Info and Client_Tag (if there is Client_Tag) in the database and corresponding to Account, Dev_Info is not in the device lock list, Dev_Info and Client_Tag are not. In the client lock list, the current time is before Expire_Date (if there is Expire_Date).
本发明的鉴权方法的安全性分析如下:The security analysis of the authentication method of the present invention is as follows:
攻击情景1:攻击者从服务端数据库窃取数据。Attack scenario 1: The attacker steals data from the server database.
现有的口令方式中,口令是以明文或口令散列值的形式存放在数据库中的。在本攻击情景中,攻击者可以直接获取口令,或者使用字典攻击的方式,以不可忽视的成功率获取口令。In the existing password method, the password is stored in the database in the form of a clear text or a password hash value. In this attack scenario, the attacker can directly obtain the password, or use a dictionary attack to obtain the password with a non-negligible success rate.
现有的挑战应答协议的方式中,鉴权密钥存放在数据库中。在本攻击情景中,攻击者可以直接获取鉴权密钥。In the existing challenge response protocol, the authentication key is stored in a database. In this attack scenario, the attacker can directly obtain the authentication key.
本发明的方法中,服务端数据库不存储任何有关于口令的信息,也不存储鉴权私钥,即使攻击者获取到了Token除了口令以外的所有信息,也无法鉴权通过。In the method of the present invention, the server-side database does not store any information about the password, nor does it store the authentication private key. Even if the attacker obtains all information except the password for the Token, it cannot pass the authentication.
攻击情景2:口令泄露。Attack scenario 2: Password leak.
现有的口令方式中,口令泄露将导致攻击者可以鉴权成功。In the existing password methods, password leakage will lead to the attacker being able to authenticate successfully.
本发明的方法中,攻击者单纯获取口令无法鉴权成功。纵使并列出现了攻击情景1,攻击者也只能组装出Token,但由于不知道鉴权私钥,依然无法鉴权成功。In the method of the present invention, an attacker cannot obtain authentication simply by obtaining a password. Even if attack scenario 1 appears side by side, the attacker can only assemble tokens, but because he does not know the authentication private key, he still cannot authenticate successfully.
攻击情景3:攻击者获得客户端设备。Attack scenario 3: Attacker gains client device.
根据攻击者能力假设,在本攻击情景下,攻击者可获取设备中存储的任何数据。According to the attacker's ability assumptions, in this attack scenario, the attacker can obtain any data stored in the device.
现有的挑战应答协议的方式中,由于鉴权密钥需要存储在客户端设备中,因此攻击者可以获取到鉴权密钥。In the existing challenge response protocol, since the authentication key needs to be stored in the client device, an attacker can obtain the authentication key.
现有的基于证书的数字签名的方式中,由于鉴权私钥需要存储在客户端设备中,因此攻击者可以获取到鉴权私钥。In the existing certificate-based digital signature method, since the authentication private key needs to be stored in the client device, an attacker can obtain the authentication private key.
本发明的方法中,虽然鉴权私钥也存储在客户端设备中,但由于客户端设备不存储口令,因此攻击者无法组成完整的Token以进行鉴权。In the method of the present invention, although the authentication private key is also stored in the client device, because the client device does not store the password, the attacker cannot form a complete token for authentication.
易用性、效率与成本分析:Usability, efficiency and cost analysis:
在实例1的应用场景中,本发明的方法在绑定设备时使用第二鉴权方式,在鉴权时需要在设备上输入口令,这与现有的高安全应用场景(如网银客户端等)的做法相仿,在易用性上并无降低。In the application scenario of Example 1, the method of the present invention uses the second authentication method when binding the device, and the password needs to be entered on the device during authentication, which is in contrast to the existing high security application scenarios (such as online banking clients) Do the same, without compromising ease of use.
与现有的基于证书的数字签名的方式相比,本发明的方法不再使用PKI和证书 链。鉴权时仅需要进行一次验签,而基于证书的数字签名的方式至少需要两次验签(验证证书和验证鉴权签名)。而且与CA相比,PKG的建设成本非常低,维护工作量和维护成本也很低。Compared with the existing certificate-based digital signature methods, the method of the present invention no longer uses PKI and certificate chains. Only one verification is required during authentication, and the certificate-based digital signature method requires at least two verifications (verification of the certificate and verification of the authentication signature). And compared with CA, the construction cost of PKG is very low, and the maintenance workload and maintenance cost are also very low.
最后所应说明的是,以上实施例仅用以说明本发明的技术方案而非限制。尽管参照实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,对本发明的技术方案进行修改或者等同替换,都不脱离本发明技术方案的精神和范围,其均应涵盖在本发明的权利要求范围当中。Finally, it should be noted that the above embodiments are only used to illustrate the technical solution of the present invention and not limiting. Although the present invention has been described in detail with reference to the embodiments, those of ordinary skill in the art should understand that modifications or equivalent replacements of the technical solutions of the present invention shall not depart from the spirit and scope of the technical solutions of the present invention, which should be covered by the present invention Within the scope of the claims.

Claims (26)

  1. 一种鉴权方法,用于实现鉴权中心对鉴权模块请求的鉴权,所述鉴权模块运行在客户端,所述鉴权中心运行在服务端,其特征在于,所述方法包括:An authentication method is used to implement the authentication requested by an authentication center to an authentication module. The authentication module runs on a client and the authentication center runs on a server. The method is characterized in that the method includes:
    所述鉴权中心基于一个或多个鉴权因子生成鉴权标识,所述鉴权因子由鉴权模块发送给鉴权中心或者由鉴权中心生成;The authentication center generates an authentication identifier based on one or more authentication factors, and the authentication factor is sent to the authentication center by the authentication module or is generated by the authentication center;
    所述鉴权中心基于该鉴权标识生成鉴权私钥,并将鉴权标识和鉴权私钥发送给鉴权模块;The authentication center generates an authentication private key based on the authentication identifier, and sends the authentication identifier and the authentication private key to the authentication module;
    所述鉴权中心和鉴权模块依据鉴权标识的内容,对鉴权标识进行全部存储、部分存储或全部删除的操作;The authentication center and the authentication module perform all operations of storing, partially storing, or deleting the authentication identifier according to the content of the authentication identifier;
    所述鉴权模块向所述鉴权中心发送鉴权请求,所述鉴权中心对所述鉴权请求进行验证。The authentication module sends an authentication request to the authentication center, and the authentication center verifies the authentication request.
  2. 根据权利要求1所述的鉴权方法,其特征在于,所述方法还包括:鉴权中心和鉴权模块的初始化步骤:所述鉴权中心的IBC初始化单元基于选择的IBC算法,建立IBC算法的PKG,使用该PKG生成一组主密钥和一组公共参数,所述鉴权中心的第二存储单元存储IBC初始化单元生成的主密钥;所述鉴权模块的IBC载入单元载入该组公共参数。The authentication method according to claim 1, further comprising: an initialization step of an authentication center and an authentication module: an IBC initialization unit of the authentication center establishes an IBC algorithm based on the selected IBC algorithm PKG, using the PKG to generate a set of master key and a set of public parameters, the second storage unit of the authentication center stores the master key generated by the IBC initialization unit; the IBC load unit of the authentication module loads This group of public parameters.
  3. 根据权利要求2所述的鉴权方法,其特征在于,所述鉴权因子为:客户端设备硬件信息、口令、失效时间、账户名或客户端标签。The authentication method according to claim 2, wherein the authentication factor is: client device hardware information, password, expiration time, account name, or client label.
  4. 根据权利要求3所述的鉴权方法,其特征在于,所述方法具体包括:The authentication method according to claim 3, wherein the method specifically comprises:
    步骤A1)所述鉴权模块向鉴权中心发起私钥与鉴权标识生成请求,将客户端设备硬件信息发送给鉴权中心;所述鉴权中心的鉴权标识生成单元生成包括客户端设备硬件信息的鉴权标识,鉴权中心的鉴权私钥生成单元根据鉴权标识生成鉴权私钥;Step A1) The authentication module initiates a private key and authentication ID generation request to an authentication center, and sends client device hardware information to the authentication center; the authentication ID generation unit of the authentication center generates a client device Hardware information authentication identifier, and the authentication private key generation unit of the authentication center generates the authentication private key according to the authentication identifier;
    步骤A2)所述鉴权中心将鉴权标识和鉴权私钥发送给鉴权模块,鉴权中心删除鉴权标识和鉴权私钥,所述鉴权模块接收后,所述鉴权模块删除鉴权标识中的客户端设备硬件信息,所述鉴权模块的第一存储单元存储鉴权标识和鉴权私钥;Step A2) The authentication center sends an authentication identifier and an authentication private key to the authentication module, and the authentication center deletes the authentication identifier and the authentication private key. After the authentication module receives the authentication module, the authentication module deletes Client device hardware information in the authentication identifier, and the first storage unit of the authentication module stores the authentication identifier and the authentication private key;
    步骤A3)所述鉴权模块的鉴权请求单元向鉴权中心发送鉴权请求,所述鉴权中心的鉴权验证单元验证后将鉴权结果返回鉴权模块。Step A3) The authentication request unit of the authentication module sends an authentication request to the authentication center, and the authentication verification unit of the authentication center returns the authentication result to the authentication module after verification.
  5. 根据权利要求4所述的鉴权方法,其特征在于,所述步骤A3)具体包括:The authentication method according to claim 4, wherein the step A3) specifically comprises:
    步骤A3-1)所述鉴权模块的鉴权请求单元向鉴权中心发送鉴权请求;Step A3-1) The authentication request unit of the authentication module sends an authentication request to the authentication center;
    步骤A3-2)所述鉴权中心的鉴权验证单元向鉴权模块发送一个挑战;所述挑战为随机数或特定信息;Step A3-2) The authentication verification unit of the authentication center sends a challenge to the authentication module; the challenge is a random number or specific information;
    步骤A3-3)鉴权模块获取设备硬件信息,组装出完整的鉴权标识;使用鉴权私钥对挑战使用IBC签名算法进行签名,得到挑战的数字签名,然后将鉴权标识和数字签名发送给鉴权中心;Step A3-3) The authentication module obtains the hardware information of the device and assembles a complete authentication identification; the authentication private key is used to sign the challenge using the IBC signature algorithm to obtain the challenge digital signature, and then the authentication identification and digital signature are sent To the authentication center;
    步骤A3-4)所述鉴权中心的鉴权验证单元以鉴权标识作为ID使用IBC验签算法验证数字签名;得到鉴权结果;Step A3-4) The authentication verification unit of the authentication center uses the authentication identifier as the ID to verify the digital signature using the IBC signature verification algorithm; obtain the authentication result;
    步骤A3-5)所述鉴权中心的鉴权验证单元将鉴权结果发送给鉴权模块。Step A3-5) The authentication verification unit of the authentication center sends the authentication result to the authentication module.
  6. 根据权利要求6所述的鉴权方法,其特征在于,当鉴权中心设置设备锁定列表,则所述步骤A3-4)还包括:判断鉴权标识中的设备硬件信息是否在设备锁定列表中,如果判断结果是肯定的,则验签未通过,否则,验签通过。The authentication method according to claim 6, characterized in that when the authentication center sets a device lock list, the step A3-4) further comprises: determining whether the device hardware information in the authentication identifier is in the device lock list If the result of the judgment is affirmative, the signing inspection fails, otherwise, the signing inspection passes.
  7. 根据权利要求4所述的鉴权方法,其特征在于,所述步骤A3)具体包括:The authentication method according to claim 4, wherein the step A3) specifically comprises:
    步骤A3-1′)鉴权模块获取客户端设备硬件信息,组装出完整的鉴权标识;所述鉴权模块的鉴权请求单元生成一个挑战,使用鉴权私钥对挑战使用IBC签名算法进行签名,得到数字签名,然后将鉴权标识、挑战和数字签名发送给鉴权中心;Step A3-1 ′) The authentication module obtains client device hardware information and assembles a complete authentication identifier; the authentication request unit of the authentication module generates a challenge, and the challenge is performed using the IBC signature algorithm using the authentication private key Sign, get a digital signature, and then send the authentication ID, challenge, and digital signature to the authentication center;
    步骤A3-2′)所述鉴权中心的鉴权验证单元以鉴权标识作为ID使用IBC验签算法验证数字签名;得到鉴权结果;Step A3-2 ′) The authentication verification unit of the authentication center uses the authentication identifier as the ID to verify the digital signature using the IBC signature verification algorithm; obtains the authentication result;
    步骤A3-3′)所述鉴权中心的第一鉴权验证单元将鉴权结果发送给鉴权模块。Step A3-3 ′) The first authentication verification unit of the authentication center sends the authentication result to the authentication module.
  8. 根据权利要求3所述的鉴权方法,其特征在于,所述方法具体包括:The authentication method according to claim 3, wherein the method specifically comprises:
    步骤B1)所述鉴权模块向鉴权中心发起私钥与鉴权标识生成请求,所述鉴权模块将口令发送给鉴权中心;所述鉴权中心的鉴权标识生成单元生成包括口令的鉴权标识,鉴权中心的鉴权私钥生成单元根据鉴权标识生成鉴权私钥;Step B1) The authentication module initiates a private key and authentication ID generation request to the authentication center, and the authentication module sends a password to the authentication center; the authentication ID generation unit of the authentication center generates a password including the password. An authentication identifier, and an authentication private key generating unit of an authentication center generates an authentication private key according to the authentication identifier;
    步骤B2)所述鉴权中心将鉴权标识和鉴权私钥发送给鉴权模块,鉴权中心删除鉴权标识和鉴权私钥,所述鉴权模块接收后,所述鉴权模块删除鉴权标识中的口令,所述鉴权模块的第一存储单元存储鉴权标识和鉴权私钥;Step B2) The authentication center sends the authentication identifier and the authentication private key to the authentication module, and the authentication center deletes the authentication identifier and the authentication private key. After receiving the authentication module, the authentication module deletes The password in the authentication ID, and the first storage unit of the authentication module stores the authentication ID and the authentication private key;
    步骤B3)所述鉴权模块的鉴权请求单元向鉴权中心发送鉴权请求,所述鉴权中心的鉴权验证单元验证后将鉴权结果返回鉴权模块。Step B3) The authentication request unit of the authentication module sends an authentication request to the authentication center, and the authentication verification unit of the authentication center returns the authentication result to the authentication module after verification.
  9. 根据权利要求3所述的鉴权方法,其特征在于,所述方法具体包括:The authentication method according to claim 3, wherein the method specifically comprises:
    步骤C1)所述鉴权模块的账户生成单元生成账户名,所述鉴权模块向鉴权中心发起私钥与鉴权标识生成请求,将账户名发送给鉴权中心;Step C1) The account generation unit of the authentication module generates an account name, the authentication module initiates a private key and authentication ID generation request to the authentication center, and sends the account name to the authentication center;
    步骤C2)所述鉴权中心的鉴权标识生成单元生成包括账户名的鉴权标识,鉴权中心的鉴权私钥生成单元根据鉴权标识生成鉴权私钥;Step C2) The authentication identifier generation unit of the authentication center generates an authentication identifier including an account name, and the authentication private key generation unit of the authentication center generates an authentication private key according to the authentication identifier;
    步骤C3)所述鉴权中心将鉴权标识和鉴权私钥发送给鉴权模块,鉴权中心删除鉴权标识和鉴权私钥;所述鉴权模块接收后,所述鉴权模块的第一存储单元存储鉴权标识和鉴权私钥;Step C3) The authentication center sends the authentication identifier and the authentication private key to the authentication module, and the authentication center deletes the authentication identifier and the authentication private key; after the authentication module receives the authentication module, The first storage unit stores an authentication identifier and an authentication private key;
    步骤C4)所述鉴权模块的鉴权请求单元向鉴权中心发送鉴权请求,所述鉴权中心的鉴权验证单元验证后将鉴权结果返回鉴权模块。Step C4) The authentication request unit of the authentication module sends an authentication request to the authentication center, and the authentication verification unit of the authentication center returns the authentication result to the authentication module after verification.
  10. 根据权利要求3所述的鉴权方法,其特征在于,所述方法具体包括:The authentication method according to claim 3, wherein the method specifically comprises:
    步骤D1)所述鉴权模块向鉴权中心发起私钥与鉴权标识生成请求,所述鉴权模块将客户端标签发送给鉴权中心;所述鉴权中心的鉴权标识生成单元生成包括客户端标签的鉴权标识,所述鉴权中心的鉴权私钥生成单元根据鉴权标识生成鉴权私钥;Step D1) The authentication module initiates a request for generating a private key and an authentication identifier to the authentication center, and the authentication module sends a client tag to the authentication center; the generation of the authentication identifier generating unit of the authentication center includes An authentication identifier of a client label, and an authentication private key generating unit of the authentication center generates an authentication private key according to the authentication identifier;
    步骤D2)所述鉴权中心将鉴权标识和鉴权私钥发送给鉴权模块,鉴权中心删除鉴权标识和鉴权私钥,所述鉴权模块接收后,所述鉴权模块的第一存储单元存储鉴权标识和鉴权私钥;Step D2) The authentication center sends the authentication identifier and the authentication private key to the authentication module, and the authentication center deletes the authentication identifier and the authentication private key. After the authentication module receives the authentication module, The first storage unit stores an authentication identifier and an authentication private key;
    步骤D3)所述鉴权模块的鉴权请求单元向鉴权中心发送鉴权请求,所述鉴权中心的鉴权验证单元验证后将鉴权结果返回鉴权模块。Step D3) The authentication request unit of the authentication module sends an authentication request to an authentication center, and the authentication verification unit of the authentication center returns the authentication result to the authentication module after verification.
  11. 根据权利要求10所述的鉴权方法,其特征在于,所述步骤D3)具体包括:The authentication method according to claim 10, wherein the step D3) specifically comprises:
    步骤D3-1)所述鉴权模块的鉴权请求单元向鉴权中心发送鉴权请求;Step D3-1) The authentication request unit of the authentication module sends an authentication request to the authentication center;
    步骤D3-2)所述鉴权中心的鉴权验证单元向鉴权模块发送一个挑战;所述挑战为随机数或特定信息;Step D3-2) The authentication verification unit of the authentication center sends a challenge to the authentication module; the challenge is a random number or specific information;
    步骤D3-3)鉴权模块从第一存储单元获取鉴权标识;使用鉴权私钥对挑战使用IBC签名算法进行签名,得到挑战的数字签名,然后将鉴权标识和数字签名发送给鉴权中心;Step D3-3) The authentication module obtains the authentication ID from the first storage unit; uses the authentication private key to sign the challenge using the IBC signature algorithm to obtain the digital signature of the challenge, and then sends the authentication ID and digital signature to the authentication center;
    步骤D3-4)所述鉴权中心的鉴权验证单元以鉴权标识作为ID使用IBC验签算法验证数字签名;得到鉴权结果;Step D3-4) The authentication verification unit of the authentication center uses the authentication identifier as the ID to verify the digital signature using the IBC signature verification algorithm; obtains the authentication result;
    步骤D3-5)所述鉴权中心的鉴权验证单元将鉴权结果发送给鉴权模块。Step D3-5) The authentication verification unit of the authentication center sends the authentication result to the authentication module.
  12. 根据权利要求11所述的鉴权方法,其特征在于,当鉴权中心设置客户端锁定列表,所述步骤D3-4)还包括:判断鉴权标识中的客户端标签是否在客户端锁定列表中,如果判断结果是肯定的,则验签未通过,否则,验签通过。The authentication method according to claim 11, wherein, when the authentication center sets a client lock list, the step D3-4) further comprises: determining whether the client tag in the authentication identifier is on the client lock list If the result of the judgment is affirmative, the signing inspection fails. Otherwise, the signing inspection passes.
  13. 根据权利要求3所述的鉴权方法,其特征在于,所述方法具体包括:The authentication method according to claim 3, wherein the method specifically comprises:
    步骤E1)所述鉴权中心的鉴权标识生成单元生成包括失效时间的鉴权标识,所述鉴权中心的鉴权私钥生成单元根据鉴权标识生成鉴权私钥;Step E1) The authentication identifier generation unit of the authentication center generates an authentication identifier including a time of expiration, and the authentication private key generation unit of the authentication center generates an authentication private key according to the authentication identifier;
    步骤E2)所述鉴权中心将鉴权标识和鉴权私钥发送给鉴权模块,鉴权中心删除鉴权标识和鉴权私钥,所述鉴权模块接收后,所述鉴权模块的第一存储单元存储鉴权标识和鉴权私钥;Step E2) The authentication center sends an authentication identifier and an authentication private key to the authentication module, and the authentication center deletes the authentication identifier and the authentication private key. After the authentication module receives the authentication module, The first storage unit stores an authentication identifier and an authentication private key;
    步骤E3)所述鉴权模块的鉴权请求单元向鉴权中心发送鉴权请求,所述鉴权中心的鉴权验证单元验证后将鉴权结果返回鉴权模块。Step E3) The authentication request unit of the authentication module sends an authentication request to the authentication center, and the authentication verification unit of the authentication center returns the authentication result to the authentication module after verification.
  14. 根据权利要求13所述的鉴权方法,其特征在于,所述步骤E3)具体包括:The authentication method according to claim 13, wherein the step E3) specifically comprises:
    步骤E3-1)所述鉴权模块的鉴权请求单元向鉴权中心发送鉴权请求;Step E3-1) The authentication request unit of the authentication module sends an authentication request to the authentication center;
    步骤E3-2)所述鉴权中心的鉴权验证单元向鉴权模块发送一个挑战;所述挑战为随机数或特定信息;Step E3-2) The authentication verification unit of the authentication center sends a challenge to the authentication module; the challenge is a random number or specific information;
    步骤E3-3)鉴权模块从第一存储单元获取鉴权标识;使用鉴权私钥对挑战使用IBC签名算法进行签名,得到挑战的数字签名,然后将鉴权标识和数字签名发送给鉴权中心;Step E3-3) The authentication module obtains the authentication ID from the first storage unit; uses the authentication private key to sign the challenge using the IBC signature algorithm, obtains the challenge digital signature, and then sends the authentication ID and digital signature to the authentication center;
    步骤E3-4)所述鉴权中心的鉴权验证单元以鉴权标识作为ID使用IBC验签算法验证数字签名;得到鉴权结果;Step E3-4) The authentication verification unit of the authentication center uses the authentication identifier as the ID to verify the digital signature using the IBC sign verification algorithm; obtain the authentication result;
    步骤E3-5)所述鉴权中心的鉴权验证单元将鉴权结果发送给鉴权模块。Step E3-5) The authentication verification unit of the authentication center sends the authentication result to the authentication module.
  15. 根据权利要求14所述的鉴权方法,其特征在于,所述步骤E3-4)还包括:判断当前时间是否小于鉴权标识中的失效时间,如果判断结果是肯定的,则验签通过,否则,验签未通过。The authentication method according to claim 14, wherein the step E3-4) further comprises: judging whether the current time is less than the expiration time in the authentication identifier, and if the judgment result is positive, the verification is passed, Otherwise, the verification fails.
  16. 根据权利要求3所述的鉴权方法,其特征在于,当鉴权因子包括客户端设备硬件信息和口令时,所述方法具体包括:The authentication method according to claim 3, wherein when the authentication factor includes client device hardware information and a password, the method specifically includes:
    步骤F1)所述鉴权模块向鉴权中心发起私钥与鉴权标识生成请求,将客户端设备硬件信息和口令发送给鉴权中心;所述鉴权中心的鉴权标识生成单元生成包括客户端设备硬件信息和口令的鉴权标识,鉴权中心的鉴权私钥生成单元根据鉴权标识生成鉴权私钥;Step F1) The authentication module initiates a private key and authentication ID generation request to the authentication center, and sends the client device hardware information and password to the authentication center; the authentication ID generation unit of the authentication center includes the client End device hardware information and password authentication ID, and the authentication private key generation unit of the authentication center generates the authentication private key according to the authentication ID;
    步骤F2)所述鉴权中心将鉴权标识和鉴权私钥发送给鉴权模块,所述鉴权中心删除鉴权标识;所述鉴权模块接收后,所述鉴权模块删除鉴权标识中的口令,所述鉴权模块的第一存储单元存储鉴权标识和鉴权私钥;Step F2) The authentication center sends the authentication identifier and the authentication private key to the authentication module, and the authentication center deletes the authentication identifier; after the authentication module receives, the authentication module deletes the authentication identifier In the password, the first storage unit of the authentication module stores an authentication identifier and an authentication private key;
    步骤F3)所述鉴权模块的鉴权请求单元向鉴权中心发送鉴权请求,所述鉴权中心的鉴权验证单元验证后将鉴权结果返回鉴权模块。Step F3) The authentication request unit of the authentication module sends an authentication request to the authentication center, and the authentication verification unit of the authentication center returns the authentication result to the authentication module after verification.
  17. 根据权利要求3所述的鉴权方法,其特征在于,当鉴权因子包括客户端设备硬件信息、口令和账户名时,所述方法具体包括:The authentication method according to claim 3, wherein when the authentication factor includes client device hardware information, a password, and an account name, the method specifically includes:
    步骤G1)所述鉴权模块的账户生成单元生成账户名,将账户名发送给鉴权中心;将账户名存储在鉴权中心的存储单元;Step G1) The account generating unit of the authentication module generates an account name, and sends the account name to the authentication center; and stores the account name in a storage unit of the authentication center;
    步骤G2)所述鉴权模块向鉴权中心发起私钥与鉴权标识生成请求,将客户端设备硬件信息和口令发送给鉴权中心;所述鉴权中心的鉴权标识生成单元生成至少包括账户名、客户端设备硬件信息和口令的鉴权标识,鉴权中心的鉴权私钥生成单元根据鉴权标识生成鉴权私钥;Step G2) The authentication module initiates a private key and authentication ID generation request to the authentication center, and sends the client device hardware information and password to the authentication center; the generation of the authentication ID generation unit of the authentication center includes at least The authentication ID of the account name, client device hardware information, and password, and the authentication private key generation unit of the authentication center generates the authentication private key according to the authentication ID;
    步骤G3)所述鉴权中心将鉴权标识和鉴权私钥发送给鉴权模块,所述鉴权中心删除鉴权标识;所述鉴权模块接收后,所述鉴权模块删除鉴权标识中的口令,所述鉴权模块的第一存储单元存储鉴权标识和鉴权私钥;Step G3) The authentication center sends an authentication identifier and an authentication private key to the authentication module, and the authentication center deletes the authentication identifier; after the authentication module receives, the authentication module deletes the authentication identifier In the password, the first storage unit of the authentication module stores an authentication identifier and an authentication private key;
    步骤G4)所述鉴权模块的鉴权请求单元向鉴权中心发送鉴权请求,所述鉴权中心的鉴权验证单元验证后将鉴权结果返回鉴权模块。Step G4) The authentication request unit of the authentication module sends an authentication request to the authentication center, and the authentication verification unit of the authentication center returns the authentication result to the authentication module after verification.
  18. 根据权利要求17所述的鉴权方法,其特征在于,所述步骤G2)具体包括:The authentication method according to claim 17, wherein the step G2) specifically comprises:
    步骤G2-1)所述鉴权模块向鉴权中心发起私钥与鉴权标识生成请求,所述鉴权模块将客户端设备硬件信息和口令发送给鉴权中心;Step G2-1) The authentication module initiates a private key and authentication identifier generation request to the authentication center, and the authentication module sends the client device hardware information and password to the authentication center;
    步骤G2-2)鉴权中心为鉴权模块生成鉴权标识;所述鉴权标识至少由账户名、客户端设备硬件信息和口令组成;Step G2-2) The authentication center generates an authentication identifier for the authentication module; the authentication identifier consists of at least an account name, client device hardware information, and a password;
    步骤G2-3)鉴权中心以鉴权标识作为ID,使用初始化步骤生成的PKG通过主密钥生成鉴权私钥。Step G2-3) The authentication center uses the authentication ID as the ID, and uses the PKG generated in the initialization step to generate the authentication private key through the master key.
  19. 根据权利要求3所述的鉴权方法,其特征在于,所当鉴权因子包括客户端设备硬件信息、口令、客户端标签和失效时间时,所述方法具体包括:The authentication method according to claim 3, wherein when the authentication factor includes client device hardware information, password, client label, and expiration time, the method specifically includes:
    步骤H1)所述鉴权模块向鉴权中心发起私钥与鉴权标识生成请求,将客户端设备硬件信息、口令和客户端标签发送给鉴权中心;所述鉴权中心的鉴权标识生成单元生成包括账户名、客户端设备硬件信息、口令、客户端标签和失效时间的鉴权标识,鉴权中心的鉴权私钥生成单元根据鉴权标识生成鉴权私钥;Step H1) The authentication module initiates a private key and authentication ID generation request to the authentication center, and sends the client device hardware information, password, and client label to the authentication center; the authentication ID generation of the authentication center The unit generates an authentication identifier including account name, client device hardware information, password, client label, and expiration time, and the authentication private key generation unit of the authentication center generates an authentication private key according to the authentication identifier;
    步骤H2)所述鉴权中心将鉴权标识和鉴权私钥发送给鉴权模块,所述鉴权中心删除鉴权标识;所述鉴权模块接收后,所述鉴权模块删除鉴权标识中的口令和客户端设备硬件信息,所述鉴权模块的第一存储单元存储鉴权标识和鉴权私钥;Step H2) The authentication center sends an authentication identifier and an authentication private key to the authentication module, and the authentication center deletes the authentication identifier; after receiving the authentication module, the authentication module deletes the authentication identifier The password and the client device hardware information, the first storage unit of the authentication module stores the authentication identifier and the authentication private key;
    步骤H3)所述鉴权模块的鉴权请求单元向鉴权中心发送鉴权请求,所述鉴权中 心的鉴权验证单元验证后将鉴权结果返回鉴权模块。Step H3) The authentication request unit of the authentication module sends an authentication request to the authentication center, and the authentication verification unit of the authentication center returns the authentication result to the authentication module after verification.
  20. 根据权利要求3所述的鉴权方法,其特征在于,当鉴权因子包括客户端设备硬件信息、口令、账户名、客户端标签和失效时间时,所述方法具体包括:The authentication method according to claim 3, wherein when the authentication factor includes client device hardware information, password, account name, client label, and expiration time, the method specifically includes:
    步骤R1)所述鉴权模块的账户生成单元生成账户名,将账户名发送给鉴权中心;将账户名存储在鉴权中心的存储单元;Step R1) The account generating unit of the authentication module generates an account name, and sends the account name to the authentication center; and stores the account name in a storage unit of the authentication center;
    步骤R2)所述鉴权模块向鉴权中心发起私钥与鉴权标识生成请求,将客户端设备硬件信息、口令和客户端标签发送给鉴权中心;所述鉴权中心的鉴权标识生成单元生成包括账户名、客户端设备硬件信息、口令、客户端标签和失效时间的鉴权标识,鉴权中心的鉴权私钥生成单元根据鉴权标识生成鉴权私钥;Step R2) The authentication module initiates a private key and authentication ID generation request to the authentication center, and sends client device hardware information, password, and client label to the authentication center; the authentication ID generation of the authentication center The unit generates an authentication identifier including account name, client device hardware information, password, client label, and expiration time, and the authentication private key generation unit of the authentication center generates an authentication private key according to the authentication identifier;
    步骤R3)所述鉴权中心将鉴权标识和鉴权私钥发送给鉴权模块,所述鉴权中心删除鉴权标识;所述鉴权模块接收后,所述鉴权模块删除鉴权标识中的口令和客户端设备硬件信息,所述鉴权模块的第一存储单元存储鉴权标识和鉴权私钥;Step R3) The authentication center sends the authentication identifier and the authentication private key to the authentication module, and the authentication center deletes the authentication identifier; after receiving the authentication module, the authentication module deletes the authentication identifier The password and the client device hardware information, the first storage unit of the authentication module stores the authentication identifier and the authentication private key;
    步骤R4)所述鉴权模块的鉴权请求单元向鉴权中心发送鉴权请求,所述鉴权中心的鉴权验证单元验证后将鉴权结果返回鉴权模块。Step R4) The authentication request unit of the authentication module sends an authentication request to the authentication center, and the authentication verification unit of the authentication center returns the authentication result to the authentication module after verification.
  21. 根据权利要求20所述的鉴权方法,其特征在于,当所述鉴权中心保存设备信息列表,所述方法还包括挂失的步骤:The authentication method according to claim 20, wherein when the authentication center saves the device information list, the method further comprises the step of reporting a loss:
    步骤S1)用户通过新的设备使用第二鉴权方式或其它身份认证手段认证用户身份;Step S1) The user authenticates the user's identity through the new device using the second authentication mode or other identity authentication means;
    步骤S2)所述鉴权中心验证用户身份,认证通过后,所述鉴权中心向用户展示设备信息列表;Step S2) The authentication center verifies the identity of the user. After the authentication is passed, the authentication center displays the device information list to the user;
    步骤S3)用户从设备信息列表中选择需要挂失的设备,并告知鉴权中心;Step S3) The user selects a device to be reported from the device information list, and informs the authentication center;
    步骤S4)所述鉴权中心将对应的设备硬件信息存放入设备锁定列表中,存放期限为永久或者失效日。Step S4) The authentication center stores the corresponding device hardware information in the device lock list, and the storage period is permanent or expiration date.
  22. 根据权利要求20所述的鉴权方法,其特征在于,当所述鉴权中心保存设备硬件信息,所述方法还包括挂失的步骤:The authentication method according to claim 20, wherein when the authentication center saves device hardware information, the method further comprises the step of reporting a loss:
    步骤S1′)用户通过新的设备使用第二鉴权方式或其他身份认证手段认证用户身份;Step S1 ′) The user authenticates the user identity through the new device using the second authentication mode or other identity authentication means;
    步骤S2′)所述鉴权中心验证用户身份,认证通过后,鉴权中心将数据库中该用户账户对应的所有的设备硬件信息和客户端标签删除;Step S2 ′) The authentication center verifies the identity of the user. After the authentication is passed, the authentication center deletes all the device hardware information and client tags corresponding to the user account in the database;
    步骤S3′)该账户的所有设备绑定都已失效,所有设备重新进行设备绑定流程。Step S3 ′) All device bindings of the account have been invalidated, and all devices perform the device binding process again.
  23. 根据权利要求21或22所述的鉴权方法,其特征在于,执行挂失的步骤后,当时间到了失效时间的时候,设备挂失自行解除;当鉴权中心中设置客户端标签列表,则在设备挂失自行解除之前,所述方法还进一步包括解除挂失的步骤:The authentication method according to claim 21 or 22, wherein after performing the loss reporting step, when the time reaches the expiration time, the device loss reporting is automatically cancelled; when a client label list is set in the authentication center, the device is Before the report of loss is released, the method further includes the steps of canceling the report:
    步骤T1))用户通过新的设备使用第二鉴权方式或其他身份认证手段认证用户身份;Step T1)) The user uses the new device to use the second authentication method or other identity authentication means to authenticate the user's identity;
    步骤T2)所述鉴权中心验证用户身份,认证通过后,鉴权中心向用户展示设备锁定列表;Step T2) The authentication center verifies the identity of the user. After the authentication is passed, the authentication center displays the device lock list to the user;
    步骤T3)用户从设备锁定列表中选择需要解除挂失的设备,并告知鉴权中心;Step T3) The user selects a device from the device lock list to report loss, and informs the authentication center;
    步骤T4)所述鉴权中心将对应的设备硬件信息与客户端标签放入客户端锁定列表中,存放期限为永久或者失效日期,同时将对应的设备硬件信息从设备锁定列表中删除;Step T4) The authentication center puts the corresponding device hardware information and client label in the client lock list, the storage period is permanent or expiration date, and simultaneously deletes the corresponding device hardware information from the device lock list;
    步骤T5)待解除挂失的设备彻底删除原有的客户端标签,然后生成新的客户端标签,然后重新进行设备绑定。Step T5) The device to be reported is completely deleted from the original client label, then a new client label is generated, and then the device binding is performed again.
  24. 一种鉴权系统,所述系统包括:鉴权模块和鉴权中心;所述鉴权模块运行在客户端,所述鉴权中心运行在服务端;其特征在于,An authentication system includes: an authentication module and an authentication center; the authentication module runs on a client, and the authentication center runs on a server; and is characterized in that:
    所述鉴权中心,用于基于一个或多个鉴权因子生成鉴权标识,所述鉴权因子由鉴权模块发送给鉴权中心或者由鉴权中心生成;还用于基于该鉴权标识生成鉴权私钥,并将鉴权标识和鉴权私钥发送给鉴权模块;还用于依据鉴权标识的内容,对鉴权标识进行全部存储、部分存储或全部删除的操作;还用于对鉴权模块发送的鉴权请求进行验证;The authentication center is configured to generate an authentication identifier based on one or more authentication factors, and the authentication factor is sent to the authentication center by the authentication module or is generated by the authentication center; and is further used based on the authentication identifier. Generate an authentication private key, and send the authentication ID and the authentication private key to the authentication module; it is also used to perform all operations of storing, partially storing, or deleting the authentication ID based on the content of the authentication ID; Verifying the authentication request sent by the authentication module;
    所述鉴权模块,用于依据鉴权标识的内容,对鉴权标识进行全部存储、部分存储或全部删除的操作;还用于向所述鉴权中心发送鉴权请求。The authentication module is configured to perform all operations of storing, partially storing, or deleting the authentication identifier according to the content of the authentication identifier, and is further configured to send an authentication request to the authentication center.
  25. 根据权利要求24所述的鉴权系统,其特征在于,所述鉴权模块包括:IBC载入单元、账户生成单元、私钥请求单元、第一存储单元和鉴权请求单元;The authentication system according to claim 24, wherein the authentication module comprises: an IBC load unit, an account generation unit, a private key request unit, a first storage unit, and an authentication request unit;
    所述IBC载入单元,用于载入鉴权中心公开的公共参数;The IBC loading unit is used to load the public parameters disclosed by the authentication center;
    所述账户生成单元,用于生成鉴权模块的账户名;The account generating unit is configured to generate an account name of an authentication module;
    所述第一存储单元,用于存储鉴权标识和/或鉴权私钥;The first storage unit is configured to store an authentication identifier and / or an authentication private key;
    所述私钥请求单元,用于向鉴权中心发送鉴权因子;The private key requesting unit is configured to send an authentication factor to an authentication center;
    所述鉴权请求单元,用于向鉴权中心发送鉴权请求,还用于接收鉴权中心发送的鉴权结果。The authentication request unit is configured to send an authentication request to an authentication center, and is also used to receive an authentication result sent by the authentication center.
  26. 根据权利要求24或25所述的鉴权系统,其特征在于,所述鉴权中心包括: IBC初始化单元、鉴权标识生成单元、鉴权私钥生成单元、第二存储单元和鉴权验证单元;The authentication system according to claim 24 or 25, wherein the authentication center comprises: an IBC initialization unit, an authentication identifier generation unit, an authentication private key generation unit, a second storage unit and an authentication verification unit ;
    所述IBC初始化单元,用于选择一种IBC算法,并建立一个该算法的私钥生成器PKG,使用PKG进行初始化,生成一组主密钥和公共参数,将公共参数公开;The IBC initialization unit is used to select an IBC algorithm and establish a private key generator PKG for the algorithm, use the PKG for initialization, generate a set of master keys and public parameters, and publicize the public parameters;
    所述鉴权标识生成单元,用于根据鉴权模块发送的鉴权因子生成鉴权标识;The authentication identifier generating unit is configured to generate an authentication identifier according to an authentication factor sent by an authentication module;
    所述鉴权私钥生成单元,用于以鉴权标识作为ID,通过IBC初始化单元生成的PKG和主密钥生成鉴权私钥;然后将鉴权标识和鉴权私钥发送给鉴权模块;The authentication private key generation unit is configured to generate an authentication private key by using the authentication identifier as an ID and the PKG and the master key generated by the IBC initialization unit; and then send the authentication identifier and the authentication private key to the authentication module. ;
    所述第二存储单元:用于存储IBC初始化单元生成的主密钥;The second storage unit is configured to store a master key generated by an IBC initialization unit;
    所述鉴权验证单元:用于接收鉴权模块的鉴权请求,以鉴权标识作为ID使用IBC验签算法验证数字签名,以及将鉴权结果发送给鉴权模块。The authentication verification unit is configured to receive an authentication request from an authentication module, use an authentication identifier as an ID to verify a digital signature using an IBC signature verification algorithm, and send an authentication result to the authentication module.
PCT/CN2019/096040 2018-05-17 2019-07-15 Authentication method and authentication system WO2020020008A1 (en)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
CN201810472511 2018-05-17
CN201810840575.2A CN108900309B (en) 2018-05-17 2018-07-27 Authentication method and authentication system
CN201810840575.2 2018-07-27

Publications (1)

Publication Number Publication Date
WO2020020008A1 true WO2020020008A1 (en) 2020-01-30

Family

ID=64352695

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2019/096040 WO2020020008A1 (en) 2018-05-17 2019-07-15 Authentication method and authentication system

Country Status (2)

Country Link
CN (2) CN108900309B (en)
WO (1) WO2020020008A1 (en)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108900309B (en) * 2018-05-17 2020-08-18 北京岸思信息科技有限公司 Authentication method and authentication system
CN110099065A (en) * 2019-05-10 2019-08-06 北京百度网讯科技有限公司 Internet of things equipment and authentication method, Cloud Server, processing equipment, readable medium
CN110321682B (en) * 2019-07-08 2021-10-22 国网电子商务有限公司 Unified identity authentication method and device based on UAF (Universal authentication framework) and IBC (identity based communication)
CN110795174B (en) * 2019-10-31 2023-03-14 成都西加云杉科技有限公司 Application program interface calling method, device, equipment and readable storage medium
CN111723163B (en) * 2020-07-30 2024-03-29 腾讯科技(深圳)有限公司 Information processing method, device and system

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103634265A (en) * 2012-08-20 2014-03-12 腾讯科技(深圳)有限公司 Method, device and system for security authentication
CN104618120A (en) * 2015-03-04 2015-05-13 青岛微智慧信息有限公司 Digital signature method for escrowing private key of mobile terminal
US20160269393A1 (en) * 2012-06-23 2016-09-15 Pomian & Corella Llc Protecting passwords and biometrics against back-end security breaches
CN106713236A (en) * 2015-11-17 2017-05-24 成都腾甲数据服务有限公司 End-to-end identity authentication and encryption method based on CPK identifier authentication
CN108900309A (en) * 2018-05-17 2018-11-27 北京岸思信息科技有限公司 A kind of method for authenticating and right discriminating system

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1998050875A2 (en) * 1997-05-09 1998-11-12 Gte Government Systems Corporation Biometric certificates
US20050114694A1 (en) * 2003-11-05 2005-05-26 Openwave Systems Inc. System and method for authentication of applications in a non-trusted network environment
US7523314B2 (en) * 2003-12-22 2009-04-21 Voltage Security, Inc. Identity-based-encryption message management system
ATE484899T1 (en) * 2004-03-30 2010-10-15 Univ Dublin City VERIFICATION OF IDENTITY-BASED SIGNATURES
US7370202B2 (en) * 2004-11-02 2008-05-06 Voltage Security, Inc. Security device for cryptographic communications
CN1905438B (en) * 2006-08-15 2010-05-12 华为技术有限公司 Combined key managing method and system based on ID
KR20070026285A (en) * 2006-12-27 2007-03-08 학교법인 대전기독학원 한남대학교 Electronic signature identification trnasfer method that uses cellular phone channel(sms) in p2p network
CN101098232B (en) * 2007-07-12 2012-05-09 兰州大学 Dynamic password and multiple biological characteristics combined identification authenticating method
CN101521569B (en) * 2008-02-28 2013-04-24 华为技术有限公司 Method, equipment and system for realizing service access
US8423783B2 (en) * 2009-11-27 2013-04-16 International Business Machines Corporation Secure PIN management of a user trusted device
CN103049850A (en) * 2013-01-05 2013-04-17 深圳市中兴移动通信有限公司 Mobile payment terminal, system and payment method thereof based on NFC (Near Field Communication)
CN103248488B (en) * 2013-05-14 2017-04-19 顾纯祥 Identity-based key generation method and identity-based authentication method
CN103607282B (en) * 2013-11-22 2017-03-15 成都卫士通信息产业股份有限公司 A kind of identity fusion authentication method based on biological characteristic
CN106506168A (en) * 2016-12-07 2017-03-15 北京信任度科技有限公司 A kind of safe method based on biological characteristic long-distance identity-certifying

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20160269393A1 (en) * 2012-06-23 2016-09-15 Pomian & Corella Llc Protecting passwords and biometrics against back-end security breaches
CN103634265A (en) * 2012-08-20 2014-03-12 腾讯科技(深圳)有限公司 Method, device and system for security authentication
CN104618120A (en) * 2015-03-04 2015-05-13 青岛微智慧信息有限公司 Digital signature method for escrowing private key of mobile terminal
CN106713236A (en) * 2015-11-17 2017-05-24 成都腾甲数据服务有限公司 End-to-end identity authentication and encryption method based on CPK identifier authentication
CN108900309A (en) * 2018-05-17 2018-11-27 北京岸思信息科技有限公司 A kind of method for authenticating and right discriminating system

Also Published As

Publication number Publication date
CN108900309B (en) 2020-08-18
CN108900309A (en) 2018-11-27
CN109547503A (en) 2019-03-29

Similar Documents

Publication Publication Date Title
CN110537346B (en) Safe decentralized domain name system
WO2020020008A1 (en) Authentication method and authentication system
CN108737436A (en) Based on the cross-domain services device identity identifying method for trusting alliance's block chain
US9565180B2 (en) Exchange of digital certificates in a client-proxy-server network configuration
WO2018214133A1 (en) Method, device and system for fido authentication based on blockchain
US20190052622A1 (en) Device and method certificate generation
US7600123B2 (en) Certificate registration after issuance for secure communication
US8281127B2 (en) Method for digital identity authentication
US20090240936A1 (en) System and method for storing client-side certificate credentials
JP2015171153A (en) Revocation of root certificates
CN102984127A (en) User-centered mobile internet identity managing and identifying method
CN102404347A (en) Mobile internet access authentication method based on public key infrastructure
US8397281B2 (en) Service assisted secret provisioning
CN109525565B (en) Defense method and system for short message interception attack
Frymann et al. Asynchronous remote key generation: An analysis of yubico's proposal for W3C webauthn
US11722303B2 (en) Secure enclave implementation of proxied cryptographic keys
CN110020524A (en) A kind of mutual authentication method based on smart card
JP2017152880A (en) Authentication system, key processing coordination method, and key processing coordination program
CN113472790A (en) Information transmission method based on HTTPS (hypertext transfer protocol secure protocol), client and server
CN113411187B (en) Identity authentication method and system, storage medium and processor
EP4096160A1 (en) Shared secret implementation of proxied cryptographic keys
JP2020120173A (en) Electronic signature system, certificate issuing system, certificate issuing method, and program
Liou et al. T-auth: A novel authentication mechanism for the IoT based on smart contracts and PUFs
US11502827B1 (en) Exporting remote cryptographic keys
CN109981662A (en) A kind of safe communication system and method

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: 19841943

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 08/07/2021)

122 Ep: pct application non-entry in european phase

Ref document number: 19841943

Country of ref document: EP

Kind code of ref document: A1