基于环签名的多方协同权限委派方法及系统

文档序号:1965858 发布日期:2021-12-14 浏览:18次 >En<

阅读说明:本技术 基于环签名的多方协同权限委派方法及系统 (Multi-party collaborative authority delegation method and system based on ring signature ) 是由 李蓉 郝玉琨 梁咏俐 于 2021-08-16 设计创作,主要内容包括:本发明提供了一种基于环签名的多方协同权限委派方法及系统,包括系统用户在本地客户端生成一对公私钥;匿名投票智能合约编写为身份校验、匿名投票和投票校验和权限自动委派四个部分,编写完成后部署到区块链网络,并提供对外统一调用该智能合约的接口F;系统用户Ui利用环签名匿名投票;投票智能合约计票并判断是否达到结束条件,若未达到结束条件,则继续进行投票;投票结束,智能合约自动委派权限,并记录在区块链上。本发明通过采用环签名的方式,解决了投票的匿名性问题,提高了用户投票的积极性与公平性;本发明通过采用智能合约委派权限的方式,完成权限的自动委派,解决了传统权限委派过程的认为干预问题。(The invention provides a multi-party collaborative authority delegation method and a system based on ring signature, which comprises the steps that a system user generates a pair of public and private keys at a local client; the anonymous voting intelligent contract is compiled into four parts of identity verification, anonymous voting, voting verification and authority automatic delegation, and is deployed to a block chain network after being compiled, and an interface F for uniformly calling the intelligent contract is provided; a system user Ui carries out anonymous voting by using a ring signature; the voting intelligent contract counts the votes and judges whether the ending condition is reached, if the ending condition is not reached, the voting is continued; when the voting is finished, the intelligent contract automatically appoints the authority and records the authority on the block chain. The invention solves the anonymity problem of voting by adopting a ring signature mode, and improves the enthusiasm and fairness of user voting; the invention completes the automatic delegation of the authority by adopting the mode of delegating the authority by the intelligent contract, and solves the problem of thought intervention in the traditional authority delegation process.)

基于环签名的多方协同权限委派方法及系统

技术领域

本发明涉及环签名的技术领域,具体地,涉及基于环签名的多方协同权限委派方法及系统。

背景技术

目前,在权限控制领域,最常使用的是基于角色的访问控制(Role-Based AccessControl,RBAC)模型,RBAC模型通过引进角色的概念实现用户和权限的逻辑分离,进而支撑技术人员与业务人员职责的分离,用户通过获得角色来得到权限,从而实现对用户的权限管理与控制,或者根据用户的属性信息来解决现有技术中存在着对层级结构比较复杂的系统进行权限分配的方法不合理的问题。

在公开号为CN109981552A的专利文献中公开了一种权限分配方法及装置,用以解决现有技术中存在着对层级结构比较复杂的系统进行权限分配的方法不合理的问题;本申请实施例提供的权限分配方法应用于包含多级管理用户的管理系统,包括:接收到登录请求时,确定登录用户在管理系统中的管理级别;根据登录用户的管理级别、以及建立的各级管理用户与管理区域集合和管理机构集合之间的对应关系,确定登录用户对应的管理区域集合和管理机构集合;接收新建用户的请求,请求中携带新建用户的属性信息,属性信息至少包含管理机构、管理区域和权限描述信息;根据新建用户的属性信息、以及登录用户对应的管理机构集合和管理区域集合,为新建用户分配权限。

在公告号为CN107453865B专利文献中公开了一种保护数据发送源隐私的多方数据共享方法,若干个参与者共同连接于一个区块链并共享数据,包括步骤:S1:参与者均生成公私钥对;S2:参与者均公布与其自身身份对应的公钥,均记录所有公布的公钥;S3:数据发送源首先基于所有公钥、数据发送源的私钥以及要发送的数据生成环签名,然后用一次性私钥将数据和环签名写入区块链;S4:其他参与者先读取数据和环签名,然后基于公钥、数据和环签名对环签名进行验证,若验证结果为合法则使用数据,反之则不使用数据。

针对上述中的相关技术,发明人认为上述依靠权限层级分配权限的方式,虽然能够权限层级复杂情况下的权限分配问题,但却不能保证人为分配的公平性和合理性,并且在执行过程中具有一定的操作风险,因此,需要提出一种技术方案以改善上述技术问题。

发明内容

针对现有技术中的缺陷,本发明的目的是提供一种基于环签名的多方协同权限委派方法及模块。

根据本发明提供的一种基于环签名的多方协同权限委派方法,所述方法包括如下步骤:

步骤S1:系统用户在本地客户端生成一对公私钥;

步骤S2:匿名投票智能合约编写为身份校验、匿名投票和投票校验和权限自动委派四个部分,编写完成后部署到区块链网络,并提供对外统一调用该智能合约的接口F;

步骤S3:系统用户Ui利用环签名匿名投票;

步骤S4:投票智能合约计票并判断是否达到结束条件,若未达到结束条件,则继续进行投票;

步骤S5:投票结束,智能合约自动委派权限,并记录在区块链上。

优选地,所述步骤S1中的公私钥包括公钥PKi,私钥SKi,且所述公私钥来自不同的公钥体制。

优选地,所述步骤S2包括如下步骤:

步骤S2.1:设计身份校验,校验投票身份合法性及接口合法性,若其中有一个不合法则返回不合法,两个都合法则继续进行投票;

步骤S2.2:设计匿名投票,系统用户利用环签名的方式进行匿名投票;

步骤S2.3:设计投票校验,利用投票消息m及签名R校验投票的合法性,若R为m的环签名则标记“True”,继续进行步骤S2.4,否则标记“False”,退出投票;

步骤S2.4:设计权限自动委派,自由设定权限委派执行值,系统用户总数的2/3,若有限投票超过权限委派执行值,则将权限分配给投票数高的用户,并记录在区块链网络上。

优选地,所述步骤S3包括如下步骤:

步骤S3.1:系统用户Ui调用投票接口F,系统校验Ui的投票身份合法性及接口合法性,若其中有一个不合法则返回不合法,两个都合法则可继续进行投票;

步骤S3.2:系统用户Ui利用私钥Ski以及n个系统用户的公钥L={PK1,PK2,…,PKn}对投票消息m生成一个签名R;

步骤S3.3:校验Ui投票合法性,若R为m的环签名则标记“True”,否则标记“False”,返回步骤S3.1。

优选地,所述步骤S4包括如下步骤:

步骤S4.1:获取前一次投票总数和本次投票详情,计算本次投票总数;

步骤S4.2:判断是否超过投票有效设定值,若超过则本次投票结束,进入步骤S5,将权限分配给投票数高的用户,并记录在区块链网络上,否则继续投票,返回步骤S3。

本发明还提供一种基于环签名的多方协同权限委派系统,所述系统包括如下模块:

模块M1:系统用户在本地客户端生成一对公私钥;

模块M2:匿名投票智能合约编写为身份校验、匿名投票和投票校验和权限自动委派四个部分,编写完成后部署到区块链网络,并提供对外统一调用该智能合约的接口F;

模块M3:系统用户Ui利用环签名匿名投票;

模块M4:投票智能合约计票并判断是否达到结束条件,若未达到结束条件,则继续进行投票;

模块M5:投票结束,智能合约自动委派权限,并记录在区块链上。

优选地,所述模块M1中的公私钥包括公钥PKi,私钥SKi,且所述公私钥来自不同的公钥体制。

优选地,所述模块M2包括如下模块:

模块M2.1:设计身份校验,校验投票身份合法性及接口合法性,若其中有一个不合法则返回不合法,两个都合法则继续进行投票;

模块M2.2:设计匿名投票,系统用户利用环签名的方式进行匿名投票;

模块M2.3:设计投票校验,利用投票消息m及签名R校验投票的合法性,若R为m的环签名则标记“True”,继续进行模块M2.4,否则标记“False”,退出投票;

模块M2.4:设计权限自动委派,自由设定权限委派执行值,系统用户总数的2/3,若有限投票超过权限委派执行值,则将权限分配给投票数高的用户,并记录在区块链网络上。

优选地,所述模块M3包括如下模块:

模块M3.1:系统用户Ui调用投票接口F,系统校验Ui的投票身份合法性及接口合法性,若其中有一个不合法则返回不合法,两个都合法则可继续进行投票;

模块M3.2:系统用户Ui利用私钥Ski以及n个系统用户的公钥L={PK1,PK2,…,PKn}对投票消息m生成一个签名R;

模块M3.3:校验Ui投票合法性,若R为m的环签名则标记“True”,否则标记“False”,返回模块M3.1。

优选地,所述模块M4包括如下模块:

模块M4.1:获取前一次投票总数和本次投票详情,计算本次投票总数;

模块M4.2:判断是否超过投票有效设定值,若超过则本次投票结束,进入模块M5,将权限分配给投票数高的用户,并记录在区块链网络上,否则继续投票,返回模块M3。

与现有技术相比,本发明具有如下的有益效果:

1、本发明通过采用环签名的方式,解决了投票的匿名性问题,提高了用户投票的积极性与公平性;

2、本发明通过采用智能合约委派权限的方式,完成权限的自动委派,解决了传统权限委派过程的认为干预问题;

3、本发明利用环签名保护投票用户隐私,利用智能合约自动触发智能合约直接委派账户权限,在保护用户隐私的前提下,将权限委派的人为干预可能性降到最低,改善目前中心化的权限管理方式。

附图说明

通过阅读参照以下附图对非限制性实施例所作的详细描述,本发明的其它特征、目的和优点将会变得更明显:

图1为本发明的流程图。

具体实施方式

下面结合具体实施例对本发明进行详细说明。以下实施例将有助于本领域的技术人员进一步理解本发明,但不以任何形式限制本发明。应当指出的是,对本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变化和改进。这些都属于本发明的保护范围。

本发明提供一种基于环签名的多方协同权限委派方法,包括如下步骤:

步骤S1:每一个系统用户在本地客户端生成一对公私钥,包括公钥PKi,私钥SKi,可以来自不同的公钥体制。

步骤S2:匿名投票智能合约编写为四个部分,身份校验、匿名投票和投票校验、权限自动委派,编写完成后部署到区块链网络,并提供对外统一调用该智能合约的接口F;步骤S2.1:设计身份校验,校验投票身份合法性及接口合法性,若其中有一个不合法则返回不合法,两个都合法则可继续进行投票;步骤S2.2:设计匿名投票,系统用户利用环签名的方式进行匿名投票;步骤S2.3:设计投票校验,利用投票消息m及签名R校验投票的合法性,若R为m的环签名则标记“True”,继续进行步骤S2.4,否则标记“False”,退出投票;步骤S2.4:设计权限自动委派,可自由设定权限委派执行值,例如系统用户总数的2/3,若超过系统用户总数2/3的有效投票,则将权限分配给投票数高的用户,并记录在区块链网络上。

步骤S3:系统用户Ui利用环签名匿名投票;步骤S3.1:系统用户Ui调用投票接口F,系统校验Ui的投票身份合法性及接口合法性,若其中有一个不合法则返回不合法,两个都合法则可继续进行投票;步骤S3.2:系统用户Ui利用私钥Ski以及n个系统用户的公钥L={PK1,PK2,…,PKn}对投票消息m生成一个签名R;步骤S3.3:校验Ui投票合法性,若R为m的环签名则标记“True”,否则标记“False”,返回步骤S3.1。

步骤S4:投票智能合约计票并判断是否达到结束条件,若未达到结束条件,则继续进行投票;步骤S4.1:获取前一次投票总数和本次投票详情,计算本次投票总数;步骤S4.2:判断是否超过投票有效设定值,若超过则本次投票结束,进入步骤S5,将权限分配给投票数高的用户,并记录在区块链网络上,否则继续投票,返回步骤S3。

步骤S5:投票结束,智能合约自动委派权限,并记录在区块链上。

本发明还提供一种基于环签名的多方协同权限委派系统,包括如下模块:

模块M1:系统用户在本地客户端生成一对公私钥;公私钥包括公钥PKi,私钥SKi,且所述公私钥来自不同的公钥体制。

模块M2:匿名投票智能合约编写为身份校验、匿名投票和投票校验和权限自动委派四个部分,编写完成后部署到区块链网络,并提供对外统一调用该智能合约的接口F;模块M2.1:设计身份校验,校验投票身份合法性及接口合法性,若其中有一个不合法则返回不合法,两个都合法则继续进行投票;模块M2.2:设计匿名投票,系统用户利用环签名的方式进行匿名投票;模块M2.3:设计投票校验,利用投票消息m及签名R校验投票的合法性,若R为m的环签名则标记“True”,继续进行模块M2.4,否则标记“False”,退出投票;模块M2.4:设计权限自动委派,自由设定权限委派执行值,系统用户总数的2/3,若有限投票超过权限委派执行值,则将权限分配给投票数高的用户,并记录在区块链网络上。

模块M3:系统用户Ui利用环签名匿名投票;模块M3.1:系统用户Ui调用投票接口F,系统校验Ui的投票身份合法性及接口合法性,若其中有一个不合法则返回不合法,两个都合法则可继续进行投票;模块M3.2:系统用户Ui利用私钥Ski以及n个系统用户的公钥L={PK1,PK2,…,PKn}对投票消息m生成一个签名R;模块M3.3:校验Ui投票合法性,若R为m的环签名则标记“True”,否则标记“False”,返回模块M3.1。

模块M4:投票智能合约计票并判断是否达到结束条件,若未达到结束条件,则继续进行投票;模块M4.1:获取前一次投票总数和本次投票详情,计算本次投票总数;模块M4.2:判断是否超过投票有效设定值,若超过则本次投票结束,进入模块M5,将权限分配给投票数高的用户,并记录在区块链网络上,否则继续投票,返回模块M3。

模块M5:投票结束,智能合约自动委派权限,并记录在区块链上。

本发明通过采用环签名的方式,解决了投票的匿名性问题,提高了用户投票的积极性与公平性;通过采用智能合约委派权限的方式,完成权限的自动委派,解决了传统权限委派过程的认为干预问题。

利用环签名保护投票用户隐私,利用智能合约自动触发智能合约直接委派账户权限,在保护用户隐私的前提下,将权限委派的人为干预可能性降到最低,改善目前中心化的权限管理方式。

本领域技术人员知道,除了以纯计算机可读程序代码方式实现本发明提供的系统及其各个装置、模块、单元以外,完全可以通过将方法步骤进行逻辑编程来使得本发明提供的系统及其各个装置、模块、单元以逻辑门、开关、专用集成电路、可编程逻辑控制器以及嵌入式微控制器等的形式来实现相同功能。所以,本发明提供的系统及其各项装置、模块、单元可以被认为是一种硬件部件,而对其内包括的用于实现各种功能的装置、模块、单元也可以视为硬件部件内的结构;也可以将用于实现各种功能的装置、模块、单元视为既可以是实现方法的软件模块又可以是硬件部件内的结构。

以上对本发明的具体实施例进行了描述。需要理解的是,本发明并不局限于上述特定实施方式,本领域技术人员可以在权利要求的范围内做出各种变化或修改,这并不影响本发明的实质内容。在不冲突的情况下,本申请的实施例和实施例中的特征可以任意相互组合。

9页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:一种可再投票的二元共识方法及装置

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!