CN114301604A - Distributed public key infrastructure method based on block chain and attribute signature - Google Patents

Distributed public key infrastructure method based on block chain and attribute signature Download PDF

Info

Publication number
CN114301604A
CN114301604A CN202111651828.XA CN202111651828A CN114301604A CN 114301604 A CN114301604 A CN 114301604A CN 202111651828 A CN202111651828 A CN 202111651828A CN 114301604 A CN114301604 A CN 114301604A
Authority
CN
China
Prior art keywords
certificate
user
applicant
node
signature
Prior art date
Legal status (The legal status 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 status listed.)
Granted
Application number
CN202111651828.XA
Other languages
Chinese (zh)
Other versions
CN114301604B (en
Inventor
阚海斌
袁和昕
刘百祥
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fudan University
Original Assignee
Fudan University
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 Fudan University filed Critical Fudan University
Priority to CN202111651828.XA priority Critical patent/CN114301604B/en
Publication of CN114301604A publication Critical patent/CN114301604A/en
Application granted granted Critical
Publication of CN114301604B publication Critical patent/CN114301604B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

The invention belongs to the technical field of passwords, and particularly relates to a distributed public key infrastructure method based on a block chain and an attribute signature. The invention changes the single-node CA of the traditional public key infrastructure into a multi-node CA which is arranged on a block chain and used for issuing/verifying certificates in a coordinated mode, and introduces cryptographic algorithms such as signature based on attributes, zero knowledge proof and the like, so that the identity represented by the certificate is finer in granularity; the method comprises the following steps: initializing a system, initializing a user, signing and issuing a certificate, verifying the certificate, canceling the certificate and the like; the invention is a general scheme, is suitable for various certificate-based identity authentication scenes, makes the identity more three-dimensional by using the breadth covered by the attribute, has fine-grained identity authentication and certain fault tolerance, realizes the non-repudiation of the certificate by combining the non-interactive zero knowledge proof, and expands the application breadth of the invention.

Description

Distributed public key infrastructure method based on block chain and attribute signature
Technical Field
The invention belongs to the technical field of cryptography, and particularly relates to a distributed public key infrastructure method based on a block chain and an attribute signature.
Background
The flexible and effective identity authentication/management scheme is one of the core requirements in the information age, and through the flexible and effective identity authentication/management scheme, the identity of each entity in the internet can be uniquely determined. Public key infrastructure is one of the typical representatives, and PKI is one of the important cornerstones of the current internet by managing digital certificates so that trust problems between different entities can be solved. However, the traditional centralized PKI has many problems, the biggest defect is that the CA must be completely trusted, and when the CA is attacked or the CA itself acts as a malicious node, the identity of the entity corresponding to the issued certificate is either not authenticated or not trusted, which may impact the identity authentication system of the interconnection network.
The characteristics of decentralized block chain, consensus mechanism for synchronization, tamper resistance and the like provide a new idea for the development of PKI, and aiming at the problems of the centralized identity authentication system, the inventor consults and finds that a plurality of schemes arrange the traditional CA on a plurality of nodes of the block chain to realize distributed authentication. The introduction of block chains brings about a number of advantages: firstly, a block chain consensus mechanism natively supports multi-node data synchronization; related data can be stored in the blockchain by using a high-level programming language intelligent contract running on the blockchain, so that a user can apply and inquire certificates under multiple nodes; secondly, due to the properties of decentralization and non-tampering of the block chain, communication under the block chain has a trust basis, and different users can perform safe information interaction.
The inventor finds that the existing scheme still has some problems, including large calculation overhead, insufficient anti-attack capability, irrevocability of neglecting certificates and the like, and simultaneously learns the cryptography based on the attributes, and also provides a new development direction for PKI due to the fact that flexible access control with fine granularity can be provided. An identity may consist of a set of attributes, and authentication may be considered successful as long as the user's set of attributes has a certain error from the required set of attributes. The introduction of the attribute cryptography enables the identity of the authenticated entity to be more three-dimensional, the identity of the entity can be formed by a plurality of attributes (such as identification information, organizational relations and the like), and the identity mechanism of the real world is better met.
The inventor designs a novel distributed public key infrastructure method based on block chains and attribute signatures, and the method has the characteristics of universality, good performance, flexible identity mechanism, fine granularity, non-repudiation and the like.
Reference documents:
(1)Eberhardt J,Tai S.ZoKrates-Scalable Privacy-Preserving Off-Chain Computations[C]//2018 IEEE International Conference on Internet of Things(iThings) and IEEE Green Computing and Communications(GreenCom)and IEEE Cyber,Physical and Social Computing(CPSCom)and IEEE Smart Data(SmartData).IEEE,2018.Aumasson J P,Neves S,Wilcox-O’Hearn Z,et al.BLAKE2:simpler,smaller,fast as MD5[C]//International Conference on Applied Cryptography and Network Security. Springer,Berlin,Heidelberg,2013:119-135;
(2) fiat A, Shamir A.how To pro Material Yourself, Practical Solutions To Identification and Signature schemes [ C ]// Proceedings on Advances in cryptography- - -CRYPTO' 86.1999, GB/T32918, information safety technology SM2 elliptic curve public key cryptography [ S ];
(3) weiliang, Huang Zheng Jie, Chen qun shan center-off is based on attribute undeniable signature [ J ]. computer engineering and science 2020,42(6): 9.
Disclosure of Invention
The invention aims to provide a distributed public key infrastructure method based on a block chain and an attribute signature.
The invention designs a general distributed public key infrastructure method based on attribute signature, and in a system realized based on the method, a user can randomly apply for a certificate issued by a CA (certificate authority) of the system through a public Application Programming Interface (API) and verify the certificate.
The invention takes a block chain and an intelligent contract as carriers, because of the one-to-one correspondence characteristic of the block chain nodes and the node public keys, the nodes can initiate safe secret communication through the intelligent contract, simultaneously all the nodes can acquire data (including but not limited to public parameters of attribute signatures and zero knowledge proofs) on the block chain through the intelligent contract, all the nodes need to open the public keys generated by initialization, ciphertexts generated by encryption and other contents, and the data (including certificate libraries and the like) on all the block chains can be synchronized through the common identification mechanism of the block chains.
The invention provides a distributed public key infrastructure method based on a block chain and an attribute signature, which is based on an attribute signature, block chain and zero knowledge proving technology and comprises the following steps: initializing a system, initializing a user, signing and issuing a certificate, verifying the certificate and revoking the certificate; the method comprises the following specific steps:
(1) initializing a system; the system initializes the relevant parameterization of center-removing non-repudiation attribute signature, publicly uploads the parameterization to a block chain, simultaneously initializes zero knowledge to prove the relevant parameters of ZoKrates, publicly links the chain, represents the initialization of an authority CA node of the attribute, randomly generates a private key CSK of the attribute by the CA, calculates a public key CPK by the private key, and publicly links the information such as the CPK and the like;
(2) initializing a user; user initialization, User in addition to information required to register blockchainsApplicant,u(user u applying for the certificate) also needs to randomly generate secret value SuSo that the calculated ID identifies the UIDuIs globally unique on the block chain, and the User applies for attributes from a plurality of CA nodes to obtain an attribute private key A K of the Useru,iAnd public key APKu,i
(3) Signing the issued certificate; user desiring to apply for a particular n number of CAs to issue a certificateApplicant,uHaving several n attributes, sending network access request certificate service to digital certificate register RA (registration authority) through block chain network, UserApplicant,uSubmitting various information required by the certificate, confirming the information by RA through various modes (including but not limited to offline authentication), if the information is wrong, rejecting the node request, otherwise, sending the information to n CAs, carrying out signature on the certificate by CA cooperation, generating a signature by RA through collecting signature information, storing the signature in a certificate library of a block chain, and automatically synchronizing the certificate library by the block chain; then UserApplicant,uExecuting a proof-of-generation algorithm of ZoKrates, generating a non-repudiatable proof of the certificate;
(4) and (4) certificate verification: expected authentication UserApplicant,uUser of identityVerifier,s(User s of certificate of authenticity), it is for UserApplicant,uInitiating an authentication request, UserApplicant,uFirst go to RA to obtain its own certificateBook and send certificate to UserVerifier,s,UserVerifier,sVerifying the certificate; whether the certificate is legal CA issuance or not is checked, and the User is checkedApplicant,uWhether the certificate is revoked or not, checking the validity period of the certificate and checking whether the certificate is issued by the required n CA nodes or not; if the certificate is expired, revoked or not signed by a legal node, the identity authentication fails, otherwise, the certificate is authenticated, the authentication comprises signature authentication and zero knowledge proof ZoKrates authentication, and the authentication is successful, namely the User is authenticatedApplicant,uThe identity of (a);
(5) certificate revocation; certificate revocation is divided into expired revocation and UserApplicantThe Certificate Revocation List (CRL) is periodically updated by RA (random access request); userApplicant,uIf a request for self certificate revocation is sent to the RA, the RA verifies the zero knowledge proof to validate the UserApplicant,uIdentity, verification is by adding a certificate to the CRL.
In the invention, the method for issuing the certificate by signing in the step (3) comprises the following steps:
no assumption is made that there is a User desiring to apply for a certificateApplicant,uIt expects an application attribute set Ω ═ { Attr1,Attr2,...,AttrnCorresponding certificate, UserApplicant,uT attributes are possessed; userApplicant,uCan be regarded as a common node in the block chain, which sends a network access request certificate service, User, to the RA node through the block chain networkApplicant,uVarious information m (including UID) required to submit a certificateu) And the RA confirms the information, if the information is wrong, the node request is rejected, otherwise, the information is sent to n CA nodes:
(1)Sign(m,Su,UIDu,Ω,{APKu,i,ASKu,i},{CPKi,CSKi})→Pn-t(x),σ.
UserApplicant,uhas t attributes, when n CA nodes of PKI receive m (including UID)u) Begin for the certificate message m e {0, 1}*Carrying out signature;
(i) for UserApplicant,uCA node Attr with attributeiLet it be i ═ 1., t, AttriRandomly choosing ti∈Zp*And calculating:
ei=H1(Attri,APKu,i,UIDu,CPKi),
si=ASKu,i+eiCSKi
Figure BDA0003444983220000041
Attrir is to beiSending the information to the RA node through a secure secret channel;
(ii) for UserApplicant,uCA node Attr without attributeiLet it be i ═ t +1iRandom selection
Figure BDA0003444983220000042
Random generation of APKu,iE G, calculating:
ei=H1(Attri,APKu,i,UIDu,CPKi),
Figure BDA0003444983220000043
Figure BDA0003444983220000044
Attriwill be provided with<ci,di,APKu,i,Ri>Sending the information to the RA node through a secure secret channel;
(iii) RA node combines R with RiN is sent to UserApplicant,u,UserApplicant,uAnd (3) calculating:
Figure BDA0003444983220000051
(iv) and returning to the RA node, and calculating by the RA node:
c=H2(m,T1,...,Tn,UIDu).
(v) subsequently, n-t +1 points (0, c), (t +1, c) are usedt+1),...,(n,cn) Constructing an n-t order Lagrangian interpolation polynomial Pn-t (x):
Figure BDA0003444983220000052
(vi) will Pn-t(x) Is sent to a UserApplicant,uCA node Attr with attributeiI 1.., t.ca calculation:
ci=Pn-t(i),di=ti-cisi,i=1,...,t.
Attriwill be provided with<ci,di>Sending the information to the RA node through a secure secret channel;
(vii) RA output polynomial Pn-t(x) And signature:
σ=<ci,di,Ti,APKu,i,UIDu>,i=1,2,...,n.
(viii) RA will Pn-t(x) And sigma is attached to the certificate information M to generate a certificate M, and the certificate M is sent to the User through a secure secret channelApplicant,uAnd handle UIDuSplicing with the time stamp to be used as a key, storing the certificate content as a value in the certificate libraries, and automatically and synchronously backing up the plurality of certificate libraries;
(2)zkProveGen(zkParams,w,x,ML)→πu.
UserApplicant,uperforming the Prove (zkParams, w, x, M) proof of Generation algorithm for ZoKratesL) Wherein, in the input parameters, the evidence:
Figure BDA0003444983220000053
ei= H1(Attri,APKu,i,UIDu,CPKi)>,
proof of formationuIn the form of Fiat-Shamir Heuristic, in particular,. pi.uCan prove UserApplicant,uKnowing the discrete logarithm SuSatisfy the requirement of
Figure RE-GDA0003486906730000052
And is
Figure RE-GDA0003486906730000053
UserApplicant,uWill prove piuProposition x and Turing machine algorithm MLTransmitting the uplink facilitates the query.
In the invention, the certificate verification method in the step (4) comprises the following steps:
no assumptions are made about the expected authentication UserApplicant,uUser of identityVerifier,sIt expects to authenticate UserApplicant,uUserApplicant,uFirstly, the RA node obtains its own certificate and sends the certificate to the UserVerifier,s,UserVerifier,sVerifying the certificate, checking whether the certificate is issued by the CA node of the legal DPKI, and checking the UserApplicant,uWhether the certificate is revoked or not, checking the validity period of the certificate; if the certificate is expired, revoked or not signed and issued by a legal node, the identity authentication fails, otherwise, the certificate is signed and authenticated;
Verify(m,σ,Pn-t(x),πu)→True/False.
(i) authentication
Figure BDA0003444983220000061
If one fails, the signature is an invalid signature;
(ii) after the above items are verified, the UserVerifier,sObtaining a proof pi on a blockchainuAnd ZoKrates-related parameters, performing the authentication algorithm Verify (zkParams, x, M) of ZoKratesL,πu) If the verification is not passed, the signature is an invalid signature; if the verification is passed, the signature is a valid signature.
The invention has good performance in practical experiment tests, so the invention has practical application feasibility. The invention is a flexible and fine-grained identity authentication mechanism, which makes the identity more three-dimensional by utilizing the breadth covered by the attribute of the center-removing non-repudiation attribute signature, simultaneously makes the whole method have fine-grained identity authentication and certain fault tolerance, realizes information relationship fine-grained dynamic management maintenance and credibility maintenance through the attribute signature and a threshold algorithm, and introduces zero knowledge to prove that the non-repudiation of the certificate is ensured.
Drawings
FIG. 1 is an example of a method architecture.
Fig. 2 is an example of an application certificate return field.
Fig. 3 is an example of a certificate signature field.
Fig. 4 is an example of a certificate of authenticity return result.
FIG. 5 is an example of simulating 5000 concurrent accesses by a user.
Detailed Description
The present invention is further described below by way of specific embodiments so that those skilled in the relevant art can better understand the technical and functional features of the present invention, but the scope of the present invention is not limited to the following embodiments.
Example 1: in this embodiment, the programming language is Golang and the browser is Chrome.
Fig. 1 is a system architecture diagram, and the specific flow is as follows:
1. initializing a system:
(1)GlobalSetup(λ)→Params.
selecting a cyclic group G with prime order N ═ p and generator G, corresponding to N CA nodes of the distributed public key infrastructure, we have an attribute total Ω ═ { Attr ═1,Attr2,...,AttrnH, another 2 hash functions H are selected1
Figure BDA0003444983220000071
H2
Figure BDA0003444983220000072
The common parameter Params is set as<G,p,g,Ω,H1,H2>Packaging and uploading to a block chain;
(2)CASetup(Params)→CSK,CPK.
authority Attr of n CA nodes, i.e. attributesiRandomly generating its own private key
Figure BDA0003444983220000073
Figure BDA0003444983220000074
And calculates out the public key
Figure BDA0003444983220000075
And combining the CPKiPublic chain winding;
(3)ZKSetup(1n)→zkParams.
setup (1) self-carried by ZoKratesn) The algorithm initializes the common parameter zkParams and publishes zkParams for uplink.
2. User initialization:
(1)USetup(λu)→Su,UIDu.
UserApplicant,urandomly generating secret values
Figure BDA0003444983220000076
So that the calculated ID identifies
Figure BDA0003444983220000077
Is globally unique on the blockchain;
(2)UAttrSetup(UIDu,Attri)→ASKu,i,APKu,i.
UserApplicant,uattribute authority Attr is referred to by various means including, but not limited to, offline applicationsiApplication of attributes and validation by an attribute authority, AttriRandom selection
Figure BDA0003444983220000078
As a UserApplicant,uAttribute of (Attr)iAnd calculates
Figure BDA0003444983220000079
As a UserApplicant,uIs given by the attribute public key of<APKu,i,ASKu,i>Sent to User through secure secret channelApplicant,uAnd adding APKu,iThe uplink is disclosed.
3. Signing the issued certificate: no assumption is made that there is a User desiring to apply for a certificateApplicant,uIt expects to claim the attribute set Ω ═ { Attr1,Attr2,...,AttrnCorresponding certificate, UserApplicant,uHaving t attributes therein. UserApplicant,uCan be regarded as a common node in the block chain, which sends a network access request certificate service, User, to the RA node through the block chain networkApplicant,uVarious information m (including UID) required to submit a certificateu) The RA confirms the information by various means (including but not limited to offline authentication), rejects the node request if the information is wrong, otherwise sends the information to the n CA nodes:
(1)Sign(m,Su,UIDu,Ω,{APKu,i,ASKu,i},{CPKi,CSKi})→Pn-t(x),σ.
UserApplicant,uhas t attributes, when n CA nodes of PKI receive m (including UID)u) Begin for the certificate message m e {0, 1}*Carrying out signature;
(i) for UserApplicant,uCA node Attr with attributeiLet it be i ═ 1., t, AttriRandomly choosing ti∈Zp*And calculating:
ei=H1(Attri,APKu,i,UIDu,CPKi),
si=ASKu,i+eiCSKi
Figure BDA0003444983220000081
Attrir is to beiSending the information to the RA node through a secure secret channel;
(ii) for UserApplicant,uCA node Attr without attributeiLet it be i ═ t +1iRandom selection
Figure BDA0003444983220000082
Random generation of APKu,iE G, calculating:
ei=H1(Attri,APKu,i,UIDu,CPKi),
Figure BDA0003444983220000083
Figure BDA0003444983220000084
Attriwill be provided with<ci,di,APKu,i,Ri>Sending the information to the RA node through a secure secret channel;
(iii) RA node combines R with RiN is sent to UserApplicant,u, UserApplicant,uAnd (3) calculating:
Figure BDA0003444983220000085
(iv) and returning to the RA node, and calculating by the RA node:
c=H2(m,T1,...,Tn,UIDu).
(v) subsequently, n-t +1 points (0, c), (t +1, c) are usedt+1),...,(n,cn) Constructing an n-t order Lagrangian interpolation polynomial Pn-t (x):
Figure BDA0003444983220000091
(vi) will Pn-t(x) Is sent to a UserApplicant,uCA node Attr with attributeiI 1.., t.ca calculation:
ci=Pn-t(i),di=ti-cisi,i=1,...,t.
Attriwill be provided with<ci,di>Sending the information to the RA node through a secure secret channel;
(vii) RA output polynomial Pn-t(x) And signature:
σ=<ci,di,Ti,APKu,i,UIDu>,i=1,2,...,n.
(viii) RA will Pn-t(x) And sigma is attached to the certificate information M to generate a certificate M, and the certificate M is sent to the User through a secure secret channelApplicant,uAnd handle UIDuSplicing with the time stamp to be used as a key, storing the certificate content as a value in the certificate libraries, and automatically and synchronously backing up the plurality of certificate libraries;
(2)zkProveGen(zkParams,w,x,ML)→πu.
UserApplicant,uperforming the Prove (zkParams, w, x, M) proof of Generation algorithm for ZoKratesL) Wherein, in the input parameters, the evidence:
Figure BDA0003444983220000092
ei= H1(Attri,APKu,i,UIDu,CPKi)>,
proof of formationuIn the form of Fiat-Shamir Heuristic, in particular,. pi.uCan prove UserApplicant,uKnowing the discrete logarithm SuSatisfy the requirement of
Figure RE-GDA0003486906730000091
And is
Figure RE-GDA0003486906730000092
UserApplicant,uWill prove piuProposition x and Turing machine algorithm MLTransmitting the uplink facilitates the query.
4. And (4) certificate verification: no assumptions are made about the expected authentication UserApplicant,uUser of identityVerifier,sIt expects to authenticate UserApplicant,uUserApplicant,uFirstly, the RA node obtains its own certificate and sends the certificate to the UserVerifier,s,UserVerifier,sThe certificate is verified, whether the certificate is signed by a CA node of a legal DPKI is firstly checked, and a User is checkedApplicant,uIf the certificate is expired, revoked or not, the certificate is signed and issued by a legal node, the identity authentication fails, otherwise, the certificate is signed and authenticated;
Verify(m,σ,Pn-t(x),πu)→True/False.
(i) authentication
Figure BDA0003444983220000101
If one of the signatures fails, the signature is an invalid signature.
(ii) After the above items are verified, the UserVerifier,sObtaining a proof pi on a blockchainuAnd ZoKrates-related parameters, performing the authentication algorithm Verify (zkParams, x, M) of ZoKratesL,πu) If the verification is not passed, the signature is an invalid signature; if the verification is passed, the signature is a valid signature.
5. Certificate revocation: userApplicant,uA revocation request of a certain certificate M is sent to the RA node.
Revoke(M,πu,UIDu)→True/False.
RA gets proof of pi on blockchainsuThe verification algorithm Verify (zkParams, x, M) of ZoKrates is performedL,πu) If the verification is not passed, the signature is an invalid signature; and if the verification is passed, sending certificate revocation requests to the n CA nodes, and otherwise, returning error information. The CA node destroys the generated information of the related intermediate parameters and returns a revocation certificate Cer which is successfully revoked to the RA nodeiRA collects n revocation certificates CeriThe resultant revocation certificate is stored in the CRL and the User is assignedApplicant,uThe certificate of (a) is revoked from the certificate store. Multiple certificate stores in the blockchain are then automatically synchronized with the CRL.
The method is an infrastructure providing an API interface, and can perform corresponding operations by sending a request to the API interface, fig. 2 is an example of a field returned by a certificate application, where the field includes information such as a serial number and a signature of the certificate, fig. 3 is an example of a field signed by a plurality of CAs (100 in this example) in cooperation, fig. 4 is an example of a field returned by a certificate verification, whether the certificate verification is successful or not is prompted, and fig. 5 is an example of simulating 5000 users to concurrently apply/verify the certificate, which can show that the method has low overhead and good performance.

Claims (3)

1. A distributed public key infrastructure method based on block chains and attribute signatures, the method is based on attribute signature, block chains and zero knowledge proof technology, and the method comprises the following steps: initializing a system, initializing a user, signing and issuing a certificate, verifying the certificate and revoking the certificate; the method comprises the following specific steps:
(1) initializing a system; the system initializes the relevant parameterization of center-removing non-repudiation attribute signature, publicly uploads the parameterization to a block chain, simultaneously initializes zero knowledge to prove the relevant parameters of ZoKrates, publicly links the chain, represents the initialization of an authority CA node of the attribute, randomly generates a private key CSK of the attribute by the CA, calculates a public key CPK by the private key, and publicly links the CPK information;
(2) initializing a user; user initialization, User in addition to information required to register blockchainsApplicant,u(user u applying for the certificate) also needs to randomly generate secret value SuSo that the calculated ID identifies the UIDuThe block chain is globally unique, and the User applies for attributes from a plurality of CA nodes to obtain an attribute private key ASK of the Useru,iAnd public key APKu,i
(3) Signing the issued certificate; user desiring to apply for a particular n number of CAs to issue a certificateApplicant,uHaving several n attributes, sending a network access request certificate service, User, to a digital certificate registry RA via a blockchain networkApplicant,uSubmitting various information required by the certificate, confirming the information by RA, rejecting the node request if the information is wrong, otherwise sending the information to n CA, carrying out signature on the certificate by CA in cooperation, collecting signature information by RA to generate a signature, storing the signature in a certificate library of a block chain, and automatically synchronizing the certificate library by the block chain; then UserApplicant,uExecuting a proof-of-generation algorithm of ZoKrates, generating a non-repudiatable proof of the certificate;
(4) and (4) certificate verification: expected authentication UserApplicant,uUser of identityVerifier,s(User s of certificate of authenticity), it is for UserApplicant,uInitiating an authentication request, UserApplicant,uFirstly, go RA to obtain its own certificate and send the certificate to UserVerifier,s,UserVerifier,sVerifying the certificate; firstly, whether the certificate is legal CA issuance or not is checked, and the User is checkedApplicant,uWhether the certificate is revoked, checking the validity period of the certificate and checking whether the certificate is issued by the required n CA nodes; if the certificate is expired, revoked or not signed by a legal node, the identity authentication fails, otherwise, the certificate is authenticated, the authentication comprises signature authentication and zero knowledge proof ZoKrates authentication, and the authentication is successful, namely the User is authenticatedApplicant,uThe identity of (a);
(5) certificate revocation; certificate revocation is divided into expired revocation and UserApplicantActive withdrawingPinning, the Certificate Revocation List (CRL) will be periodically updated by RA; userApplicant,uIf a request for self certificate revocation is sent to the RA, the RA verifies the zero knowledge proof to validate the UserApplicant,uIdentity, verification is by adding a certificate to the CRL.
2. The distributed public key infrastructure method based on blockchain and attribute signatures of claim 1, wherein: the method for issuing the certificate by signing in the step (3) comprises the following steps:
no assumption is made that there is a User desiring to apply for a certificateApplicant,uIt expects an application attribute set Ω ═ { Attr1,Attr2,...,AttrnCorresponding certificate, UserApplicant,uT attributes are possessed; userApplicant,uCan be regarded as a common node in the block chain, which sends a network access request certificate service, User, to the RA node through the block chain networkApplicant,uVarious information m (including UID) required to submit a certificateu) And the RA confirms the information, if the information is wrong, the node request is rejected, otherwise, the information is sent to n CA nodes:
(1)Sign(m,Su,UIDu,Ω,{APKu,i,ASKu,i},{CPKi,CSKi})→Pn-t(x),σ.
UserApplicant,uhas t attributes, when n CA nodes of PKI receive m (including UID)u) Begin for the certificate message m e {0, 1}*Carrying out signature;
(i) for UserApplicant,uCA node Attr with attributeiLet it be i ═ 1., t, AttriRandomly choosing ti∈Zp*And calculating:
ei=H1(Attri,APKu,i,UIDu,CPKi),
si=ASKu,i+eiCSKi
Figure RE-FDA0003486906720000021
Attrir is to beiSending the information to the RA node through a secure secret channel;
(ii) for UserApplicant,uCA node Attr without attributeiLet it be i ═ t +1iRandom selection
Figure RE-FDA0003486906720000022
Random generation of APKu,iE G, calculating:
ei=H1(Attri,APKu,i,UIDu,CPKi),
Figure RE-FDA0003486906720000023
Figure RE-FDA0003486906720000024
Attriwill be provided with<ci,di,APKu,i,Ri>Sending the information to the RA node through a secure secret channel;
(iii) RA node combines R with RiN is sent to UserApplicant,u,UserApplicant,uAnd (3) calculating:
Figure RE-FDA0003486906720000031
(iv) and returning to the RA node, and calculating by the RA node:
c=H2(m,T1,...,Tn,UIDu).
(v) subsequently, n-t +1 points (0, c), (t +1, c) are usedt+1),...,(n,cn) Constructing an n-t Lagrange interpolation polynomial Pn-t (x):
Figure RE-FDA0003486906720000032
(vi) will Pn-t(x) Is sent to a UserApplicant,uCA node Attr with attributeiI 1.., t.ca calculation:
ci=Pn-t(i),di=ti-Cisi,i=1,...,t.
Attriwill be provided with<ci,di>Sending the information to the RA node through a secure secret channel;
(vii) RA output polynomial Pn-t(x) And signature:
σ=<ci,di,Ti,APKu,i,UIDu>,i=1,2,...,n.
(viii) RA will Pn-t(x) And sigma is attached to the certificate information M to generate a certificate M, and the certificate M is sent to the User through a secure secret channelApplicant,uAnd handle UIDuSplicing with the time stamp to be used as a key, storing the certificate content as a value in the certificate libraries, and automatically and synchronously backing up the plurality of certificate libraries;
(2)zkProveGen(zkParams,w,x,ML)→πu.
UserApplicant,uperforming the Prove (zkParams, w, x, M) proof of Generation algorithm for ZoKratesL) Wherein, in the input parameters, the evidence:
Figure RE-FDA0003486906720000033
proof of formationuIn the form of Fiat-Shamir Heuristic, in particular,. pi.uCan prove UserApplicant,uKnowing the discrete logarithm SuSatisfy the requirement of
Figure RE-FDA0003486906720000034
And is
Figure RE-FDA0003486906720000035
UserApplicant,uWill prove piuProposition x and Turing machine algorithm MLTransmitting the uplink facilitates the query.
3. The distributed public key infrastructure method based on blockchain and attribute signatures of claim 1, wherein: the certificate verification method in the step (4) comprises the following steps:
no assumptions are made about the expected authentication UserApplicant,uUser of identityVerifier,sIt expects to authenticate UserApplicant,uUserApplicant,uFirstly, the RA node obtains its own certificate and sends the certificate to the UserVerifier,s,UserVerifier,sVerifying the certificate, checking whether the certificate is issued by the CA node of the legal DPKI, and checking the UserApplicant,uWhether the certificate is revoked or not, checking the validity period of the certificate; if the certificate is expired, revoked or not signed and issued by a legal node, the identity authentication fails, otherwise, the certificate is signed and authenticated;
Verify(m,σ,Pn-t(x),πu)→True/False.
(i) authentication
Figure FDA0003444983210000043
If one fails, the signature is an invalid signature;
(ii) after the above items are verified, the UserVerifier,sObtaining a proof pi on a blockchainuAnd ZoKrates-related parameters, performing the authentication algorithm Verify (zkParams, x, M) of ZoKratesL,πu) If the verification is not passed, the signature is an invalid signature; if the verification is passed, the signature is a valid signature.
CN202111651828.XA 2021-12-30 2021-12-30 Construction method of distributed public key infrastructure based on blockchain and attribute signature Active CN114301604B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111651828.XA CN114301604B (en) 2021-12-30 2021-12-30 Construction method of distributed public key infrastructure based on blockchain and attribute signature

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111651828.XA CN114301604B (en) 2021-12-30 2021-12-30 Construction method of distributed public key infrastructure based on blockchain and attribute signature

Publications (2)

Publication Number Publication Date
CN114301604A true CN114301604A (en) 2022-04-08
CN114301604B CN114301604B (en) 2023-09-29

Family

ID=80972858

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111651828.XA Active CN114301604B (en) 2021-12-30 2021-12-30 Construction method of distributed public key infrastructure based on blockchain and attribute signature

Country Status (1)

Country Link
CN (1) CN114301604B (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114826618A (en) * 2022-05-06 2022-07-29 珠海复旦创新研究院 Certificate distribution and access control integrated system

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109450645A (en) * 2018-11-29 2019-03-08 中国电子科技集团公司第三十研究所 It is a kind of that anonymous authentication method is supervised based on zero-knowledge proof
US20190215159A1 (en) * 2018-01-10 2019-07-11 Tmail Inc. System and computer program product for certified confidential data collaboration using blockchains
US10547457B1 (en) * 2016-10-21 2020-01-28 Wells Fargo Bank N.A. Systems and methods for notary agent for public key infrastructure names
CN112187455A (en) * 2020-09-24 2021-01-05 西南交通大学 Method for constructing distributed public key infrastructure based on editable block chain
CN113129518A (en) * 2021-04-28 2021-07-16 北方工业大学 Electric vehicle charging system and resource management method thereof
CN113469827A (en) * 2021-07-23 2021-10-01 电子科技大学 Insurance claim settlement device and method based on hybrid intelligent contract

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10547457B1 (en) * 2016-10-21 2020-01-28 Wells Fargo Bank N.A. Systems and methods for notary agent for public key infrastructure names
US20190215159A1 (en) * 2018-01-10 2019-07-11 Tmail Inc. System and computer program product for certified confidential data collaboration using blockchains
CN109450645A (en) * 2018-11-29 2019-03-08 中国电子科技集团公司第三十研究所 It is a kind of that anonymous authentication method is supervised based on zero-knowledge proof
CN112187455A (en) * 2020-09-24 2021-01-05 西南交通大学 Method for constructing distributed public key infrastructure based on editable block chain
CN113129518A (en) * 2021-04-28 2021-07-16 北方工业大学 Electric vehicle charging system and resource management method thereof
CN113469827A (en) * 2021-07-23 2021-10-01 电子科技大学 Insurance claim settlement device and method based on hybrid intelligent contract

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
陈泽宁等: "基于区块链和去中心属性密码的访问控制身份方案", 中国科学(信息科学), no. 008, pages 1345 - 1359 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114826618A (en) * 2022-05-06 2022-07-29 珠海复旦创新研究院 Certificate distribution and access control integrated system

Also Published As

Publication number Publication date
CN114301604B (en) 2023-09-29

Similar Documents

Publication Publication Date Title
CN106789090B (en) Public key infrastructure system based on block chain and semi-random combined certificate signature method
Zhang et al. A privacy-aware PUFs-based multiserver authentication protocol in cloud-edge IoT systems using blockchain
Chow et al. Dynamic secure cloud storage with provenance
Au et al. Malicious KGC attacks in certificateless cryptography
CN110958229A (en) Credible identity authentication method based on block chain
Chai et al. CyberChain: Cybertwin empowered blockchain for lightweight and privacy-preserving authentication in Internet of Vehicles
CN109963282B (en) Privacy protection access control method in IP-supported wireless sensor network
CN112583596B (en) Complete cross-domain identity authentication method based on block chain technology
CN114629720B (en) industrial Internet cross-domain authentication method based on blockchain and Handle identification
CN113824563A (en) Cross-domain identity authentication method based on block chain certificate
CN114884698A (en) Kerberos and IBC security domain cross-domain authentication method based on alliance chain
CN114422106B (en) Security authentication method and system for Internet of things system under multi-server environment
Gritti et al. Chariot: Cloud-assisted access control for the internet of things
CN116366239A (en) Cloud auditing method and system for anonymous data
Zheng et al. [Retracted] An Anonymous Authentication Scheme in VANETs of Smart City Based on Certificateless Group Signature
Perugini et al. On the integration of Self-Sovereign Identity with TLS 1.3 handshake to build trust in IoT systems
CN114301604B (en) Construction method of distributed public key infrastructure based on blockchain and attribute signature
Long et al. Blockchain-Based Anonymous Authentication and Key Management for Internet of Things With Chebyshev Chaotic Maps
Liou et al. T-auth: A novel authentication mechanism for the IoT based on smart contracts and PUFs
Lim et al. A V2X access authorization mechanism based on decentralized ID (DID) and verifiable credentials (VC)
Shao et al. Blockchain-assisted certificateless signcryption for vehicle-to-vehicle communication in VANETs
CN116707827A (en) Access control method based on rights
CN114339743B (en) Internet of things client privacy protection authentication method based on edge calculation
US10469267B2 (en) Method of managing implicit certificates using a distributed public keys infrastructure
CN116015648A (en) Cross-domain privacy protection message authentication method for industrial Internet of things

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant