CN113343213A - 一种分散自主网络中基于区块链的多ca跨域认证方法 - Google Patents
一种分散自主网络中基于区块链的多ca跨域认证方法 Download PDFInfo
- Publication number
- CN113343213A CN113343213A CN202110743520.1A CN202110743520A CN113343213A CN 113343213 A CN113343213 A CN 113343213A CN 202110743520 A CN202110743520 A CN 202110743520A CN 113343213 A CN113343213 A CN 113343213A
- Authority
- CN
- China
- Prior art keywords
- certificate
- domain
- authentication
- cross
- mams
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 76
- 230000003993 interaction Effects 0.000 claims abstract description 11
- 230000008569 process Effects 0.000 claims description 28
- 238000004422 calculation algorithm Methods 0.000 claims description 10
- 238000012795 verification Methods 0.000 claims description 10
- 230000007246 mechanism Effects 0.000 claims description 9
- 230000008520 organization Effects 0.000 claims description 6
- 230000001360 synchronised effect Effects 0.000 claims description 6
- 238000012360 testing method Methods 0.000 description 11
- 238000004364 calculation method Methods 0.000 description 8
- 238000013461 design Methods 0.000 description 7
- 238000005516 engineering process Methods 0.000 description 4
- 238000004458 analytical method Methods 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 238000011161 development Methods 0.000 description 2
- 238000002474 experimental method Methods 0.000 description 2
- 239000004744 fabric Substances 0.000 description 2
- 230000000977 initiatory effect Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000004088 simulation Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 230000001934 delay Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/30—Authentication, i.e. establishing the identity or authorisation of security principals
- G06F21/44—Program or device authentication
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/30—Authentication, i.e. establishing the identity or authorisation of security principals
- G06F21/45—Structures or tools for the administration of authentication
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/602—Providing cryptographic facilities or services
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Software Systems (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Computing Systems (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Storage Device Security (AREA)
Abstract
本发明公开了一种分散自主网络中基于区块链的多CA跨域认证方法,采用由联盟链和多个域组成的多CA跨域认证架构,每个域有自己的CA服务器、网络设备、物理设备和MAMS,MAMS能与CA服务器进行认证交互和与联盟链进行跨域认证交互,联盟链的认证节点为每个域中的CA服务器,用于维护加入联盟链的所有设备的证书信息和状态账本。区块账本中仅记录证书的Hash值、证书状态和所属CA,多个认证交易组成一个区块,多个区块链接组成区块链。证书由颁布该证书的CA服务器保存在自己的数据库中,同时每个认证节点维护一个区块链账本副本和账本世界状态数据库,查询状态数据库能迅速获取区块账本信息。本发明的方法提高了认证效率和安全性,降低存储开销。
Description
技术领域
本发明涉及计算机网络安全技术领域,尤其涉及一种分散自主网络中基于区块链的多CA跨域认证方法。
背景技术
近年来,5G的商用部署已经在世界主要大国逐步进行,预计到2025年5G的总连接数将达到18亿,同时,在网络时延、移动性、数据速率等方面也有显著的进步。网络技术的进步为智能终端的发展带来了契机,智能终端可以随时接入网络,与其他设备互联通信。我们把各智能终端所组成的网络空间称为分散自主网络。它的一个特点是网络覆盖范围广,另一个特点是设备的移动性强且互联需求大。在满足不同场景的连接需求和业务需求时,需要保障设备跨域访问的安全性。
常见的跨域认证是基于传统的PKI(Public Key Infrastructure)认证,该认证能实现的前提是认证中心是受信任的,当认证中心被攻击或被伪造时就不能保证跨域认证的安全性了。而区块链技术是去中心化的,具有防篡改和数据可追溯的特性,能够有效解决传统跨域认证的中心化问题。
为了解现有技术的发展状况,对已有的论文和专利进行了检索、比较和分析,筛选出如下与本发明相关度比较高的技术方法:
技术方案1:公开号CN112884476A的专利申请提出了基于区块链的CA跨域认证方法及系统。方法包括:以fabric联盟链框架为基础构建CA联盟链,其中,将根CA作为主节点,将用户CA作为从节点;以raft算法作为CA联盟链的共识算法完成CA节点之间的共识流程,其中,根CA节点参与共识流程,用户CA节点作为分布式数据库存储生成的区块数据;通过智能合约生成三个不同的非对称的秘钥对,并将三个密钥对分别颁发给不同域内的根CA节点、策略CA节点和用户CA节点,使不同域内的根CA节点、策略CA节点和用户CA节点分别拥有相同的秘钥对,以实现不同域内的CA颁发的数字证书相互认证;基于CA联盟链进行跨域认证,实现满足可信、高效、大规模的CA跨域认证需求。技术方案1通过CA联盟链实现了跨域身份,但该方法需要生成新的身份证明,不能兼容原有证书认证机制,且联盟链需要对接所有接入用户,增加了认证和管理的复杂度。
技术方案2:公开号CN112883406A的专利申请提出了一种基于联盟链的远程医疗跨域认证方法,包括如下步骤:各医疗域建立信任中心或使用已有的权威信任中心;在各医疗域中设立区块链服务器,部署开源区块链平台Hyperledger Fabric,将各医疗域区块链服务器作为联盟成员加入联盟链;各医疗域的信任中心自生成跨域认证身份证书,并调用智能合约将证书的哈希值写入联盟链账本;在各医疗域中设立跨域认证代理服务器,代理本域的医疗设备进行跨域身份认证;跨域认证代理服务器请求区块链服务器调用智能合约查询分布式账本中的证书数据,根据查询结果判断证书有效性。本发明采用区块链技术避免传统证书的撤销状态在线查询过程,优化身份证书的验证方式,有效保证链上证书信息的时效性的同时减少证书数据的存储空间大小。技术方案2通过联盟链实现了远程医疗设备的跨域认证,但医院域H的跨域认证代理服务器向区块链发起身份证书查询前未验证设备的身份,容易遭遇洪泛攻击,且每次跨域访问都需要进行跨域认证,增加了认证开销。
发明内容
本发明针对上述技术问题,提供一种分散自主网络中基于区块链的多CA跨域认证方法,目的是在分散自主网络中为设备的跨域访问提供可信的身份认证,通过基于区块链的多CA跨域认证方案提高认证效率和安全性,降低存储开销。
为了实现上述目的,本发明提供如下技术方案:
一种分散自主网络中基于区块链的多CA跨域认证方法,采用多CA跨域认证架构,架构由联盟链和多个域组成;每个域包括各自的CA服务器、成员认证和管理服务器MAMS、网络设备和物理设备,CA服务器能沿用原有的认证方式对域内成员进行身份认证,MAMS能够与CA服务器进行认证交互和与联盟链进行跨域认证交互;联盟链的认证节点为每个域中的CA服务器,共同维护加入联盟链的所有设备的证书信息和状态账本,区块账本中仅记录证书的Hash值、证书状态和所属CA,多个认证交易组成一个区块,多个区块链接在一起组成区块链;证书由颁布该证书的CA服务器保存在自己的数据库中,同时每个认证节点维护一个区块链账本副本和账本世界状态数据库,查询状态数据库能迅速获取区块账本信息;
方法包括以下步骤:
S1、A域中的设备Da向B域中设备Db发送连接请求;
S2、设备Db向MAMS_B查询设备Da的认证信息,若查询无结果,则拒绝连接,并将MAMS_B的信息返回给设备Da;
S3、设备Da向MAMS_B发送跨域认证请求;
S4、MAMS_B收到请求后生成随机数N返回给设备Da,设备Da使用自己的私钥对N进行签名sign(N,PKRA),同时对自己的证书Cert_A进行Hash运算,将证书Cert_A、Hash(Cert_A)、sign(N,PKRA)发送给MAMS_B;
S5、MAMS_B收到上述参数后开始进行跨域认证,MAMS_B首先分析证书Cert_A,获取设备Da的公钥PKUA和身份信息,使用PKUA对签名进行验证,得到随机数N’;
S6、MAMS_B比较该随机数N’和自己生成的N,若不同,则拒绝跨域请求,否则,向区块链发起证书信息查询交易;
S7、区块链获取Da证书的hash值和证书状态,验证证书状态是否为有效,若无效,则认证失败;若有效,比较该hash值和请求参数中的hash值,若不同,则拒绝跨域请求,若相同,认证成功,返回给MAMS_B;
S8、MAMS_B存储设备Da的证书,并将设备DB的证书Cert_B用设备Da的公钥进行签名,发送给Da,允许接入。
进一步地,域内设备Da申请证书及证书的发布流程如下:
第一步:设备Da生成公私钥对PKUA、PKRA,向域A的成员认证和管理服务器MAMS_A发送证书申请;
第二步:成员认证和管理服务器MAMS_A通过verify(Da,Org1)验证组织中的设备Da的身份,验证通过后将设备Da申请证书的请求发送给该域的证书颁发机构CA1,否则向设备返回错误信息;
第三步:CA1使用自己的私钥加密设备Da的公钥和身份信息生成设备Da的证书Cert_A,并将该证书保存在数据库中,同时,在联盟链中发起认证交易;
第四步:联盟链中的CA服务器作为认证节点将证书的Hash值Hash(Cert_A)、证书所属CA机构和可用状态字段作为交易写入区块,区块交易同步到该通道中的所有认证节点;
第五步:CA1将认证的证书Cert_A发送给MAMS_A,MAMS_A保存设备Da的证书和状态,将申请好的证书发送给设备Da,完成证书的申请和发布。
进一步地,域内设备Da申请证书更新的流程如下:
第一步:设备Da生成新的公私钥对,向MAMS_A发送证书更新申请;
第二步:MAMS_A验证用户提交的信息,若验证通过则将设备Da的证书更新请求发送给CA1;
第三步:CA1使用自己的私钥加密设备Da的证书更新申请文件生成设备Da的证书Cert_A_new,将数据库中的旧证书更新为新证书信息,同时,在联盟链中发起更新交易;
第四步:联盟链中的CA服务器将区块中原有证书交易的state值置为invalid,发布新证书的信息写入区块,区块交易同步到该通道中的所有认证节点;
第五步:CA1将更新好的证书Cert_A_new发送给MAMS_A,MAMS_A更新本域中证书库,将更新好的证书发送给设备Da。
进一步地,域内设备Da撤销证书Cert_A更新的流程如下:
第一步:设备Da向MAMS_A发送证书撤销申请;
第二步:MAMS_A验证设备提交的信息,若验证通过则将设备Da的证书撤销请求发送给CA1;
第三步:CA服务器发起证书撤销交易,将本地数据库中的证书信息删除,同时,将该证书的状态信息置为invalid写入区块,区块交易同步到该通道中的所有认证节点;
第四步:CA1将撤销结果发送给MAMS_A,MAMS_A在本域数据库中删除该证书信息,返回结果给设备Da。
进一步地,CA服务器身份认证算法是以智能合约的形式部署在对应的CA服务器。
进一步地,上述的分散自主网络中基于区块链的多CA跨域认证方法,还包括跨域认证撤销的步骤,方法如下:假设在t时刻跨域访问的概率小于一个极小值∈,设备在t时刻后不会再进行跨域访问,此时应该撤销跨域认证。
进一步地,其特征在于,跨域认证撤销的的算法为:
1)计算出泊松过程参数λ,λ是单位时间内预期事件发生的次数;
2)假设在tn时刻设备已经进行了n次跨域访问,依据公式P{S>s1+s2|S>s1}和λ计算跨域访问在t时刻的会进行跨域访问概率P{S>tn+t|S>tn},当概率小于∈时,撤销该设备的跨域认证。
进一步地,联盟链中的账本由区块账本和世界状态组成,世界状态是一个数据库,它存储了区块账本状态的当前值,以key-value的形式存储账本状态。
进一步地,世界状态数据库采用分布式数据库或者NoSQL数据。
进一步地,CA服务器存有区块链账本的副本,区块由header和body组成,body中是交易信息,跨域认证的交易信息以key-value的形式存储,key字段是证书ID,value字段包括证书Hash值、证书颁发机构和证书状态,世界状态数据库也具有同样的数据结构,并设计了CA索引。
与现有技术相比,本发明的有益效果为:
1、本发明的分散自主网络中基于区块链的多CA跨域认证方法,该方案基于联盟链和CA技术,既能兼容原有的CA认证机制,又能有效的满足分散自主网络中高密度链接下的跨域认证需求。
2、跨域认证方案需要兼容原有认证机制,并将证书的hash值等关键信息存储到联盟链,因此本发明还设计了域内证书的发布、更新、撤销流程。
3、本发明综合考虑设备的跨域访问概率,提出了跨域认证的撤销机制,能够减少跨域认证的次数,同时提升跨域认证的证书管理效率。
4、本发明设计了世界状态数据库的索引结构,加快账本查询速度,提升跨域认证效率。
5、本发明使用Hyperledger Fabric2平台进行了仿真实验,世界状态数据库使用Couchdb。分析了跨域方案的计算开销,设计了世界状态数据库加索引前与加索引后的对比实验和不同数量域不同数量证书的查询时间对比实验。仿真分析表明,世界状态数据库索引的设计能够提升查询效率,本发明所提出的方案中证书查询性能较好,且并发性能稳定。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明中记载的一些实施例,对于本领域普通技术人员来讲,还可以根据这些附图获得其他的附图。
图1为本发明实施例1提供的基于区块链的多CA跨域认证架构图。
图2为本发明实施例3提供的基于区块链的多CA跨域认证流程图。
图3为本发明实施例5提供的传统的查找方式与查询世界状态的查找方式的区别。
图4为本发明实施例5提供的跨域认证的区块链账本结构图。
图5为本发明实施例6提供的不同数量证书查询时间测试结果。
图6为本发明实施例6提供的不同数量域证书查询时间测试结果。
图7为本发明实施例6提供的不同方案查询时延对比测试结果。
图8为本发明实施例6提供的不同域下查询时延对比测试结果。
具体实施方式
为了更好地理解本技术方案,下面结合附图对本发明的方法做详细的说明。
实施例1跨域认证架构建立
为满足分散自主网络中大量设备的跨域认证需求,本发明提出了基于区块链的多CA跨域认证架构,整体架构如图1所示,该架构由联盟链和多个域组成。
每个域有自己的CA服务器、网络设备、物理设备等,CA服务器可以沿用原有的认证方式对域内成员进行身份认证。每个域内还有一个具有成员认证和管理功能的服务器(Member authentication and management server MAMS),MAMS负责与CA服务器进行认证交互,同时,也负责与联盟链进行跨域认证交互,身份认证算法以智能合约的形式部署在对应的CA服务器。
联盟链的认证节点由每个域中的CA服务器担任,它们是具有权威性的可信任组织,共同维护加入联盟链的所有设备的证书信息和状态账本。该区块账本中仅记录证书的Hash值、证书状态和所属CA,多个认证交易组成一个区块,区块链接在一起组成区块链。证书由颁布该证书的CA服务器保存在自己的数据库中,同时每个认证节点维护一个区块链账本副本和账本世界状态数据库,查询状态数据库能迅速获取区块账本信息。
实施例2域内证书生命周期
基于区块链的多CA跨域认证兼容原有CA认证,认证机制中证书的生命周期包括证书的发布、更新、撤销,以下流程说明以组织Org1中设备Da申请加入域A为例,分别介绍域内证书的发布、更新和撤销流程。其中符号说明如表1所示。
表1证书生命周期符号说明
发布:
组织Org1中设备Da申请证书及证书的发布流程如下:
1)第一步:Da→MAMS_A:{app_for_cert(Da,Org1,PKUA)}:组织1中的设备Da生成公私钥对PKUA、PKRA,向域A的成员认证和管理服务器MAMS_A发送证书申请。
2)第二步:MAMS_A→CA1:{app_for_cert(Da,Org1,PKUA)}:成员认证和管理服务器MAMS_A通过verify(Da,Org1)验证组织Org1中的设备Da的身份,验证通过后将设备Da申请证书的请求发送给该域的证书颁发机构CA1,否则向设备返回错误信息。
3)第三步:CA1:{generate_cert(PKCA1,app_for_cert(PKUA,Da,Org1))}:CA1使用自己的私钥加密设备Da的公钥和身份信息生成设备Da的证书Cert_A,并将该证书保存在数据库中,同时,在联盟链中发起认证交易。
4)第四步:联盟链中的CA服务器作为认证节点将证书的Hash值Hash(Cert_A)、证书所属CA机构和可用状态字段作为交易写入区块,区块交易同步到该通道中的所有认证节点。
5)第五步:CA1→MAMS_A:{Cert_A}:CA1将认证的证书Cert_A发送给MAMS_A,MAMS_A保存设备Da的证书和状态,将申请好的证书发送给设备Da,完成证书的申请和发布。
更新:
设备Da因证书遗失或到期等原因申请证书更新的流程如下:
1)第一步:Da→MAMS_A:{update_for_cert(Da,PKUA)}:设备Da生成新的公私钥对,向MAMS_A发送证书更新申请。
2)第二步:MAMS_A→CA1:{update_for_cert(Da,PKUA)}:MAMS_A验证用户提交的信息,若验证通过则将设备Da的证书更新请求发送给CA1。
3)第三步:CA1:{generate_cert(PKCA1,update_for_cert(Da,PKUA))}:CA1使用自己的私钥加密设备Da的证书更新申请文件生成设备Da的证书Cert_A_new,将数据库中的旧证书更新为新证书信息,同时,在联盟链中发起更新交易。
4)第四步:联盟链中的CA服务器将区块中原有证书交易的state值置为invalid,发布新证书的信息写入区块,区块交易同步到该通道中的所有认证节点。
5)第五步:CA1→MAMS_A:{Cert_A_new}:CA1将更新好的证书Cert_A_new发送给MAMS_A,MAMS_A更新本域中证书库,将更新好的证书发送给设备Da。
撤销:
设备Da撤销证书Cert_A的流程如下:
1)第一步:Da→MAMS_A:{revoke_for_cert(Da,Cert_A)}:设备Da向MAMS_A发送证书撤销申请。
2)第二步:MAMS_A→CA1:{revoke_for_cert(Da,Cert_A)}:MAMS_A验证设备提交的信息,若验证通过则将设备Da的证书撤销请求发送给CA1。
3)第四步:CA服务器发起证书撤销交易,将本地数据库中的证书信息删除,同时,将该证书的状态信息置为invalid写入区块,区块交易同步到该通道中的所有认证节点。
4)第五步:CA1→MAMS_A:{revoke_result}:CA1将撤销结果发送给MAMS_A,MAMS_A在本域数据库中删除该证书信息,返回结果给设备Da。
实施例3跨域认证方法
基于上述多CA跨域认证架构和CA证书生命周期的介绍,我们提出了基于区块链的跨域认证方法。以域A中设备DA访问域B中的设备DB为例介绍跨域认证方案,跨域认证流程如图2所示,域A中设备拥有证书Cert_A,具体的跨域认证过程如下:
首先,A域中的设备DA向B域中设备DB发送连接请求,DB向MAMS_B查询设备DA的认证信息,若查询无结果,则拒绝连接,并将MAMS_B的信息返回给DA。DA向MAMS_B发送跨域认证请求,MAMS_B收到请求后生成随机数N返回给设备DA,DA使用自己的私钥对N进行签名sign(N,PKRA),同时对自己的证书Cert_A进行Hash运算,将证书Cert_A、Hash(Cert_A)、sign(N,PKRA)发送给MAMS_B。
MAMS_B收到上述参数后开始进行跨域认证,认证算法如表2:
表2跨域认证算法
MAMS_B首先分析证书Cert_A,获取设备DA的公钥PKUA和身份信息,使用PKUA对签名进行验证,得到随机数N’,随后比较该随机数N’和自己生成的N,若不同,则拒绝跨域请求,否则,向区块链发起证书信息查询交易。该交易获取证书的hash值和证书状态,验证证书状态是否为valid,若无效,则认证失败,否则比较该hash值和请求参数中的hash值,若不同,则拒绝跨域请求,否则认证成功,返回给MAMS_B。MAMS_B存储设备DA的证书,并将设备DB的证书Cert_B用设备DA的公钥进行签名,发送给DA,允许接入。
通过以上流程就完成了域A中设备DA到域B的跨域认证,而域B中设备DB到域A的跨域认证流程和上述流程相似,这里不再赘述。
在该跨域认证流程中,域中的身份认证管理服务器向待跨域认证的设备发送随机数N’,设备需要对随机数N’的签名,对证书做hash计算,认证开始前的计算工作均在设备端,避免了恶意设备的跨域认证攻击,同时也能减轻MAMS的对hash值的计算工作量。区块链中只存储证书的hash值和状态,大大减少了区块链上的存储开销,能提高跨域认证的速度,同时,也能避免设备证书被曝光。
实施例4跨域认证的撤销方法
基于前文跨域认证方法的设计,域内的成员认证和管理服务器在跨域认证成功后保存了跨域设备的证书和认证信息。在分散自主网络中,跨域需求量大,造成需要保存的它域设备证书等信息过多,占用了额外的存储空间,增加了认证证书的查询基数和管理负担,同时,动态的网络环境给域内环境的安全性带来了威胁,因此,需要设计一种跨域认证的撤销方法。
若在设备跨域认证完成交互后即刻对该认证进行撤销,会导致设备再次跨域认证的工作量。考虑到有些设备跨域认证后仅进行了一次交互,或者在一段时间内进行多次交互后不再进行跨域访问,另一些设备在跨域访问一段时间后才进行下一次访问,因此,需要设计合理的跨域认证撤销方法。
泊松过程是一种累计随机事件发生次数的最基本的独立增量过程。设备的跨域访问是一个独立随机事件,其在一段时间内发生的次数是独立增量过程,且服从泊松分布,我们说它是一个泊松过程。假设设备的跨域访问过程{N(t),t≥0}为具有参数λ的泊松过程,N(t)表示到时刻t为止已经跨域访问的次数。
泊松过程具有无记忆,假设{N(t),t≥0}为具有参数λ的泊松过程,S是相邻事件的时间间隔,最近一次事件A发生的时间在s1时刻,求下一次事件A发生的时间至少在将来s2时刻的概率为公式(1)。
P{S>s1+s2|S>s1} (1)
我们设计了跨域访问列表(Cross-domain access List,CAL),用来保存跨域访问信息,该信息为认证撤销时间的计算提供依据。CAL中的跨域访问信息格式如公式(2)所示,certID是证书的序列号,deviceInfo是设备信息,timeList是设备跨域访问的时间点。
Cross-domain access Info:{certID,deviceInfo,timeList} (2)
跨域认证撤销的时间是一个重要的指标,跨域证书保存时间过长会增加证书管理的开销,保存时间过短会导致频繁的跨域认证,因此,依据CAL和泊松过程的无记忆性,我们设计了跨域认证撤销时间t的计算方法。每隔一个单位时间程序自动计算当前时间设备再次跨域访问的概率。假设在t时刻跨域访问的概率小于一个极小值∈,我们认为设备在t时刻后不会再进行跨域访问,此时应该撤销跨域认证。具体算法如下:
1)根据CAL中的timeList计算出泊松过程参数λ。因为{N(t),t≥0}为具有参数λ的泊松过程,所以跨域访问次数服从参数为λ的泊松分布。根据泊松分布的概率质量函数和timeList中的初始数据计算出λ,λ可以被认为是单位时间内预期事件发生的次数,计算参考公式(3)和公式(4)。
2)依据泊松过程的无记忆性,假设在tn时刻设备已经进行了n次跨域访问,依据公式(1)和λ计算跨域访问在t时刻的会进行跨域访问概率P{S>tn+t|S>tn},当概率小于∈时,撤销该设备的跨域认证。
实施例5数据结构设计
区块链账本是指存储在区块中的由交易信息组成的账本,它具有不可篡改的特性,网络的全节点都会记录相同的区块链账本。区块是通过Merkle Tree将交易打包在一起,区块之间通过hash指针连接。通常交易的查询需要从区块链中的最后一个区块开始依次向前查找。在分散自主网络中,为满足大量的实体需要跨域认证的场景需求,我们需要一种效率更高的查找方法。联盟链中的账本由区块账本和世界状态组成,世界状态是一个数据库,它存储了区块账本状态的当前值,以key-value的形式存储账本状态,程序通过当前状态可以直接访问账本内容,不需要遍历整个区块链账本。世界状态数据库可以采用分布式数据库或者NoSQL数据等,以支持海量的数据库状态存储。传统的查找方式与查询世界状态的查找方式的区别如图3所示。
本发明设计了区块链账本的存储结构和世界状态的数据结构,通过世界状态的索引查询加快证书的认证速度。区块链的账本结构如图4所示,每个CA服务器都存有区块链账本的副本,区块由header和body组成,body中是一条条交易信息,跨域认证的交易信息以key-value的形式存储,key字段是证书ID,value字段包括证书Hash值、证书颁发机构、证书状态,即hash、CA、state。
联盟链中的世界状态数据库是由区块链交易状态组成的,它可以由区块链账本生成,故其数据结构也由certID、hash、state、CA构成。为了加快区块链账本的检索速度,我们为世界状态数据库设计了索引,索引格式如公式5所示,以证书所在颁发机构CA为索引,索引文件为indexCADoc,索引名称为indexCA,索引类型为json。由于认证认证机构多,认证机构下的证书数量巨大,故以CA为索引的查询大大减少了查询基数,提升了检索速率。
{″index″:{″fields″:[″CA″]},″ddoc″:″indexCADoc″,″name″:″indexCA″,″type″:″json″} (5)
实施例6
为了评估本发明方法的性能,首先分析了方案中的计算开销,计算开销主要有签名、验签、hash运算、加密/解密,跨域认证的过程中,待跨域认证设备需要进行一次签名,一次hash运算,MAMS需要进行一次验签,区块链节点需要进行一次区块链账本查询。我们采用ICAB和BlockCAM方案做对比,ICAB是基于PKI、IBC和安全中介设计的基于区块链的跨域认证方案,BlockCAM是分布式多域网络环境下基于区块链的跨域认证方案,计算开销对比分析如表3所示。
表3计算开销对比分析
性能改进:本发明设计了区块链账本的数据结构和世界状态数据库,世界状态数据库采用couchdb,以证书所属CA为索引。区块链交易的查询实际上是从本地状态数据库中进行的,我们将数据库进行初始化,写入证书关键信息,证书分别来自2、4、8、16个域,每个域中的证书数量为100和1000个,测试该条件下查询证书所需时间开销,包括增加CA索引前的查询时间和增加CA索引后的查询时间,测试结果如图5所示。接着,我们又测试了10个域中证书的查询时间开销,每个域中分别写入10、100、500、1000个证书,测试增加CA索引前的查询时间和增加CA索引后的查询时间,测试结果如图6所示。
从上图中的测试结果可以看出,在单个域中证书数量不变的情况下,随着域数量的增加,同时,证书总数量也相应增加,增加索引的查询时间增长较少,而不加索引的查询时间几乎成直线速度增长。这种现象说明设置CA索引起到了很好的分组作用,域中证书数量一定时,其查询时间不随证书数量总数的增加而增加。在域数量不变的情况下,随着域中证书数量的增加,增加索引的查询时间大约是不增加索引的查询时间的1/4,说明设计了该索引结构后,我们的查询效率提升了大约75%。
并发性能:文中介绍的基于区块链的多CA跨域认证方案中,跨域认证的关键在于多个域的CA组织建立联盟链,将多个域中证书的关键信息上链,区块链账本公开透明和不可篡改的特性,使得跨域认证变得简单高效。跨域认证流程中涉及到区块链的功能主要为查询证书关键信息,因此,我们测试了区块链查询证书的时间与BTCAS跨域认证中的区块链查询时间,分别比较2个peer节点的区块链网络在不同并发量下的平均查询时间,对比结果如图7所示。接着,我们对比了多并发下不同数量域场景中证书的平均查询时间,测试结果如图8所示。
从上图结果可以看出,BTCAS跨域认证方案中的平均查询时间开始时用时较小,随着并发量的增大,平均查询时间大幅增长,而我们的跨域认证方案中的平均查询时间波动较小,不受并发请求数量的影响。多并发场景下,不同数量域的查询时间稳定在6ms到8ms之间,其不受并发请求数量的影响。由此可以看出我们的跨域认证方案在认证查询过程中具有较低的时延和较好的稳定性。
以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换,但这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (10)
1.一种分散自主网络中基于区块链的多CA跨域认证方法,其特征在于,采用多CA跨域认证架构,构架由联盟链和多个域组成;每个域包括各自的CA服务器、成员认证和管理服务器MAMS、网络设备和物理设备,CA服务器能沿用原有的认证方式对域内成员进行身份认证,MAMS能够与CA服务器进行认证交互和与联盟链进行跨域认证交互;联盟链的认证节点为每个域中的CA服务器,共同维护加入联盟链的所有设备的证书信息和状态账本,区块账本中仅记录证书的Hash值、证书状态和所属CA,多个认证交易组成一个区块,多个区块链接在一起组成区块链;证书由颁布该证书的CA服务器保存在自己的数据库中,同时每个认证节点维护一个区块链账本副本和账本世界状态数据库,查询状态数据库能迅速获取区块账本信息;
方法包括以下步骤:
S1、A域中的设备Da向B域中设备Db发送连接请求;
S2、设备Db向MAMS_B查询设备Da的认证信息,若查询无结果,则拒绝连接,并将MAMS_B的信息返回给设备Da;
S3、设备Da向MAMS_B发送跨域认证请求;
S4、MAMS_B收到请求后生成随机数N返回给设备Da,设备Da使用自己的私钥对N进行签名sign(N,PKRA),同时对自己的证书Cert_A进行Hash运算,将证书Cert_A、Hash(Cert_A)、sign(N,PKRA)发送给MAMS_B;
S5、MAMS_B收到上述参数后开始进行跨域认证,MAMS_B首先分析证书Cert_A,获取设备Da的公钥PKUA和身份信息,使用PKUA对签名进行验证,得到随机数N’;
S6、MAMS_B比较该随机数N’和自己生成的N,若不同,则拒绝跨域请求,否则,向区块链发起证书信息查询交易;
S7、区块链获取Da证书的hash值和证书状态,验证证书状态是否为有效,若无效,则认证失败;若有效,比较该hash值和请求参数中的hash值,若不同,则拒绝跨域请求,若相同,认证成功,返回给MAMS_B;
S8、MAMS_B存储设备Da的证书,并将设备Db的证书Cert_B用设备Da的公钥进行签名,发送给Da,允许接入。
2.根据权利要求1所述的分散自主网络中基于区块链的多CA跨域认证方法,其特征在于,域内设备Da申请证书及证书的发布流程如下:
第一步:设备Da生成公私钥对PKUA、PKRA,向域A的成员认证和管理服务器MAMS_A发送证书申请;
第二步:成员认证和管理服务器MAMS_A通过verify(Da,Org1)验证组织中的设备Da的身份,验证通过后将设备Da申请证书的请求发送给该域的证书颁发机构CA1,否则向设备返回错误信息;
第三步:CA1使用自己的私钥加密设备Da的公钥和身份信息生成设备Da的证书Cert_A,并将该证书保存在数据库中,同时,在联盟链中发起认证交易;
第四步:联盟链中的CA服务器作为认证节点将证书的Hash值Hash(Cert_A)、证书所属CA机构和可用状态字段作为交易写入区块,区块交易同步到该通道中的所有认证节点;
第五步:CA1将认证的证书Cert_A发送给MAMS_A,MAMS_A保存设备Da的证书和状态,将申请好的证书发送给设备Da,完成证书的申请和发布。
3.根据权利要求1所述的分散自主网络中基于区块链的多CA跨域认证方法,其特征在于,域内设备Da申请证书更新的流程如下:
第一步:设备Da生成新的公私钥对,向MAMS_A发送证书更新申请;
第二步:MAMS_A验证用户提交的信息,若验证通过则将设备Da的证书更新请求发送给CA1;
第三步:CA1使用自己的私钥加密设备Da的证书更新申请文件生成设备Da的证书Cert_A_new,将数据库中的旧证书更新为新证书信息,同时,在联盟链中发起更新交易;
第四步:联盟链中的CA服务器将区块中原有证书交易的state值置为invalid,发布新证书的信息写入区块,区块交易同步到该通道中的所有认证节点;
第五步:CA1将更新好的证书Cert_A_new发送给MAMS_A,MAMS_A更新本域中证书库,将更新好的证书发送给设备Da。
4.根据权利要求1所述的分散自主网络中基于区块链的多CA跨域认证方法,其特征在于,域内设备Da撤销证书Cert_A更新的流程如下:
第一步:设备Da向MAMS_A发送证书撤销申请;
第二步:MAMS_A验证设备提交的信息,若验证通过则将设备Da的证书撤销请求发送给CA1;
第三步:CA服务器发起证书撤销交易,将本地数据库中的证书信息删除,同时,将该证书的状态信息置为invalid写入区块,区块交易同步到该通道中的所有认证节点;
第四步:CA1将撤销结果发送给MAMS_A,MAMS_A在本域数据库中删除该证书信息,返回结果给设备Da。
5.根据权利要求1所述的分散自主网络中基于区块链的多CA跨域认证方法,其特征在于,CA服务器身份认证算法是以智能合约的形式部署在对应的CA服务器。
6.根据权利要求1所述的分散自主网络中基于区块链的多CA跨域认证方法,其特征在于,还包括跨域认证撤销的步骤,方法如下:假设在t时刻跨域访问的概率小于一个极小值∈,设备在t时刻后不会再进行跨域访问,此时应该撤销跨域认证。
7.根据权利要求6所述的分散自主网络中基于区块链的多CA跨域认证方法,其特征在于,跨域认证撤销的的算法为:
1)计算出泊松过程参数λ,λ是单位时间内预期事件发生的次数;
2)假设在tn时刻设备已经进行了n次跨域访问,依据公式P{S>s1+s2|S>s1}和λ计算跨域访问在t时刻的会进行跨域访问概率P{S>tn+t|S>tn},当概率小于∈时,撤销该设备的跨域认证。
8.根据权利要求1所述的分散自主网络中基于区块链的多CA跨域认证方法,其特征在于,联盟链中的账本由区块账本和世界状态组成,世界状态是一个数据库,它存储了区块账本状态的当前值,以key-value的形式存储账本状态。
9.根据权利要求1所述的分散自主网络中基于区块链的多CA跨域认证方法,其特征在于,世界状态数据库采用分布式数据库或者NoSQL数据。
10.根据权利要求1所述的分散自主网络中基于区块链的多CA跨域认证方法,其特征在于,CA服务器存有区块链账本的副本,区块由header和body组成,body中是交易信息,跨域认证的交易信息以key-value的形式存储,key字段是证书ID,value字段包括证书Hash值、证书颁发机构和证书状态,世界状态数据库也具有同样的数据结构,并设计了CA索引。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110743520.1A CN113343213A (zh) | 2021-07-01 | 2021-07-01 | 一种分散自主网络中基于区块链的多ca跨域认证方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110743520.1A CN113343213A (zh) | 2021-07-01 | 2021-07-01 | 一种分散自主网络中基于区块链的多ca跨域认证方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113343213A true CN113343213A (zh) | 2021-09-03 |
Family
ID=77482031
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110743520.1A Pending CN113343213A (zh) | 2021-07-01 | 2021-07-01 | 一种分散自主网络中基于区块链的多ca跨域认证方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113343213A (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113709180A (zh) * | 2021-09-09 | 2021-11-26 | 四川启睿克科技有限公司 | 一种基于区块链的跨厂家跨平台设备认证方法 |
CN114205162A (zh) * | 2021-12-16 | 2022-03-18 | 北京国富安电子商务安全认证有限公司 | 一种基于区块链pki互信认证的方法和系统 |
CN114553527A (zh) * | 2022-02-22 | 2022-05-27 | 中国人民解放军78111部队 | 一种基于区块链的跨ca信任域的身份认证服务系统 |
CN116321159A (zh) * | 2023-01-14 | 2023-06-23 | 国网湖北省电力有限公司荆门供电公司 | 一种基于北斗通信服务的分散场站数据传输方法 |
CN117156440A (zh) * | 2023-10-27 | 2023-12-01 | 中电科网络安全科技股份有限公司 | 一种证书认证方法、系统、存储介质和电子设备 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10958450B1 (en) * | 2020-10-15 | 2021-03-23 | ISARA Corporation | Constructing a multiple-entity root certificate data block chain |
CN112583596A (zh) * | 2020-06-08 | 2021-03-30 | 四川大学 | 一种基于区块链技术的完全跨域身份认证方法 |
-
2021
- 2021-07-01 CN CN202110743520.1A patent/CN113343213A/zh active Pending
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112583596A (zh) * | 2020-06-08 | 2021-03-30 | 四川大学 | 一种基于区块链技术的完全跨域身份认证方法 |
US10958450B1 (en) * | 2020-10-15 | 2021-03-23 | ISARA Corporation | Constructing a multiple-entity root certificate data block chain |
Non-Patent Citations (1)
Title |
---|
WENTONG WANG, ET AL.: "BlockCAM: A Blockchain-based Cross-domain Authentication Model", 《2018 IEEE THIRD INTERNATIONAL CONFERENCE ON DATA SCIENCE IN CYBERSPACE》, 21 June 2018 (2018-06-21), pages 896 - 901, XP033375463, DOI: 10.1109/DSC.2018.00143 * |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113709180A (zh) * | 2021-09-09 | 2021-11-26 | 四川启睿克科技有限公司 | 一种基于区块链的跨厂家跨平台设备认证方法 |
CN114205162A (zh) * | 2021-12-16 | 2022-03-18 | 北京国富安电子商务安全认证有限公司 | 一种基于区块链pki互信认证的方法和系统 |
CN114553527A (zh) * | 2022-02-22 | 2022-05-27 | 中国人民解放军78111部队 | 一种基于区块链的跨ca信任域的身份认证服务系统 |
CN116321159A (zh) * | 2023-01-14 | 2023-06-23 | 国网湖北省电力有限公司荆门供电公司 | 一种基于北斗通信服务的分散场站数据传输方法 |
CN116321159B (zh) * | 2023-01-14 | 2024-01-02 | 国网湖北省电力有限公司荆门供电公司 | 一种基于北斗通信服务的分散场站数据传输方法 |
CN117156440A (zh) * | 2023-10-27 | 2023-12-01 | 中电科网络安全科技股份有限公司 | 一种证书认证方法、系统、存储介质和电子设备 |
CN117156440B (zh) * | 2023-10-27 | 2024-01-30 | 中电科网络安全科技股份有限公司 | 一种证书认证方法、系统、存储介质和电子设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Wu et al. | VQL: Efficient and verifiable cloud query services for blockchain systems | |
CN109829326B (zh) | 基于区块链的跨域认证与公平审计去重云存储系统 | |
CN112055025B (zh) | 一种基于区块链的隐私数据保护方法 | |
Zhou et al. | Efficient certificateless multi-copy integrity auditing scheme supporting data dynamics | |
CN113343213A (zh) | 一种分散自主网络中基于区块链的多ca跨域认证方法 | |
US20230208630A1 (en) | Credential generation and distribution method and system for a blockchain network | |
JP6285454B2 (ja) | エンティティ・ネットワーク・トランスレーション(ent) | |
CN113824563B (zh) | 一种基于区块链证书的跨域身份认证方法 | |
TW201943250A (zh) | 跨區塊鏈的認證方法及裝置、電子設備 | |
CN112818368A (zh) | 一种基于区块链智能合约的数字证书认证方法 | |
CN107769925A (zh) | 基于区块链的公钥基础设施系统及其证书管理方法 | |
CN113507458B (zh) | 一种基于区块链的跨域身份认证方法 | |
Luecking et al. | Decentralized identity and trust management framework for Internet of Things | |
WO2022121538A1 (zh) | 基于区块链的数据同步方法、系统及相关设备 | |
CN110177109B (zh) | 一种基于标识密码和联盟链的双代理跨域认证系统 | |
CN108810007B (zh) | 一种物联网安全架构 | |
Chen et al. | Trust enhancement scheme for cross domain authentication of PKI system | |
CN111901432A (zh) | 一种基于区块链的安全数据交换方法 | |
JP2023515369A (ja) | 分散型データベース | |
CN113672942A (zh) | 一种基于区块链的pki证书跨域认证方法 | |
CN116684103A (zh) | 一种基于区块链的跨域身份认证方法 | |
Jia et al. | PROCESS: Privacy-preserving on-chain certificate status service | |
Kubilay et al. | KORGAN: An efficient PKI architecture based on PBFT through dynamic threshold signatures | |
CN114186288A (zh) | 一种基于区块链的pki证书系统模型及证书管理方法 | |
KR20190086301A (ko) | 블록 체인을 이용한 분산 데이터베이스 시스템 및 방법 |
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 | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20210903 |