CN113824563B - 一种基于区块链证书的跨域身份认证方法 - Google Patents

一种基于区块链证书的跨域身份认证方法 Download PDF

Info

Publication number
CN113824563B
CN113824563B CN202111047236.7A CN202111047236A CN113824563B CN 113824563 B CN113824563 B CN 113824563B CN 202111047236 A CN202111047236 A CN 202111047236A CN 113824563 B CN113824563 B CN 113824563B
Authority
CN
China
Prior art keywords
domain
certificate
cross
block chain
bas
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.)
Active
Application number
CN202111047236.7A
Other languages
English (en)
Other versions
CN113824563A (zh
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.)
University of Electronic Science and Technology of China
Original Assignee
University of Electronic Science and Technology of China
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 University of Electronic Science and Technology of China filed Critical University of Electronic Science and Technology of China
Priority to CN202111047236.7A priority Critical patent/CN113824563B/zh
Publication of CN113824563A publication Critical patent/CN113824563A/zh
Application granted granted Critical
Publication of CN113824563B publication Critical patent/CN113824563B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3236Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
    • H04L9/3239Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions involving non-keyed hash functions, e.g. modification detection codes [MDCs], MD5, SHA or RIPEMD
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3247Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
    • H04L9/3249Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures using RSA or related signature schemes, e.g. Rabin scheme
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3263Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements
    • H04L9/3265Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements using certificate chains, trees or paths; Hierarchical trust model
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3263Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements
    • H04L9/3268Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements using certificate validation, registration, distribution or revocation, e.g. certificate revocation list [CRL]
    • 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/50Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本发明提供一种基于区块链证书的跨域认证方法,第一阶段,由一个信任域中的实体跨域传送的自己的区块链证书:第二阶段,实体所在的区块链代理服务器利用区块链验证跨域的区块链代理服务器的区块链证书:第三阶段,跨域身份认证成功后,由跨域的区块链代理服务器生成新的跨域区块链证书。生成跨域区块链证书,可以在下一次做相同的跨域身份认证操作时提高身份认证效率。各信任域均设置私钥生成中心对域内的所有签名私钥进行统一管理。区块链证书采用轻量化结构。本发明在保证安全性的前提下,解决了传统跨域身份认证当中效率低下的问题。另外,对传统的数字证书做出了满足当下需求的轻量化改进,进一步降低了通信开销。

Description

一种基于区块链证书的跨域身份认证方法
技术领域
本发明涉及区块链技术,特别涉及区块链中的身份认证技术。
背景技术
公钥基础设施PKI技术其基础是公钥加密理论。通过公钥基础设施,可以为各个用户提供在身份认证过程中所需要的密钥和证书的管理功能,以保障身份信息的机密性和身份信息的不可抵赖性。也正是这个原因,公钥体制被广泛的应用于数字签名和密钥交换的场景中。PKI包括认证机构CA、注册机构RA和证书库构成。PKI系统的核心是CA,其可以完成数字证书签发和管理,是具备公正性和权威性的第三方机构。注册机构RA负责数字证书的申请注册。证书库中存储了数字证书,用来证明实体的身份。证书通常是由CA签发的,CA会将签发的证书存入到证书库当中。在密钥管理方面,密钥备份和恢复也需要CA的配合。数字证书生成之后,会存储备份至CA中,数字证书恢复时需要向CA发起请求。此外,数字证书是有一定期限的,由于非对称算法的可破译性,如果长时间使用同一密钥是有很大风险的。所以为了保证安全性需要在一定的时间频率上对所有的证书和密钥做更换操作。
基于标识的密码体系IBC技术是基于身份的密码技术,它的提出正是为了解决PKI技术中密钥管理复杂,维护成本较高的问题。因为在传统的公钥加密理论当中,密钥的备份和恢复都需要一定的成本,证书的管理也带来了一定的复杂性。为了简化身份认证的流程,IBC技术取消了数字证书的使用,成对的公钥和私钥也不再需要同时生成。其中,IBC通过用户的标识来直接生成公钥而不是通过第三方获取,即公钥由实体自己预先设定,而私钥由私钥生成中心PKG来负责,PKG接收到公钥后生成私钥,并且利用专有的通道发送给实体。由此可见,基于IBC的密钥认证技术在减少了生成和维护数字证书的过程后,减少了证书交换的过程。但是由于PKG集中负责私钥的生成和私密传输,使得基于IBC的密钥认证技术并没有太高的稳定性和安全性。
传统的身份认证技术存在单点故障、维护成本高、认证问题复杂等问题。为了解决这些问题,提出了基于区块链的认证技术。区块链作为一种分布式交易账本技术,能够灵活地适应复杂多变的网络环境,其节点间分布式认证可以防止恶意节点入侵网络。即使有少量节点被破坏,区块链的区块也不会被篡改。
在多节点网络中,每次添加新的实体时,都需要在区块链中注册实体的身份信息。每个实体的ID、公钥、关键数据散列和其他信息都存储在区块链分布式账本中。同时,每个节点都是完全P2P连接的,共识机制保证了每个节点存储的信息是相同的。每当点对点通信发生时,公钥加密技术可用于物联网设备或者实体之间的身份验证。根据功能不同,所有的节点将根据是否参与共识被分为两类。共识节点参与共识过程,生成块并向非共识节点广播块,非共识节点只负责传输数据而不参与共识过程。
所有实体在认证前需要在区块链上完成注册。当实体需要接入网络时,通过区块链中的注册信息进行认证。认证后,实体将验证关键信息散列的完整性,以发现潜在的入侵行为。
BlockCAM作为一个基于区块链的跨域认证模型,该模型的整体结构如图1所示,由认证服务器节点AS、根节点CA、区块链网络和实体组成。
(1)AS负责检查用户提交的证书。
(2)CA负责收集用户的证书相关请求。
(3)实体节点代表每个域的用户。
(4)区块链系统:BlockCAM构建在联盟链之上。由于联盟链只对特定组织开放,授权的根CA加入联盟链之后,将作为验证节点。如果一个域不再需要跨域,或者该域不再受信任,那么该域加入联盟区块链的权限将被撤销。区块链的每个块由一个区块头和区块体组成。其中,区块头包含父区块散列、时间戳、Merkle根。而区块体由于区块链带宽有限,不能存储大量数据。网络上的每个节点都有一份区块链数据存储的副本。如果整个证书存储在区块链上,其空间和长度将比其他区块链系统增长得快得多,因此BlockCAM将不方便使用。在BlockCAM中,只有证书哈希、证书ID以及证书相应的状态消息存储在区块体中。证书哈希用于检查证书的完整性,证书ID是证书的索引,状态信息保证了证书的及时性。
BlockCAM利用区块链的特点,BlockCAM实现证书的去中心化存储,通过比较区块链证书记录和用户提交的证书,解决了跨域认证问题。
目前基于上述BlockCAM模型和基于X.509标准的数字证书,已提出了一种基于跨信任域的身份认证方法,如图2所示:
步骤1:信任域A的用户Ua向信任域B的认证服务器ASB发送跨域身份认证请求req。
步骤2:信任域B的认证服务器ASB向信任域A的用户Ua发送一个随机数N。
步骤3:Ua利用自己的私钥对随机数进行签名sig(ska,N),并且将自己的数字证书Certa、签名sig(ska,N)以及随机数N发送给信任域B的认证服务器ASB
步骤4:ASB使用数字证书Certa和N来验证签名sig(ska,N)是否正确Ver sig,N。验证通过后ASB会对证书Certa进行解析,验证数字证书的有效性,包括是否在有效期内以及数字证书的格式是否正确。
步骤5:ASB查询该记录在区块链BlockChain中的证书最新状态。如果数字证书Certa的最新状态信息是发布或更新,则计算BlockChain中的证书Certa的哈希值。
步骤6:ASB通过对比查询到Certa的哈希值与接收到的Certa的哈希值进行一致性判断来验证Ver Hash,如果一致,则信任域B通过了Ua的身份认证,说明用户Ua对于信任域B是可信的。
步骤7:ASB将自己的证书CertB发送给Ua。
步骤8:用户Ua查询数字证书CertB在区块链中的最新状态。如果数字证书CertB的最新状态信息是发布或更新,则BlockChain中的证书CertB的哈希值。
步骤9:用户Ua对比查询到的CertB的哈希值与接收到的CertB的哈希值进行验证Ver Hash,如果一致,则信任域B对于用户Ua也是可信的。
证书使用于跨域的身份认证过程当中,在多属地联合计算分析的场景中实现了可信的跨域身份认证。
发明内容
本发明所要解决的技术问题是,提供一种提高当前IBC结合区块链实现认证效率的方法。
本发明为解决上述技术问题所采用的技术方案是,一种基于区块链证书的跨域认证方法,包括以下步骤:
第一阶段,由一个信任域A中的实体跨域传送的自己的区块链证书:
1)信任域A中的实体Ua生成一个随机数N1,并向信任域B的区块链代理服务器BASB发送跨域身份认证请求req(N1);跨域身份认证请求req(N1)中包含有随机数N1;
2)BASB收到跨域身份认证请求req(N1)之后,将当前的时间tB以及随机数N1发送给Ua;
步骤3:Ua收到N1和tB之后,利用基于标识密码标准SM9的数字签名算法对要发送的Ua的区块链证书BCerta生成数字签名;
步骤4:Ua将BCerta的数字签名、BCerta、时间tB、实体的身份标识IDa、签名公钥Ppub-s和信任域A中的系统参数发送给BASB
步骤5:BASB收到来自于Ua的发送消息后,利用SM9的签名验证算法完成对发送消息的验证,同时得到了Ua的区块链证书BCerta;
第二阶段,实体所在的区块链代理服务器利用区块链验证跨域的区块链代理服务器的区块链证书:
6)BASB在解析Ua发来的区块链证书BCerta后,得到BCerta的发行者为信任域A的区块链代理服务器BASA的信息,BASB生成随机数N2,并向BASA发送请求获取信任域A中区块链代理服务器的区块链证书请求req(BCerta,N2),req(BCerta,N2)中包括Ua的区块链证书BCerta以及随机数N2;
7)BASA收到请求req(BCerta,N2)后,将自己的区块链证书BCertBASA和随机数N2返回给BASB
8)BASB得到BCertBASA之后,对BCerta以及BCertBASA机型哈希运算,得到对应哈希值Hash(BCerta)和Hash(BCertBASA),将哈希值Hash(BCerta)和Hash(BCertBASA)发送至区块链做查询操作,查看对应区块链证书的状态;如果已经存在Ua对BASB的跨域身份认证的区块链证书BCerta->BASB,则直接向BASB发送认证成功的结果,BASB收到认证成功的结果后转发认证结果发送至Ua,跨域身份认证结束;否则,进入步骤9);
第三阶段,跨域身份认证成功后,由跨域的区块链代理服务器生成新的跨域区块链证书:
9)区块链通过判断链码得到所要查询的实体Ua以及对应信任域A当中BAS区块链证书BCertBASA的哈希值与接收到Hash(BCerta)和Hash(BCertBASA)是否一致来进行认证,如一致则认证成功,否则认证失败,认证完成后先将认证结果返回给BASB
步骤10)BASB收到认证失败的结果,则将认证结果发送给Ua,跨域身份认证结束;
步骤11)BASB收到认证成功的结果,BASB将生成从Ua到信任域B的跨域身份认证的区块链证书BCerta->BASB,计算并向将区块链发送跨域身份认证的区块链证书BCerta->BASB的哈希值Hash(BCerta->BASB);最后转发认证结果发送至Ua,跨域身份认证结束。
本发明的跨域的身份认证方法,在跨域认证成功之后会对应生成新的跨域区块链证书,这样可以在下一次做相同的跨域身份认证操作时提高身份认证效率。
进一步的,在各信任域中均设置一个私钥生成中心PKG对域内的所有签名私钥进行统一管理。区块链证书采用轻量化结构,轻量化结构的处理包括:在现有区块链证书的结构基础上,在发行者和主体的名称或发行者和主体的标识之间择一保留;删除拓展项中主体备选名和发行者备选名。
本发明的有益效果是,在保证安全性的前提下,解决了传统跨域身份认证当中效率低下的问题。另外,对传统的数字证书做出了满足当下需求的轻量化改进,得到了符合需求的区块链证书,进一步降低了通信开销。
附图说明
图1为blockCAM整体结构图;
图2为现有基于区块链的跨域身份认证协议;
图3为实施例区块链证书结构;
图4为实施例跨域身份认证分层体系结构;
图5为实施例基于区块链证书的跨域身份认证协议。
具体实施方式
1)区块链证书的设计:
传统的基于PKI的身份认证过程是通过数字证书来实现的,而数字证书目前最通用的版本是X.509v3版本,其特点是稳定性强,不易篡改,在身份认证的过程中具有很高的安全性。
在X509v3版本的数字证书中,有以下几个部分需要作出一定的解释:发行者唯一标识(Issuer Unique Identifier)与主体唯一标识(Subject Unique Identifier)属于可选项,它们仅仅在X.509v3和X.509v2中有要求;签名(Signature)主要用于证明证书当中所含公钥的正确性,一般由证书的发行者使用其私钥按照约定的签名算法来进行签名。在扩展的部分当中,策略映射一般仅在CA证书当中出现,其包含不同域间多个策略之间的等价关系;CRL分布点是证书撤销表的分布存储地点;主体和发布者的备选名主要是指IP地址和电子邮件等等;主体目录属性指的是证书持有者的属性,这个属性可能有一个或者多个,用于传递访问控制信息;基本约束和名字约束为一些特定的约束条件;授权密钥标识符用来标识证书发行者的公钥,跨域通过授权密钥标识符来获取对应的公钥;密钥用途是一个比特字符串,说明了证书的公钥可以完成的功能,例如数据加密或者证书签名等等。
通过对数字证书各个部分的认识,可以设计出满足知识共享场景的区块链证书。这里需要注意的是,为了对于主体公钥的合法性进行验证,签名和签名算法标识符必须保留。下面,对原先证书结构中多余的部分删去并适当补充需要的结构,可以达到证书本身更加轻量化的目的具体的改动包括:
(1)删去发行者名称和主体名称或者发行者标识和主体标识。虽然在数字证书中,发行者标识和主体标识这两项为可选项,用来标识具体的发行者和主体。在本场景当中,可以直接通过发行者名称和主体名称来唯一地确定一个实体,就可以将发行者标识和主体标识删去。同理,删除发行者名称和主体名称,保留发行者标识和主体标识同样可行。
(2)删去拓展项中不必要的部分。除了删除主体备选名和发行者备选名,将区块链证书的相关数据上链之后,因为上链的数据无法更改,所以无需证书撤销表CRL结构,因此取消CRL分布点。基本约束和名字约束中的约束条件可以直接加入到智能合约当中,因此从证书中取消。
(3)拓展项中加入行为风险等级。基于每个主体的历史行为,对主体的行为风险等级做出评估并记录,这个指标不会占太大的空间,却能够在资源综合分析计算时提供可靠的标准。
最终得到设计的区块链证书结构如图3所示。
2)跨域身份认证的总体模型
为了结合IBC技术并且使用SM9签名验证算法进一步提高跨域身份认证的效率,在总体结构中加入IBC体系中的私钥生成中心。利用私钥生成中心PKG对域内的所有签名私钥进行统一的管理。结合blockCAM中的总体结构,设计出基于区块链证书的跨域身份认证分层体系结构如图4所示。
在跨域认证分层体系结构中,区块链作为身份认证的底层技术框架和可信的技术平台,在其中的作用是为每一个进入域中的实体以及需要完成跨域身份认证的实体提供共识服务,以验证它们的身份。为了实现各个域中的节点与区块链的交互,以及对域内实体的身份管理,把区块链代理服务器BAS加入了代理层,同时把私钥生成中心PKG加入了实体层。
综上可知,跨域认证分层体系架构的总体结构主要分为三层:实体层、代理层和区块链层。实体层中包含各个实体以及本域的密钥生成中心PKG,代理层中为各个域所对应的区块链代理服务器BAS,区块链层作为底层的技术平台,是跨域身份认证过程的核心。
实体层中主要包括域内的各个实体,以及负责生产私钥的私钥生成中心PKG。通过各个实体和私钥生成中心的交互可以完成实体自身的密钥生成,其中私钥生成中心是基于IBC的密钥认证技术的基本组成部分。每个域只有一个密钥生成中心。对于实体来说,每个实体并不一定是同一类的,在知识共享的场景中,通常需要根据实际的任务将不同类型的实体放在同一个域当中,当然每个实体都需要与私钥生成中心交互来获取自己的私钥。
代理层中主要是各个域的区块链代理服务器BAS,它可以负责响应域内以及域间的身份认证请求,与私钥生成中心一样,每个域当中只有一个区块链代理服务器。但是,区块链代理服务器不单独执行身份认证的过程,而是从实体收到的身份认证请求后,完成数据信息的转换,最后利用区块链共识的结果进行对比,最终得到身份认证的结果。
区块链层与代理层配合完成所有实体的身份注册以及跨域的身份认证过程。其中区块链作为分布式账本,存储了各实体身份信息的Hash值。与直接将实体的身份信息存入区块链相比,存入Hash值加快了共识的过程,提高了身份认证的效率。在存入Hash值得过程中,采取了key-value的形式,key为实体的区块链证书的Hash值,value为对应区块链证书的状态。
3)基于区块链证书的跨域认证协议
在跨域身份认证之前,各个信任域需要先完成初始化工作。通过初始化之后,BAS的区块链证书Hash值上链,信任域中所有实体的区块链证书Hash值上链。之后便可以通过区块链证书的Hash值查询到对应区块链证书的状态。
这里需要说明的是,由于增加了私钥生成中心PKG以便在跨域身份认证的过程中使用基于SM9的签名验证算法,因此,在生成BAS的区块链证书之前,信任域中代理服务器BAS需要初始化该信任域的系统参数,主要是一些信任域在使用基于SM9的数字签名和签名认证算法当中会用到的参数。在设置好信任域当中的系统参数之后,生成对应的BAS区块链证书。
由于不同信任域之间是不知道对方公私钥的,因此需要借助之前提到的基于SM9的数字签名算法和签名认证算法来实现。
假设当前跨域身份认证指的是信任域A中的实体a需要跨域到信任域B,最终得到信任域B的区块链代理服务器BAS对于实体a的认证结果。
用虚线将跨域的身份认证流程划分为三个阶段。第一个阶段是实体a向信任域B发送带有自身数字签名的区块链证书,第二个阶段是信任域得到区块链证书后,验证区块链证书是否属于信任域A,第三个阶段是将认证的结果返回到实体a,具体的跨域身份认证步骤如图5所示:
步骤1:信任域A中的实体Ua向信任域B的区块链代理服务器BASB发送一条跨域身份认证请求req(N1),请求中包含一个随机数N1;
步骤2:B域的BAS收到身份认证请求req(N1)之后,将当前的时间tB以及随机数N1发送给Ua;
步骤3:Ua N1和tB之后,利用基于SM9的数字签名算法对要发送的区块链证书BCerta生成数字签名(h,S);
步骤4:Ua将数字签名(h,S)、BCerta、时间tB、实体的身份标识IDa、签名公钥Ppub-s和信任域A中的系统参数一同发送给BASB
步骤5:BASB收到消息后利用基于标识密码标准SM9的签名验证算法完成对发送消息的验证,同时得到了Ua的区块链证书BCerta;SM9的签名验证算法为现有,数字签名(h,S)、时间tB、实体的身份标识IDa、签名公钥Ppub-s均用于SM9的签名验证算法;
步骤6:BASB在解析Ua发来的区块链证书后,得到BCerta的发行者为信任域A的区块链代理服务器BASA,此时需要验证Ua是否属于信任域A,所以,BASB向BASA发送请求获取信任域A中BAS的区块链证书请求req(BCerta,N2),请求中包括Ua的区块链证书BCerta以及随机数N2;
步骤7:BASA收到请求req(BCerta,N2)后,将自己的区块链证书BCertBASA和随机数N2返回给BASB
步骤8:BASB得到BASA的区块链证书之后,将BASA的区块链证书以及BCerta按照之前收到的系统参数做Hash运算,得到对应Hash值Hash(BCerta)和Hash(BCertBASA),结合之前部署的链码在区块链BlockChain当中做查询操作,查看对应区块链证书的状态;如果已经存在跨域身份认证的区块链证书BCerta->BASB,则直接向BASB发送认证成功的结果,BASB收到认证成功的结果后转发认证结果发送至Ua,跨域身份认证结束,否则进入步骤9;
步骤9:区块链通过判断链码得到所要查询的实体Ua以及对应信任域A当中BAS区块链证书BCertBASA的哈希值与接收到Hash(BCerta)和Hash(BCertBASA)是否一致来进行认证,如一致则认证成功,否则认证失败,认证完成后先将结果返回给BASB
步骤10:BASB收到认证失败的结果,则将认证结果发送给Ua,跨域身份认证结束;
步骤11:BASB收到认证成功的结果,BASB将生成从Ua到信任域B的跨域身份认证的区块链证书BCerta->BASB,计算并向将区块链发送证书BCerta->BASB的哈希值Hash(BCerta->BASB);最后转发认证结果发送至Ua,跨域身份认证结束。
其中,步骤1至步骤5为第一阶段,由Ua向信任域B传送自己的区块链证书。步骤6至步骤8为第二阶段,负责利用区块链上部署的链码验证区块链证书的状态。步骤9至步骤11为第三阶段,将结果返回给Ua,如果跨域认证成功,需要生成新的跨域区块链证书,这样可以在下一次做相同的跨域身份认证操作时提高身份认证效率。
实施例在跨域认证体系结构中引入了IBC技术的思想,加入了私钥生成中心,与传统的PKI的方法相比,签名的公、私钥不需要同时生成,可以使用基于SM9的签名验证算法来实现消息的签名和验证,基于SM9的签名验证算法安全性更高。由于区块链本身承担了维护证书的作用,加入密钥生成中心来统一的管理签名私钥,可以使跨域传递消息时的签名和验证过程更加简洁高效。进一步的,为了实现跨域身份认证过程中传输效率的提高,结合区块链本身的特性,对传统的数字证书做出了满足当下需求的轻量化改进,得到了符合需求的区块链证书,降低通信开销。

Claims (5)

1.一种基于区块链证书的跨域认证方法,其特征在于,包括以下步骤:
第一阶段,由一个信任域A中的实体跨域传送的自己的区块链证书:
步骤 1: 信任域A中的实体Ua生成一个随机数N1,并向信任域B的区块链代理服务器BASB发送跨域身份认证请求req(N1);跨域身份认证请求req(N1)中包含有随机数N1;
步骤 2: BASB收到跨域身份认证请求req(N1)之后,将当前的时间tB以及随机数N1发送给Ua;
步骤3:Ua收到N1和tB之后,利用基于标识密码标准SM9的数字签名算法对要发送的Ua的区块链证书BCerta生成数字签名;
步骤4:Ua将BCerta的数字签名、BCerta、时间tB、实体的身份标识IDa、签名公钥Ppub-s和信任域A中的系统参数发送给BASB
步骤5:BASB收到来自于Ua的发送消息后,利用SM9的签名验证算法完成对发送消息的验证,同时得到了Ua的区块链证书BCerta;
第二阶段,实体所在的区块链代理服务器利用区块链验证跨域的区块链代理服务器的区块链证书:
步骤 6: BASB在解析Ua发来的区块链证书BCerta后,得到BCerta的发行者为信任域A的区块链代理服务器BASA的信息,BASB生成随机数N2,并向BASA发送请求获取信任域A中区块链代理服务器的区块链证书请求req(BCerta,N2),req(BCerta,N2)中包括Ua的区块链证书BCerta以及随机数N2;
步骤 7: BASA收到请求req(BCerta,N2)后,将自己的区块链证书BCertBASA和随机数N2返回给BASB
步骤 8: BASB得到BCertBASA之后,对BCerta以及BCertBASA进行哈希运算,得到对应哈希值Hash(BCerta)和Hash(BCertBASA),将哈希值Hash(BCerta)和Hash(BCertBASA)发送至区块链做查询操作,查看对应区块链证书的状态;如果已经存在Ua对BASB的跨域身份认证的区块链证书BCerta->BASB,则直接向BASB发送认证成功的结果,BASB收到认证成功的结果后转发认证结果发送至Ua,跨域身份认证结束;否则,进入步骤9;
第三阶段,跨域身份认证成功后,由跨域的区块链代理服务器生成新的跨域区块链证书:
步骤 9: 区块链通过判断链码得到所要查询的实体Ua以及对应信任域A当中BAS区块链证书BCertBASA的哈希值与接收到Hash(BCerta)和Hash(BCertBASA)是否一致来进行认证,如一致则认证成功,否则认证失败,认证完成后先将认证结果返回给BASB
步骤10: BASB收到认证失败的结果,则将认证结果发送给Ua,跨域身份认证结束;
步骤11: BASB收到认证成功的结果,BASB将生成从Ua到信任域B的跨域身份认证的区块链证书BCerta->BASB,计算并向将区块链发送跨域身份认证的区块链证书BCerta->BASB的哈希值Hash(BCerta->BASB);最后转发认证结果发送至Ua,跨域身份认证结束。
2.如权利要求1所述方法,其特征在于,各信任域中均设置一个私钥生成中心PKG对域内的所有签名私钥进行统一管理。
3.如权利要求1所述方法,其特征在于,区块链证书采用轻量化结构,轻量化结构的处理包括:在现有区块链证书的结构基础上,在发行者和主体的名称或发行者和主体的标识之间择一保留;删除拓展项中主体备选名和发行者备选名。
4.如权利要求3所述方法,其特征在于,轻量化结构的处理还包括:删除拓展项中证书撤销表分布点。
5.如权利要求3或4所述方法,其特征在于,轻量化结构的处理还包括:在拓展项中增加行为风险等级;行为风险等级用于对主体的行为风险等级做出评估,为资源综合分析提供标准。
CN202111047236.7A 2021-09-07 2021-09-07 一种基于区块链证书的跨域身份认证方法 Active CN113824563B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111047236.7A CN113824563B (zh) 2021-09-07 2021-09-07 一种基于区块链证书的跨域身份认证方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111047236.7A CN113824563B (zh) 2021-09-07 2021-09-07 一种基于区块链证书的跨域身份认证方法

Publications (2)

Publication Number Publication Date
CN113824563A CN113824563A (zh) 2021-12-21
CN113824563B true CN113824563B (zh) 2023-03-28

Family

ID=78914179

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111047236.7A Active CN113824563B (zh) 2021-09-07 2021-09-07 一种基于区块链证书的跨域身份认证方法

Country Status (1)

Country Link
CN (1) CN113824563B (zh)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114710275B (zh) * 2022-03-28 2024-03-08 湖南科技大学 物联网环境下基于区块链的跨域认证和密钥协商方法
CN114884698B (zh) * 2022-04-12 2023-03-07 西北工业大学 基于联盟链的Kerberos与IBC安全域间跨域认证方法
CN114615095B (zh) * 2022-05-12 2022-09-09 北京邮电大学 区块链跨链数据处理方法、中继链、应用链及跨链网络
CN115589303B (zh) * 2022-07-11 2024-02-27 昆明理工大学 基于sm9算法和跨链技术的数据共享与隐私保护方法
CN116055055A (zh) * 2022-11-29 2023-05-02 北京笔新互联网科技有限公司 跨域认证方法及系统
CN116321159B (zh) * 2023-01-14 2024-01-02 国网湖北省电力有限公司荆门供电公司 一种基于北斗通信服务的分散场站数据传输方法
CN116170158A (zh) * 2023-02-15 2023-05-26 北京邮电大学 基于多链架构的跨域安全审查方法及装置

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112583596A (zh) * 2020-06-08 2021-03-30 四川大学 一种基于区块链技术的完全跨域身份认证方法
CN112883406A (zh) * 2021-03-24 2021-06-01 南京邮电大学 一种基于联盟链的远程医疗跨域认证方法

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110061851A (zh) * 2019-04-28 2019-07-26 广州大学 一种去中心化的跨信任域认证方法及系统
CN113162949A (zh) * 2021-05-13 2021-07-23 北京工业大学 一种基于区块链的工业物联网设备跨域身份认证方案
CN113259381A (zh) * 2021-06-15 2021-08-13 南京邮电大学 一种基于区块链与ibc相结合的智慧医疗跨域认证方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112583596A (zh) * 2020-06-08 2021-03-30 四川大学 一种基于区块链技术的完全跨域身份认证方法
CN112883406A (zh) * 2021-03-24 2021-06-01 南京邮电大学 一种基于联盟链的远程医疗跨域认证方法

Also Published As

Publication number Publication date
CN113824563A (zh) 2021-12-21

Similar Documents

Publication Publication Date Title
CN113824563B (zh) 一种基于区块链证书的跨域身份认证方法
Singla et al. Blockchain-based PKI solutions for IoT
CN112311530B (zh) 一种基于区块链的联盟信任分布式身份凭证管理认证方法
CN110032865B (zh) 一种权限管理方法、装置和存储介质
CN109829326B (zh) 基于区块链的跨域认证与公平审计去重云存储系统
Lou et al. A blockchain-based key management scheme for named data networking
US20210083882A1 (en) Distributed certificate authority
CN113507458B (zh) 一种基于区块链的跨域身份认证方法
CN107273760A (zh) 一种基于区块链多ca应用认证方法
CN110581854A (zh) 基于区块链的智能终端安全通信方法
CN113328997B (zh) 联盟链跨链系统及方法
CN112199726A (zh) 一种基于区块链的联盟信任分布式身份认证方法及系统
CN111262692A (zh) 基于区块链的密钥分发系统和方法
Toorani et al. A decentralized dynamic PKI based on blockchain
CN113672942B (zh) 一种基于区块链的pki证书跨域认证方法
CN113343213A (zh) 一种分散自主网络中基于区块链的多ca跨域认证方法
CN112132581B (zh) 基于iota的pki身份认证系统及方法
CN116684103A (zh) 一种基于区块链的跨域身份认证方法
Yang et al. Blockchain-based decentralized public key management for named data networking
Liu et al. Cross-heterogeneous domain authentication scheme based on blockchain
Kubilay et al. KORGAN: An efficient PKI architecture based on PBFT through dynamic threshold signatures
Gu et al. An efficient blockchain-based cross-domain authentication and secure certificate revocation scheme
CN114930770A (zh) 基于分布式分类账的凭证鉴别方法及系统
Yan et al. Storage optimization for certificates in blockchain based PKI system
CN114374700B (zh) 基于主从多链的支持广域协同的可信身份管理方法

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