掌桥专利:专业的专利平台
掌桥专利
首页

一种基于环签名共识机制的物联网区块链认证方法和系统

文献发布时间:2023-06-19 18:53:06


一种基于环签名共识机制的物联网区块链认证方法和系统

技术领域

本发明属于信息安全技术领域,尤其涉及一种基于环签名共识机制的物联网区块链认证方法和系统。

背景技术

物联网是数字转型时代最热门的技术之一,随着物联网的广泛应用,其安全可靠性问题成为关注的焦点。物联网许多物联网终端的存储、计算能力有限,在其上部署安全软件或者高复杂度的加解密方法会增加运行负担,甚至可能导致无法正常运行,而部分移动终端的移动化更导致依托于网络边界的安全产品无法正常发挥作用。引入区块链技术可以大大降低成本,减少人为错误,同时保证数据安全性和隐私性。

近年来,伴随着信息技术和信息化社会的迅猛发展,互联网设备之间的数据交互和信息通信的规模急剧增长,但是在数据传输的过程中存在的安全问题越来越严重,其中针对身份的认证问题就尤为突出。身份认证作为信息安全的基础,是确保信息交互安全的关键技术环节。身份认证机制不仅可以确保当前终端设备拥有的身份合法,而且针对恶意攻击者通过试探性攻击伪造、篡改身份信息、身份冒用等方式进行非法身份接入和非法访问权限获取等问题可以做出限制,减少系统的安全问题。因此,身份认证技术是非常值得研究的热门领域。

在中心化身份认证模式下,参与系统的用户统一进行认证、管理与授权。但随着网络上的联网设备通信需求不断增加,需要的通信资源也随之增加,传统的身份认证方案性能存在一定的局限。传统身份认证方案中存在对中心化平台机构和服务器的依赖问题,现实的应用场景中的用户隐私信息泄露问题,数据的可追溯性低、计算资源浪费问题。在追求数据的公开透明和保证用户数据的隐私性之间需要寻找一个平衡,这就需要在特定场景下针对特定应用需求设计出兼具数据隐私保护功能的身份认证系统。

发明内容

本发明的首要目的在于提供一种基于环签名共识机制的物联网区块链认证方法,旨在克服传统身份认证方案中存在对中心化平台机构和服务器的依赖问题,现实的应用场景中的用户隐私信息泄露问题,数据的可追溯性低、计算资源浪费等问题。

本发明的再一目的在于提供基于环签名共识机制的物联网区块链认证系统。

本发明是这样实现的,一种基于环签名共识机制的物联网区块链认证方法,该方法包括以下步骤:

S1、信息初始化

身份认证端为注册的系统用户分配区块链账户并广播账户信息,通过随机密钥生成方法随机生成公钥和加密主密钥,生成签密所需使用的聚合方法,以及按系统用户的属性分配相应的密钥;

S2、任命

身份上传平台在收到所述账户信息后为系统用户提供一个指定平台, 在系统用户向该指定平台发送计算授权书后,由该指定平台生成区块链;

S3、区块链存储

系统用户将数据录入区块链,并将服务费转入云服务器账户并发送签密密文;其中,在所述录入区块链时,采用环签名共识机制和其他身份上传平台达成共识生成当前区块链并签密;

云服务器根据相应公式检查所述签密密文的哈希值的正确性实现验证;

S4、区块链访问

身份信息请求者浏览区块链智能合约上的地址索引并生成转换密钥后发送给云服务器,云服务器对区块链进行查询,并利用转换密钥对区块链密文进行部分解密,之后将密文返回身份信息请求者供其恢复并验证区块链;

S5、审计

审计人员从区块链中提取交易,通过检查交易时间和授权书的有效性完成电子身份信息档案的正确性和及时性的验证。

优选地,所述步骤S3具体包括以下步骤:

S31、节点经过环签名共识与其他节点达成共识后生成区块链的部分签密密文和相应的交易,并向后传递交易数据,后续节点依次验证前置节点的正确性,由最后一个节点和其他节点达成共识再生成区块链,进行最终的签密获得签密密文并根据当前时间提取区块链的哈希值,记录交易数据,创建交易记录;

S32、由另一节点同样经过环签名共识与其他节点达成共识,生成区块链并检测来自上一节点的消息的有效性并解密消息中的签密密文,之后经过共识生成当前区块链并签密,完成签密后计算密文指数并提取区块链的哈希值,创建交易,最后将服务费转入云服务器账户并发送签密密文;

S33、云服务器根据相应公式检查签密密文的哈希值的正确性实现验证,若通过验证则接受并将存储地址返回节点,否则拒绝存储,系统用户从节点处接受地址并生成哈希值,最后将哈希值写入智能合约。

优选地,所述步骤S4具体包括以下步骤:

S41、身份信息请求者选取一个随机数,并将其作为检索密钥,之后通过计算生成转换密钥;

S42、身份信息请求者浏览区块链智能合约上的地址索引,通过发送解密属性、地址索引和转换密钥,要求云服务器对区块链进行查询;如果请求者的解密属性符合用户制定的加密策略,云服务器使用请求者发送的转换密钥对区块链的密文进行部分解密,并将解密后的部分签密密文发送给请求者;

S43、身份信息请求者接收到云服务器发送的部分签密密文后,将其用于计算来恢复区块链并验证区块链的正确性。

优选地,所述步骤S5包括以下具体步骤:

S51、审计人员从区块链中提取交易,获取相应的账户信息;

S52、根据获得的账户信息核查创建的交易数量是否与身份上传平台记录的数量一致;

S53、通过检查交易时间,审计人员来验证身份信息的及时性;

S54、检查授权书的有效性,计算获得用于发送的密文,检查是否与交易信息相符。

本发明进一步公开了一种基于环签名共识机制的物联网区块链认证系统,该系统包括身份认证端、系统用户、身份上传平台、身份数据请求者、区块链、云服务器和审计端;其中,

身份认证端,用于为注册的系统用户分配区块链账户并广播账户信息,通过随机密钥生成方法随机生成公钥和加密主密钥,生成签密所需使用的聚合方法,以及按系统用户的属性分配相应的密钥;

身份上传平台,用于在收到所述账户信息后为系统用户提供一个指定平台, 在系统用户向该指定平台发送计算授权书后,由该指定平台生成区块链;

云服务器,用于在系统用户将数据录入区块链,并将服务费转入云服务器账户并发送签密密文后,根据相应公式检查所述签密密文的哈希值的正确性实现验证;其中,在所述录入区块链时,采用环签名共识机制和其他身份上传平台达成共识生成当前区块链并签密;

身份信息请求者,用于身份信息请求者浏览区块链智能合约上的地址索引并生成转换密钥后发送给云服务器,云服务器对区块链进行查询,并利用转换密钥对区块链密文进行部分解密,之后将密文返回身份信息请求者供其恢复并验证区块链;以及

审计端,用于从区块链中提取交易,通过检查交易时间和授权书的有效性完成电子身份信息档案的正确性和及时性的验证。

优选地,所述系统用户将数据录入区块链,并将服务费转入云服务器账户并发送签密密文具体为:

节点经过环签名共识与其他节点达成共识后生成区块链的部分签密密文和相应的交易,并向后传递交易数据,后续节点依次验证前置节点的正确性,由最后一个节点和其他节点达成共识再生成区块链,进行最终的签密获得签密密文并根据当前时间提取区块链的哈希值,记录交易数据,创建交易记录;

由另一节点同样经过环签名共识与其他节点达成共识,生成区块链并检测来自上一节点的消息的有效性并解密消息中的签密密文,之后经过共识生成当前区块链并签密,完成签密后计算密文指数并提取区块链的哈希值,创建交易,最后将服务费转入云服务器账户并发送签密密文;

所述云服务器,用于根据相应公式检查签密密文的哈希值的正确性实现验证,若通过验证则接受并将存储地址返回节点,否则拒绝存储,系统用户从节点处接受地址并生成哈希值,最后将哈希值写入智能合约。

优选地,所述身份信息请求者,具有用于:

选取一个随机数,并将其作为检索密钥,之后通过计算生成转换密钥;

浏览区块链智能合约上的地址索引,通过发送解密属性、地址索引和转换密钥,要求云服务器对区块链进行查询;如果请求者的解密属性符合用户制定的加密策略,云服务器使用请求者发送的转换密钥对区块链的密文进行部分解密,并将解密后的部分签密密文发送给请求者;

接收到云服务器发送的部分签密密文后,将其用于计算来恢复区块链并验证区块链的正确性。

优选地,所述审计端具有用于:

审计人员从区块链中提取交易,获取相应的账户信息;

根据获得的账户信息核查创建的交易数量是否与身份上传平台记录的数量一致;

通过检查交易时间,审计人员来验证身份信息的及时性;

检查授权书的有效性,计算获得用于发送的密文,检查是否与交易信息相符。

相比于现有技术的缺点和不足,本发明具有以下有益效果:本发明使用签密方法来实现区块链的保密性和不可伪造性,并保护签名者的隐私;可验证的云服务器可以在验证用户所拥有信息正确性的同时降低用户的计算负担;使用区块链技术可以保护身份信息不被篡改且可验证,同时,审计员还可以对区块链上的交易数据进行检查来验证区块链的完整性,降低了通信成本和计算成本,提高了系统效率。

附图说明

图1 为本发明的系统模型图;

图2 为区块链的交易结构图;

图3 为智能合约的生成过程图;

图4 为环签名方法示意图。

实施方式

为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。

本发明实施例公开了一种基于环签名共识机制的物联网区块链认证方法,本发明方法涉及身份认证端(CA)、系统用户(SUCA)、身份上传平台(IDP)、身份数据请求者(IDR)、区块链(BC)、云服务器(CS)和审计端(AU),如图1所示。其中,不同的身份和功能具体为:

(1)身份认证端为用户和证书申请者提供注册、更新、吊销以及查询数字证书功能的实体。在本方法中,除了提供证书生命周期管理之外,还提供用户和身份信息申请者查询,同时负责对证书生命周期管理的审计,根据用户提交的属性,为他们分发相应的密钥。

(2)系统用户是各种身份认证信息的拥有者。首先,用户向身份上传平台提供自己的简单身份信息。在收到平台提供的初步确认信息后,用户向身份上传平台提供详细身份信息,并发送授权书,将身份信息上传至身份上传平台。然后,系统用户制定访问控制策略,使条件符合条件的用户能够访问区块链。将访问控制策略发送给身份上传平台,平台获得授权,对生成的身份信息进行签密和上传。最后,用户创建智能合约并上传至区块链。

(3)身份上传平台指的是身份数据提供者。平台根据用户制定的访问控制策略,对生成的区块进行签名加密,并将密文上传至云服务器。平台收到云服务器返回的存储地址后,将地址发送给用户。同时,平台创建交易,包括密文的存储地址、账户信息、签名、授权书、当前时间等信息。最后,平台将交易上传至区块链。

(4)为了获取身份信息,请求者的解密属性应满足用户制定的加密策略。首先,IDR在智能合约上浏览身份信息的地址索引,然后通过提交解密属性,向CS请求访问身份信息。然后,他们向CS提交解密属性、密文地址索引和转换后的密钥,请求访问区块链上的记录。如果验证通过,CS会对身份信息记录对应的密文进行部分解密,并将生成的部分密文发送给IDR。最后,IDR可以利用其私钥恢复电子病历。

(5)区块链的采用以太坊为技术基础。它主要负责收集交易信息,记录所有用户的访问请求和访问活动,避免区块链上的记录被非法修改,确保交易的安全性。此外,区块链还存储了系统用户创建的智能合约,确保区块链在不同用户之间安全共享。由于区块链是公开的,交易信息和智能合约可以被所有用户浏览和访问。

(6)云服务器主要负责存储身份上传平台上传的区块链中存储的密文,可以验证密文的有效性。如果密文无效,云服务器可以拒绝存储;同时,云服务器可以验证身份上传平台的身份,是否得到系统用户的授权。此外,还可以对区块链进行部分解密,减少了申请者的计算负担,同时也可以检查云服务器生成的部分解密密文的正确性。

(7)审核者通过对交易号、交易时间、交易信息的核实,可以保证区块链的完整性和正确性。

本发明方法具体包括以下步骤:

S1、信息初始化:身份认证端为注册的系统用户分配区块链账户并广播账户信息,通过随机密钥生成方法随机生成公钥和加密主密钥,生成签密所需使用的聚合方法,以及按系统用户的属性分配相应的密钥

所述按系统用户的属性分配相应的密钥具体为:根据本发明方法中的身份和功能的不同,身份认证端向系统用户、身份信息提供者、身份信息申请者发送相应的私钥。

S2、任命:身份上传平台在收到所述账户信息后为系统用户提供一个指定平台,在系统用户向该指定平台发送计算授权书后,由该指定平台生成区块链

系统用户向身份信息提供者发送授权书

步骤S2中,系统用户和身份上传平台的信息交互过程如下:

(2.1)系统用户随机选择

(2.2)身份上传平台收到系统用户的身份信息后,指定其中一个平台

(2.3)系统用户向平台

步骤(2.3)中的区块链生成方式为:系统用户创建一个智能合约,并将其上传至用户个人区块链,通过环签名共识机制共识生成新的区块。

方案中的区块链结构由区块的哈希值、前一个区块的哈希值、Nonce值、时间戳和交易组成,具体如图2所示。其中的重点是交易的构成和智能合约的设计。具体如下:

区块链上的交易由

身份信息提供者在为用户生成区块链记录时,将交易存储在区块链中以保证交易不能被篡改。当然,身份信息提供者需要记录所有向其录入身份信息的用户身份信息,并通过环签名共识机制共识记录在区块链上。因此,系统中的每个身份信息提供者和云服务器都在区块链上拥有自己的账户。

智能合约是区块链的关键,是部署在区块链中的事件驱动的计算机程序。本发明所提出的方案使用区块链这个数据账本记录交易,促进了交易的可靠执行,而无需第三方参与,并确保所有交易的可追溯性和不可篡改性。此外,该方案使用智能合约在用户和身份信息申请者之间安全地共享身份信息。

智能合约的创建过程和与请求者达成共识的过程如图3所示。首先系统用户制定智能合约,并设置其执行条件。用户利用密钥对智能合约进行加密,并将加密后的智能合约广播到区块链上,区块链上的各个客户端通过ATRS-PBFT共识更新区块链。接着,当请求者1获取相关身份信息时,智能合约将被触发执行。智能合约根据请求者的属性,验证其是否为合法用户。如果验证失败,则访问失败。否则,允许请求者2解密合约以获取相应信息。如果智能合约中的信息正确,则请求者1使用请求者2的密钥对合约进行加密,并将其广播到区块链上,区块链上的各个客户端通过ATRS-PBFT共识更新区块链。类似于请求者1的执行过程,请求者2使用系统用户的密钥对合同进行加密,并在验证合同内容后发送给用户。用户收到后对合同进行解密,检查合同的正确性,并将验证结果返回给请求者2。IDR等其他请求者获取合约的过程也与上述描述一致。在智能合约的创立和应用过程中,只有满足访问条件的用户才能获取相关信息,查看合同的内容。

S3、区块链存储:系统用户将数据录入区块链,并将服务费转入云服务器账户并发送签密密文;其中,在所述录入区块链时,采用环签名共识机制和其他身份上传平台达成共识生成当前区块链并签密;云服务器根据相应公式检查所述签密密文的哈希值的正确性实现验证

区块链存储阶段,系统用户的区块链记录由多个身份上传平台提案依次生成。系统用户将数据录入区块链上时采用环签名共识机制和其他身份上传平台达成共识。

环签名的方法流程图如图4所示:

图中,

为对消息

环签名的具体流程:

首先生成环签名,令

其次是验证环签名,根据公钥组

身份上传平台根据用户向其发送的身份信息生成身份档案并通过环签名共识机制共识录入区块链。然后,根据用户制定的访问控制策略对区块链上的记录进行签密,生成密文SCT。

身份上传平台再将密文SCT上传至云服务器进行存储,云服务器收到密文后验证SCT的有效性。如果验证失败,云服务器拒绝存储SCT;否则,云服务器接受密文SCT并将其存储地址发送给身份上传平台。

身份上传平台将SCT的地址发送给系统用户,然后创建一个交易Ts并上传到之前生成的区块链上,通过环签名共识机制共识确保交易的正确性和完整性。

假设

S31、节点经过环签名共识与其他节点达成共识后生成区块链的部分签密密文和相应的交易,并向后传递交易数据,后续节点依次验证前置节点的正确性,由最后一个节点和其他节点达成共识再生成区块链,进行最终的签密获得签密密文并根据当前时间提取区块链的哈希值,记录交易数据,创建交易记录

具体来说,

S32、由另一节点同样经过环签名共识与其他节点达成共识,生成区块链并检测来自上一节点的消息的有效性并解密消息中的签密密文,之后经过共识生成当前区块链并签密,完成签密后计算密文指数并提取区块链的哈希值,创建交易,最后将服务费转入云服务器账户并发送签密密文

具体来说,

S33、云服务器根据相应公式检查签密密文的哈希值的正确性实现验证,若通过验证则接受并将存储地址返回节点,否则拒绝存储,系统用户从节点处接受地址并生成哈希值,最后将哈希值写入智能合约

具体来说,云服务器通过公式检查

S4、区块链访问:身份信息请求者浏览区块链智能合约上的地址索引并生成转换密钥后发送给云服务器,云服务器对区块链进行查询,并利用转换密钥对区块链密文进行部分解密,之后将密文返回身份信息请求者供其恢复并验证区块链;

身份信息请求者想要获取某个用户的身份信息时,访问智能合约上的密文索引

步骤S4中身份信息请求者申请访问区块链记录的过程包括如下的子步骤:

S41、身份信息请求者选取一个随机数,并将其作为检索密钥,之后通过计算生成转换密钥

具体来说,身份信息请求者选取一个随机数

S42、身份信息请求者浏览区块链智能合约上的地址索引,通过发送解密属性、地址索引和转换密钥,要求云服务器对区块链进行查询;如果请求者的解密属性符合用户制定的加密策略,云服务器使用请求者发送的转换密钥对区块链的密文进行部分解密,并将解密后的部分签密密文发送给请求者

具体来说,身份信息请求者浏览区块链智能合约上的地址索引,通过发送解密属性、地址索引和转换密钥,要求云服务器对区块链进行查询。如果请求者的解密属性符合用户制定的加密策略 ,云服务器可以使用请求者发送的转换密钥对区块链上的密文进行部分解密。对于所有

S43、身份信息请求者接收到云服务器发送的部分签密密文后,将其用于计算来恢复区块链并验证区块链的正确性

具体来说,身份信息请求者接收到

S5、审计:审计人员从区块链中提取交易,通过检查交易时间和授权书的有效性完成电子身份信息档案的正确性和及时性的验证

审计人员通过以下步骤验证电子身份信息档案的正确性和及时性。

步骤S5中审计人员进行审计的过程包括如下的子步骤:

S51、审计人员从区块链中提取交易,获取相应的账户信息;

S52、根据获得的账户信息核查创建的交易数量是否与身份上传平台记录的数量一致;

S53、通过检查交易时间,审计人员来验证身份信息的及时性;

S54、检查授权书的有效性

本发明进一步公开了一种基于环签名共识机制的物联网区块链认证系统,如图1所示,该系统包括身份认证端、系统用户、身份上传平台、身份数据请求者、区块链、云服务器和审计端;其中,

身份认证端,用于为注册的系统用户分配区块链账户并广播账户信息,通过随机密钥生成方法随机生成公钥和加密主密钥,生成签密所需使用的聚合方法,以及按系统用户的属性分配相应的密钥;

身份上传平台,用于在收到所述账户信息后为系统用户提供一个指定平台, 在系统用户向该指定平台发送计算授权书后,由该指定平台生成区块链;

云服务器,用于在系统用户将数据录入区块链,并将服务费转入云服务器账户并发送签密密文后,根据相应公式检查所述签密密文的哈希值的正确性实现验证;其中,在所述录入区块链时,采用环签名共识机制和其他身份上传平台达成共识生成当前区块链并签密;

身份信息请求者,用于身份信息请求者浏览区块链智能合约上的地址索引并生成转换密钥后发送给云服务器,云服务器对区块链进行查询,并利用转换密钥对区块链密文进行部分解密,之后将密文返回身份信息请求者供其恢复并验证区块链;以及

审计端,用于从区块链中提取交易,通过检查交易时间和授权书的有效性完成电子身份信息档案的正确性和及时性的验证。

本发明系统实施例与上述方法实施例技术本质相同,以上述方法实施例所记载内容同样解释本发明系统实施例,在此不再赘述。

以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。

相关技术
  • 一种基于国密算法的物联网安全认证系统及认证方法
  • 基于区块链的多方签名认证方法、装置、设备及存储介质
  • 基于信誉模型和数字签名机制的区块链共识方法和系统
  • 一种基于环签名和聚合签名的区块链共识优化方法
技术分类

06120115723024