WO2022222722A1 - Id-pkc information processing method and apparatus, and node and storage medium - Google Patents

Id-pkc information processing method and apparatus, and node and storage medium Download PDF

Info

Publication number
WO2022222722A1
WO2022222722A1 PCT/CN2022/084185 CN2022084185W WO2022222722A1 WO 2022222722 A1 WO2022222722 A1 WO 2022222722A1 CN 2022084185 W CN2022084185 W CN 2022084185W WO 2022222722 A1 WO2022222722 A1 WO 2022222722A1
Authority
WO
WIPO (PCT)
Prior art keywords
pkc
name
distributed ledger
node
pkc system
Prior art date
Application number
PCT/CN2022/084185
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 WO2022222722A1 publication Critical patent/WO2022222722A1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0866Generation of secret information including derivation or calculation of cryptographic keys or passwords involving user or device identifiers, e.g. serial number, physical or biometrical information, DNA, hand-signature or measurable physical characteristics
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • 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/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0643Hash functions, e.g. MD5, SHA, HMAC or f9 MAC
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/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

Definitions

  • the present application relates to the technical field of network security, and in particular, to an IDentity-based Public Key Cryptograph (ID-PKC, IDentity-based Public Key Cryptograph) information processing method, device, node and storage medium.
  • ID-PKC IDentity-based Public Key Cryptograph
  • the public parameters of the ID-PKC system and/or the Identity Revocation List do not need to be encrypted for transmission, but cannot be changed during transmission. Therefore, in the related art, by using the transport layer Security (TLS) protocol to realize the security of ID-PKC system public parameters and IRL transmission.
  • TLS transport layer Security
  • the establishment of the TLS secure channel requires the use of certificates, that is, the boot process of the ID-PKC system actually relies on the public key infrastructure (PKI)-based public key (PKI-PKC, PKI based Public Key ) Cryptography) system, which will introduce the defects of the PKI-PKC system into the ID-PKC system.
  • PKI public key infrastructure
  • PKI-PKC PKI based Public Key
  • embodiments of the present application provide an ID-PKC information processing method, device, node, and storage medium.
  • the embodiment of the present application provides an ID-PKC information processing method, which is applied to the first node and includes:
  • the first ID-PKC system public parameters and/or IRL Obtain the first ID-PKC system public parameters and/or IRL; the state of the first ID-PKC system public parameters is valid; the first node is an accounting node;
  • the acquired first ID-PKC system public parameters and/or IRL are written into the permissioned distributed ledger.
  • the first ID-PKC system public parameter is generated by the public parameter server (PPS, Public Key Server) of the key generation center (KGC, Key Generate Center);
  • PPS Public Key Server
  • KGC Key Generate Center
  • the first ID-PKC system public parameter includes at least one of the following:
  • the domain name is a name defined according to a Uniform Resource Identifier (URI) or a Uniform Resource Locator (URL), or a self-defined name.
  • URI Uniform Resource Identifier
  • URL Uniform Resource Locator
  • the first ID-PKC system public parameters also include:
  • IMS Identity Management Server
  • the PPS name is a name defined according to URI or URL, or a self-defined name.
  • the name is defined according to URI or URL, or is a self-defined name.
  • the IRL is generated by the IMS of KGC
  • the IRL includes at least one of the following:
  • the domain name is called a name defined by URI or URL, or a self-defined name.
  • the IRL also includes:
  • the IMS name is a name defined according to a URI or URL, or a self-defined name.
  • the set of revocation identifiers includes at least one of the following:
  • the method also includes:
  • the public parameters of the third ID-PKC system are updated by the public parameters of the first ID-PKC system; the state of the public parameters of the third ID-PKC system is efficient;
  • the acquired public parameters of the third ID-PKC system are written into the permissioned distributed ledger.
  • the embodiment of the present application also provides an ID-PKC information processing method, applied to the second node, including:
  • the first request is used to request to obtain the public parameters of the ID-PKC system;
  • the method when querying the corresponding ID-PKC system public parameters from the licensed distributed ledger, the method includes:
  • the first request carries the domain name and the blockchain name
  • the first request also carries the PPS name
  • returning a response according to the query result includes:
  • the embodiment of the present application also provides an ID-PKC information processing method, applied to a third node, including:
  • the second request is used to request to query whether the first identification has been revoked;
  • the licensed distributed ledger records the IRL
  • the second request carries the first identifier and the blockchain name; the first identifier is used to query the permissioned distributed ledger corresponding to the blockchain name.
  • the second request carries the operation result and the blockchain name after the first identifier is operated on the hash function indicated by the ID-PKC system public parameters;
  • returning a response according to the query result includes:
  • first information is returned; the first information indicates that the first identification has been revoked;
  • second information is returned; the second information indicates that the first identifier is valid.
  • the embodiment of the present application also provides an ID-PKC information processing device, which is arranged on the first node and includes:
  • a first obtaining unit configured to obtain a first ID-PKC system public parameter and/or an IRL; the state of the first ID-PKC system public parameter is valid; the first node is an accounting node;
  • the first processing unit is configured to write the acquired public parameters and/or IRL of the first ID-PKC system into a permissioned distributed ledger based on a consensus mechanism.
  • the embodiment of the present application also provides an ID-PKC information processing device, including:
  • a second obtaining unit configured to obtain a first request; the first request is used for requesting to obtain public parameters of the ID-PKC system;
  • the second processing unit is configured to query the corresponding public parameters of the ID-PKC system from the permission distributed ledger; and return a response according to the query result.
  • the embodiment of the present application also provides an ID-PKC information processing device, including:
  • a third obtaining unit configured to obtain a second request; the second request is used to request to query whether the first identification has been revoked;
  • the third processing unit is configured to query whether the first identification has been revoked from the permission distributed ledger; the permission distributed ledger records the IRL; and return a response according to the query result.
  • the embodiment of the present application further provides a first node, including: a first communication interface and a first processor; wherein,
  • the first communication interface is configured to obtain the first ID-PKC system public parameters and/or IRL; the state of the first ID-PKC system public parameters is valid; the first node is an accounting node;
  • the first processor is configured to write the acquired public parameters and/or IRL of the first ID-PKC system into the permissioned distributed ledger based on the consensus mechanism.
  • the embodiment of the present application further provides a second node, including: a second communication interface and a second processor; wherein,
  • the second communication interface is configured to obtain a first request; the first request is used for requesting to obtain public parameters of the ID-PKC system;
  • the second processor is configured to query the corresponding public parameters of the ID-PKC system from the permission distributed ledger; and return a response through the second communication interface according to the query result.
  • the embodiment of the present application further provides a third node, including: a third communication interface and a third processor; wherein,
  • the third communication interface is configured to obtain a second request; the second request is used to request to query whether the first identification has been revoked;
  • the third processor is configured to query whether the first identification has been revoked from the permission distributed ledger; the permission distributed ledger records the IRL; and return a response through the third communication interface according to the query result.
  • Embodiments of the present application further provide a first node, including: a first processor and a first memory configured to store a computer program that can be executed on the processor,
  • the first processor is configured to execute the steps of any method on the first node side when running the computer program.
  • Embodiments of the present application further provide a second node, including: a second processor and a second memory configured to store a computer program that can be executed on the processor,
  • the second processor is configured to execute the steps of any method on the second node side above when running the computer program.
  • Embodiments of the present application further provide a third node, including: a third processor and a third memory configured to store a computer program that can be executed on the processor,
  • the third processor is configured to execute the steps of any method on the third node side when running the computer program.
  • Embodiments of the present application further provide a storage medium on which a computer program is stored, and when the computer program is executed by a processor, implements the steps of any method on the first node side, or implements the steps of any method on the second node side. steps, or steps of implementing any method on the third node side above.
  • the first node obtains the first ID-PKC system public parameters and/or IRL; the state of the first ID-PKC system public parameters is: Valid; the first node is a billing node; based on a consensus mechanism, the obtained first ID-PKC system public parameters and/or IRL are written into the permissioned distributed ledger; the second node obtains the first request; the first The request is used to request to obtain the public parameters of the ID-PKC system; query the corresponding public parameters of the ID-PKC system from the licensed distributed ledger; and return a response according to the query result; the third node obtains the second request; the second request is used to request Query whether the first identifier has been revoked; query whether the first identifier has been revoked from the permission distributed ledger; record the IRL in the permission distributed ledger; and return a response according to the query result.
  • the solution provided by the embodiments of this application is based on the permissioned distributed ledger to carry out the management of the release of ID-PKC system public parameters and the management of identification revocation.
  • ID-PKC system parameters and IRL can be transferred across domains, and the identification Revocation can be queried across domains, thus realizing cross-domain secure communication without relying on the PKI-PKC system and using the ID-PKC system.
  • FIG. 1 is a schematic flowchart of a method for processing ID-PKC information according to an embodiment of the present application
  • FIG. 2 is a schematic flowchart of a method for processing a second ID-PKC information according to an embodiment of the present application
  • FIG. 3 is a schematic flowchart of a method for processing a second ID-PKC information according to an embodiment of the present application
  • FIG. 4 is a schematic structural diagram of a first ID-PKC information processing apparatus according to an embodiment of the present application.
  • FIG. 5 is a schematic structural diagram of a second ID-PKC information processing apparatus according to an embodiment of the present application.
  • FIG. 6 is a schematic structural diagram of a third ID-PKC information processing apparatus according to an embodiment of the present application.
  • FIG. 7 is a schematic structural diagram of a first node according to an embodiment of the present application.
  • FIG. 8 is a schematic structural diagram of a second node according to an embodiment of the present application.
  • FIG. 9 is a schematic structural diagram of a third node according to an embodiment of the present application.
  • ID-PKC Identity-Based Cryptograph
  • IBC Identity-Based Cryptography
  • the main point is that there is no need to use the certificate to transmit the public key, but the user identification information such as name, Internet Protocol (IP) address, e-mail address, or mobile phone number is used as the identification information on behalf of the user.
  • IP Internet Protocol
  • e-mail address e-mail address
  • mobile phone number is used as the identification information on behalf of the user.
  • the public key and private key are calculated by KGC based on the system master key and user ID.
  • the public parameters of the ID-PKC system do not need to be encrypted and transmitted, but they are required to be transmitted without any changes (that is, the integrity needs to be guaranteed), because the integrity of the public parameters is crucial to the correct use of the ID-PKC system. It is relatively easier to initialize an ID-PKC system within a domain than across domains, and users within a domain can securely (eg, by offline methods) obtain the user's private key and the public parameters of the ID-PKC system.
  • the security of user private key and public parameter transmission of ID-PKC system can be realized by using Transport Layer Security (TLS) protocol, that is, a TLS secure channel is established between the user and KGC, and the public ID-PKC system public parameter is transmitted through the TLS secure channel. parameter.
  • TLS Transport Layer Security
  • identity revocation is required in the ID-PKC system to prevent the continued use of identities or credentials that are no longer valid or have security vulnerabilities, such as service interruption or private key disclosure.
  • the logo shall be set to the revoked state.
  • the revoked logo constitutes an IRL, and a reliable channel is also required to deliver the IRL to the user.
  • the IRL can be passed through a TLS secure channel established between the user and the KGC.
  • the issuance of public parameters of the ID-PKC system and the management of identification revocation are performed based on a permissioned distributed ledger.
  • the public parameters and/or IRL of the ID-PKC system are written into the licensed distributed ledger through the consensus mechanism of the licensed distributed ledger.
  • the ID-PKC system parameters and IRL can be cross-domain
  • the ID-PKC system can be used to realize cross-domain secure communication without relying on the PKI system.
  • An embodiment of the present application provides an ID-PKC information processing method, which is applied to a first node. As shown in FIG. 1 , the method includes:
  • Step 101 obtain the first ID-PKC system public parameters and/or IRL; the state of the first ID-PKC system public parameters is valid; the first node is an accounting node;
  • Step 102 Based on the consensus mechanism, write the acquired public parameters and/or IRL of the first ID-PKC system into the permissioned distributed ledger.
  • the ID-PKC system public parameters can also be called ID-PKC system parameters, or ID-PKC parameters
  • ID-PKC system public parameters can also be named other names , as long as it has the same function or function as the public parameter of the ID-PKC system, which is not limited in this embodiment of the present application.
  • the IRL may also use other names, as long as the functions or functions are the same as the IRL, which is not limited in this embodiment of the present application.
  • the permissioned distributed ledger (which may also be referred to as a consortium chain or a permissioned chain, a permissioned distributed ledger, a consortium chain, and a permissioned chain are synonyms and have the same meaning) is a blockchain, which refers to a blockchain that is shared by several institutions. Participate in the governance of the blockchain.
  • the permissioned distributed ledger designates multiple pre-selected nodes as accounting nodes. The generation of each block is jointly determined by all pre-selected nodes using a consensus mechanism. Other access nodes can read the information on the chain, but do not ask about the accounting process.
  • Permissioned distributed ledgers use distributed ledgers and distributed consensus technology to make data inaccessible A modified distributed database. As long as the information published on the chain is authentic and credible.
  • the mechanism may include a KGC of one domain.
  • the KGC of a domain can correspond to one or more accounting nodes.
  • the first ID-PKC system public parameters may be generated by KGC.
  • this embodiment of the present application does not limit the name of the organization that generates the public parameters of the ID-PKC system.
  • KGC usually contains the following three parts:
  • Private Key Generator configured to generate a user's private key based on the master password and user identity securely stored in the ID-PKC system. Private keys are distributed to users through secure channels, providing confidentiality and integrity protection. Therefore, only the user with the associated identity knows the private key.
  • the PPS configured to provide users with ID-PKC system public parameters and policy information describing PKG operations. Since the integrity of public parameters and policy information is critical to the normal operation of the ID-PKC system, the communication channel between the user and the PPS should be trusted. Here, in practical application, the communication channel between the user and the PPS is not necessarily confidential, because the public parameters and policy information are public information that anyone can obtain. Therefore, the first ID-PKC system public parameter can be generated by the PPS of the KGC.
  • the IMS is configured to manage the user's identity, including ensuring the uniqueness of the user's identity within the administrative domain, maintaining the state of the identity (including valid and revoked), and issuing IRLs.
  • the communication channel between the user and the IMS should be trusted.
  • the communication channel between the user and the IMS is not necessarily confidential, because the ID revocation list is public information that anyone can obtain.
  • the public parameters of the ID-PKC system may include many parameters.
  • the public parameters of the ID-PKC system since the public parameters of the ID-PKC system are stored in the permissioned distributed ledger, the public parameters of the ID-PKC system need to include and permission in addition to the general parameters. Parameters associated with the distributed ledger.
  • the first ID-PKC system public parameter includes at least one of the following:
  • Domain name that is, the name of the domain where the KGC is located
  • the domain name indicates the name of the domain where the KGC that generates the public parameters of the first ID-PKC system is located;
  • the blockchain name can also be called the name of the licensed distributed ledger, indicating the licensed distributed ledger corresponding to the public parameters of the first ID-PKC system
  • the system public parameter state indicates the state of the first ID-PKC system public parameter, specifically valid; the hash algorithm used to hide the user identity is used to anonymize the identity in IRL.
  • the first ID-PKC system public parameter of the ID-PKC system public parameter may also include at least one of the following:
  • the PPS name indicates the name of the PPS.
  • the IMS name indicates the name of the IMS.
  • the public parameters of the ID-PKC system can be described as follows:
  • version is the version number of the public parameters of the ID-PKC system
  • domainName is the name of the domain where the KGC is located, which is used for KGC addressing. It can be a name defined by URI or URL, or a user-defined name, that is, a user-defined name;
  • ppsName is the name of the PPS, which is used for PPS addressing. It can be a name defined by URI or URL, or a user-defined name, that is, a user-defined name.
  • imsName is the name of the IMS, which is used for IMS addressing. It can be a name defined by URI or URL, or a user-defined name, that is, a user-defined name.
  • domainSerial This field is an integer representing the unique set of ID-PKC system public parameters that can be used on domainName, that is, the set of ID-PKC system public parameters that can be used on the domain where the KGC indicated by domainName is located;
  • Validity field which defines the lifetime of ID-PKC system public parameters, and is defined as the following:
  • id-pkcPublicParameters is a structure that contains public parameters corresponding to the ID-PKC algorithm supported by the ID-PKC system.
  • the structure is defined as follows:
  • id-pkcAlgorithm at least one ID-PKC algorithm supported by an ID-PKC system;
  • publicParameterData is a Distinguished Encoding Rules (DER) encoded structure that contains the actual password parameters. The exact structure of this field depends on the algorithm.
  • id-PKCIdentityType an identity used to define the type of identity used within a domain, how this field is used depends on the application;
  • ID-PKC system public parameters are published on the blockchain (ie permissioned distributed ledger), this field is used to indicate the name of the distributed ledger;
  • hashAlgorithm This field indicates the hash algorithm used to hide the user ID, which is used to anonymize the user ID in IRL.
  • the definition of this field is as follows:
  • id-pkcParamStatus It is used to indicate the status of the public parameters of the ID-PKC system. Specifically, there can be two statuses: valid and invalid (also called revocation). The definition of this field is as follows:
  • id-pkcParamExtensions It is a set of extensions that can be used to define additional parameters that may be required by a particular implementation.
  • the structure of this field is defined as follows:
  • the first node may form a block based on the acquired public parameters of the first ID-PKC system based on a consensus mechanism, and then publish the formed block to the permissioned distributed ledger.
  • a permissioned distributed ledger blocks are linked into a permissioned distributed ledger in chronological order (such as the chronological order in which the public parameters of the ID-PKC system are generated).
  • the specific steps of writing the public parameters of the ID-PKC system to the permissioned distributed ledger include:
  • Step 1 The PPS of the KGC of a domain generates the public parameters of the ID-PKC system, and marks its status as valid, that is, the id-pkcParamStatus field is set to be valid.
  • Step 2 One or several accounting nodes of the KGC's PPS on the permissioned distributed ledger together with the KGC's PPS of other domains on the accounting nodes of the permissioned distributed ledger, that is, all accounting nodes on the permissioned distributed ledger , using the consensus mechanism to write the public parameters of the ID-PKC system generated by the KGC's PPS into the permissioned distributed ledger.
  • KGC and accounting nodes may be co-located, and KGC and accounting nodes may also be set separately. In the case of separate settings, KGC and accounting nodes interact through secure channels.
  • the information of the public parameters of the ID-PKC system may need to be updated, for example, the encryption algorithm has changed. Since the message on the permissioned distributed ledger cannot be deleted, it is necessary to generate a public parameter of the ID-PKC system that is the same as the public parameter of the original ID-PKC system, mark its status as invalid, and make the generated ID-PKC system public Write the parameters to the permissioned distributed ledger; then generate a public parameter of the ID-PKC system whose content has been updated, mark its status as valid and write it into the permissioned distributed ledger, thus completing the update of the public parameters of the ID-PKC system .
  • the method may further include:
  • the third ID-PKC system public parameter is updated by the first ID-PKC system public parameter
  • the acquired public parameters of the third ID-PKC system are written into the permissioned distributed ledger.
  • the specific steps of updating the public parameters of the ID-PKC system include:
  • Step 1 PPS generates a public parameter of the ID-PKC system with the same content as the public parameter of the ID-PKC system already on the chain (the other items are the same except for the status item and the generation time), that is, the second ID-PKC system public parameter is generated. , and mark its status as invalid;
  • Step 2 The PPS uses a consensus mechanism to write the public parameters of the ID-PKC system generated in step 1 into the permissioned distributed ledger with one or several billing nodes on the licensed distributed ledger together with the billing nodes of other domains. ;
  • Step 3 This PPS regenerates an ID-PKC system public parameter whose information content has been updated, namely generates the third ID-PKC system public parameter, and marks its state as valid;
  • Step 4 The PPS uses the consensus mechanism to write the ID-PKC system parameters whose information content has been updated into the permissioned distributed ledger with one or several billing nodes on the licensed distributed ledger together with the billing nodes of other domains.
  • the IRL can be generated by KGC.
  • the IRL can be generated by the IMS of KGC.
  • the IRL may contain many parameters.
  • the IRL since the IRL is stored in the permissioned distributed ledger, the IRL needs to contain, in addition to the general parameters, parameters associated with the permissioned distributed ledger.
  • the IRL includes at least one of the following:
  • the domain name indicates the name of the domain where the KGC that generates the IRL is located;
  • the blockchain name can also be called the name of the permissioned distributed ledger, indicating the name of the permissioned distributed ledger corresponding to the IRL.
  • the IRL may further include:
  • the IMS name indicates the name of the MIS.
  • the set of revocation identifiers includes at least one of the following:
  • the IRL can be described as follows:
  • Version is the version number of IRL
  • Issuer used to distinguish the issuer of IRL
  • irlNumbe is the issuer number of the current IRL; it starts from 0 and increases by 1 for each complete IRL release (ie, the IRL issued by KGC at a certain point in time contains all revocation identifiers), it is optional ;
  • deltaList Indicates whether the current IRL is a delta IRL (that is, the revocation identifier increased at a certain point in time compared to the previous point in time), the list only contains the identity information that has been revoked since the release of the complete IRL indexed by irlNumber;
  • domainName is the name of the domain where the KGC that generates the IRL is located, and is used for KGC addressing. It can be a name defined by URI or URL, or a user-defined name, that is, a custom name;
  • domainSerial This field is an integer representing the unique set of IRLs that can be used on domainName, that is, the set of IRLs that can be used on the domain where the KGC indicated by domainName is located;
  • imsName is the name of the IMS, which is used for IMS addressing. It can be a name defined by URI or URL, or a user-defined name, that is, a user-defined name.
  • ThisUpdate indicates the generation time of this IRL table
  • nextUpdate indicates the next IRL generation time, which is optional
  • distributedLedgerName IRL is published on the blockchain (i.e. permissioned distributed ledger), this field is used to indicate the name of the distributed ledger;
  • revokeIdentities used to indicate the revoked identity collection, including the following fields: anonymous, identity, revokeReason, revocationDate, irlEntryExtensions. These fields are described as follows:
  • Anonymity It is used to indicate whether the revocation identification needs to be anonymous, that is, whether the revocation identification is anonymous. The specific description of this field is as follows:
  • the ID-PKCIdentityInfo field corresponds to the hash value of the revocation identifier, otherwise, the ID-PKCIdentityInfo field corresponds to the revocation identifier itself;
  • irlEntryExtensions This field defines possible revocation identifier extensions.
  • the first node may form the acquired IRL into a block based on a consensus mechanism, and then publish the formed block to the permissioned distributed ledger.
  • a permissioned distributed ledger blocks are linked into a permissioned distributed ledger in chronological order (such as the time order in which the IRL was generated).
  • the specific steps of writing the IRL number to the permissioned distributed ledger that is, publishing the IRL (which can also be understood as issuing) on the consortium) include:
  • Step 1 The IMS of a domain's KGC generates an IRL
  • Step 2 One or several accounting nodes of the IMS on the licensed distributed ledger, together with the accounting nodes of the IMS of the KGC of other domains on the licensed distributed ledger, that is, all the accounting nodes on the licensed distributed ledger, use Consensus mechanism that writes IRL to a permissioned distributed ledger.
  • ID-PKC system public parameters and IRL are written into the permissioned distributed ledger, users can query the ID-PKC system public parameters and IRL.
  • the embodiment of the present application also provides an ID-PKC information processing method, which is applied to the second node. As shown in FIG. 2 , the method includes:
  • Step 201 obtain a first request; the first request is used for requesting to obtain public parameters of the ID-PKC system;
  • Step 202 query the corresponding ID-PKC system public parameters from the licensed distributed ledger
  • Step 203 Return a response according to the query result.
  • the second node may be an accounting node or a common access node.
  • the domain name can be called a key; in addition, there are multiple permissioned distributed ledgers in the network.
  • the first request carries the domain name and the blockchain name; accordingly, the second node uses the domain name carried in the first request to retrieve the corresponding blockchain name from the blockchain name. Allows the distributed ledger to query the corresponding ID-PKC system public parameters.
  • the public parameters of the ID-PKC system include the PPS name
  • the public parameters of the ID-PKC system are written into the permission distributed ledger
  • the domain name and/or the PPS name can be used as the key.
  • the first request further carries the PPS name
  • the second node When the domain name carried in the first request is not retrieved from the corresponding licensed distributed ledger, indicating that the corresponding public parameters of the ID-PKC system have not been queried, the second node returns an error message, and the error message can be Indicates that the ID-PKC system public parameter to be queried does not exist.
  • an error message is returned.
  • the error message can indicate that the status of the ID-PKC system public parameters to be queried is invalid.
  • the step of querying the public parameters of the ID-PKC system may include:
  • Step 1 The user needs to obtain the public parameters of the ID-PKC system. First, use the domainName field and/or ppsName field to initiate a query to the alliance blockchain, that is, initiate the first request; here, the user initiates the first request through the application programming interface (API). ask;
  • API application programming interface
  • Step 2 The retrieval starts from the latest block on the blockchain (that is, the last of the entire link, retrieved from back to front). If the domainName field and/or ppsName field to be queried is not retrieved on the blockchain, then Terminate the query and return the called error information to the user (that is, ID-PKC system parameters do not exist). Check the parameters, if its status is invalid, it will return the error message to the called party (that is, ID-PKC system parameters exist but the status is invalid); if the latest ID-PKC system public parameters are valid, it will be returned to the user The public parameters of the ID-PKC system to be obtained.
  • the embodiment of the present application also provides an ID-PKC information processing method, which is applied to a third node. As shown in FIG. 3 , the method includes:
  • Step 301 Obtain a second request; the second request is used to request to query whether the first identifier has been revoked;
  • Step 302 Query whether the first identifier has been revoked from the permissioned distributed ledger; the permissioned distributed ledger records the IRL;
  • Step 303 Return a response according to the query result.
  • the third node may be an accounting node or a common access node.
  • step 302 the third node inquires in the IRL whether the first identification has been revoked.
  • the domain name and/or IMS name (when the IRL includes the IMS name) is used as the key; in addition, there are multiple permissioned distributed ledgers in the network.
  • the permissioned distributed ledger where the IRL to be queried resides.
  • the second request carries the first identifier and the blockchain name; the third node uses the first identifier in the permissioned distributed ledger corresponding to the blockchain name make an inquiry.
  • the first identifier may be an anonymous identifier, that is, the first identifier is a hidden user identifier.
  • the first identifier may be queried using the result of a hash algorithm.
  • the second request carries the operation result and the blockchain name after the first identifier is operated on the hash function indicated by the public parameters of the ID-PKC system;
  • first information is returned; the first information indicates that the first identification has been revoked;
  • second information is returned; the second information indicates that the first identification is valid.
  • the specific process of identifying the query may include:
  • Step 1 The user uses the identifier to query the permissioned distributed ledger. If it is found, it means that the identifier has been revoked (that is, it has been revoked), and a user message is returned to the user (that is, the user identifier has been revoked). If not found, then Go to step 2; here, the user initiates a query request through the API;
  • Step 2 The user uses the hash function indicated in the public parameters of the ID-PKC system to operate on the identifier to be queried, obtain the operation result, and use the operation result to query the permissioned distributed ledger. If there is a value that is the same as the operation result, then It indicates that the user ID has been revoked, and a user message is returned to the user (that is, the user ID has been revoked); if the same value is not found, it means that the user ID is valid, and a user message is returned to the user (that is, the user ID is valid), through In the above way, whether the anonymous identification is valid can also be queried on the permissioned distributed ledger.
  • step 302 when the third node is a common node, the third node can address the corresponding IMS (which can be the same domain as the third node) according to the IMS name in the public parameters of the ID-PKC system. IMS, which may also be an IMS belonging to a different domain from the third node), and then initiates a query request to the corresponding IMS to query whether the first identifier has been revoked.
  • IMS which may also be an IMS belonging to a different domain from the third node
  • the third node is the accounting node of the permissioned distributed ledger corresponding to the blockchain name, it is possible to directly query whether the first identification has been revoked.
  • the KGC including the PKG, the PPS and the IMS and the user terminal form a permissioned distributed ledger.
  • the corresponding ID-PKC system public parameters are written on the permissioned distributed ledger.
  • an IMS goes through the consensus process, it writes the IRL in the corresponding domain on the permissioned distributed ledger.
  • User terminals cannot write data on the permissioned distributed ledger, and can only read data from the permissioned distributed ledger.
  • the first node obtains the public parameters and/or IRL of the first ID-PKC system; the state of the public parameters of the first ID-PKC system is valid; the first node is an accounting node; based on the consensus mechanism, the obtained first ID-PKC system public parameters and/or IRL are written into the permissioned distributed ledger; the second node obtains the first request; the first request is used to request to obtain ID- PKC system public parameters; query the corresponding ID-PKC system public parameters from the licensed distributed ledger; and return a response according to the query result; the third node obtains the second request; the second request is used to request to query whether the first identifier has been Revocation; query whether the first identifier has been revoked from the permissioned distributed ledger; the permissioned distributed ledger records the IRL; and return a response according to the query result.
  • the solution provided by the embodiments of this application is based on the permissioned distributed ledger to carry out the management of the release of ID-PKC system public parameters and the management of identification revocation.
  • ID-PKC system parameters and IRL can be transferred across domains, and the identification Revocation can be queried across domains, thus realizing cross-domain secure communication without relying on the PKI system and using the ID-PKC system.
  • the embodiment of the present application further provides an ID-PKC information processing device, which is arranged on the first node. As shown in FIG. 4 , the device includes:
  • a first obtaining unit 401 configured to obtain a first ID-PKC system public parameter and/or an IRL; the state of the first ID-PKC system public parameter is valid; the first node is an accounting node;
  • the first processing unit 402 is configured to write the acquired public parameters and/or IRL of the first ID-PKC system into a permissioned distributed ledger based on a consensus mechanism.
  • the first obtaining unit 401 is further configured to obtain the second ID-PKC system public parameters; the state of the second ID-PKC system public parameters is invalid; the second ID-PKC system public parameters are in an invalid state;
  • the public parameters of the PKC system are the same as the public parameters of the first ID-PKC system except for production time and status;
  • the first processing unit 402 is further configured to write the acquired public parameters of the second ID-PKC system into the permission distributed ledger based on a consensus mechanism;
  • the first obtaining unit 401 is further configured to obtain a newly generated third ID-PKC system public parameter; the third ID-PKC system public parameter is updated by the first ID-PKC system public parameter; the The status of the public parameters of the third ID-PKC system is valid;
  • the first processing unit 402 is further configured to write the acquired public parameters of the third ID-PKC system into the permission distributed ledger based on a consensus mechanism.
  • the first obtaining unit 401 can be realized by a communication interface in the ID-PKC information processing device; the first processing unit 402 can be realized by a communication interface in the ID-PKC information processing device combined with a processor.
  • the embodiment of the present application further provides an ID-PKC information processing device, which is set on the second node.
  • the device includes:
  • the second obtaining unit 501 is configured to obtain a first request; the first request is used for requesting to obtain public parameters of the ID-PKC system;
  • the second processing unit 502 is configured to query the corresponding public parameters of the ID-PKC system from the permission distributed ledger; and return a response according to the query result.
  • the second processing unit 502 when the second processing unit 502 queries the corresponding ID-PKC system public parameters from the licensed distributed ledger, the query starts from the latest block of the licensed distributed ledger.
  • the first request carries a domain name and a blockchain name
  • the second processing unit 502 is configured to use the domain name carried in the first request to query the corresponding ID-PKC system public parameters from the permissioned distributed ledger corresponding to the blockchain name.
  • the first request also carries the PPS name
  • the second processing unit 502 is configured as:
  • the second obtaining unit 501 can be realized by a communication interface in the ID-PKC information processing device; the second processing unit 502 can be realized by a communication interface in the ID-PKC information processing device combined with a processor.
  • the embodiment of the present application further provides an ID-PKC information processing device, which is set on the third node. As shown in FIG. 6 , the device includes:
  • the third obtaining unit 601 is configured to obtain a second request; the second request is used to request to query whether the first identification has been revoked;
  • the third processing unit 602 is configured to query whether the first identifier has been revoked from the permission distributed ledger; the permission distributed ledger records the IRL; and return a response according to the query result.
  • the second request carries the first identifier and the blockchain name; the third processing unit 602 uses the first identifier in the license distribution corresponding to the blockchain name Ledger for inquiries.
  • the second request carries the operation result and the blockchain name after the first identifier is operated on the hash function indicated by the ID-PKC system public parameter;
  • the third processing unit 602 uses the operation result to query the permissioned distributed ledger corresponding to the blockchain name.
  • the third processing unit 602 is configured as:
  • first information is returned; the first information indicates that the first identification has been revoked;
  • second information is returned; the second information indicates that the first identifier is valid.
  • the third obtaining unit 601 can be realized by a communication interface in the ID-PKC information processing device; the third processing unit 602 can be realized by a communication interface in the ID-PKC information processing device combined with a processor.
  • the ID-PKC information processing apparatus when the ID-PKC information processing apparatus provided in the above-mentioned embodiments performs ID-PKC information processing, only the division of the above-mentioned program modules is used for illustration. In practical applications, the above-mentioned processing can be allocated by Different program modules are completed, that is, the internal structure of the device is divided into different program modules, so as to complete all or part of the above-described processing.
  • the ID-PKC information processing apparatus and the ID-PKC information processing method embodiments provided by the above embodiments belong to the same concept, and the specific implementation process thereof is detailed in the method embodiments, which will not be repeated here.
  • the embodiment of the present application further provides a first node.
  • the first node 700 includes:
  • the first communication interface 701 capable of information interaction with other nodes (such as other billing nodes);
  • the first processor 702 is connected to the first communication interface 701 to realize information exchange with other nodes, and when configured to run a computer program, execute the method provided by one or more technical solutions on the first node side;
  • the first communication interface 701 is configured to obtain the first ID-PKC system public parameters and/or IRL; the state of the first ID-PKC system public parameters is valid; the first node 700 is a recorder account node;
  • the first processor 702 is configured to write the acquired public parameters and/or IRL of the first ID-PKC system into a permissioned distributed ledger based on a consensus mechanism.
  • the first communication interface 701 is further configured to obtain the second ID-PKC system public parameters; the state of the second ID-PKC system public parameters is invalid; the second ID-PKC system
  • the public parameters of the PKC system are the same as the public parameters of the first ID-PKC system except for production time and status;
  • the first processor 702 is further configured to write the acquired public parameters of the second ID-PKC system into the licensed distributed ledger based on a consensus mechanism;
  • the first communication interface 701 is further configured to obtain a newly generated third ID-PKC system public parameter; the third ID-PKC system public parameter is updated by the first ID-PKC system public parameter; the The status of the public parameters of the third ID-PKC system is valid;
  • the first processor 702 is further configured to write the acquired public parameters of the third ID-PKC system into the permission distributed ledger based on a consensus mechanism.
  • bus system 704 is configured to enable connection communication between these components.
  • bus system 704 also includes a power bus, a control bus and a status signal bus.
  • the various buses are labeled as bus system 704 in FIG. 7 .
  • the first memory 703 in the embodiment of the present application is configured to store various types of data to support the operation of the first node 700 .
  • Examples of such data include: any computer program for operating on the first node 700 .
  • the methods disclosed in the above embodiments of the present application may be applied to the first processor 702 or implemented by the first processor 702 .
  • the first processor 702 may be an integrated circuit chip with signal processing capability. In the implementation process, each step of the above-mentioned method may be completed by an integrated logic circuit of hardware in the first processor 702 or an instruction in the form of software.
  • the above-mentioned first processor 702 may be a general-purpose processor, a digital signal processor (DSP, Digital Signal Processor), or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, and the like.
  • the first processor 702 may implement or execute the methods, steps, and logical block diagrams disclosed in the embodiments of this application.
  • a general purpose processor may be a microprocessor or any conventional processor or the like.
  • the steps of the method disclosed in the embodiments of the present application can be directly embodied as being executed by a hardware decoding processor, or executed by a combination of hardware and software modules in the decoding processor.
  • the software module may be located in a storage medium, and the storage medium is located in the first memory 703, and the first processor 702 reads the information in the first memory 703, and completes the steps of the foregoing method in combination with its hardware.
  • the first node 700 may be configured by one or more Application Specific Integrated Circuits (ASIC, Application Specific Integrated Circuit), DSP, Programmable Logic Device (PLD, Programmable Logic Device), Complex Programmable Logic Device (CPLD, Complex Programmable Logic Device), Field Programmable Gate Array (FPGA, Field-Programmable Gate Array), general-purpose processor, controller, microcontroller (MCU, Micro Controller Unit), microprocessor (Microprocessor), or other An electronic component implementation is configured to perform the aforementioned method.
  • ASIC Application Specific Integrated Circuit
  • DSP Programmable Logic Device
  • PLD Programmable Logic Device
  • CPLD Complex Programmable Logic Device
  • FPGA Field Programmable Gate Array
  • MCU microcontroller
  • Microcontroller Micro Controller Unit
  • Microprocessor Microprocessor
  • the embodiment of the present application further provides a second node.
  • the second node 800 includes:
  • the second communication interface 801 is capable of information interaction with other nodes and users;
  • the second processor 802 is connected to the second communication interface 801 to realize information interaction with other nodes and users, and is configured to execute the method provided by one or more technical solutions on the second node side when running a computer program. ;
  • the second communication interface 801 is configured to obtain a first request; the first request is used to request to obtain public parameters of the ID-PKC system;
  • the second processor 802 is configured to query the corresponding public parameters of the ID-PKC system from the permission distributed ledger; and return a response through the second communication interface according to the query result.
  • the query starts from the latest block of the licensed distributed ledger.
  • the first request carries a domain name and a blockchain name
  • the second processor 802 is configured to use the domain name carried in the first request to query the corresponding ID-PKC system public parameters from the permissioned distributed ledger corresponding to the blockchain name.
  • the first request also carries the PPS name
  • the second processor 802 is configured to use the domain name and/or PPS name carried in the first request to query the corresponding ID-PKC system public parameters from the permissioned distributed ledger corresponding to the blockchain name.
  • the second processor 802 is configured to:
  • bus system 804 is configured to enable connection communication between these components.
  • bus system 804 also includes a power bus, a control bus, and a status signal bus.
  • the various buses are labeled as bus system 804 in FIG. 8 .
  • the second memory 803 in this embodiment of the present application is configured to store various types of data to support the operation of the second node 800 .
  • Examples of such data include: any computer program for operating on the second node 800 .
  • the methods disclosed in the above embodiments of the present application may be applied to the second processor 802 or implemented by the second processor 802 .
  • the second processor 802 may be an integrated circuit chip with signal processing capability. In the implementation process, each step of the above-mentioned method may be completed by an integrated logic circuit of hardware in the second processor 802 or an instruction in the form of software.
  • the above-mentioned second processor 802 may be a general-purpose processor, a DSP, or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, and the like.
  • the second processor 802 may implement or execute the methods, steps, and logical block diagrams disclosed in the embodiments of this application.
  • a general purpose processor may be a microprocessor or any conventional processor or the like.
  • the steps of the method disclosed in the embodiments of the present application can be directly embodied as being executed by a hardware decoding processor, or executed by a combination of hardware and software modules in the decoding processor.
  • the software module may be located in a storage medium, and the storage medium is located in the second memory 803, and the second processor 802 reads the information in the second memory 803, and completes the steps of the foregoing method in combination with its hardware.
  • the second node 800 may be implemented by one or more ASICs, DSPs, PLDs, CPLDs, FPGAs, general purpose processors, controllers, MCUs, Microprocessors, or other electronic components configured to perform the aforementioned methods.
  • the embodiment of the present application further provides a third node.
  • the third node 900 includes:
  • the third communication interface 901 is capable of information interaction with other nodes and users;
  • the third processor 902 is connected to the third communication interface 901 to realize information interaction with other nodes and users, and is configured to execute the method provided by one or more technical solutions on the third node side when running the computer program ;
  • the third communication interface 901 is configured to obtain a second request; the second request is used to request to query whether the first identification has been revoked;
  • the third processor 902 is configured to query whether the first identifier has been revoked from the permission distributed ledger; the permission distributed ledger records the IRL; and return a response through the third communication interface according to the query result.
  • the second request carries the first identifier and the blockchain name
  • the third processor 902 uses the first identifier in the permissioned distributed ledger corresponding to the blockchain name make an inquiry.
  • the second request carries the operation result and the blockchain name after the first identifier is operated on the hash function indicated by the ID-PKC system public parameter;
  • the third processor 902 uses the operation result to query the permissioned distributed ledger corresponding to the blockchain name.
  • the third processor 902 is configured to:
  • first information is returned; the first information indicates that the first identification has been revoked;
  • second information is returned; the second information indicates that the first identifier is valid.
  • bus system 904 is configured to enable connection communication between these components.
  • the bus system 904 also includes a power bus, a control bus and a status signal bus.
  • the various buses are labeled as bus system 904 in FIG. 9 .
  • the third memory 903 in the embodiment of the present application is configured to store various types of data to support the operation of the third node 900 .
  • Examples of such data include: any computer program for operating on the third node 900 .
  • the methods disclosed in the above embodiments of the present application may be applied to the third processor 902 or implemented by the third processor 902 .
  • the third processor 902 may be an integrated circuit chip with signal processing capability. In the implementation process, each step of the above-mentioned method may be completed by an integrated logic circuit of hardware in the third processor 902 or an instruction in the form of software.
  • the above-mentioned third processor 902 may be a general-purpose processor, a DSP, or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, and the like.
  • the third processor 902 may implement or execute the methods, steps, and logical block diagrams disclosed in the embodiments of this application.
  • a general purpose processor may be a microprocessor or any conventional processor or the like.
  • the steps of the method disclosed in the embodiments of the present application can be directly embodied as being executed by a hardware decoding processor, or executed by a combination of hardware and software modules in the decoding processor.
  • the software module may be located in a storage medium, and the storage medium is located in the third memory 903, the third processor 902 reads the information in the third memory 903, and completes the steps of the foregoing method in combination with its hardware.
  • the third node 900 may be implemented by one or more ASICs, DSPs, PLDs, CPLDs, FPGAs, general purpose processors, controllers, MCUs, Microprocessors, or other electronic components configured to perform the aforementioned methods.
  • the memories may be volatile memories or non-volatile memories, and may also include volatile and non-volatile memories both.
  • the non-volatile memory can be a read-only memory (ROM, Read Only Memory), a programmable read-only memory (PROM, Programmable Read-Only Memory), an erasable programmable read-only memory (EPROM, Erasable Programmable Read-only memory) Only Memory), Electrically Erasable Programmable Read-Only Memory (EEPROM, Electrically Erasable Programmable Read-Only Memory), Magnetic Random Access Memory (FRAM, ferromagnetic random access memory), Flash Memory (Flash Memory), Magnetic Surface Memory , CD-ROM, or CD-ROM (Compact Disc Read-Only Memory); magnetic surface memory can be disk memory or tape memory.
  • RAM Random Access Memory
  • SRAM Static Random Access Memory
  • SSRAM Synchronous Static Random Access Memory
  • DRAM Dynamic Random Access Memory
  • SDRAM Synchronous Dynamic Random Access Memory
  • DDRSDRAM Double Data Rate Synchronous Dynamic Random Access Memory
  • ESDRAM Double Data Rate Synchronous Dynamic Random Access Memory
  • ESDRAM Enhanced Type Synchronous Dynamic Random Access Memory
  • SLDRAM Synchronous Link Dynamic Random Access Memory
  • DRRAM Direct Rambus Random Access Memory
  • DRRAM Direct Rambus Random Access Memory
  • an embodiment of the present application further provides a storage medium, that is, a computer storage medium, specifically a computer-readable storage medium, for example, including a first memory 703 that stores a computer program, and the above-mentioned computer program can be executed by the first node
  • the first processor 702 of the node 700 executes the steps to complete the steps of the first node-side method.
  • it includes a second memory 803 that stores a computer program.
  • the computer program can be executed by the second processor 802 of the second node 800.
  • the computer-readable storage medium may be memory such as FRAM, ROM, PROM, EPROM, EEPROM, Flash Memory, magnetic surface memory, optical disk, or CD-ROM.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Power Engineering (AREA)
  • Computer And Data Communications (AREA)
  • Storage Device Security (AREA)

Abstract

Disclosed in the present application are an identity-based public key cryptograph (ID-PKC) information processing method and apparatus, and a node and a storage medium. The method comprises: a first node acquiring a first ID-PKC system public parameter and/or identity revocation list (IRL), wherein the state of the first ID-PKC system public parameter is valid, and the first node is an accounting node; and on the basis of a consensus mechanism, writing the acquired first ID-PKC system public parameter and/or IRL into a licensed distributed ledger.

Description

ID-PKC信息处理方法、装置、节点及存储介质ID-PKC information processing method, device, node and storage medium
相关申请的交叉引用CROSS-REFERENCE TO RELATED APPLICATIONS
本申请基于申请号为202110419392.5、申请日为2021年04月19日的中国专利,以及申请号为202111203497.3、申请日为2021年10月15日的中国专利申请提出,并要求该中国专利申请的优先权,该中国专利申请的全部内容在此引入本申请作为参考。This application is based on the Chinese patent with the application number 202110419392.5 and the application date on April 19, 2021, and the Chinese patent application with the application number 202111203497.3 on October 15, 2021, and claims the priority of the Chinese patent application The entire content of the Chinese patent application is incorporated herein by reference.
技术领域technical field
本申请涉及网络安全技术领域,尤其涉及一种基于标识的公共密码(ID-PKC,IDentity-based Public Key Cryptograph)信息处理方法、装置、节点及存储介质。The present application relates to the technical field of network security, and in particular, to an IDentity-based Public Key Cryptograph (ID-PKC, IDentity-based Public Key Cryptograph) information processing method, device, node and storage medium.
背景技术Background technique
ID-PKC系统中,不需要使用证书传递公钥,因此不再依赖证书和证书管理系统。在ID-PKC系统中,ID-PKC系统的公共参数和/或标识吊销列表(IRL,Identity Revocation List)不需要加密传输,但是传递时不能有任何改动,因此,相关技术中,通过使用传输层安全(TLS)协议来实现ID-PKC系统公共参数和IRL传递的安全性。In the ID-PKC system, there is no need to use certificates to transmit public keys, so certificates and certificate management systems are no longer relied upon. In the ID-PKC system, the public parameters of the ID-PKC system and/or the Identity Revocation List (IRL, Identity Revocation List) do not need to be encrypted for transmission, but cannot be changed during transmission. Therefore, in the related art, by using the transport layer Security (TLS) protocol to realize the security of ID-PKC system public parameters and IRL transmission.
然而,使用TLS协议时TLS安全通道的建立需要使用证书,也就是说,ID-PKC系统的引导过程实际上依赖于基于公钥基础设施(PKI)的公共密码(PKI-PKC,PKI based Public Key Cryptography)系统,这样会使得PKI-PKC系统的缺陷引入到ID-PKC系统。However, when using the TLS protocol, the establishment of the TLS secure channel requires the use of certificates, that is, the boot process of the ID-PKC system actually relies on the public key infrastructure (PKI)-based public key (PKI-PKC, PKI based Public Key ) Cryptography) system, which will introduce the defects of the PKI-PKC system into the ID-PKC system.
发明内容SUMMARY OF THE INVENTION
为解决相关技术问题,本申请实施例提供一种ID-PKC信息处理方法、装置、节点及存储介质。To solve related technical problems, embodiments of the present application provide an ID-PKC information processing method, device, node, and storage medium.
本申请实施例的技术方案是这样实现的:The technical solutions of the embodiments of the present application are implemented as follows:
本申请实施例提供一种ID-PKC信息处理方法,应用于第一节点,包括:The embodiment of the present application provides an ID-PKC information processing method, which is applied to the first node and includes:
获取第一ID-PKC系统公共参数和/或IRL;所述第一ID-PKC系统公共参数的状态为有效;所述第一节点为记账节点;Obtain the first ID-PKC system public parameters and/or IRL; the state of the first ID-PKC system public parameters is valid; the first node is an accounting node;
基于共识机制,将获取的第一ID-PKC系统公共参数和/或IRL写入许可分布式账本。Based on the consensus mechanism, the acquired first ID-PKC system public parameters and/or IRL are written into the permissioned distributed ledger.
上述方案中,所述第一ID-PKC系统公共参数由密钥生成中心(KGC, Key Generate Center)的公共参数服务器(PPS,Public Key Server)生成;In the above scheme, the first ID-PKC system public parameter is generated by the public parameter server (PPS, Public Key Server) of the key generation center (KGC, Key Generate Center);
所述第一ID-PKC系统公共参数至少包括以下至少之一:The first ID-PKC system public parameter includes at least one of the following:
域名称;domain name;
区块链名称;blockchain name;
系统公共参数状态;System public parameter status;
用于隐藏用户标识的哈希算法。Hash algorithm for hiding user IDs.
上述方案中,所述域名称为按照统一资源标识符(URI)或统一资源定位器(URL)定义的名称,或为自定义的名称。In the above solution, the domain name is a name defined according to a Uniform Resource Identifier (URI) or a Uniform Resource Locator (URL), or a self-defined name.
上述方案中,所述第一ID-PKC系统公共参数还包括:In the above scheme, the first ID-PKC system public parameters also include:
PPS名称;PPS name;
标识管理服务器(IMS,Identity Management Server)名称。Identity Management Server (IMS, Identity Management Server) name.
上述方案中,所述PPS名称为按照URI或URL定义的名称,或为自定义的名称。In the above solution, the PPS name is a name defined according to URI or URL, or a self-defined name.
上述方案中,所述为按照URI或URL定义的名称,或为自定义的名称。In the above solution, the name is defined according to URI or URL, or is a self-defined name.
上述方案中,所述IRL由KGC的IMS生成;In the above scheme, the IRL is generated by the IMS of KGC;
所述IRL至少包括以下至少之一:The IRL includes at least one of the following:
域名称;domain name;
区块链名称;blockchain name;
吊销标识集合。A collection of revocation signs.
上述方案中,所述域名称为按照URI或URL定义的名称,或为自定义的名称。In the above solution, the domain name is called a name defined by URI or URL, or a self-defined name.
上述方案中,所述IRL还包括:In the above scheme, the IRL also includes:
IMS名称。IMS name.
上述方案中,所述IMS名称为按照URI或URL定义的名称,或为自定义的名称。In the above solution, the IMS name is a name defined according to a URI or URL, or a self-defined name.
上述方案中,所述吊销标识集合包含以下至少之一:In the above solution, the set of revocation identifiers includes at least one of the following:
吊销标识是否匿名;Whether the revocation identification is anonymous;
吊销标识;revocation of identification;
吊销原因。Reason for revocation.
上述方案中,所述方法还包括:In the above scheme, the method also includes:
获取第二ID-PKC系统公共参数;所述第二ID-PKC系统公共参数的状态为无效;所述第二ID-PKC系统公共参数与第一ID-PKC系统公共参数除生产时间和状态外的其他参数相同;Obtain the public parameters of the second ID-PKC system; the state of the public parameters of the second ID-PKC system is invalid; the public parameters of the second ID-PKC system and the public parameters of the first ID-PKC system are in addition to production time and status The other parameters are the same;
基于共识机制,将获取的第二ID-PKC系统公共参数写入所述许可分布式账本;Based on the consensus mechanism, write the acquired public parameters of the second ID-PKC system into the licensed distributed ledger;
获取新生成的第三ID-PKC系统公共参数;所述第三ID-PKC系统公共参数是所述第一ID-PKC系统公共参数更新的;所述第三ID-PKC系统公共参数的状态为有效;Obtain the newly generated public parameters of the third ID-PKC system; the public parameters of the third ID-PKC system are updated by the public parameters of the first ID-PKC system; the state of the public parameters of the third ID-PKC system is efficient;
基于共识机制,将获取的第三ID-PKC系统公共参数写入所述许可分布式账本。Based on the consensus mechanism, the acquired public parameters of the third ID-PKC system are written into the permissioned distributed ledger.
本申请实施例还提供一种ID-PKC信息处理方法,应用于第二节点,包括:The embodiment of the present application also provides an ID-PKC information processing method, applied to the second node, including:
获取第一请求;所述第一请求用于请求获取ID-PKC系统公共参数;Obtain the first request; the first request is used to request to obtain the public parameters of the ID-PKC system;
从许可分布式账本查询对应的ID-PKC系统公共参数;Query the corresponding ID-PKC system public parameters from the permissioned distributed ledger;
根据查询结果返回响应。Return a response based on the query result.
上述方案中,所述从许可分布式账本查询对应的ID-PKC系统公共参数时,所述方法包括:In the above solution, when querying the corresponding ID-PKC system public parameters from the licensed distributed ledger, the method includes:
从所述许可分布式账本最新的区块开始查询。Start querying from the latest block of the permissioned distributed ledger.
上述方案中,所述第一请求携带域名称以及区块链名称;In the above solution, the first request carries the domain name and the blockchain name;
利用所述第一请求携带的域名称从所述区块链名称对应的许可分布式账本查询对应的ID-PKC系统公共参数。Use the domain name carried in the first request to query the corresponding ID-PKC system public parameters from the permissioned distributed ledger corresponding to the blockchain name.
上述方案中,所述第一请求还携带PPS名称;In the above solution, the first request also carries the PPS name;
利用所述第一请求携带的域名称和/或PPS名称从所述区块链名称对应的许可分布式账本查询对应的ID-PKC系统公共参数。Use the domain name and/or PPS name carried in the first request to query the corresponding ID-PKC system public parameters from the permissioned distributed ledger corresponding to the blockchain name.
上述方案中,所述根据查询结果返回响应,包括:In the above solution, returning a response according to the query result includes:
当未查询到对应的ID-PKC系统公共参数时,返回错误信息;When the corresponding ID-PKC system public parameters are not queried, an error message is returned;
或者,or,
当查询到对应的ID-PKC系统公共参数,且查询到的ID-PKC系统共参数的状态为无效时,返回错误信息;When the corresponding ID-PKC system public parameters are queried, and the status of the queried ID-PKC system common parameters is invalid, an error message is returned;
或者,or,
当查询到对应的ID-PKC系统公共参数,且查询到的ID-PKC系统共参数的状态为有效时,返回查询到的ID-PKC系统共参数。When the corresponding ID-PKC system public parameters are queried, and the status of the queried ID-PKC system common parameters is valid, the queried ID-PKC system common parameters are returned.
本申请实施例还提供一种ID-PKC信息处理方法,应用于第三节点,包括:The embodiment of the present application also provides an ID-PKC information processing method, applied to a third node, including:
获取第二请求;所述第二请求用于请求查询第一标识是否已被吊销;Obtain a second request; the second request is used to request to query whether the first identification has been revoked;
从许可分布式账本查询第一标识是否已被吊销;所述许可分布式账本记录有IRL;Query whether the first identifier has been revoked from the licensed distributed ledger; the licensed distributed ledger records the IRL;
根据查询结果返回响应。Return a response based on the query result.
上述方案中,所述第二请求携带所述第一标识及区块链名称;利用所述第一标识在所述区块链名称对应的许可分布式账本进行查询。In the above solution, the second request carries the first identifier and the blockchain name; the first identifier is used to query the permissioned distributed ledger corresponding to the blockchain name.
上述方案中,所述第二请求携带对所述第一标识利用ID-PKC系统公共参数指示的哈希函数进行运算后的运算结果及区块链名称;In the above solution, the second request carries the operation result and the blockchain name after the first identifier is operated on the hash function indicated by the ID-PKC system public parameters;
利用所述运算结果在所述区块链名称对应的许可分布式账本进行查询。Use the operation result to query the permissioned distributed ledger corresponding to the blockchain name.
上述方案中,所述根据查询结果返回响应,包括:In the above solution, returning a response according to the query result includes:
当查询到所述第一标识已被吊销时,返回第一信息;所述第一信息指示所述第一标识已被吊销;When it is queried that the first identification has been revoked, first information is returned; the first information indicates that the first identification has been revoked;
或者,or,
当未查找到所述第一标识时,返回第二信息;所述第二信息指示所述第一标识有效。When the first identifier is not found, second information is returned; the second information indicates that the first identifier is valid.
本申请实施例还提供一种ID-PKC信息处理装置,设置在第一节点上,包括:The embodiment of the present application also provides an ID-PKC information processing device, which is arranged on the first node and includes:
第一获取单元,配置为获取第一ID-PKC系统公共参数和/或IRL;所述第一ID-PKC系统公共参数的状态为有效;所述第一节点为记账节点;a first obtaining unit, configured to obtain a first ID-PKC system public parameter and/or an IRL; the state of the first ID-PKC system public parameter is valid; the first node is an accounting node;
第一处理单元,配置为基于共识机制,将获取的第一ID-PKC系统公共参数和/或IRL写入许可分布式账本。The first processing unit is configured to write the acquired public parameters and/or IRL of the first ID-PKC system into a permissioned distributed ledger based on a consensus mechanism.
本申请实施例还提供一种ID-PKC信息处理装置,包括:The embodiment of the present application also provides an ID-PKC information processing device, including:
第二获取单元,配置为获取第一请求;所述第一请求用于请求获取ID-PKC系统公共参数;a second obtaining unit, configured to obtain a first request; the first request is used for requesting to obtain public parameters of the ID-PKC system;
第二处理单元,配置为从许可分布式账本查询对应的ID-PKC系统公共参数;根据查询结果返回响应。The second processing unit is configured to query the corresponding public parameters of the ID-PKC system from the permission distributed ledger; and return a response according to the query result.
本申请实施例还提供一种ID-PKC信息处理装置,包括:The embodiment of the present application also provides an ID-PKC information processing device, including:
第三获取单元,配置为获取第二请求;所述第二请求用于请求查询第一标识是否已被吊销;a third obtaining unit, configured to obtain a second request; the second request is used to request to query whether the first identification has been revoked;
第三处理单元,配置为从许可分布式账本查询第一标识是否已被吊销;所述许可分布式账本记录有IRL;根据查询结果返回响应。The third processing unit is configured to query whether the first identification has been revoked from the permission distributed ledger; the permission distributed ledger records the IRL; and return a response according to the query result.
本申请实施例还提供一种第一节点,包括:第一通信接口及第一处理器;其中,The embodiment of the present application further provides a first node, including: a first communication interface and a first processor; wherein,
所述第一通信接口,配置为获取第一ID-PKC系统公共参数和/或IRL;所述第一ID-PKC系统公共参数的状态为有效;所述第一节点为记账节点;The first communication interface is configured to obtain the first ID-PKC system public parameters and/or IRL; the state of the first ID-PKC system public parameters is valid; the first node is an accounting node;
第一处理器,配置为基于共识机制,将获取的第一ID-PKC系统公共参数和/或IRL写入许可分布式账本。The first processor is configured to write the acquired public parameters and/or IRL of the first ID-PKC system into the permissioned distributed ledger based on the consensus mechanism.
本申请实施例还提供一种第二节点,包括:第二通信接口及第二处理器;其中,The embodiment of the present application further provides a second node, including: a second communication interface and a second processor; wherein,
所述第二通信接口,配置为获取第一请求;所述第一请求用于请求获取ID-PKC系统公共参数;The second communication interface is configured to obtain a first request; the first request is used for requesting to obtain public parameters of the ID-PKC system;
所述第二处理器,配置为从许可分布式账本查询对应的ID-PKC系统公共参数;根据查询结果通过所述第二通信接口返回响应。The second processor is configured to query the corresponding public parameters of the ID-PKC system from the permission distributed ledger; and return a response through the second communication interface according to the query result.
本申请实施例还提供一种第三节点,包括:第三通信接口及第三处理器;其中,The embodiment of the present application further provides a third node, including: a third communication interface and a third processor; wherein,
所述第三通信接口,配置为获取第二请求;所述第二请求用于请求查询第一标识是否已被吊销;The third communication interface is configured to obtain a second request; the second request is used to request to query whether the first identification has been revoked;
所述第三处理器,配置为从许可分布式账本查询第一标识是否已被吊销;所述许可分布式账本记录有IRL;根据查询结果通过所述第三通信接口返回响应。The third processor is configured to query whether the first identification has been revoked from the permission distributed ledger; the permission distributed ledger records the IRL; and return a response through the third communication interface according to the query result.
本申请实施例还提供一种第一节点,包括:第一处理器和配置为存储能够在处理器上运行的计算机程序的第一存储器,Embodiments of the present application further provide a first node, including: a first processor and a first memory configured to store a computer program that can be executed on the processor,
其中,所述第一处理器配置为运行所述计算机程序时,执行所述第一节点侧任一方法的步骤。Wherein, the first processor is configured to execute the steps of any method on the first node side when running the computer program.
本申请实施例还提供一种第二节点,包括:第二处理器和配置为存储能够在处理器上运行的计算机程序的第二存储器,Embodiments of the present application further provide a second node, including: a second processor and a second memory configured to store a computer program that can be executed on the processor,
其中,所述第二处理器配置为运行所述计算机程序时,执行上述第二节点侧任一方法的步骤。Wherein, the second processor is configured to execute the steps of any method on the second node side above when running the computer program.
本申请实施例还提供一种第三节点,包括:第三处理器和配置为存储能够在处理器上运行的计算机程序的第三存储器,Embodiments of the present application further provide a third node, including: a third processor and a third memory configured to store a computer program that can be executed on the processor,
其中,所述第三处理器配置为运行所述计算机程序时,执行上述第三节点侧任一方法的步骤。Wherein, the third processor is configured to execute the steps of any method on the third node side when running the computer program.
本申请实施例还提供一种存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述第一节点侧任一方法的步骤,或者实现上述第二节点侧任一方法的步骤,或者实现上述第三节点侧任一方法的步骤。Embodiments of the present application further provide a storage medium on which a computer program is stored, and when the computer program is executed by a processor, implements the steps of any method on the first node side, or implements the steps of any method on the second node side. steps, or steps of implementing any method on the third node side above.
本申请实施例提供的ID-PKC信息处理方法、装置、节点及存储介质,第一节点获取第一ID-PKC系统公共参数和/或IRL;所述第一ID-PKC系统公共参数的状态为有效;所述第一节点为记账节点;基于共识机制,将获取的第一ID-PKC系统公共参数和/或IRL写入许可分布式账本;第二节点获取第一请求;所述第一请求用于请求获取ID-PKC系统公共参数;从许可分布式账本查询对应的ID-PKC系统公共参数;并根据查询结果返回响应;第三节点获取第二请求;所述第二请求用于请求查询第一标识是否已被吊销;从许可分布式账本查询第一标识是否已被吊销;所述许可分布式账本记录有IRL;并根据查询结果返回响应。本申请实施例提供的方案,基于许可分布式账本进行ID-PKC系统公共参数的发布和标识撤销的管理,通过使用许可分布式账本,ID-PKC系统参数和IRL可以跨域传递,并使得标识吊销能够跨域查询,从而实现了不依赖于PKI-PKC系统,使用ID-PKC系统就能实现跨域安全通信。In the ID-PKC information processing method, device, node, and storage medium provided by the embodiments of the present application, the first node obtains the first ID-PKC system public parameters and/or IRL; the state of the first ID-PKC system public parameters is: Valid; the first node is a billing node; based on a consensus mechanism, the obtained first ID-PKC system public parameters and/or IRL are written into the permissioned distributed ledger; the second node obtains the first request; the first The request is used to request to obtain the public parameters of the ID-PKC system; query the corresponding public parameters of the ID-PKC system from the licensed distributed ledger; and return a response according to the query result; the third node obtains the second request; the second request is used to request Query whether the first identifier has been revoked; query whether the first identifier has been revoked from the permission distributed ledger; record the IRL in the permission distributed ledger; and return a response according to the query result. The solution provided by the embodiments of this application is based on the permissioned distributed ledger to carry out the management of the release of ID-PKC system public parameters and the management of identification revocation. By using the permissioned distributed ledger, ID-PKC system parameters and IRL can be transferred across domains, and the identification Revocation can be queried across domains, thus realizing cross-domain secure communication without relying on the PKI-PKC system and using the ID-PKC system.
附图说明Description of drawings
图1为本申请实施例一种ID-PKC信息处理的方法流程示意图;1 is a schematic flowchart of a method for processing ID-PKC information according to an embodiment of the present application;
图2为本申请实施例第二种ID-PKC信息处理的方法流程示意图;2 is a schematic flowchart of a method for processing a second ID-PKC information according to an embodiment of the present application;
图3为本申请实施例第二种ID-PKC信息处理的方法流程示意图;3 is a schematic flowchart of a method for processing a second ID-PKC information according to an embodiment of the present application;
图4为本申请实施例第一种ID-PKC信息处理装置结构示意图;4 is a schematic structural diagram of a first ID-PKC information processing apparatus according to an embodiment of the present application;
图5为本申请实施例第二种ID-PKC信息处理装置结构示意图;5 is a schematic structural diagram of a second ID-PKC information processing apparatus according to an embodiment of the present application;
图6为本申请实施例第三种ID-PKC信息处理装置结构示意图;6 is a schematic structural diagram of a third ID-PKC information processing apparatus according to an embodiment of the present application;
图7为本申请实施例第一节点结构示意图;FIG. 7 is a schematic structural diagram of a first node according to an embodiment of the present application;
图8为本申请实施例第二节点结构示意图;FIG. 8 is a schematic structural diagram of a second node according to an embodiment of the present application;
图9为本申请实施例第三节点结构示意图。FIG. 9 is a schematic structural diagram of a third node according to an embodiment of the present application.
具体实施方式Detailed ways
下面结合实施例对本申请再作进一步详细的描述。The present application will be described in further detail below with reference to the embodiments.
在描述本申请实施例之前,先了解一下相关技术。Before describing the embodiments of the present application, let us first understand related technologies.
传统的基于证书的密钥系统中,通过在证书中公钥和标识的绑定,并由可信的第三方认证中心(CA,Certification Authority)签名实现用户标识和公钥的可验证性传播。虽然基于证书密钥系统已得到广泛的应用,但存在一些缺点:In the traditional certificate-based key system, the verifiable propagation of user identity and public key is realized by binding the public key and the identity in the certificate, and signed by a trusted third-party certification authority (CA, Certification Authority). Although certificate-based key systems have been widely used, there are some disadvantages:
(1)在安全应用中需要交换证书;(1) Certificates need to be exchanged in security applications;
(2)证书使用时需要验证有效性;(2) The validity of the certificate needs to be verified when using it;
(3)证书的颁发和管理非常复杂。(3) The issuance and management of certificates are very complicated.
为了解决依赖证书和证书管理系统的基于证书密钥系统比如PKI-PKC系统的上述这些问题,以色列密码学家Shamir于1984年提出ID-PKC体系,也可以称为(基于标识的密码(IBC,Identity-Based Cryptograph)体系)。在ID-PKC体系中,最主要的观点是不需要使用证书传递公钥,而是使用用户标识如姓名、网际互联协议(IP)地址、电子邮箱地址、或手机号码等代表用户的标识信息作为公钥,私钥则由KGC根据系统主密钥和用户标识计算得出,因此,这类系统就不再依赖证书和证书管理系统(比如PKI-PKC系统),从而极大地简化了管理密码系统的复杂性。在提出ID-PKC概念的同时,Shamir提出了一个采用RSA算法的基于标识的签名算法(IBS)。然而基于标识的加密算法(IBE,Identity Based Encryption)长时期未能找到有效解决方法。直到2001年,D.Boneh和M.Franklin提出的基于椭圆曲线上的对(pairing)才实现了安全的IBE系统。目前比较高效的基于标识的签名算法是采用椭圆曲线的基于椭圆曲线无证书签名用于基于标识的加密(ECCSI,The Elliptic Curve-based Certificateless Signatures for Identity-based Encryption)方案。In order to solve the above problems of certificate-based key systems such as PKI-PKC systems that rely on certificates and certificate management systems, Israeli cryptographer Shamir proposed the ID-PKC system in 1984, which can also be called (identity-based cryptography (IBC, Identity-Based Cryptograph) system). In the ID-PKC system, the main point is that there is no need to use the certificate to transmit the public key, but the user identification information such as name, Internet Protocol (IP) address, e-mail address, or mobile phone number is used as the identification information on behalf of the user. The public key and private key are calculated by KGC based on the system master key and user ID. Therefore, such systems no longer rely on certificates and certificate management systems (such as PKI-PKC systems), which greatly simplifies the management of cryptographic systems. complexity. While proposing the concept of ID-PKC, Shamir proposed an identity-based signature algorithm (IBS) using the RSA algorithm. However, Identity Based Encryption (IBE, Identity Based Encryption) failed to find an effective solution for a long time. It was not until 2001 that a secure IBE system was realized based on pairing on elliptic curves proposed by D.Boneh and M.Franklin. At present, the most efficient identity-based signature algorithm is the elliptic curve-based elliptic curve certificateless signature for identity-based encryption (ECCSI, The Elliptic Curve-based Certificateless Signatures for Identity-based Encryption) scheme.
ID-PKC系统公共参数不需要加密传输,但是要求传递时不能有任何改动(即需要保证完整性),这是因为公共参数的完整性对于正确使用ID-PKC系统至关重要。在域内初始化ID-PKC系统要比跨域相对容易,域内的用户可以安全地(例如通过离线方法)获取用户私钥和ID-PKC系统的公共参数。可以通过使用传输层安全(TLS)协议来实现ID-PKC系统的用户私钥和公共参数传递的安全性,即在用户和KGC之间建立TLS安全通道,通过TLS安全通道传递ID-PKC系统公共参数。The public parameters of the ID-PKC system do not need to be encrypted and transmitted, but they are required to be transmitted without any changes (that is, the integrity needs to be guaranteed), because the integrity of the public parameters is crucial to the correct use of the ID-PKC system. It is relatively easier to initialize an ID-PKC system within a domain than across domains, and users within a domain can securely (eg, by offline methods) obtain the user's private key and the public parameters of the ID-PKC system. The security of user private key and public parameter transmission of ID-PKC system can be realized by using Transport Layer Security (TLS) protocol, that is, a TLS secure channel is established between the user and KGC, and the public ID-PKC system public parameter is transmitted through the TLS secure channel. parameter.
另一方面,ID-PKC系统中需要标识吊销,以防止继续使用不再有效或 存在安全漏洞的身份或凭证,例如服务中止或私钥泄露。撤销标识的,应当将标识设置为撤销状态。吊销的标识构成IRL,向用户传递IRL也需要一个可靠的渠道。可以通过在用户和KGC之间建立的TLS安全通道传递IRL。On the other hand, identity revocation is required in the ID-PKC system to prevent the continued use of identities or credentials that are no longer valid or have security vulnerabilities, such as service interruption or private key disclosure. If the logo is revoked, the logo shall be set to the revoked state. The revoked logo constitutes an IRL, and a reliable channel is also required to deliver the IRL to the user. The IRL can be passed through a TLS secure channel established between the user and the KGC.
然而,TLS安全通道的建立需要使用证书,这就意味着ID-PKC系统的引导过程实际上依赖于PKI,这与ID-PKC系统的最初设计意图背道而驰。此外,基于证书的密钥系统中的多CA信任问题被传导到ID-PKC系统。However, the establishment of a TLS secure channel requires the use of certificates, which means that the bootstrapping process of the ID-PKC system actually relies on PKI, which is contrary to the original design intent of the ID-PKC system. Furthermore, the multi-CA trust issue in certificate-based key systems is carried over to the ID-PKC system.
基于此,在本申请的各种实施例中,基于许可分布式账本进行ID-PKC系统公共参数的发布和标识撤销的管理。Based on this, in various embodiments of the present application, the issuance of public parameters of the ID-PKC system and the management of identification revocation are performed based on a permissioned distributed ledger.
本申请实施例中,将ID-PKC系统的公共参数和/或IRL通过许可分布式账本的共识机制写入许可分布式账本,通过使用许可分布式账本,ID-PKC系统参数和IRL可以跨域传递,并使得标识吊销能够跨域查询,从而实现了不依赖于PKI系统,使用ID-PKC系统就能实现跨域安全通信。In the embodiment of this application, the public parameters and/or IRL of the ID-PKC system are written into the licensed distributed ledger through the consensus mechanism of the licensed distributed ledger. By using the licensed distributed ledger, the ID-PKC system parameters and IRL can be cross-domain The ID-PKC system can be used to realize cross-domain secure communication without relying on the PKI system.
本申请实施例提供一种ID-PKC信息处理方法,应用于第一节点,如图1所示,该方法包括:An embodiment of the present application provides an ID-PKC information processing method, which is applied to a first node. As shown in FIG. 1 , the method includes:
步骤101:获取第一ID-PKC系统公共参数和/或IRL;所述第一ID-PKC系统公共参数的状态为有效;所述第一节点为记账节点;Step 101: obtain the first ID-PKC system public parameters and/or IRL; the state of the first ID-PKC system public parameters is valid; the first node is an accounting node;
步骤102:基于共识机制,将获取的第一ID-PKC系统公共参数和/或IRL写入许可分布式账本。Step 102: Based on the consensus mechanism, write the acquired public parameters and/or IRL of the first ID-PKC system into the permissioned distributed ledger.
这里,实际应用时,所述ID-PKC系统公共参数也可以称为ID-PKC系统参数,或者ID-PKC参数,需要说明的是,所述ID-PKC系统公共参数也可以被命名为其他名称,只要是与ID-PKC系统公共参数的功能或作用相同即可,本申请实施例对此不作限定。相应地,IRL也可以采用其他名称,只要是与IRL的功能或作用相同即可,本申请实施例对此不作限定。Here, in practical application, the ID-PKC system public parameters can also be called ID-PKC system parameters, or ID-PKC parameters, it should be noted that the ID-PKC system public parameters can also be named other names , as long as it has the same function or function as the public parameter of the ID-PKC system, which is not limited in this embodiment of the present application. Correspondingly, the IRL may also use other names, as long as the functions or functions are the same as the IRL, which is not limited in this embodiment of the present application.
所述许可分布式账本(也可以称为联盟链或者许可链,许可分布式账本,联盟链,许可链这三者是同义词,具有相同的意义)是区块链,是指由若干个机构共同参与管理的区块链。许可分布式账本内部指定多个预选的节点为记账节点,每个块的生成由所有的预选节点使用共识机制共同决定,其他接入节点可以读取链上信息,但不过问记账过程。许可分布式账本使用分布式账本和分布式共识技术从而构成数据不可
Figure PCTCN2022084185-appb-000001
改的分布式数据库。只要在链上发布的信息就是真实可信的。
The permissioned distributed ledger (which may also be referred to as a consortium chain or a permissioned chain, a permissioned distributed ledger, a consortium chain, and a permissioned chain are synonyms and have the same meaning) is a blockchain, which refers to a blockchain that is shared by several institutions. Participate in the governance of the blockchain. The permissioned distributed ledger designates multiple pre-selected nodes as accounting nodes. The generation of each block is jointly determined by all pre-selected nodes using a consensus mechanism. Other access nodes can read the information on the chain, but do not ask about the accounting process. Permissioned distributed ledgers use distributed ledgers and distributed consensus technology to make data inaccessible
Figure PCTCN2022084185-appb-000001
A modified distributed database. As long as the information published on the chain is authentic and credible.
在本申请实施例中,所述机构可以包括一个域的KGC。一个域的KGC可以对应一个或多个记账节点。In this embodiment of the present application, the mechanism may include a KGC of one domain. The KGC of a domain can correspond to one or more accounting nodes.
实际应用时,所述第一ID-PKC系统公共参数可由KGC生成。这里,需要说明的是:本申请实施例对生成的ID-PKC系统公共参数的机构的名称不作限定。In practical application, the first ID-PKC system public parameters may be generated by KGC. Here, it should be noted that this embodiment of the present application does not limit the name of the organization that generates the public parameters of the ID-PKC system.
其中,KGC通常包含以下三部分:Among them, KGC usually contains the following three parts:
私钥生成器(PKG,Private Key Generator),配置为根据ID-PKC系统 安全存储的主密码和用户身份生成用户私钥。私钥通过安全通道分发给用户,提供机密性和完整性保护。因此,只有具有关联身份的用户才知道私钥。Private Key Generator (PKG, Private Key Generator), configured to generate a user's private key based on the master password and user identity securely stored in the ID-PKC system. Private keys are distributed to users through secure channels, providing confidentiality and integrity protection. Therefore, only the user with the associated identity knows the private key.
PPS,配置为向用户提供ID-PKC系统公共参数和描述PKG操作的策略信息。由于公共参数和策略信息的完整性对ID-PKC系统的正常运行至关重要,因此用户与PPS之间的通信通道应是可信的。这里,实际应用时,用户和PPS之间的通信通道不一定是保密的,因为公共参数和策略信息是任何人都可以获取的公共信息。因此,所述第一ID-PKC系统公共参数可由KGC的PPS生成。PPS, configured to provide users with ID-PKC system public parameters and policy information describing PKG operations. Since the integrity of public parameters and policy information is critical to the normal operation of the ID-PKC system, the communication channel between the user and the PPS should be trusted. Here, in practical application, the communication channel between the user and the PPS is not necessarily confidential, because the public parameters and policy information are public information that anyone can obtain. Therefore, the first ID-PKC system public parameter can be generated by the PPS of the KGC.
IMS,配置为管理用户的标识,包括确保用户标识在管理域内的唯一性,维护标识的状态(包括有效和吊销),发布IRL。用户与IMS之间的通信通道应是可信的。这里,实际应用时,用户和IMS之间的通信通道不一定是保密的,因为标识吊销列表是任何人都可以获取的公共信息。The IMS is configured to manage the user's identity, including ensuring the uniqueness of the user's identity within the administrative domain, maintaining the state of the identity (including valid and revoked), and issuing IRLs. The communication channel between the user and the IMS should be trusted. Here, in practical application, the communication channel between the user and the IMS is not necessarily confidential, because the ID revocation list is public information that anyone can obtain.
ID-PKC系统公共参数可以包含很多参数,在本申请实施例中,由于ID-PKC系统公共参数存储在许可分布式账本,因此,ID-PKC系统公共参数除了通用参数外,还需要包含与许可分布式账本相关联的参数。The public parameters of the ID-PKC system may include many parameters. In this embodiment of the present application, since the public parameters of the ID-PKC system are stored in the permissioned distributed ledger, the public parameters of the ID-PKC system need to include and permission in addition to the general parameters. Parameters associated with the distributed ledger.
基于此,在一实施例中,所述第一ID-PKC系统公共参数至少包括以下至少之一:Based on this, in an embodiment, the first ID-PKC system public parameter includes at least one of the following:
域名称(即KGC所在域的名称);Domain name (that is, the name of the domain where the KGC is located);
区块链名称;blockchain name;
系统公共参数状态;System public parameter status;
用于隐藏用户标识的哈希算法。Hash algorithm for hiding user IDs.
其中,域名称指示生成第一ID-PKC系统公共参数的KGC所在域的名称;区块链名称也可以称为许可分布式账本名称,指示第一ID-PKC系统公共参数对应的许可分布式账本的名称;系统公共参数状态指示第一ID-PKC系统公共参数的状态,具体为有效;所述用于隐藏用户标识的哈希算法,用于在IRL中对标识进行匿名。Wherein, the domain name indicates the name of the domain where the KGC that generates the public parameters of the first ID-PKC system is located; the blockchain name can also be called the name of the licensed distributed ledger, indicating the licensed distributed ledger corresponding to the public parameters of the first ID-PKC system The system public parameter state indicates the state of the first ID-PKC system public parameter, specifically valid; the hash algorithm used to hide the user identity is used to anonymize the identity in IRL.
这里,所述ID-PKC系统公共参数所述第一ID-PKC系统公共参数还可以包括以下至少之一:Here, the first ID-PKC system public parameter of the ID-PKC system public parameter may also include at least one of the following:
PPS名称;PPS name;
IMS名称。IMS name.
其中,所述PPS名称指示PPS的名称。所述IMS名称指示IMS的名称。Wherein, the PPS name indicates the name of the PPS. The IMS name indicates the name of the IMS.
实际应用时,根据编码方法,比如ASN.1方法,ID-PKC系统公共参数可以描述如下:In practical application, according to the encoding method, such as the ASN.1 method, the public parameters of the ID-PKC system can be described as follows:
Figure PCTCN2022084185-appb-000002
Figure PCTCN2022084185-appb-000002
Figure PCTCN2022084185-appb-000003
Figure PCTCN2022084185-appb-000003
其中,各字段的含义如下:The meaning of each field is as follows:
version:是ID-PKC系统公共参数的版本号;version: is the version number of the public parameters of the ID-PKC system;
domainName:是KGC所在域的名称,用于KGC寻址,它可以是按照URI或URL定义的名称,也可以是用户用自己方式定义的名称,即自定义的名称;domainName: is the name of the domain where the KGC is located, which is used for KGC addressing. It can be a name defined by URI or URL, or a user-defined name, that is, a user-defined name;
ppsName:是PPS的名称,用于PPS寻址,它可以是按照URI或URL定义的名称,也可以是用户用自己方式定义的名称,即自定义的名称。ppsName: is the name of the PPS, which is used for PPS addressing. It can be a name defined by URI or URL, or a user-defined name, that is, a user-defined name.
imsName:是IMS的名称,用于IMS寻址,它可以是按照URI或URL定义的名称,也可以是用户用自己方式定义的名称,即自定义的名称。imsName: is the name of the IMS, which is used for IMS addressing. It can be a name defined by URI or URL, or a user-defined name, that is, a user-defined name.
domainSerial:该字段是一个整数,代表唯一的可在domainName上使用的ID-PKC系统公共参数的集合,即代表可以在domainName指示的KGC所在域上使用的ID-PKC系统公共参数的集合;domainSerial: This field is an integer representing the unique set of ID-PKC system public parameters that can be used on domainName, that is, the set of ID-PKC system public parameters that can be used on the domain where the KGC indicated by domainName is located;
Validity:有效性字段,该字段定义ID-PKC系统公共参数的生存期,并定义为以下内容:Validity: Validity field, which defines the lifetime of ID-PKC system public parameters, and is defined as the following:
Figure PCTCN2022084185-appb-000004
Figure PCTCN2022084185-appb-000004
id-pkcPublicParameters:是一种结构,其中包含ID-PKC系统支持的ID-PKC算法相对应的公共参数。该结构定义如下:id-pkcPublicParameters: is a structure that contains public parameters corresponding to the ID-PKC algorithm supported by the ID-PKC system. The structure is defined as follows:
Figure PCTCN2022084185-appb-000005
Figure PCTCN2022084185-appb-000005
这里,id-pkcAlgorithm:一个ID-PKC系统支持的至少一个ID-PKC算法;Here, id-pkcAlgorithm: at least one ID-PKC algorithm supported by an ID-PKC system;
publicParameterData:是可辨别编码规则(DER)编码的结构,包含实际的密码参数。该字段的具体结构取决于算法。publicParameterData: is a Distinguished Encoding Rules (DER) encoded structure that contains the actual password parameters. The exact structure of this field depends on the algorithm.
id-PKCIdentityType:用于定义在一个域内使用身份的类型的身份,此字段的使用方式取决于应用程序;id-PKCIdentityType: an identity used to define the type of identity used within a domain, how this field is used depends on the application;
distributedLedgerName:ID-PKC系统公共参数发布在区块链(即许可分布式账本)上,此字段用于指示分布式账本的名称;distributedLedgerName: ID-PKC system public parameters are published on the blockchain (ie permissioned distributed ledger), this field is used to indicate the name of the distributed ledger;
hashAlgorithm:此字段指示用于隐藏用户标识的哈希算法,用于在IRL中对用户标识进行匿名,该字段的定义如下:hashAlgorithm: This field indicates the hash algorithm used to hide the user ID, which is used to anonymize the user ID in IRL. The definition of this field is as follows:
Figure PCTCN2022084185-appb-000006
Figure PCTCN2022084185-appb-000006
id-pkcParamStatus:用于指示ID-PKC系统公共参数的状态,具体可以有两个状态,分别是:有效和无效(也可以称为吊销),该字段的定义如下:id-pkcParamStatus: It is used to indicate the status of the public parameters of the ID-PKC system. Specifically, there can be two statuses: valid and invalid (also called revocation). The definition of this field is as follows:
Figure PCTCN2022084185-appb-000007
Figure PCTCN2022084185-appb-000007
id-pkcParamExtensions:它是一组扩展,可用于定义特定的实现可能需要的其他参数。该字段的结构定义如下:id-pkcParamExtensions: It is a set of extensions that can be used to define additional parameters that may be required by a particular implementation. The structure of this field is defined as follows:
Figure PCTCN2022084185-appb-000008
Figure PCTCN2022084185-appb-000008
需要说明的是:本申请实施例对上述各字段的名称不作限定。It should be noted that: this embodiment of the present application does not limit the names of the above fields.
实际应用时,在步骤102中,所述第一节点可以基于共识机制,将获取的第一ID-PKC系统公共参数形成区块,然后将形成的区块发布到许可分布式账本中。在许可分布式账本中,区块按照时间顺序(比如生成ID-PKC系统公共参数的时间顺序)链接成许可分布式账本。In practical application, in step 102, the first node may form a block based on the acquired public parameters of the first ID-PKC system based on a consensus mechanism, and then publish the formed block to the permissioned distributed ledger. In a permissioned distributed ledger, blocks are linked into a permissioned distributed ledger in chronological order (such as the chronological order in which the public parameters of the ID-PKC system are generated).
示例性地,ID-PKC系统公共参数写入许可分布式账本的具体步骤包括:Exemplarily, the specific steps of writing the public parameters of the ID-PKC system to the permissioned distributed ledger include:
步骤1:一个域的KGC的PPS生成ID-PKC系统公共参数,并把其状态标为有效,即id-pkcParamStatus字段设置为有效。Step 1: The PPS of the KGC of a domain generates the public parameters of the ID-PKC system, and marks its status as valid, that is, the id-pkcParamStatus field is set to be valid.
步骤2:该KGC的PPS在许可分布式账本上的一个或几个记账节点与其它域的KGC的PPS在许可分布式账本的记账节点一起,即许可分布式账本上的所有记账节点,使用共识机制,将该KGC的PPS生成的ID-PKC系统公共参数写入许可分布式账本。Step 2: One or several accounting nodes of the KGC's PPS on the permissioned distributed ledger together with the KGC's PPS of other domains on the accounting nodes of the permissioned distributed ledger, that is, all accounting nodes on the permissioned distributed ledger , using the consensus mechanism to write the public parameters of the ID-PKC system generated by the KGC's PPS into the permissioned distributed ledger.
其中,实际应用时,KGC与记账节点可能会合设在一起,KGC与记账节点也可能会分开设置,在分开设置的情况下,KGC与记账节点之间通过安全通道进行交互。Among them, in practical application, KGC and accounting nodes may be co-located, and KGC and accounting nodes may also be set separately. In the case of separate settings, KGC and accounting nodes interact through secure channels.
这里,经过步骤1和2,就完成了ID-PKC系统公共参数的上链。Here, after steps 1 and 2, the uploading of the public parameters of the ID-PKC system is completed.
实际应用时,ID-PKC系统公共参数的信息有可能需要更新,如密码算 法改变了等。由于许可分布式账本上的消息无法删除,因此就需要生成一个与原来ID-PKC系统公共参数一样的ID-PKC系统公共参数,把它的状态标为无效,并把生成的ID-PKC系统公共参数写入许可分布式账本;然后再生成一个内容已更新的ID-PKC系统公共参数,把它的状态标为有效并将它写入许可分布式账本,从而完成ID-PKC系统公共参数的更新。In practical applications, the information of the public parameters of the ID-PKC system may need to be updated, for example, the encryption algorithm has changed. Since the message on the permissioned distributed ledger cannot be deleted, it is necessary to generate a public parameter of the ID-PKC system that is the same as the public parameter of the original ID-PKC system, mark its status as invalid, and make the generated ID-PKC system public Write the parameters to the permissioned distributed ledger; then generate a public parameter of the ID-PKC system whose content has been updated, mark its status as valid and write it into the permissioned distributed ledger, thus completing the update of the public parameters of the ID-PKC system .
基于此,在一实施例中,该方法还可以包括:Based on this, in one embodiment, the method may further include:
获取第二ID-PKC系统公共参数;所述第二ID-PKC系统公共参数的状态为无效;所述第二ID-PKC系统公共参数与第一ID-PKC系统公共参数除生产时间和状态外的其他参数相同;Obtain the public parameters of the second ID-PKC system; the state of the public parameters of the second ID-PKC system is invalid; the public parameters of the second ID-PKC system and the public parameters of the first ID-PKC system are in addition to production time and status The other parameters are the same;
基于共识机制,将获取的第二ID-PKC系统公共参数写入所述许可分布式账本;Based on the consensus mechanism, write the acquired public parameters of the second ID-PKC system into the licensed distributed ledger;
获取新生成的第三ID-PKC系统公共参数;所述第三ID-PKC系统公共参数是所述第一ID-PKC系统公共参数更新的;Obtain the newly generated third ID-PKC system public parameter; the third ID-PKC system public parameter is updated by the first ID-PKC system public parameter;
所述第三ID-PKC系统公共参数的状态为有效;The state of the third ID-PKC system public parameter is valid;
基于共识机制,将获取的第三ID-PKC系统公共参数写入所述许可分布式账本。Based on the consensus mechanism, the acquired public parameters of the third ID-PKC system are written into the permissioned distributed ledger.
示例性地,ID-PKC系统公共参数更新的具体步骤包括:Exemplarily, the specific steps of updating the public parameters of the ID-PKC system include:
步骤1:PPS生成一个与已上链ID-PKC系统公共参数内容一样的ID-PKC系统公共参数(除了状态项和生成时间不同以外其它项都相同),即生成第二ID-PKC系统公共参数,并把其状态标为无效;Step 1: PPS generates a public parameter of the ID-PKC system with the same content as the public parameter of the ID-PKC system already on the chain (the other items are the same except for the status item and the generation time), that is, the second ID-PKC system public parameter is generated. , and mark its status as invalid;
步骤2:该PPS在许可分布式账本上的一个或几个记账节点与其它域的记账节点一起,使用共识机制,把步骤1中生成的ID-PKC系统公共参数写入许可分布式账本;Step 2: The PPS uses a consensus mechanism to write the public parameters of the ID-PKC system generated in step 1 into the permissioned distributed ledger with one or several billing nodes on the licensed distributed ledger together with the billing nodes of other domains. ;
步骤3:该PPS再生成一个信息内容已更新的ID-PKC系统公共参数,即生成第三ID-PKC系统公共参数,并把其状态标为有效;Step 3: This PPS regenerates an ID-PKC system public parameter whose information content has been updated, namely generates the third ID-PKC system public parameter, and marks its state as valid;
步骤4:该PPS在许可分布式账本上的一个或几个记账节点与其它域的记账节点一起,使用共识机制,把信息内容已更新的ID-PKC系统参数写入许可分布式账本。Step 4: The PPS uses the consensus mechanism to write the ID-PKC system parameters whose information content has been updated into the permissioned distributed ledger with one or several billing nodes on the licensed distributed ledger together with the billing nodes of other domains.
实际应用时,所述IRL可由KGC生成。具体地,所述IRL可由KGC的IMS生成。In practical application, the IRL can be generated by KGC. Specifically, the IRL can be generated by the IMS of KGC.
IRL可以包含很多参数,在本申请实施例中,由于IRL存储在许可分布式账本,因此,IRL除了通用参数外,还需要包含与许可分布式账本相关联的参数。The IRL may contain many parameters. In this embodiment of the present application, since the IRL is stored in the permissioned distributed ledger, the IRL needs to contain, in addition to the general parameters, parameters associated with the permissioned distributed ledger.
基于此,在一实施例中,所述IRL至少包括以下至少之一:Based on this, in an embodiment, the IRL includes at least one of the following:
域名称;domain name;
区块链名称;blockchain name;
吊销标识集合。A collection of revocation signs.
其中,域名称指示生成IRL的KGC所在域的名称;区块链名称也可以 称为许可分布式账本名称,指示IRL对应的许可分布式账本的名称。Among them, the domain name indicates the name of the domain where the KGC that generates the IRL is located; the blockchain name can also be called the name of the permissioned distributed ledger, indicating the name of the permissioned distributed ledger corresponding to the IRL.
在一实施例中,所述IRL还可以包括:In one embodiment, the IRL may further include:
IMS名称。IMS name.
其中,IMS名称指示MIS的名称。Wherein, the IMS name indicates the name of the MIS.
在一实施例中,所述吊销标识集合包含以下至少之一:In one embodiment, the set of revocation identifiers includes at least one of the following:
吊销标识是否匿名;Whether the revocation identification is anonymous;
吊销标识;revocation of identification;
吊销原因。Reason for revocation.
实际应用时,根据编码方法,比如ASN.1方法,IRL可以描述如下:In practical applications, according to the encoding method, such as the ASN.1 method, the IRL can be described as follows:
Figure PCTCN2022084185-appb-000009
Figure PCTCN2022084185-appb-000009
其中,各字段的含义如下:The meaning of each field is as follows:
Version:是IRL的版本号;Version: is the version number of IRL;
Issuer:用于区别IRL的发行者;Issuer: used to distinguish the issuer of IRL;
irlNumbe:是当前IRL的发行者编号;它从0开始,对于每个完整的IRL发布(即在某个时间点KGC发布的IRL包含所有的吊销标识),数字都增加1,它是可选的;irlNumbe: is the issuer number of the current IRL; it starts from 0 and increases by 1 for each complete IRL release (ie, the IRL issued by KGC at a certain point in time contains all revocation identifiers), it is optional ;
deltaList:指示当前IRL是否为增量IRL(即在某个时间点比前一个时间点所增加的吊销标识),该列表仅包含自irlNumber索引的完整IRL发布以来被撤销的身份信息;deltaList: Indicates whether the current IRL is a delta IRL (that is, the revocation identifier increased at a certain point in time compared to the previous point in time), the list only contains the identity information that has been revoked since the release of the complete IRL indexed by irlNumber;
domainName:是生成IRL的KGC所在域的名称,用于KGC寻址,它可以是按照URI或URL定义的名称,也可以是用户用自己方式定义的名称,即自定义的名称;domainName: is the name of the domain where the KGC that generates the IRL is located, and is used for KGC addressing. It can be a name defined by URI or URL, or a user-defined name, that is, a custom name;
domainSerial:此字段是一个整数,代表唯一的可在domainName上使用的IRL的集合,即代表可以在domainName指示的KGC所在域上使用的IRL的集合;domainSerial: This field is an integer representing the unique set of IRLs that can be used on domainName, that is, the set of IRLs that can be used on the domain where the KGC indicated by domainName is located;
imsName:是IMS的名称,用于IMS寻址,它可以是按照URI或URL定义的名称,也可以是用户用自己方式定义的名称,即自定义的名称。imsName: is the name of the IMS, which is used for IMS addressing. It can be a name defined by URI or URL, or a user-defined name, that is, a user-defined name.
thisUpdate:指示此IRL表生成时间;thisUpdate: indicates the generation time of this IRL table;
nextUpdate:指示下一个IRL生成时间,是可选的;nextUpdate: indicates the next IRL generation time, which is optional;
distributedLedgerName:IRL发布在区块链(即许可分布式账本)上,此字段用于指示分布式账本的名称;distributedLedgerName: IRL is published on the blockchain (i.e. permissioned distributed ledger), this field is used to indicate the name of the distributed ledger;
revokedIdentities:用于指示吊销标识集合,包含以下字段:anonymimity,identity,revokeReason,revocationDate,irlEntryExtensions。这些字段说明如下:revokeIdentities: used to indicate the revoked identity collection, including the following fields: anonymous, identity, revokeReason, revocationDate, irlEntryExtensions. These fields are described as follows:
(1)anonymimity:用于说明吊销标识是否需要匿名,即吊销标识是否匿名,该字段具体描述如下:(1) Anonymity: It is used to indicate whether the revocation identification needs to be anonymous, that is, whether the revocation identification is anonymous. The specific description of this field is as follows:
Figure PCTCN2022084185-appb-000010
Figure PCTCN2022084185-appb-000010
(2)identity:用于说明吊销标识,该字段具体描述如下:(2) identity: It is used to describe the revocation identity. The specific description of this field is as follows:
identity::=ID-PKCIdentityInfoidentity::=ID-PKCIdentityInfo
ID-PKCIdentityInfo::=CHOICE{ID-PKCIdentityInfo::=CHOICE{
Hash(RovokedIdendity),Hash(RovokedIdendity),
RovokedIdentity,RovokedIdentity,
}}
其中,如果anonymimity是YES,则ID-PKCIdentityInfo字段对应的是吊销标识的哈希值,否则,ID-PKCIdentityInfo字段对应的是吊销标识本身;Among them, if anonymous is YES, the ID-PKCIdentityInfo field corresponds to the hash value of the revocation identifier, otherwise, the ID-PKCIdentityInfo field corresponds to the revocation identifier itself;
(3)revokeReason:用于说明标识吊销的原因,该字段描述如下:(3) revokeReason: It is used to describe the reason for the revocation of the identity. This field is described as follows:
Figure PCTCN2022084185-appb-000011
Figure PCTCN2022084185-appb-000011
irlEntryExtensions:该字段定义可能的吊销标识扩展。irlEntryExtensions: This field defines possible revocation identifier extensions.
需要说明的是:本申请实施例对上述各字段的名称不作限定。It should be noted that: this embodiment of the present application does not limit the names of the above fields.
实际应用时,在步骤102中,所述第一节点可以基于共识机制,将获取的IRL形成区块,然后将形成的区块发布到许可分布式账本中。在许可分布式账本中,区块按照时间顺序(比如生成IRL的时间顺序)链接成许可分布式账本。In practical application, in step 102, the first node may form the acquired IRL into a block based on a consensus mechanism, and then publish the formed block to the permissioned distributed ledger. In a permissioned distributed ledger, blocks are linked into a permissioned distributed ledger in chronological order (such as the time order in which the IRL was generated).
示例性地,IRL数写入许可分布式账本(即将IRL发布(也可以理解 为颁发)在联盟上)的具体步骤包括:Exemplarily, the specific steps of writing the IRL number to the permissioned distributed ledger (that is, publishing the IRL (which can also be understood as issuing) on the consortium) include:
步骤1:一个域的KGC的IMS生成IRL;Step 1: The IMS of a domain's KGC generates an IRL;
步骤2:该IMS在许可分布式账本上的一个或几个记账节点与其它域的KGC的IMS在许可分布式账本的记账节点一起,即许可分布式账本上的所有记账节点,使用共识机制,把IRL写入许可分布式账本。Step 2: One or several accounting nodes of the IMS on the licensed distributed ledger, together with the accounting nodes of the IMS of the KGC of other domains on the licensed distributed ledger, that is, all the accounting nodes on the licensed distributed ledger, use Consensus mechanism that writes IRL to a permissioned distributed ledger.
当ID-PKC系统公共参数和IRL写入许可分布式账本后,用户就可以查询ID-PKC系统公共参数和IRL。After the ID-PKC system public parameters and IRL are written into the permissioned distributed ledger, users can query the ID-PKC system public parameters and IRL.
基于此,本申请实施例还提供了一种ID-PKC信息处理方法,应用于第二节点,如图2所示,该方法包括:Based on this, the embodiment of the present application also provides an ID-PKC information processing method, which is applied to the second node. As shown in FIG. 2 , the method includes:
步骤201:获取第一请求;所述第一请求用于请求获取ID-PKC系统公共参数;Step 201: obtain a first request; the first request is used for requesting to obtain public parameters of the ID-PKC system;
步骤202:从许可分布式账本查询对应的ID-PKC系统公共参数;Step 202: query the corresponding ID-PKC system public parameters from the licensed distributed ledger;
步骤203:根据查询结果返回响应。Step 203: Return a response according to the query result.
其中,实际应用时,所述第二节点可以是记账节点,也可以是普通的接入节点。Wherein, in practical application, the second node may be an accounting node or a common access node.
实际应用时,ID-PKC系统公共参数写入许可分布式账本时,可以以域名称为关键词(key);另外,网络中存在多条许可分布式账本,在查询时,需要找到待查询的ID-PKC系统公共参数所在的许可分布式账本。In practical applications, when the public parameters of the ID-PKC system are written into the permissioned distributed ledger, the domain name can be called a key; in addition, there are multiple permissioned distributed ledgers in the network. The permissioned distributed ledger where the public parameters of the ID-PKC system reside.
基于此,在一实施例中,所述第一请求携带域名称及区块链名称;相应地,所述第二节点利用所述第一请求携带的域名称从所述区块链名称对应的许可分布式账本查询对应的ID-PKC系统公共参数。Based on this, in one embodiment, the first request carries the domain name and the blockchain name; accordingly, the second node uses the domain name carried in the first request to retrieve the corresponding blockchain name from the blockchain name. Allows the distributed ledger to query the corresponding ID-PKC system public parameters.
其中,实际应用时,当ID-PKC系统公共参数包含PPS名称时,且ID-PKC系统公共参数写入许可分布式账本时,可以以域名称和/或PPS名称为key。Among them, in practical application, when the public parameters of the ID-PKC system include the PPS name, and the public parameters of the ID-PKC system are written into the permission distributed ledger, the domain name and/or the PPS name can be used as the key.
基于此,在一实施例中,所述第一请求还携带PPS名称;Based on this, in an embodiment, the first request further carries the PPS name;
利用所述第一请求携带的域名称和/或PPS名称从所述区块链名称对应的许可分布式账本查询对应的ID-PKC系统公共参数。Use the domain name and/or PPS name carried in the first request to query the corresponding ID-PKC system public parameters from the permissioned distributed ledger corresponding to the blockchain name.
在许可分布式账本上,区块按照时间顺序链接,因此,查询时可以从许可分布式账本上最新的区块开始查询。On a permissioned distributed ledger, blocks are linked in chronological order, so queries can start with the latest block on the permissioned distributed ledger.
当所述第一请求携带的域名称在对应的许可分布式账本未检索到时,说明未查询到对应的ID-PKC系统公共参数时,所述第二节点返回错误信息,此时错误信息可以指示待查询的ID-PKC系统公共参数不存在。When the domain name carried in the first request is not retrieved from the corresponding licensed distributed ledger, indicating that the corresponding public parameters of the ID-PKC system have not been queried, the second node returns an error message, and the error message can be Indicates that the ID-PKC system public parameter to be queried does not exist.
当查询到对应的ID-PKC系统公共参数,且查询到的ID-PKC系统共参数的状态为无效时,返回错误信息,此时错误信息可以指示待查询的ID-PKC系统公共参数的状态是失效。When the corresponding ID-PKC system public parameters are queried, and the status of the queried ID-PKC system common parameters is invalid, an error message is returned. At this time, the error message can indicate that the status of the ID-PKC system public parameters to be queried is invalid.
当查询到对应的ID-PKC系统公共参数,且查询到的ID-PKC系统共参数的状态为有效时,返回查询到的ID-PKC系统共参数。When the corresponding ID-PKC system public parameters are queried, and the status of the queried ID-PKC system common parameters is valid, the queried ID-PKC system common parameters are returned.
示例性地,ID-PKC系统公共参数的查询步骤可以包括:Exemplarily, the step of querying the public parameters of the ID-PKC system may include:
步骤1:用户需要获得ID-PKC系统公共参数,首先用domainName字段和/或ppsName字段向联盟区块链发起查询,即发起第一请求;这里,用户通过应用程序编程接口(API)发起第一请求;Step 1: The user needs to obtain the public parameters of the ID-PKC system. First, use the domainName field and/or ppsName field to initiate a query to the alliance blockchain, that is, initiate the first request; here, the user initiates the first request through the application programming interface (API). ask;
步骤2:检索从区块链上最新的区块(即整个链接的最后,从后往前检索)开始,如果要查询的domainName字段和/或ppsName字段在该区块链上没有检索到,则终止查询并向用户返回被叫错误信息(即ID-PKC系统参数不存在),如果在该区块链上检索到,则对获得的最新(即对应domainSerial是最大的)的ID-PKC系统公共参数进行检查,如果其状态为无效状态,则返回给被叫错误信息(即存在ID-PKC系统参数但状态失效);如果最新的ID-PKC系统公共参数的状态为有效状态,则返回给用户想要获取的ID-PKC系统公共参数。Step 2: The retrieval starts from the latest block on the blockchain (that is, the last of the entire link, retrieved from back to front). If the domainName field and/or ppsName field to be queried is not retrieved on the blockchain, then Terminate the query and return the called error information to the user (that is, ID-PKC system parameters do not exist). Check the parameters, if its status is invalid, it will return the error message to the called party (that is, ID-PKC system parameters exist but the status is invalid); if the latest ID-PKC system public parameters are valid, it will be returned to the user The public parameters of the ID-PKC system to be obtained.
本申请实施例还提供了一种ID-PKC信息处理方法,应用于第三节点,如图3所示,该方法包括:The embodiment of the present application also provides an ID-PKC information processing method, which is applied to a third node. As shown in FIG. 3 , the method includes:
步骤301:获取第二请求;所述第二请求用于请求查询第一标识是否已被吊销;Step 301: Obtain a second request; the second request is used to request to query whether the first identifier has been revoked;
步骤302:从许可分布式账本查询第一标识是否已被吊销;所述许可分布式账本记录有IRL;Step 302: Query whether the first identifier has been revoked from the permissioned distributed ledger; the permissioned distributed ledger records the IRL;
步骤303:根据查询结果返回响应。Step 303: Return a response according to the query result.
其中,实际应用时,所述第三节点可以是记账节点,也可以是普通的接入节点。Wherein, in practical application, the third node may be an accounting node or a common access node.
在步骤302中,所述第三节点在IRL中查询所述第一标识是否已被吊销。In step 302, the third node inquires in the IRL whether the first identification has been revoked.
实际应用时,IRL写入许可分布式账本时,以域名称和/或IMS名称(当IRL包括IMS名称时)为key;另外,网络中存在多条许可分布式账本,在查询时,需要找到待查询的IRL所在的许可分布式账本。In practical applications, when IRL writes the permissioned distributed ledger, the domain name and/or IMS name (when the IRL includes the IMS name) is used as the key; in addition, there are multiple permissioned distributed ledgers in the network. The permissioned distributed ledger where the IRL to be queried resides.
基于此,在一实施例中,所述第二请求携带所述第一标识及区块链名称;所述第三节点利用所述第一标识在所述区块链名称对应的许可分布式账本进行查询。Based on this, in one embodiment, the second request carries the first identifier and the blockchain name; the third node uses the first identifier in the permissioned distributed ledger corresponding to the blockchain name make an inquiry.
实际应用时,第一标识可能是匿名标识,即所述第一标识是隐藏用户标识,为了实现对匿名标识的查询,可以用对第一标识进行哈希算法的运算结果来进行查询。In practical application, the first identifier may be an anonymous identifier, that is, the first identifier is a hidden user identifier. In order to query the anonymous identifier, the first identifier may be queried using the result of a hash algorithm.
基于此,在一实施例中,所述第二请求携带对所述第一标识利用ID-PKC系统公共参数指示的哈希函数进行运算后的运算结果及区块链名称;Based on this, in one embodiment, the second request carries the operation result and the blockchain name after the first identifier is operated on the hash function indicated by the public parameters of the ID-PKC system;
利用所述运算结果在所述区块链名称对应的许可分布式账本进行查询。Use the operation result to query the permissioned distributed ledger corresponding to the blockchain name.
当查询到所述第一标识已被吊销时,返回第一信息;所述第一信息指示所述第一标识已被吊销;When it is queried that the first identification has been revoked, first information is returned; the first information indicates that the first identification has been revoked;
当未查找到所述第一标识时,返回第二信息;所述第二信息指示所述 第一标识有效。When the first identification is not found, second information is returned; the second information indicates that the first identification is valid.
示例性地,标识查询的具体过程可以包括:Exemplarily, the specific process of identifying the query may include:
步骤1:用户使用标识向许可分布式账本进行查询,如果找到,则说明此标识已废除(即已被吊销),向用户返回用户消息(即该用户标识已被废除),如果没有找到,则进行步骤2;这里,用户通过API发起查询请求;Step 1: The user uses the identifier to query the permissioned distributed ledger. If it is found, it means that the identifier has been revoked (that is, it has been revoked), and a user message is returned to the user (that is, the user identifier has been revoked). If not found, then Go to step 2; here, the user initiates a query request through the API;
步骤2:用户使用ID-PKC系统公共参数中指示的哈希函数对要查询的标识进行运算,得到运算结果,使用运算结果向许可分布式账本进行查询,如果存在与运算结果相同的值,则说明此用户标识已废除,向用户返回用户消息(即该用户标识已被废除);如果没有找到相同的值,则说明该用户标识有效,向用户返回用户消息(即该用户标识有效),通过上述方式,匿名的标识是否有效也能在许可分布式账本上查询到。Step 2: The user uses the hash function indicated in the public parameters of the ID-PKC system to operate on the identifier to be queried, obtain the operation result, and use the operation result to query the permissioned distributed ledger. If there is a value that is the same as the operation result, then It indicates that the user ID has been revoked, and a user message is returned to the user (that is, the user ID has been revoked); if the same value is not found, it means that the user ID is valid, and a user message is returned to the user (that is, the user ID is valid), through In the above way, whether the anonymous identification is valid can also be queried on the permissioned distributed ledger.
实际应用时,步骤302中,当第三节点是普通节点时,第三节点可以根据ID-PKC系统公共参数中的IMS名称寻址到对应的IMS(可以是与第三节点属于同一个域的IMS,也可以是与第三节点属于不同域的IMS),然后向对应的IMS发起查询请求,以查询第一标识是否已被吊销。In practical application, in step 302, when the third node is a common node, the third node can address the corresponding IMS (which can be the same domain as the third node) according to the IMS name in the public parameters of the ID-PKC system. IMS, which may also be an IMS belonging to a different domain from the third node), and then initiates a query request to the corresponding IMS to query whether the first identifier has been revoked.
当第三节点是所述区块链名称对应许可分布式账本的记账节点时,可以直接查询第一标识是否已被吊销。When the third node is the accounting node of the permissioned distributed ledger corresponding to the blockchain name, it is possible to directly query whether the first identification has been revoked.
从上面的描述可以看出,本申请实施例中,包含PKG、PPS和IMS的KGC与用户终端组成许可分布式账本。一个PPS经过共识流程后在许可分布式账本上写入对应的ID-PKC系统公共参数。一个IMS经过共识流程后在许可分布式账本上写入对应域内的IRL。用户终端不能在许可分布式账本上写入数据,只能从许可分布式账本上读取数据。It can be seen from the above description that, in the embodiment of the present application, the KGC including the PKG, the PPS and the IMS and the user terminal form a permissioned distributed ledger. After a PPS goes through the consensus process, the corresponding ID-PKC system public parameters are written on the permissioned distributed ledger. After an IMS goes through the consensus process, it writes the IRL in the corresponding domain on the permissioned distributed ledger. User terminals cannot write data on the permissioned distributed ledger, and can only read data from the permissioned distributed ledger.
本申请实施例提供的ID-PKC信息处理方法,第一节点获取第一ID-PKC系统公共参数和/或IRL;所述第一ID-PKC系统公共参数的状态为有效;所述第一节点为记账节点;基于共识机制,将获取的第一ID-PKC系统公共参数和/或IRL写入许可分布式账本;第二节点获取第一请求;所述第一请求用于请求获取ID-PKC系统公共参数;从许可分布式账本查询对应的ID-PKC系统公共参数;并根据查询结果返回响应;第三节点获取第二请求;所述第二请求用于请求查询第一标识是否已被吊销;从许可分布式账本查询第一标识是否已被吊销;所述许可分布式账本记录有IRL;并根据查询结果返回响应。本申请实施例提供的方案,基于许可分布式账本进行ID-PKC系统公共参数的发布和标识撤销的管理,通过使用许可分布式账本,ID-PKC系统参数和IRL可以跨域传递,并使得标识吊销能够跨域查询,从而实现了不依赖于PKI系统,使用ID-PKC系统就能实现跨域安全通信。In the ID-PKC information processing method provided by the embodiment of the present application, the first node obtains the public parameters and/or IRL of the first ID-PKC system; the state of the public parameters of the first ID-PKC system is valid; the first node is an accounting node; based on the consensus mechanism, the obtained first ID-PKC system public parameters and/or IRL are written into the permissioned distributed ledger; the second node obtains the first request; the first request is used to request to obtain ID- PKC system public parameters; query the corresponding ID-PKC system public parameters from the licensed distributed ledger; and return a response according to the query result; the third node obtains the second request; the second request is used to request to query whether the first identifier has been Revocation; query whether the first identifier has been revoked from the permissioned distributed ledger; the permissioned distributed ledger records the IRL; and return a response according to the query result. The solution provided by the embodiments of this application is based on the permissioned distributed ledger to carry out the management of the release of ID-PKC system public parameters and the management of identification revocation. By using the permissioned distributed ledger, ID-PKC system parameters and IRL can be transferred across domains, and the identification Revocation can be queried across domains, thus realizing cross-domain secure communication without relying on the PKI system and using the ID-PKC system.
为了实现本申请实施例的方法,本申请实施例还提供了一种ID-PKC信息处理装置,设置在第一节点上,如图4所示,该装置包括:In order to implement the method of the embodiment of the present application, the embodiment of the present application further provides an ID-PKC information processing device, which is arranged on the first node. As shown in FIG. 4 , the device includes:
第一获取单元401,配置为获取第一ID-PKC系统公共参数和/或IRL;所述第一ID-PKC系统公共参数的状态为有效;所述第一节点为记账节点;a first obtaining unit 401, configured to obtain a first ID-PKC system public parameter and/or an IRL; the state of the first ID-PKC system public parameter is valid; the first node is an accounting node;
第一处理单元402,配置为基于共识机制,将获取的第一ID-PKC系统公共参数和/或IRL写入许可分布式账本。The first processing unit 402 is configured to write the acquired public parameters and/or IRL of the first ID-PKC system into a permissioned distributed ledger based on a consensus mechanism.
其中,在一实施例中,所述第一获取单元401,还配置为获取第二ID-PKC系统公共参数;所述第二ID-PKC系统公共参数的状态为无效;所述第二ID-PKC系统公共参数与第一ID-PKC系统公共参数除生产时间和状态外的其他参数相同;Wherein, in an embodiment, the first obtaining unit 401 is further configured to obtain the second ID-PKC system public parameters; the state of the second ID-PKC system public parameters is invalid; the second ID-PKC system public parameters are in an invalid state; The public parameters of the PKC system are the same as the public parameters of the first ID-PKC system except for production time and status;
所述第一处理单元402,还配置为基于共识机制,将获取的第二ID-PKC系统公共参数写入所述许可分布式账本;The first processing unit 402 is further configured to write the acquired public parameters of the second ID-PKC system into the permission distributed ledger based on a consensus mechanism;
所述第一获取单元401,还配置为获取新生成的第三ID-PKC系统公共参数;所述第三ID-PKC系统公共参数是所述第一ID-PKC系统公共参数更新的;所述第三ID-PKC系统公共参数的状态为有效;The first obtaining unit 401 is further configured to obtain a newly generated third ID-PKC system public parameter; the third ID-PKC system public parameter is updated by the first ID-PKC system public parameter; the The status of the public parameters of the third ID-PKC system is valid;
所述第一处理单元402,还配置为基于共识机制,将获取的第三ID-PKC系统公共参数写入所述许可分布式账本。The first processing unit 402 is further configured to write the acquired public parameters of the third ID-PKC system into the permission distributed ledger based on a consensus mechanism.
实际应用时,所述第一获取单元401可由ID-PKC信息处理装置中的通信接口实现;所述第一处理单元402可由ID-PKC信息处理装置中的通信接口结合处理器实现。In practical application, the first obtaining unit 401 can be realized by a communication interface in the ID-PKC information processing device; the first processing unit 402 can be realized by a communication interface in the ID-PKC information processing device combined with a processor.
为了实现本申请实施例第二节点侧的方法,本申请实施例还提供了一种ID-PKC信息处理装置,设置在第二节点上,如图5所示,该装置包括:In order to implement the method on the second node side in the embodiment of the present application, the embodiment of the present application further provides an ID-PKC information processing device, which is set on the second node. As shown in FIG. 5 , the device includes:
第二获取单元501,配置为获取第一请求;所述第一请求用于请求获取ID-PKC系统公共参数;The second obtaining unit 501 is configured to obtain a first request; the first request is used for requesting to obtain public parameters of the ID-PKC system;
第二处理单元502,配置为从许可分布式账本查询对应的ID-PKC系统公共参数;根据查询结果返回响应。The second processing unit 502 is configured to query the corresponding public parameters of the ID-PKC system from the permission distributed ledger; and return a response according to the query result.
其中,在一实施例中,所述第二处理单元502从许可分布式账本查询对应的ID-PKC系统公共参数时,从所述许可分布式账本最新的区块开始查询。Wherein, in one embodiment, when the second processing unit 502 queries the corresponding ID-PKC system public parameters from the licensed distributed ledger, the query starts from the latest block of the licensed distributed ledger.
在一实施例中,所述第一请求携带域名称以及区块链名称;In one embodiment, the first request carries a domain name and a blockchain name;
所述第二处理单元502,配置为利用所述第一请求携带的域名称从所述区块链名称对应的许可分布式账本查询对应的ID-PKC系统公共参数。The second processing unit 502 is configured to use the domain name carried in the first request to query the corresponding ID-PKC system public parameters from the permissioned distributed ledger corresponding to the blockchain name.
在一实施例中,所述第一请求还携带PPS名称;In one embodiment, the first request also carries the PPS name;
利用所述第一请求携带的域名称和/或PPS名称从所述区块链名称对应的许可分布式账本查询对应的ID-PKC系统公共参数。Use the domain name and/or PPS name carried in the first request to query the corresponding ID-PKC system public parameters from the permissioned distributed ledger corresponding to the blockchain name.
在一实施例中,所述第二处理单元502,配置为:In one embodiment, the second processing unit 502 is configured as:
当未查询到对应的ID-PKC系统公共参数时,返回错误信息;When the corresponding ID-PKC system public parameters are not queried, an error message is returned;
或者,or,
当查询到对应的ID-PKC系统公共参数,且查询到的ID-PKC系统共参数的状态为无效时,返回错误信息;When the corresponding ID-PKC system public parameters are queried, and the status of the queried ID-PKC system common parameters is invalid, an error message is returned;
或者,or,
当查询到对应的ID-PKC系统公共参数,且查询到的ID-PKC系统共参 数的状态为有效时,返回查询到的ID-PKC系统共参数。When the corresponding ID-PKC system public parameters are queried, and the status of the queried ID-PKC system common parameters is valid, the queried ID-PKC system common parameters are returned.
实际应用时,所述第二获取单元501可由ID-PKC信息处理装置中的通信接口实现;所述第二处理单元502可由ID-PKC信息处理装置中的通信接口结合处理器实现。In practical application, the second obtaining unit 501 can be realized by a communication interface in the ID-PKC information processing device; the second processing unit 502 can be realized by a communication interface in the ID-PKC information processing device combined with a processor.
为了实现本申请实施例第三节点侧的方法,本申请实施例还提供了一种ID-PKC信息处理装置,设置在第三节点上,如图6所示,该装置包括:In order to implement the method on the third node side in the embodiment of the present application, the embodiment of the present application further provides an ID-PKC information processing device, which is set on the third node. As shown in FIG. 6 , the device includes:
第三获取单元601,配置为获取第二请求;所述第二请求用于请求查询第一标识是否已被吊销;The third obtaining unit 601 is configured to obtain a second request; the second request is used to request to query whether the first identification has been revoked;
第三处理单元602,配置为从许可分布式账本查询第一标识是否已被吊销;所述许可分布式账本记录有IRL;根据查询结果返回响应。The third processing unit 602 is configured to query whether the first identifier has been revoked from the permission distributed ledger; the permission distributed ledger records the IRL; and return a response according to the query result.
其中,在一实施例中,所述第二请求携带所述第一标识及区块链名称;所述第三处理单元602利用所述第一标识在所述区块链名称对应的许可分布式账本进行查询。Wherein, in one embodiment, the second request carries the first identifier and the blockchain name; the third processing unit 602 uses the first identifier in the license distribution corresponding to the blockchain name Ledger for inquiries.
在一实施例中,所述第二请求携带对所述第一标识利用ID-PKC系统公共参数指示的哈希函数进行运算后的运算结果及区块链名称;In one embodiment, the second request carries the operation result and the blockchain name after the first identifier is operated on the hash function indicated by the ID-PKC system public parameter;
所述第三处理单元602利用所述运算结果在所述区块链名称对应的许可分布式账本进行查询。The third processing unit 602 uses the operation result to query the permissioned distributed ledger corresponding to the blockchain name.
在一实施例中,所述第三处理单元602,配置为:In one embodiment, the third processing unit 602 is configured as:
当查询到所述第一标识已被吊销时,返回第一信息;所述第一信息指示所述第一标识已被吊销;When it is queried that the first identification has been revoked, first information is returned; the first information indicates that the first identification has been revoked;
或者,or,
当未查找到所述第一标识时,返回第二信息;所述第二信息指示所述第一标识有效。When the first identifier is not found, second information is returned; the second information indicates that the first identifier is valid.
实际应用时,所述第三获取单元601可由ID-PKC信息处理装置中的通信接口实现;所述第三处理单元602可由ID-PKC信息处理装置中的通信接口结合处理器实现。In practical application, the third obtaining unit 601 can be realized by a communication interface in the ID-PKC information processing device; the third processing unit 602 can be realized by a communication interface in the ID-PKC information processing device combined with a processor.
需要说明的是:上述实施例提供的ID-PKC信息处理装置在进行ID-PKC信息处理时,仅以上述各程序模块的划分进行举例说明,实际应用中,可以根据需要而将上述处理分配由不同的程序模块完成,即将装置的内部结构划分成不同的程序模块,以完成以上描述的全部或者部分处理。另外,上述实施例提供的ID-PKC信息处理装置与ID-PKC信息处理方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。It should be noted that: when the ID-PKC information processing apparatus provided in the above-mentioned embodiments performs ID-PKC information processing, only the division of the above-mentioned program modules is used for illustration. In practical applications, the above-mentioned processing can be allocated by Different program modules are completed, that is, the internal structure of the device is divided into different program modules, so as to complete all or part of the above-described processing. In addition, the ID-PKC information processing apparatus and the ID-PKC information processing method embodiments provided by the above embodiments belong to the same concept, and the specific implementation process thereof is detailed in the method embodiments, which will not be repeated here.
基于上述程序模块的硬件实现,且为了实现本申请实施例第一节点侧的方法,本申请实施例还提供了一种第一节点,如图7所示,该第一节点700包括:Based on the hardware implementation of the above program modules, and in order to implement the method on the first node side of the embodiment of the present application, the embodiment of the present application further provides a first node. As shown in FIG. 7 , the first node 700 includes:
第一通信接口701,能够与其他节点(比如其他记账节点)进行信息交互;The first communication interface 701, capable of information interaction with other nodes (such as other billing nodes);
第一处理器702,与所述第一通信接口701连接,以实现与其他节点进 行信息交互,配置为运行计算机程序时,执行上第一节点侧一个或多个技术方案提供的方法;The first processor 702 is connected to the first communication interface 701 to realize information exchange with other nodes, and when configured to run a computer program, execute the method provided by one or more technical solutions on the first node side;
第一存储器703,所述计算机程序存储在所述第一存储器703上。A first memory 703 on which the computer program is stored.
具体地,所述第一通信接口701,配置为获取第一ID-PKC系统公共参数和/或IRL;所述第一ID-PKC系统公共参数的状态为有效;所述第一节点700为记账节点;Specifically, the first communication interface 701 is configured to obtain the first ID-PKC system public parameters and/or IRL; the state of the first ID-PKC system public parameters is valid; the first node 700 is a recorder account node;
所述第一处理器702,配置为基于共识机制,将获取的第一ID-PKC系统公共参数和/或IRL写入许可分布式账本。The first processor 702 is configured to write the acquired public parameters and/or IRL of the first ID-PKC system into a permissioned distributed ledger based on a consensus mechanism.
其中,在一实施例中,所述第一通信接口701,还配置为获取第二ID-PKC系统公共参数;所述第二ID-PKC系统公共参数的状态为无效;所述第二ID-PKC系统公共参数与第一ID-PKC系统公共参数除生产时间和状态外的其他参数相同;Wherein, in an embodiment, the first communication interface 701 is further configured to obtain the second ID-PKC system public parameters; the state of the second ID-PKC system public parameters is invalid; the second ID-PKC system The public parameters of the PKC system are the same as the public parameters of the first ID-PKC system except for production time and status;
所述第一处理器702,还配置为基于共识机制,将获取的第二ID-PKC系统公共参数写入所述许可分布式账本;The first processor 702 is further configured to write the acquired public parameters of the second ID-PKC system into the licensed distributed ledger based on a consensus mechanism;
所述第一通信接口701,还配置为获取新生成的第三ID-PKC系统公共参数;所述第三ID-PKC系统公共参数是所述第一ID-PKC系统公共参数更新的;所述第三ID-PKC系统公共参数的状态为有效;The first communication interface 701 is further configured to obtain a newly generated third ID-PKC system public parameter; the third ID-PKC system public parameter is updated by the first ID-PKC system public parameter; the The status of the public parameters of the third ID-PKC system is valid;
所述第一处理器702,还配置为基于共识机制,将获取的第三ID-PKC系统公共参数写入所述许可分布式账本。The first processor 702 is further configured to write the acquired public parameters of the third ID-PKC system into the permission distributed ledger based on a consensus mechanism.
需要说明的是:第一处理器702的具体处理过程可参照上述方法理解。It should be noted that: the specific processing process of the first processor 702 can be understood with reference to the above method.
当然,实际应用时,第一节点700中的各个组件通过总线系统704耦合在一起。可理解,总线系统704配置为实现这些组件之间的连接通信。总线系统704除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。但是为了清楚说明起见,在图7中将各种总线都标为总线系统704。Of course, in practical application, various components in the first node 700 are coupled together through the bus system 704 . It will be appreciated that the bus system 704 is configured to enable connection communication between these components. In addition to the data bus, the bus system 704 also includes a power bus, a control bus and a status signal bus. However, for clarity of illustration, the various buses are labeled as bus system 704 in FIG. 7 .
本申请实施例中的第一存储器703配置为存储各种类型的数据以支持第一节点700的操作。这些数据的示例包括:用于在第一节点700上操作的任何计算机程序。The first memory 703 in the embodiment of the present application is configured to store various types of data to support the operation of the first node 700 . Examples of such data include: any computer program for operating on the first node 700 .
上述本申请实施例揭示的方法可以应用于所述第一处理器702中,或者由所述第一处理器702实现。所述第一处理器702可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过所述第一处理器702中的硬件的集成逻辑电路或者软件形式的指令完成。上述的所述第一处理器702可以是通用处理器、数字信号处理器(DSP,Digital Signal Processor),或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。所述第一处理器702可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者任何常规的处理器等。结合本申请实施例所公开的方法的步骤,可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于存储介质中,该存储介质位于第一 存储器703,所述第一处理器702读取第一存储器703中的信息,结合其硬件完成前述方法的步骤。The methods disclosed in the above embodiments of the present application may be applied to the first processor 702 or implemented by the first processor 702 . The first processor 702 may be an integrated circuit chip with signal processing capability. In the implementation process, each step of the above-mentioned method may be completed by an integrated logic circuit of hardware in the first processor 702 or an instruction in the form of software. The above-mentioned first processor 702 may be a general-purpose processor, a digital signal processor (DSP, Digital Signal Processor), or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, and the like. The first processor 702 may implement or execute the methods, steps, and logical block diagrams disclosed in the embodiments of this application. A general purpose processor may be a microprocessor or any conventional processor or the like. The steps of the method disclosed in the embodiments of the present application can be directly embodied as being executed by a hardware decoding processor, or executed by a combination of hardware and software modules in the decoding processor. The software module may be located in a storage medium, and the storage medium is located in the first memory 703, and the first processor 702 reads the information in the first memory 703, and completes the steps of the foregoing method in combination with its hardware.
在示例性实施例中,第一节点700可以被一个或多个应用专用集成电路(ASIC,Application Specific Integrated Circuit)、DSP、可编程逻辑器件(PLD,Programmable Logic Device)、复杂可编程逻辑器件(CPLD,Complex Programmable Logic Device)、现场可编程门阵列(FPGA,Field-Programmable Gate Array)、通用处理器、控制器、微控制器(MCU,Micro Controller Unit)、微处理器(Microprocessor)、或者其他电子元件实现,配置为执行前述方法。In an exemplary embodiment, the first node 700 may be configured by one or more Application Specific Integrated Circuits (ASIC, Application Specific Integrated Circuit), DSP, Programmable Logic Device (PLD, Programmable Logic Device), Complex Programmable Logic Device ( CPLD, Complex Programmable Logic Device), Field Programmable Gate Array (FPGA, Field-Programmable Gate Array), general-purpose processor, controller, microcontroller (MCU, Micro Controller Unit), microprocessor (Microprocessor), or other An electronic component implementation is configured to perform the aforementioned method.
基于上述程序模块的硬件实现,且为了实现本申请实施例第二节点侧的方法,本申请实施例还提供了一种第二节点,如图8所示,该第二节点800包括:Based on the hardware implementation of the above program modules, and in order to implement the method on the second node side of the embodiment of the present application, the embodiment of the present application further provides a second node. As shown in FIG. 8 , the second node 800 includes:
第二通信接口801,能够与其他节点和用户等进行信息交互;The second communication interface 801 is capable of information interaction with other nodes and users;
第二处理器802,与所述第二通信接口801连接,以实现与其他节点和用户等进行信息交互,配置为运行计算机程序时,执行上述第二节点侧一个或多个技术方案提供的方法;The second processor 802 is connected to the second communication interface 801 to realize information interaction with other nodes and users, and is configured to execute the method provided by one or more technical solutions on the second node side when running a computer program. ;
第二存储器803,所述计算机程序存储在所述第二存储器803上。A second memory 803 on which the computer program is stored.
具体地,所述第二通信接口801,配置为获取第一请求;所述第一请求用于请求获取ID-PKC系统公共参数;Specifically, the second communication interface 801 is configured to obtain a first request; the first request is used to request to obtain public parameters of the ID-PKC system;
所述第二处理器802,配置为从许可分布式账本查询对应的ID-PKC系统公共参数;根据查询结果通过所述第二通信接口返回响应。The second processor 802 is configured to query the corresponding public parameters of the ID-PKC system from the permission distributed ledger; and return a response through the second communication interface according to the query result.
其中,在一实施例中,所述第二处理器802从许可分布式账本查询对应的ID-PKC系统公共参数时,从所述许可分布式账本最新的区块开始查询。Wherein, in one embodiment, when the second processor 802 queries the corresponding ID-PKC system public parameters from the licensed distributed ledger, the query starts from the latest block of the licensed distributed ledger.
在一实施例中,所述第一请求携带域名称以及区块链名称;In one embodiment, the first request carries a domain name and a blockchain name;
所述第二处理器802,配置为利用所述第一请求携带的域名称从所述区块链名称对应的许可分布式账本查询对应的ID-PKC系统公共参数。The second processor 802 is configured to use the domain name carried in the first request to query the corresponding ID-PKC system public parameters from the permissioned distributed ledger corresponding to the blockchain name.
在一实施例中,所述第一请求还携带PPS名称;In one embodiment, the first request also carries the PPS name;
所述第二处理器802,配置为利用所述第一请求携带的域名称和/或PPS名称从所述区块链名称对应的许可分布式账本查询对应的ID-PKC系统公共参数。The second processor 802 is configured to use the domain name and/or PPS name carried in the first request to query the corresponding ID-PKC system public parameters from the permissioned distributed ledger corresponding to the blockchain name.
在一实施例中,所述第二处理器802,配置为:In one embodiment, the second processor 802 is configured to:
当未查询到对应的ID-PKC系统公共参数时,返回错误信息;When the corresponding ID-PKC system public parameters are not queried, an error message is returned;
或者,or,
当查询到对应的ID-PKC系统公共参数,且查询到的ID-PKC系统共参数的状态为无效时,返回错误信息;When the corresponding ID-PKC system public parameters are queried, and the status of the queried ID-PKC system common parameters is invalid, an error message is returned;
或者,or,
当查询到对应的ID-PKC系统公共参数,且查询到的ID-PKC系统共参数的状态为有效时,返回查询到的ID-PKC系统共参数。When the corresponding ID-PKC system public parameters are queried, and the status of the queried ID-PKC system common parameters is valid, the queried ID-PKC system common parameters are returned.
需要说明的是:第二处理器802的具体处理过程可参照上述方法理解。It should be noted that: the specific processing process of the second processor 802 can be understood with reference to the above method.
当然,实际应用时,第二节点800中的各个组件通过总线系统804耦合在一起。可理解,总线系统804配置为实现这些组件之间的连接通信。总线系统804除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。但是为了清楚说明起见,在图8中将各种总线都标为总线系统804。Of course, in practical application, various components in the second node 800 are coupled together through the bus system 804 . It will be appreciated that the bus system 804 is configured to enable connection communication between these components. In addition to the data bus, the bus system 804 also includes a power bus, a control bus, and a status signal bus. However, for clarity of illustration, the various buses are labeled as bus system 804 in FIG. 8 .
本申请实施例中的第二存储器803配置为存储各种类型的数据以支持第二节点800操作。这些数据的示例包括:用于在第二节点800上操作的任何计算机程序。The second memory 803 in this embodiment of the present application is configured to store various types of data to support the operation of the second node 800 . Examples of such data include: any computer program for operating on the second node 800 .
上述本申请实施例揭示的方法可以应用于所述第二处理器802中,或者由所述第二处理器802实现。所述第二处理器802可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过所述第二处理器802中的硬件的集成逻辑电路或者软件形式的指令完成。上述的所述第二处理器802可以是通用处理器、DSP,或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。所述第二处理器802可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者任何常规的处理器等。结合本申请实施例所公开的方法的步骤,可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于存储介质中,该存储介质位于第二存储器803,所述第二处理器802读取第二存储器803中的信息,结合其硬件完成前述方法的步骤。The methods disclosed in the above embodiments of the present application may be applied to the second processor 802 or implemented by the second processor 802 . The second processor 802 may be an integrated circuit chip with signal processing capability. In the implementation process, each step of the above-mentioned method may be completed by an integrated logic circuit of hardware in the second processor 802 or an instruction in the form of software. The above-mentioned second processor 802 may be a general-purpose processor, a DSP, or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, and the like. The second processor 802 may implement or execute the methods, steps, and logical block diagrams disclosed in the embodiments of this application. A general purpose processor may be a microprocessor or any conventional processor or the like. The steps of the method disclosed in the embodiments of the present application can be directly embodied as being executed by a hardware decoding processor, or executed by a combination of hardware and software modules in the decoding processor. The software module may be located in a storage medium, and the storage medium is located in the second memory 803, and the second processor 802 reads the information in the second memory 803, and completes the steps of the foregoing method in combination with its hardware.
在示例性实施例中,第二节点800可以被一个或多个ASIC、DSP、PLD、CPLD、FPGA、通用处理器、控制器、MCU、Microprocessor、或其他电子元件实现,配置为执行前述方法。In an exemplary embodiment, the second node 800 may be implemented by one or more ASICs, DSPs, PLDs, CPLDs, FPGAs, general purpose processors, controllers, MCUs, Microprocessors, or other electronic components configured to perform the aforementioned methods.
基于上述程序模块的硬件实现,且为了实现本申请实施例第三节点侧的方法,本申请实施例还提供了一种第三节点,如图9所示,该第三节点900包括:Based on the hardware implementation of the above program modules, and in order to implement the method on the third node side of the embodiment of the present application, the embodiment of the present application further provides a third node. As shown in FIG. 9 , the third node 900 includes:
第三通信接口901,能够与其他节点和用户等进行信息交互;The third communication interface 901 is capable of information interaction with other nodes and users;
第三处理器902,与所述第三通信接口901连接,以实现与其他节点和用户等进行信息交互,配置为运行计算机程序时,执行上述第三节点侧一个或多个技术方案提供的方法;The third processor 902 is connected to the third communication interface 901 to realize information interaction with other nodes and users, and is configured to execute the method provided by one or more technical solutions on the third node side when running the computer program ;
第三存储器903,所述计算机程序存储在所述第三存储器903上。A third memory 903 on which the computer program is stored.
具体地,所述第三通信接口901,配置为获取第二请求;所述第二请求用于请求查询第一标识是否已被吊销;Specifically, the third communication interface 901 is configured to obtain a second request; the second request is used to request to query whether the first identification has been revoked;
所述第三处理器902,配置为从许可分布式账本查询第一标识是否已被吊销;所述许可分布式账本记录有IRL;根据查询结果通过所述第三通信接口返回响应。The third processor 902 is configured to query whether the first identifier has been revoked from the permission distributed ledger; the permission distributed ledger records the IRL; and return a response through the third communication interface according to the query result.
其中,在一实施例中,所述第二请求携带所述第一标识及区块链名称所述第三处理器902利用所述第一标识在所述区块链名称对应的许可分布式账本进行查询。Wherein, in one embodiment, the second request carries the first identifier and the blockchain name, and the third processor 902 uses the first identifier in the permissioned distributed ledger corresponding to the blockchain name make an inquiry.
在一实施例中,所述第二请求携带对所述第一标识利用ID-PKC系统公共参数指示的哈希函数进行运算后的运算结果及区块链名称;In one embodiment, the second request carries the operation result and the blockchain name after the first identifier is operated on the hash function indicated by the ID-PKC system public parameter;
所述第三处理器902利用所述运算结果在所述区块链名称对应的许可分布式账本进行查询。The third processor 902 uses the operation result to query the permissioned distributed ledger corresponding to the blockchain name.
在一实施例中,所述第三处理器902,配置为:In one embodiment, the third processor 902 is configured to:
当查询到所述第一标识已被吊销时,返回第一信息;所述第一信息指示所述第一标识已被吊销;When it is queried that the first identification has been revoked, first information is returned; the first information indicates that the first identification has been revoked;
或者,or,
当未查找到所述第一标识时,返回第二信息;所述第二信息指示所述第一标识有效。When the first identifier is not found, second information is returned; the second information indicates that the first identifier is valid.
需要说明的是:第三处理器902的具体处理过程可参照上述方法理解。It should be noted that: the specific processing process of the third processor 902 can be understood with reference to the above method.
当然,实际应用时,第三节点900中的各个组件通过总线系统904耦合在一起。可理解,总线系统904配置为实现这些组件之间的连接通信。总线系统904除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。但是为了清楚说明起见,在图9中将各种总线都标为总线系统904。Of course, in practical application, various components in the third node 900 are coupled together through the bus system 904 . It will be appreciated that the bus system 904 is configured to enable connection communication between these components. In addition to the data bus, the bus system 904 also includes a power bus, a control bus and a status signal bus. However, for clarity of illustration, the various buses are labeled as bus system 904 in FIG. 9 .
本申请实施例中的第三存储器903配置为存储各种类型的数据以支持第三节点900操作。这些数据的示例包括:用于在第三节点900上操作的任何计算机程序。The third memory 903 in the embodiment of the present application is configured to store various types of data to support the operation of the third node 900 . Examples of such data include: any computer program for operating on the third node 900 .
上述本申请实施例揭示的方法可以应用于所述第三处理器902中,或者由所述第三处理器902实现。所述第三处理器902可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过所述第三处理器902中的硬件的集成逻辑电路或者软件形式的指令完成。上述的所述第三处理器902可以是通用处理器、DSP,或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。所述第三处理器902可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者任何常规的处理器等。结合本申请实施例所公开的方法的步骤,可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于存储介质中,该存储介质位于第三存储器903,所述第三处理器902读取第三存储器903中的信息,结合其硬件完成前述方法的步骤。The methods disclosed in the above embodiments of the present application may be applied to the third processor 902 or implemented by the third processor 902 . The third processor 902 may be an integrated circuit chip with signal processing capability. In the implementation process, each step of the above-mentioned method may be completed by an integrated logic circuit of hardware in the third processor 902 or an instruction in the form of software. The above-mentioned third processor 902 may be a general-purpose processor, a DSP, or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, and the like. The third processor 902 may implement or execute the methods, steps, and logical block diagrams disclosed in the embodiments of this application. A general purpose processor may be a microprocessor or any conventional processor or the like. The steps of the method disclosed in the embodiments of the present application can be directly embodied as being executed by a hardware decoding processor, or executed by a combination of hardware and software modules in the decoding processor. The software module may be located in a storage medium, and the storage medium is located in the third memory 903, the third processor 902 reads the information in the third memory 903, and completes the steps of the foregoing method in combination with its hardware.
在示例性实施例中,第三节点900可以被一个或多个ASIC、DSP、PLD、CPLD、FPGA、通用处理器、控制器、MCU、Microprocessor、或其他电子元件实现,配置为执行前述方法。In an exemplary embodiment, the third node 900 may be implemented by one or more ASICs, DSPs, PLDs, CPLDs, FPGAs, general purpose processors, controllers, MCUs, Microprocessors, or other electronic components configured to perform the aforementioned methods.
可以理解,本申请实施例的存储器(第一存储器703、第二存储器803、第三存储器903)可以是易失性存储器或者非易失性存储器,也可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(ROM,Read Only Memory)、可编程只读存储器(PROM,Programmable Read-Only Memory)、可擦除可编程只读存储器(EPROM,Erasable Programmable  Read-Only Memory)、电可擦除可编程只读存储器(EEPROM,Electrically Erasable Programmable Read-Only Memory)、磁性随机存取存储器(FRAM,ferromagnetic random access memory)、快闪存储器(Flash Memory)、磁表面存储器、光盘、或只读光盘(CD-ROM,Compact Disc Read-Only Memory);磁表面存储器可以是磁盘存储器或磁带存储器。易失性存储器可以是随机存取存储器(RAM,Random Access Memory),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的RAM可用,例如静态随机存取存储器(SRAM,Static Random Access Memory)、同步静态随机存取存储器(SSRAM,Synchronous Static Random Access Memory)、动态随机存取存储器(DRAM,Dynamic Random Access Memory)、同步动态随机存取存储器(SDRAM,Synchronous Dynamic Random Access Memory)、双倍数据速率同步动态随机存取存储器(DDRSDRAM,Double Data Rate Synchronous Dynamic Random Access Memory)、增强型同步动态随机存取存储器(ESDRAM,Enhanced Synchronous Dynamic Random Access Memory)、同步连接动态随机存取存储器(SLDRAM,SyncLink Dynamic Random Access Memory)、直接内存总线随机存取存储器(DRRAM,Direct Rambus Random Access Memory)。本申请实施例描述的存储器旨在包括但不限于这些和任意其它适合类型的存储器。It can be understood that the memories (the first memory 703, the second memory 803, and the third memory 903) in this embodiment of the present application may be volatile memories or non-volatile memories, and may also include volatile and non-volatile memories both. Among them, the non-volatile memory can be a read-only memory (ROM, Read Only Memory), a programmable read-only memory (PROM, Programmable Read-Only Memory), an erasable programmable read-only memory (EPROM, Erasable Programmable Read-only memory) Only Memory), Electrically Erasable Programmable Read-Only Memory (EEPROM, Electrically Erasable Programmable Read-Only Memory), Magnetic Random Access Memory (FRAM, ferromagnetic random access memory), Flash Memory (Flash Memory), Magnetic Surface Memory , CD-ROM, or CD-ROM (Compact Disc Read-Only Memory); magnetic surface memory can be disk memory or tape memory. Volatile memory may be Random Access Memory (RAM), which acts as an external cache. By way of example and not limitation, many forms of RAM are available, such as Static Random Access Memory (SRAM), Synchronous Static Random Access Memory (SSRAM), Dynamic Random Access Memory Memory (DRAM, Dynamic Random Access Memory), Synchronous Dynamic Random Access Memory (SDRAM, Synchronous Dynamic Random Access Memory), Double Data Rate Synchronous Dynamic Random Access Memory (DDRSDRAM, Double Data Rate Synchronous Dynamic Random Access Memory), Enhanced Type Synchronous Dynamic Random Access Memory (ESDRAM, Enhanced Synchronous Dynamic Random Access Memory), Synchronous Link Dynamic Random Access Memory (SLDRAM, SyncLink Dynamic Random Access Memory), Direct Memory Bus Random Access Memory (DRRAM, Direct Rambus Random Access Memory) ). The memories described in the embodiments of the present application are intended to include, but not be limited to, these and any other suitable types of memories.
在示例性实施例中,本申请实施例还提供了一种存储介质,即计算机存储介质,具体为计算机可读存储介质,例如包括存储计算机程序的第一存储器703,上述计算机程序可由第一节点700的第一处理器702执行,以完成前述第一节点侧方法所述步骤,再比如包括存储计算机程序的第二存储器803,上述计算机程序可由第二节点800的第二处理器802执行,以完成前述第二节点侧方法所述步骤;再比如包括存储计算机程序的第三存储器903,上述计算机程序可由第三节点900的第三处理器902执行,以完成前述第三节点侧方法所述步骤。计算机可读存储介质可以是FRAM、ROM、PROM、EPROM、EEPROM、Flash Memory、磁表面存储器、光盘、或CD-ROM等存储器。In an exemplary embodiment, an embodiment of the present application further provides a storage medium, that is, a computer storage medium, specifically a computer-readable storage medium, for example, including a first memory 703 that stores a computer program, and the above-mentioned computer program can be executed by the first node The first processor 702 of the node 700 executes the steps to complete the steps of the first node-side method. For example, it includes a second memory 803 that stores a computer program. The computer program can be executed by the second processor 802 of the second node 800. Complete the steps of the aforementioned second node-side method; another example includes a third memory 903 storing a computer program, and the aforementioned computer program can be executed by the third processor 902 of the third node 900 to complete the aforementioned steps of the aforementioned third-node-side method . The computer-readable storage medium may be memory such as FRAM, ROM, PROM, EPROM, EEPROM, Flash Memory, magnetic surface memory, optical disk, or CD-ROM.
需要说明的是:“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。It should be noted that "first", "second", etc. are used to distinguish similar objects, and are not necessarily used to describe a specific sequence or sequence.
另外,本申请实施例所记载的技术方案之间,在不冲突的情况下,可以任意组合。In addition, the technical solutions described in the embodiments of the present application may be combined arbitrarily unless there is a conflict.
以上所述,仅为本申请的较佳实施例而已,并非用于限定本申请的保护范围。The above descriptions are only preferred embodiments of the present application, and are not intended to limit the protection scope of the present application.

Claims (31)

  1. 一种基于标识的公共密码ID-PKC信息处理方法,应用于第一节点,包括:An identification-based public cipher ID-PKC information processing method, applied to a first node, comprising:
    获取第一ID-PKC系统公共参数和/或标识吊销列表IRL;所述第一ID-PKC系统公共参数的状态为有效;所述第一节点为记账节点;Obtain the first ID-PKC system public parameter and/or the identification revocation list IRL; the state of the first ID-PKC system public parameter is valid; the first node is an accounting node;
    基于共识机制,将获取的第一ID-PKC系统公共参数和/或IRL写入许可分布式账本。Based on the consensus mechanism, the acquired first ID-PKC system public parameters and/or IRL are written into the permissioned distributed ledger.
  2. 根据权利要求1所述的方法,其中,所述第一ID-PKC系统公共参数由密钥生成中心KGC的公共参数服务器生成;The method according to claim 1, wherein the first ID-PKC system public parameter is generated by a public parameter server of a key generation center KGC;
    所述第一ID-PKC系统公共参数至少包括以下至少之一:The first ID-PKC system public parameter includes at least one of the following:
    域名称;domain name;
    区块链名称;blockchain name;
    系统公共参数状态;System public parameter status;
    用于隐藏用户标识的哈希算法。Hash algorithm for hiding user IDs.
  3. 根据权利要求2所述的方法,其中,所述域名称为按照统一资源标识符URI或统一资源定位器URL定义的名称,或为自定义的名称。The method according to claim 2, wherein the domain name is a name defined according to a Uniform Resource Identifier URI or a Uniform Resource Locator URL, or a self-defined name.
  4. 根据权利要求2所述的方法,其中,所述第一ID-PKC系统公共参数还包括以下至少之一:The method according to claim 2, wherein the first ID-PKC system public parameter further comprises at least one of the following:
    公共参数服务器名称;public parameter server name;
    标识管理服务器名称。Identifies the management server name.
  5. 根据权利要求4所述的方法,其中,所述公共参数服务器名称为按照URI或URL定义的名称,或为自定义的名称。The method according to claim 4, wherein the public parameter server name is a name defined by URI or URL, or a self-defined name.
  6. 根据权利要求4所述的方法,其中,所述标识管理服务器名称为按照URI或URL定义的名称,或为自定义的名称。The method according to claim 4, wherein the name of the identity management server is a name defined according to URI or URL, or a self-defined name.
  7. 根据权利要求1所述的方法,其中,所述IRL由KGC的标识管理服务器生成;The method of claim 1, wherein the IRL is generated by an identity management server of the KGC;
    所述IRL至少包括以下至少之一:The IRL includes at least one of the following:
    域名称;domain name;
    区块链名称;blockchain name;
    吊销标识集合。A collection of revocation signs.
  8. 根据权利要求7所述的方法,其中,所述域名称为按照URI或URL定义的名称,或为自定义的名称。The method according to claim 7, wherein the domain name is a name defined by URI or URL, or a self-defined name.
  9. 根据权利要求7所述的方法,其中,所述IRL还包括:The method of claim 7, wherein the IRL further comprises:
    标识管理服务器名称。Identifies the management server name.
  10. 根据权利要求9所述的方法,其中,所述标识管理服务器名称为按照URI或URL定义的名称,或为自定义的名称。The method according to claim 9, wherein the name of the identity management server is a name defined according to URI or URL, or a self-defined name.
  11. 根据权利要求7所述的方法,其中,所述吊销标识集合包含以下至少之一:The method of claim 7, wherein the set of revocation identifiers comprises at least one of the following:
    吊销标识是否匿名;Whether the revocation identification is anonymous;
    吊销标识;revocation of identification;
    吊销原因。Reason for revocation.
  12. 根据权利要求1至11任一项所述的方法,其中,所述方法还包括:The method according to any one of claims 1 to 11, wherein the method further comprises:
    获取第二ID-PKC系统公共参数;所述第二ID-PKC系统公共参数的状态为无效;所述第二ID-PKC系统公共参数与第一ID-PKC系统公共参数除生产时间和状态外的其他参数相同;Obtain the public parameters of the second ID-PKC system; the state of the public parameters of the second ID-PKC system is invalid; the public parameters of the second ID-PKC system and the public parameters of the first ID-PKC system are in addition to production time and status The other parameters are the same;
    基于共识机制,将获取的第二ID-PKC系统公共参数写入所述许可分布式账本;Based on the consensus mechanism, write the acquired public parameters of the second ID-PKC system into the licensed distributed ledger;
    获取新生成的第三ID-PKC系统公共参数;所述第三ID-PKC系统公共参数是所述第一ID-PKC系统公共参数更新的;所述第三ID-PKC系统公共参数的状态为有效;Obtain the newly generated public parameters of the third ID-PKC system; the public parameters of the third ID-PKC system are updated by the public parameters of the first ID-PKC system; the state of the public parameters of the third ID-PKC system is efficient;
    基于共识机制,将获取的第三ID-PKC系统公共参数写入所述许可分布式账本。Based on the consensus mechanism, the acquired public parameters of the third ID-PKC system are written into the permissioned distributed ledger.
  13. 一种ID-PKC信息处理方法,应用于第二节点,包括:A method for processing ID-PKC information, applied to a second node, comprising:
    获取第一请求;所述第一请求用于请求获取ID-PKC系统公共参数;Obtain the first request; the first request is used to request to obtain the public parameters of the ID-PKC system;
    从许可分布式账本查询对应的ID-PKC系统公共参数;Query the corresponding ID-PKC system public parameters from the permissioned distributed ledger;
    根据查询结果返回响应。Return a response based on the query result.
  14. 根据权利要求13所述的方法,其中,所述从许可分布式账本查询对应的ID-PKC系统公共参数时,所述方法包括:The method according to claim 13, wherein, when querying the corresponding ID-PKC system public parameters from the permissioned distributed ledger, the method comprises:
    从所述许可分布式账本最新的区块开始查询。Start querying from the latest block of the permissioned distributed ledger.
  15. 根据权利要求13所述的方法,其中,所述第一请求携带域名称以及区块链名称;The method of claim 13, wherein the first request carries a domain name and a blockchain name;
    利用所述第一请求携带的域名称从所述区块链名称对应的许可分布式账本查询对应的ID-PKC系统公共参数。Use the domain name carried in the first request to query the corresponding ID-PKC system public parameters from the permissioned distributed ledger corresponding to the blockchain name.
  16. 根据权利要求15所述的方法,其中,所述第一请求还携带公共参数服务器名称;The method of claim 15, wherein the first request further carries a public parameter server name;
    利用所述第一请求携带的域名称和/或公共参数服务器名称从所述区块链名称对应的许可分布式账本查询对应的ID-PKC系统公共参数。Use the domain name and/or the public parameter server name carried in the first request to query the corresponding ID-PKC system public parameters from the permissioned distributed ledger corresponding to the blockchain name.
  17. 根据权利要求13至16任一项所述的方法,其中,所述根据查询结果返回响应,包括:The method according to any one of claims 13 to 16, wherein the returning a response according to the query result comprises:
    当未查询到对应的ID-PKC系统公共参数时,返回错误信息;When the corresponding ID-PKC system public parameters are not queried, an error message is returned;
    或者,or,
    当查询到对应的ID-PKC系统公共参数,且查询到的ID-PKC系统共参数的状态为无效时,返回错误信息;When the corresponding ID-PKC system public parameters are queried, and the status of the queried ID-PKC system common parameters is invalid, an error message is returned;
    或者,or,
    当查询到对应的ID-PKC系统公共参数,且查询到的ID-PKC系统共参数的状态为有效时,返回查询到的ID-PKC系统共参数。When the corresponding ID-PKC system public parameters are queried, and the status of the queried ID-PKC system common parameters is valid, the queried ID-PKC system common parameters are returned.
  18. 一种ID-PKC信息处理方法,应用于第三节点,包括:A method for processing ID-PKC information, applied to a third node, comprising:
    获取第二请求;所述第二请求用于请求查询第一标识是否已被吊销;Obtain a second request; the second request is used to request to query whether the first identification has been revoked;
    从许可分布式账本查询第一标识是否已被吊销;所述许可分布式账本记录有IRL;Query whether the first identifier has been revoked from the licensed distributed ledger; the licensed distributed ledger records the IRL;
    根据查询结果返回响应。Return a response based on the query result.
  19. 根据权利要求18所述的方法,其中,所述第二请求携带所述第一标识及区块链名称;利用所述第一标识在所述区块链名称对应的许可分布式账本进行查询。The method according to claim 18, wherein the second request carries the first identifier and the blockchain name; and the first identifier is used to query the permissioned distributed ledger corresponding to the blockchain name.
  20. 根据权利要求18所述的方法,其中,所述第二请求携带对所述第一标识利用ID-PKC系统公共参数指示的哈希函数进行运算后的运算结果及区块链名称;The method according to claim 18, wherein the second request carries an operation result and a blockchain name after the first identifier is operated on a hash function indicated by a public parameter of the ID-PKC system;
    利用所述运算结果在所述区块链名称对应的许可分布式账本进行查询。Use the operation result to query the permissioned distributed ledger corresponding to the blockchain name.
  21. 根据权利要求18至20任一项所述的方法,其中,所述根据查询结果返回响应,包括:The method according to any one of claims 18 to 20, wherein the returning a response according to the query result comprises:
    当查询到所述第一标识已被吊销时,返回第一信息;所述第一信息指示所述第一标识已被吊销;When it is queried that the first identification has been revoked, first information is returned; the first information indicates that the first identification has been revoked;
    或者,or,
    当未查找到所述第一标识时,返回第二信息;所述第二信息指示所述第一标识有效。When the first identifier is not found, second information is returned; the second information indicates that the first identifier is valid.
  22. 一种ID-PKC信息处理装置,设置在第一节点上,包括:An ID-PKC information processing device, arranged on a first node, comprising:
    第一获取单元,配置为获取第一ID-PKC系统公共参数和/或IRL;所述第一ID-PKC系统公共参数的状态为有效;所述第一节点为记账节点;a first obtaining unit, configured to obtain a first ID-PKC system public parameter and/or an IRL; the state of the first ID-PKC system public parameter is valid; the first node is an accounting node;
    第一处理单元,配置为基于共识机制,将获取的第一ID-PKC系统公共参数和/或IRL写入许可分布式账本。The first processing unit is configured to write the acquired public parameters and/or IRL of the first ID-PKC system into a permissioned distributed ledger based on a consensus mechanism.
  23. 一种ID-PKC信息处理装置,包括:An ID-PKC information processing device, comprising:
    第二获取单元,配置为获取第一请求;所述第一请求用于请求获取ID-PKC系统公共参数;a second obtaining unit, configured to obtain a first request; the first request is used for requesting to obtain public parameters of the ID-PKC system;
    第二处理单元,配置为从许可分布式账本查询对应的ID-PKC系统公共参数;根据查询结果返回响应。The second processing unit is configured to query the corresponding public parameters of the ID-PKC system from the permission distributed ledger; and return a response according to the query result.
  24. 一种ID-PKC信息处理装置,包括:An ID-PKC information processing device, comprising:
    第三获取单元,配置为获取第二请求;所述第二请求用于请求查询第一标识是否已被吊销;a third obtaining unit, configured to obtain a second request; the second request is used to request to query whether the first identification has been revoked;
    第三处理单元,配置为从许可分布式账本查询第一标识是否已被吊销;所述许可分布式账本记录有IRL;根据查询结果返回响应。The third processing unit is configured to query whether the first identification has been revoked from the permission distributed ledger; the permission distributed ledger records the IRL; and return a response according to the query result.
  25. 一种第一节点,包括:第一通信接口及第一处理器;其中,A first node, comprising: a first communication interface and a first processor; wherein,
    所述第一通信接口,配置为获取第一ID-PKC系统公共参数和/或IRL; 所述第一ID-PKC系统公共参数的状态为有效;所述第一节点为记账节点;the first communication interface is configured to obtain the first ID-PKC system public parameters and/or the IRL; the state of the first ID-PKC system public parameters is valid; the first node is an accounting node;
    第一处理器,配置为基于共识机制,将获取的第一ID-PKC系统公共参数和/或IRL写入许可分布式账本。The first processor is configured to write the acquired public parameters and/or IRL of the first ID-PKC system into the permissioned distributed ledger based on the consensus mechanism.
  26. 一种第二节点,包括:第二通信接口及第二处理器;其中,A second node, comprising: a second communication interface and a second processor; wherein,
    所述第二通信接口,配置为获取第一请求;所述第一请求用于请求获取ID-PKC系统公共参数;The second communication interface is configured to obtain a first request; the first request is used for requesting to obtain public parameters of the ID-PKC system;
    所述第二处理器,配置为从许可分布式账本查询对应的ID-PKC系统公共参数;根据查询结果通过所述第二通信接口返回响应。The second processor is configured to query the corresponding public parameters of the ID-PKC system from the permission distributed ledger; and return a response through the second communication interface according to the query result.
  27. 一种第三节点,包括:第三通信接口及第三处理器;其中,A third node, comprising: a third communication interface and a third processor; wherein,
    所述第三通信接口,配置为获取第二请求;所述第二请求用于请求查询第一标识是否已被吊销;The third communication interface is configured to obtain a second request; the second request is used to request to query whether the first identification has been revoked;
    所述第三处理器,配置为从许可分布式账本查询第一标识是否已被吊销;所述许可分布式账本记录有IRL;根据查询结果通过所述第三通信接口返回响应。The third processor is configured to query whether the first identification has been revoked from the permission distributed ledger; the permission distributed ledger records the IRL; and return a response through the third communication interface according to the query result.
  28. 一种第一节点,包括:第一处理器和配置为存储能够在处理器上运行的计算机程序的第一存储器,A first node comprising: a first processor and a first memory configured to store a computer program executable on the processor,
    其中,所述第一处理器配置为运行所述计算机程序时,执行权利要求1至12任一项所述方法的步骤。Wherein, the first processor is configured to execute the steps of the method of any one of claims 1 to 12 when running the computer program.
  29. 一种第二节点,包括:第二处理器和配置为存储能够在处理器上运行的计算机程序的第二存储器,A second node comprising: a second processor and a second memory configured to store a computer program executable on the processor,
    其中,所述第二处理器配置为运行所述计算机程序时,执行权利要求13至17任一项所述方法的步骤。Wherein, the second processor is configured to execute the steps of the method of any one of claims 13 to 17 when running the computer program.
  30. 一种第三节点,包括:第三处理器和配置为存储能够在处理器上运行的计算机程序的第三存储器,A third node comprising: a third processor and a third memory configured to store a computer program executable on the processor,
    其中,所述第三处理器配置为运行所述计算机程序时,执行权利要求18至21任一项所述方法的步骤。Wherein, the third processor is configured to execute the steps of the method according to any one of claims 18 to 21 when running the computer program.
  31. 一种存储介质,其上存储有计算机程序,其中,所述计算机程序被处理器执行时实现权利要求1至12任一项所述方法的步骤,或者实现权利要求13至17任一项所述方法的步骤,或者实现权利要求18至21任一项所述方法的步骤。A storage medium on which a computer program is stored, wherein, when the computer program is executed by a processor, the steps of the method of any one of claims 1 to 12 are realized, or the steps of any one of claims 13 to 17 are realized. The steps of the method, or the steps of implementing the method of any one of claims 18 to 21.
PCT/CN2022/084185 2021-04-19 2022-03-30 Id-pkc information processing method and apparatus, and node and storage medium WO2022222722A1 (en)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
CN202110419392.5 2021-04-19
CN202110419392 2021-04-19
CN202111203497.3A CN115225259A (en) 2021-04-19 2021-10-15 ID-PKC information processing method, device, node and storage medium
CN202111203497.3 2021-10-15

Publications (1)

Publication Number Publication Date
WO2022222722A1 true WO2022222722A1 (en) 2022-10-27

Family

ID=83606543

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2022/084185 WO2022222722A1 (en) 2021-04-19 2022-03-30 Id-pkc information processing method and apparatus, and node and storage medium

Country Status (2)

Country Link
CN (1) CN115225259A (en)
WO (1) WO2022222722A1 (en)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130212377A1 (en) * 2012-02-10 2013-08-15 Behzad Malek Method and System for a Certificate-less Authenticated Encryption Scheme Using Identity-based Encryption
CN107360001A (en) * 2017-07-26 2017-11-17 阿里巴巴集团控股有限公司 A kind of digital certificate management method, device and system
CN110138560A (en) * 2019-06-04 2019-08-16 北京理工大学 A kind of dual-proxy cross-domain authentication method based on id password and alliance's chain
CN112581051A (en) * 2020-11-26 2021-03-30 南京邮电大学 Novel logistics system based on block chain technology

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130212377A1 (en) * 2012-02-10 2013-08-15 Behzad Malek Method and System for a Certificate-less Authenticated Encryption Scheme Using Identity-based Encryption
CN107360001A (en) * 2017-07-26 2017-11-17 阿里巴巴集团控股有限公司 A kind of digital certificate management method, device and system
CN110138560A (en) * 2019-06-04 2019-08-16 北京理工大学 A kind of dual-proxy cross-domain authentication method based on id password and alliance's chain
CN112581051A (en) * 2020-11-26 2021-03-30 南京邮电大学 Novel logistics system based on block chain technology

Also Published As

Publication number Publication date
CN115225259A (en) 2022-10-21

Similar Documents

Publication Publication Date Title
JP7273148B2 (en) Digital certificate issuing method, digital certificate issuing center, storage medium and computer program
US11228452B2 (en) Distributed certificate authority
US9800402B2 (en) Secure and delegated distribution of private keys via domain name service
US10547457B1 (en) Systems and methods for notary agent for public key infrastructure names
US6971017B2 (en) Ad hoc secure access to documents and services
US11722316B2 (en) Cryptographic communication system and cryptographic communication method based on blockchain
JP2021505098A (en) Systems and methods for recording device lifecycle transactions as a versioned block of a blockchain network using transaction connectors and broker services
JP2021505097A (en) Device identification systems and methods for enrollment and registration of connected endpoint devices, as well as blockchain services
JP6731491B2 (en) Data transfer method, non-transitory computer-readable storage medium, cryptographic device, and method of controlling data use
JP5215289B2 (en) Method, apparatus and system for distributed delegation and verification
US20120124369A1 (en) Secure publishing of public-key certificates
US8984283B2 (en) Private certificate validation method and apparatus
JP2023504535A (en) Identity (ID) based public key generation protocol
US10958450B1 (en) Constructing a multiple-entity root certificate data block chain
US8719574B2 (en) Certificate generation using virtual attributes
WO2019027445A1 (en) Private data processing
US11917081B2 (en) Issuing device and method for issuing and requesting device and method for requesting a digital certificate
JP2018092446A (en) Authentication approval system, information processing apparatus, authentication approval method, and program
WO2016173211A1 (en) Application identifier management method and device
MX2012011584A (en) Locating network resources for an entity based on its digital certificate.
JP2022552420A (en) Distributed ledger based method and system for certificate authentication
Schaad Certificate Management over CMS (CMC) Updates
WO2022222722A1 (en) Id-pkc information processing method and apparatus, and node and storage medium
WO2024093684A1 (en) Communication method, apparatus and system
US20240154805A1 (en) Systems and methods for blockchain-based domain registration and device authentication

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

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 22790831

Country of ref document: EP

Kind code of ref document: A1