CN110458995B - 基于可信执行环境的匿名投票系统和投票方法 - Google Patents
基于可信执行环境的匿名投票系统和投票方法 Download PDFInfo
- Publication number
- CN110458995B CN110458995B CN201910865244.9A CN201910865244A CN110458995B CN 110458995 B CN110458995 B CN 110458995B CN 201910865244 A CN201910865244 A CN 201910865244A CN 110458995 B CN110458995 B CN 110458995B
- Authority
- CN
- China
- Prior art keywords
- voting
- user
- registration
- calling
- function
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G07—CHECKING-DEVICES
- G07C—TIME OR ATTENDANCE REGISTERS; REGISTERING OR INDICATING THE WORKING OF MACHINES; GENERATING RANDOM NUMBERS; VOTING OR LOTTERY APPARATUS; ARRANGEMENTS, SYSTEMS OR APPARATUS FOR CHECKING NOT PROVIDED FOR ELSEWHERE
- G07C13/00—Voting apparatus
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic 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/3247—Cryptographic 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/42—Anonymization, e.g. involving pseudonyms
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/46—Secure multiparty computation, e.g. millionaire problem
- H04L2209/463—Electronic voting
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/50—Cryptographic 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)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明实施例提供一种基于可信执行环境的匿名投票系统和投票方法,运行于可信执行环境的enclave中,其中所述投票系统包括:投票注册模块,用于根据用户的投票注册请求,通过调用enclave内部的注册函数和区块链提供的选民注册合约函数,生成所述用户的注册信息并将所述注册信息公布在区块链中;投票模块,用于根据所述用户的首次注册信息和所述用户的投票选项,通过调用enclave内部的投票函数,生成选票,并通过调用区块链提供的投票合约函数,把所述选票公布在区块链中。本发明实施例能够有效避免投票调查中可能存在的恶意买卖票行为,从而更好的保证投票结果的公正性。
Description
技术领域
本发明涉及区块链应用技术领域,更具体地,涉及一种基于可信执行环境的匿名投票系统和投票方法。
背景技术
投票调查在人类生活中扮演着重要的角色,无论是企业想收集消费者对产品的反馈,还是政府想了解民众对政策的态度,都需要通过投票调查来了解真实信息。投票调查是搜集第一手信息的重要途径,通过分析收集的信息,有助于调查者制定更有效的策略,采取更合理的措施。
传统投票调查采用线下投票的方式,但是线下投票有着与生俱来的弊端,不能很好的满足日益增长的投票需求。线下投票的不足主要体现为以下几点:其一,需要巨大的人力成本,不仅耗时耗力,而且由于空间受限调查范围不够大;其二,问卷需要大量纸张,浪费资源、不环保;其三,统计结果慢,人工计票效率低下且准确率存在问题;其四,容易出现造假行为,结果可信度不高。
线下投票的弊端显而易见,因此具有相应优势的线上投票系统应运而生。线上投票系统只需少量的资源投入,即可摆脱时间和空间的限制,更好地完成调查。同时,线上投票系统不需要人工计票,快速、准确,投票结果能实时显示给投票者。
然而,现有的线上投票系统依然存在一些不容忽视的问题,如:系统的管理者有修改数据的权限,可能会为了利益而修改数据;如果线上投票系被给黑客攻击,投票数据就毫无安全性可言。因此,现有线上投票系的公正性和安全性,依然完全依赖网站本身的安全和信誉度,这是制约其发展的主要因素。
为解决上述问题,现有技术根据区块链的特性提供了一些解决方案,如通过对投票信息进行计数,并在投票数目达到预设阈值时,根据投票信息生成投票组合信息,并将投票组合信息发送给区块链节点,以使各个区块链节点根据接收到的投票组合信息形成区块,在区块中保存用户投票结果。或者,利用同态加密算法隐藏投票内容,同时使用零知识证明技术保证选票的有效性,选票的收集、计票过程和结果公开均在区块链系统上进行。
但是,无论上述第一种还是第二种基于区块链的解决方案,均仍然存在可能发生买卖票行为的问题,无法真正保证投票结果的公正性。
发明内容
为了克服上述问题或者至少部分地解决上述问题,本发明实施例提供一种基于可信执行环境的匿名投票系统和投票方法,用以有效避免投票调查中可能存在的恶意买卖票行为,从而更好的保证投票结果的公正性。
第一方面,本发明实施例提供一种基于可信执行环境的匿名投票系统,所述投票系统运行于可信执行环境的enclave中,所述投票系统包括:
投票注册模块,用于根据用户的投票注册请求,通过调用enclave内部的注册函数和区块链提供的选民注册合约函数,生成所述用户的注册信息并将所述注册信息公布在区块链中;
投票模块,用于根据所述用户的首次注册信息和所述用户的投票选项,通过调用enclave内部的投票函数,生成选票,并通过调用区块链提供的投票合约函数,把所述选票公布在区块链中。
第二方面,本发明实施例提供一种基于可信执行环境的匿名投票方法,所述投票方法运行于可信执行环境的enclave中,所述投票方法包括:
接收用户的投票注册请求,并基于所述投票注册请求,调用enclave内部的注册函数,以利用所述注册函数生成所述用户的注册信息;
调用区块链提供的选民注册合约函数,将所述注册信息公布在区块链中;
获取所述用户的首次注册信息和所述用户的投票选项,并调用enclave内部的投票函数,以基于所述首次注册信息和所述投票选项,利用所述投票函数生成选票;
调用区块链提供的投票合约函数,把所述选票公布在区块链中。
本发明实施例提供的基于可信执行环境的匿名投票系统和投票方法,通过采用可信执行环境技术,将投票系统运行在可信执行环境中,并基于此将用户的投票注册信息公布在区块链中以限制用户的投票权,能够有效避免投票调查中可能存在的恶意买卖票行为,从而更好的保证投票结果的公正性。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的基于可信执行环境的匿名投票系统的结构示意图;
图2为根据本发明实施例提供的基于可信执行环境的匿名投票系统中enclave投票系统的构成图;
图3为本发明实施例提供的基于可信执行环境的匿名投票方法的流程示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明实施例的一部分实施例,而不是全部的实施例。基于本发明实施例中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明实施例保护的范围。
本发明实施例针对现有技术由于无法避免可能发生买卖票行为而无法真正保证投票结果的公正性的问题,通过采用可信执行环境技术,将投票系统运行在可信执行环境中,并基于此将用户的投票注册信息公布在区块链中以限制用户的投票权,能够有效避免投票调查中可能存在的恶意买卖票行为,从而更好的保证投票结果的公正性。以下将具体通过多个实施例对本发明实施例进行展开说明和介绍。
图1为本发明实施例提供的基于可信执行环境的匿名投票系统的结构示意图,该系统运行于可信执行环境的enclave中,可以用于实现基于可信执行环境的匿名投票处理,如图1所示,该系统包括投票注册模块101和投票模块102。其中:
投票注册模块101用于根据用户的投票注册请求,通过调用enclave内部的注册函数和区块链提供的选民注册合约函数,生成用户的注册信息并将注册信息公布在区块链中;投票模块102用于根据用户的首次注册信息和用户的投票选项,通过调用enclave内部的投票函数,生成选票,并通过调用区块链提供的投票合约函数,把选票公布在区块链中。
可以理解为,本发明实施例基于可信执行环境的匿名投票系统至少应包括投票注册模块101和投票模块102,分别用于实现选民用户的注册和注册用户的投票处理流程。
具体而言,在用户进行正式投票之前,需完成在投票系统中的注册以得到投票权限。具体由投票注册模块101获取用户通过用户终端发送的投票注册请求,并根据该投票注册请求,调用enclave内部的注册函数,以利用该注册函数生成该用户的注册信息。之后,为保证注册信息的安全性、机密性和不可篡改性,投票注册模块101会调用区块链提供的选民注册合约函数,以将上述生成的用户的注册信息公布在区块链中。
在完成投票用户注册的基础上,由投票模块102根据用户的注册信息和用户的投票选择完成线上投票。具体而言,投票模块102首先会获取用户首次注册的信息,即用户的首次注册信息,以及与该首次注册信息关联的用户投票选项。之后投票模块102调用enclave内部的投票函数,以根据获取的用户的首次注册信息和用户的投票选项生成该用户对应的选票。最后在生成选票的基础上,投票模块102调用区块链提供的投票合约函数,把该选票公布在区块链中。
可以理解的是,一个投票用户可以就一个投票项目生成多个注册信息,为了使买票人即使买了用户的注册信息,也不知道这个注册信息是不是该用户的第一个注册信息,具不具备投票权,规定只有生成的第一个注册信息具有真实的投票权,从而能有效防止买票卖票行为。
本发明实施例提供的基于可信执行环境的匿名投票系统,通过设置相应的执行模块,采用可信执行环境技术,将投票系统运行在可信执行环境中,并基于此将用户的投票注册信息公布在区块链中以限制用户的投票权,能够有效避免投票调查中可能存在的恶意买卖票行为,从而更好的保证投票结果的公正性。
其中,根据上述各实施例可选的,投票注册模块具体用于:根据投票注册请求,通过调用enclave中的e_register函数,注册生成密文的vote_key,并在可信执行环境中存储vote_key对应的区块链账户(pk,sk)的数据;通过调用区块链中选民注册合约中的sc_register函数,把vote_key公布在区块链中。
具体而言,每个区块链用户拥有一对公钥和私钥(pk,sk),用户通过投票注册模块调用enclave投票系统中的e_register函数,注册生成密文的注册信息vote_key,并在TEE中存储了每一个vote_key对应的区块链账户(pk,sk)的数据。最后通过调用区块链中选民注册合约中的sc_register函数,把vote_key公布在区块链中。
本发明实施例中,一个投票人可以就一个投票项目生成多个vote_key,但只有生成的第一个vote_key具有真实的投票权,买票人即使买了vote_key,也不知道这个vote_key是不是第一个vote_key,具不具备投票权,有效防止买票卖票行为。
其中,根据上述各实施例可选的,投票模块具体用于:通过调用enclave内部的投票函数e_vote,并传入用户的注册信息vote_key和用户的投票选项vote_choice构成的(vote_key,vote_choice)参数,生成选票;通过调用区块链投票合约中的sc_vote函数,把选票公布在区块链中。
具体而言,投票模块支持用户进行投票,首先调用enclave投票系统中的e_vote函数,传入用户的注册信息vote_key和用户的投票选项vote_choice构成的(vote_key,vote_choice)参数,得到一张选票。之后调用区块链投票合约中sc_vote函数,把选票公布在区块链上,确保投票公开透明。
其中可选的,投票模块还用于:在生成选票之后,利用vote_key对应的区块链账户的私钥对选票进行签名;相应的,通过调用区块链投票合约中sc_vote函数,把签名后的选票公布在区块链中。
另外,在上述各实施例的基础上,参考图1,本发明实施例的基于可信执行环境的匿名投票系统还可以包括计票模块103,用于根据所有用户对应的选票,通过在enclave中调用计票函数,生成计票结果的证据文件,并把证据文件封装在区块链交易中,用以在用户通过对计票结果的验证后,把计票结果公布在区块链中。
可以理解为,通常在投票截止后还需要对总的投票进行统计,以得出调查结论。因此本发明实施例的投票系统还可以包括计票模块103。投票截止后,任意用户或者指定用户可以进行投票统计操作。由该用户向投票系统发送计票请求,计票模块103则根据该计票请求在可信执行环境中调用计票函数,利用该计票函数对所有用户对应的选票进行统计计算,得到计票结果并生成证据文件,并把该证据文件封装在区块链交易中。在此基础上其它用户可根据该证件文件完成计票结果的验证,若验证通过共识,则计票模块103把计票结果写入区块链中。
其中可选的,计票模块具体用于:基于任意用户的计票请求,调用enclave中的计票函数e_total,以根据所有用户对应的选票计算计票结果,并基于计票结果生成证据文件封装在区块链交易中;接收用户对计票结果的验证请求,并在用户基于证据文件通过对计票结果的验证后,把计票结果公布在区块链中。
为进一步说明本发明实施例的技术方案,本发明实施例根据上述各实施例提供如下具体的实施例,但不对本发明实施例的保护范围进行限制。
如图2所示,为根据本发明实施例提供的基于可信执行环境的匿名投票系统中enclave投票系统的构成图,包括投票用户注册、用户投票和计票三个组成部分。具体而言:
本发明实施例结合Intel SGX可信执行环境(Trusted Execution Environment,TEE)技术构建投票系统,用以保证投票的公正性。TEE是运行在系统处理器上的一个安全区域,TEE可以保证加载到该环境内部的代码和数据的安全性、机密性以及完整性。TEE提供一个隔离的执行环境enclave,提供的安全特征包含:隔离执行、可信应用的完整性、可信数据的机密性和安全存储等。
随着TEE技术的发展,本发明实施例提出通过将投票系统完全的运行在可信执行环境中,保证恶意用户或者攻击者无法篡改运行在TEE中的代码,以及无法篡改投票内容和投票结果,以此来避免发生投票不公平的问题,保证系统的安全性和隐私性。
首先,对于系统中的投票注册模块:区块链用户拥有一对公钥和私钥(pk,sk),用户调用enclave投票系统中的e_register函数,注册生成密文的vote_key;同时TEE中存储了每一个vote_key对应了哪一个区块链账户(pk,sk)的数据;最后调用区块链中选民注册合约中的sc_register方法,把vote_key公布在区块链中。
本发明实施例中,一个投票人可以就一个投票项目生成多个vote_key,但只有生成的第一个vote_key具有真实的投票权,买票人即使买了vote_key,也不知道这个vote_key是不是第一个vote_key,具不具备投票权,有效防止买票卖票行为。
其次,对于系统中的投票模块:协助用户进行投票,调用enclave投票系统中的e_vote函数,传入(vote_key,vote_choice)参数,得到一张选票,并可使用区块链账户的私钥对选票进行签名,最后可调用区块链投票合约中sc_vote函数把选票公布在区块链上,投票公开透明。
再次,对于系统中的计票模块:投票截止后,任意用户或者指定用户可以进行统计操作。该用户通过在可信执行环境中调用e_total函数计算投票结果,生成证据文件,并把证据文件封装在区块链交易中。其他用户验证该结果,如果通过共识,则把计票结果写入区块链中。
本发明实施例结合Intel SGX可信执行环境(TEE)技术,把投票系统运行在可信执行环境enclave中,保证系统的安全性和隐私性。同时将投票内容、计票结果存储在区块链上,投票信息公正透明,能够有效防止在投票过程中可能发生的买卖选票行为。另外,本发明实施例中vote_key对应的区块链账户(即区块链用户)只有TEE可查询,保证了投票的匿名性。
基于相同的构思,本发明实施例根据上述各实施例提供一种基于可信执行环境的匿名投票方法,该方法通过应用上述各实施例提供的可信执行环境的投票系统,实现控制有效权限的投票,从而可以避免投票调查中可能存在的恶意买卖票行为。因此,在上述各实施例的可信执行环境的投票系统中的描述和定义,可以用于本发明实施例中各个处理步骤的理解,具体可参考上述实施例,此处不在赘述。
如图3所示,为本发明实施例提供的基于可信执行环境的匿名投票方法的流程示意图,该方法运行于可信执行环境的enclave中,包括:
S301,接收用户的投票注册请求,并基于投票注册请求,调用enclave内部的注册函数,以利用注册函数生成用户的注册信息。
可以理解为,本发明实施例首先获取用户通过用户终端发送的投票注册请求,并根据该投票注册请求,调用enclave内部的注册函数,以利用该注册函数生成该用户的注册信息。
S302,调用区块链提供的选民注册合约函数,将注册信息公布在区块链中。
可以理解为,为保证注册信息的安全性、机密性和不可篡改性,本发明实施例调用区块链提供的选民注册合约函数,以将上述生成的用户的注册信息公布在区块链中。
S303,获取用户的首次注册信息和用户的投票选项,并调用enclave内部的投票函数,以基于首次注册信息和投票选项,利用投票函数生成选票。
可以理解为,本发明实施例首先获取用户首次注册的信息,即用户的首次注册信息,以及与该首次注册信息关联的用户投票选项。之后调用enclave内部的投票函数,以根据获取的用户的首次注册信息和用户的投票选项生成该用户对应的选票。
S304,调用区块链提供的投票合约函数,把选票公布在区块链中。
可以理解为,在生成选票的基础上,本发明实施例调用区块链提供的投票合约函数,把该选票公布在区块链中。
本发明实施例提供的基于可信执行环境的匿名投票方法,通过采用可信执行环境技术,将投票系统运行在可信执行环境中,并基于此将用户的投票注册信息公布在区块链中以限制用户的投票权,能够有效避免投票调查中可能存在的恶意买卖票行为,从而更好的保证投票结果的公正性。
进一步的,在投票截止后,本发明实施例的基于可信执行环境的匿名投票方法还可以包括:在enclave中调用计票函数,以根据所有用户对应的选票生成计票结果的证据文件,并把证据文件封装在区块链交易中;若接收到用户基于证据文件对计票结果验证通过的消息,则把计票结果公布在区块链中。
可以理解为,投票截止后,任意用户或者指定用户可以进行投票统计操作。首先由该用户向投票系统发送计票请求,投票系统则根据该计票请求在可信执行环境中调用计票函数,利用该计票函数对所有用户对应的选票进行统计计算,得到计票结果并生成证据文件,并把该证据文件封装在区块链交易中。在此基础上其它用户可根据该证件文件完成计票结果的验证,若验证通过共识,则投票系统把计票结果写入区块链中。
可以理解的是,以上所描述的系统的实施例仅仅是示意性的,其中作为分离部件说明的单元可以是或者也可以不是物理上分开的,既可以位于一个地方,或者也可以分布到不同网络单元上。可以根据实际需要选择其中的部分或全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上实施方式的描述,本领域的技术人员可以清楚地了解,各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如U盘、移动硬盘、ROM、RAM、磁碟或者光盘等,包括若干指令,用以使得一台计算机设备(如个人计算机,服务器,或者网络设备等)执行上述各方法实施例或者方法实施例的某些部分所述的方法。
另外,本领域内的技术人员应当理解的是,在本发明实施例的申请文件中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本发明实施例的说明书中,说明了大量具体细节。然而应当理解的是,本发明实施例的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。类似地,应当理解,为了精简本发明实施例公开并帮助理解各个发明方面中的一个或多个,在上面对本发明实施例的示例性实施例的描述中,本发明实施例的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。
然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明实施例要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明实施例的单独实施例。
最后应说明的是:以上实施例仅用以说明本发明实施例的技术方案,而非对其限制;尽管参照前述实施例对本发明实施例进行了详细的说明,本领域的技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明实施例各实施例技术方案的精神和范围。
Claims (7)
1.一种基于可信执行环境的匿名投票系统,其特征在于,所述投票系统运行于可信执行环境的enclave中,所述投票系统包括:
投票注册模块,用于根据用户的投票注册请求,通过调用enclave内部的注册函数和区块链提供的选民注册合约函数,生成所述用户的注册信息并将所述注册信息公布在区块链中;
投票模块,用于根据所述用户的首次注册信息和所述用户的投票选项,通过调用enclave内部的投票函数,生成选票,并通过调用区块链提供的投票合约函数,把所述选票公布在区块链中;
所述投票注册模块具体用于:
根据所述投票注册请求,通过调用enclave中的e_register函数,注册生成密文的vote_key,并在所述可信执行环境中存储vote_key对应的区块链账户(pk, sk)的数据;
通过调用区块链中选民注册合约中的sc_register函数,把vote_key公布在区块链中。
2.根据权利要求1所述的基于可信执行环境的匿名投票系统,其特征在于,还包括:
计票模块,用于根据所有用户对应的选票,通过在enclave中调用计票函数,生成计票结果的证据文件,并把所述证据文件封装在区块链交易中,用以在用户通过对所述计票结果的验证后,把所述计票结果公布在区块链中。
3.根据权利要求1所述的基于可信执行环境的匿名投票系统,其特征在于,所述投票模块具体用于:
通过调用enclave内部的投票函数e_vote,并传入所述用户的注册信息vote_key和所述用户的投票选项vote_choice构成的(vote_key,vote_choice)参数,生成所述选票;
通过调用区块链投票合约中的sc_vote函数,把所述选票公布在区块链中。
4.根据权利要求2所述的基于可信执行环境的匿名投票系统,其特征在于,所述计票模块具体用于:
基于任意用户的计票请求,调用enclave中的计票函数e_total,以根据所有用户对应的选票计算计票结果,并基于所述计票结果生成所述证据文件封装在区块链交易中;
接收用户对所述计票结果的验证请求,并在用户基于所述证据文件通过对所述计票结果的验证后,把所述计票结果公布在区块链中。
5.根据权利要求3所述的基于可信执行环境的匿名投票系统,其特征在于,所述投票模块还用于:
在生成所述选票之后,利用vote_key对应的区块链账户的私钥对所述选票进行签名;
相应的,通过调用sc_vote函数,把签名后的选票公布在区块链中。
6.一种基于可信执行环境的匿名投票方法,其特征在于,所述投票方法运行于可信执行环境的enclave中,所述投票方法包括:
接收用户的投票注册请求,并基于所述投票注册请求,调用enclave内部的注册函数,以利用所述注册函数生成所述用户的注册信息;
调用区块链提供的选民注册合约函数,将所述注册信息公布在区块链中;
获取所述用户的首次注册信息和所述用户的投票选项,并调用enclave内部的投票函数,以基于所述首次注册信息和所述投票选项,利用所述投票函数生成选票;
调用区块链提供的投票合约函数,把所述选票公布在区块链中;
其中,所述接收用户的投票注册请求,并基于所述投票注册请求,调用enclave内部的注册函数,以利用所述注册函数生成所述用户的注册信息;调用区块链提供的选民注册合约函数,将所述注册信息公布在区块链中,包括:
根据所述投票注册请求,通过调用enclave中的e_register函数,注册生成密文的vote_key,并在所述可信执行环境中存储vote_key对应的区块链账户(pk, sk)的数据;
通过调用区块链中选民注册合约中的sc_register函数,把vote_key公布在区块链中。
7.根据权利要求6所述的基于可信执行环境的匿名投票方法,其特征在于,还包括:
在enclave中调用计票函数,以根据所有用户对应的选票生成计票结果的证据文件,并把所述证据文件封装在区块链交易中;
若接收到用户基于所述证据文件对所述计票结果验证通过的消息,则把所述计票结果公布在区块链中。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910865244.9A CN110458995B (zh) | 2019-09-12 | 2019-09-12 | 基于可信执行环境的匿名投票系统和投票方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910865244.9A CN110458995B (zh) | 2019-09-12 | 2019-09-12 | 基于可信执行环境的匿名投票系统和投票方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110458995A CN110458995A (zh) | 2019-11-15 |
CN110458995B true CN110458995B (zh) | 2021-08-31 |
Family
ID=68491793
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910865244.9A Active CN110458995B (zh) | 2019-09-12 | 2019-09-12 | 基于可信执行环境的匿名投票系统和投票方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110458995B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111723381A (zh) * | 2020-07-03 | 2020-09-29 | 重庆智者炎麒科技有限公司 | 一种基于tee的投票方法和系统 |
CN112968881B (zh) * | 2021-02-01 | 2022-05-24 | 杭州复杂美科技有限公司 | 区块链匿名投票方法、计算机设备和存储介质 |
CN112995136A (zh) * | 2021-02-03 | 2021-06-18 | 浙江泰科数联信息技术有限公司 | 一种基于联盟链的k-out-of-m匿名投票方法 |
US20230394901A1 (en) * | 2022-06-02 | 2023-12-07 | Micron Technology, Inc. | Securing electronic ballot systems via secure memory devices with embedded hardware security modules |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104392534A (zh) * | 2014-11-21 | 2015-03-04 | 西南交通大学 | 一种基于手指静脉特征识别的电子投票系统 |
US20170109955A1 (en) * | 2015-10-20 | 2017-04-20 | Follow My Vote, Inc. | Blockchain electronic voting system and method |
EP3429122A1 (en) * | 2017-07-11 | 2019-01-16 | Panasonic Intellectual Property Corporation of America | Methods and apparatuses for controlling electronic voting |
CN110096551A (zh) * | 2019-04-23 | 2019-08-06 | 浙江泰链科技有限公司 | 基于区块链的信用数据存储方法、装置、设备及介质 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
LU100069B1 (en) * | 2017-02-10 | 2018-09-27 | Univ Luxembourg | Improved computing apparatus |
CN110198233B (zh) * | 2019-05-09 | 2021-11-19 | 中国人民解放军国防科技大学 | 基于可信执行环境和有向无环图的区块链共识方法及系统 |
-
2019
- 2019-09-12 CN CN201910865244.9A patent/CN110458995B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104392534A (zh) * | 2014-11-21 | 2015-03-04 | 西南交通大学 | 一种基于手指静脉特征识别的电子投票系统 |
US20170109955A1 (en) * | 2015-10-20 | 2017-04-20 | Follow My Vote, Inc. | Blockchain electronic voting system and method |
EP3429122A1 (en) * | 2017-07-11 | 2019-01-16 | Panasonic Intellectual Property Corporation of America | Methods and apparatuses for controlling electronic voting |
CN110096551A (zh) * | 2019-04-23 | 2019-08-06 | 浙江泰链科技有限公司 | 基于区块链的信用数据存储方法、装置、设备及介质 |
Non-Patent Citations (1)
Title |
---|
基于区块链的安全投票系统设计与实现;颜春辉等;《通信技术》;20180831;第51卷(第8期);第1981-1988页 * |
Also Published As
Publication number | Publication date |
---|---|
CN110458995A (zh) | 2019-11-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110458995B (zh) | 基于可信执行环境的匿名投票系统和投票方法 | |
Liu et al. | A blockchain-based decentralized, fair and authenticated information sharing scheme in zero trust internet-of-things | |
Brotsis et al. | On the suitability of blockchain platforms for IoT applications: Architectures, security, privacy, and performance | |
Khalid et al. | A blockchain based incentive provisioning scheme for traffic event validation and information storage in VANETs | |
CN112073484B (zh) | 一种基于联盟链的gdpr合规监管方法及系统 | |
Han et al. | A survey on blockchain-based integrity auditing for cloud data | |
Li et al. | A decentralized and secure blockchain platform for open fair data trading | |
Manoj et al. | A trusted IoT data sharing and secure oracle based access for agricultural production risk management | |
Dreier et al. | Formal verification of e-auction protocols | |
Juels et al. | The ring of gyges: Using smart contracts for crime | |
Hong et al. | Service outsourcing in F2C architecture with attribute-based anonymous access control and bounded service number | |
Saqib et al. | Anonymous and formally verified dual signature based online e-voting protocol | |
Silva et al. | Calculating the trust of providers through the construction weighted Sec-SLA | |
Bhatotia et al. | Steel: composable hardware-based stateful and randomised functional encryption | |
Avitabile et al. | Terrorist attacks for fake exposure notifications in contact tracing systems | |
US20230085763A1 (en) | Method and system for unified social media ecosystem with self verification and privacy preserving proofs | |
Rani et al. | A block chain-based approach using proof of continuous work consensus algorithm to secure the educational records | |
Feng et al. | Secure data collaborative computing scheme based on blockchain | |
Waziri et al. | A Secure Maturity Model for Protecting e-Government Services: A Case of Tanzania | |
de Farias et al. | Approach based on STPA extended with STRIDE and LINDDUN, and blockchain to develop a mission-critical e-voting system | |
CN113536372B (zh) | 数据处理方法、装置及电子设备 | |
CN115643047A (zh) | 一种基于诚信奖励的区块链身份认证方法 | |
Ssekibuule | Mobile agent security against malicious platforms | |
Oppermann et al. | Secure cloud computing: risk analysis for secure cloud reference architecture in legal metrology | |
Zhao et al. | Publicly Accountable Data-sharing Scheme Supporting Privacy Protection for Fog-enabled VANETs |
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 | ||
CB03 | Change of inventor or designer information |
Inventor after: Yang Wentao Inventor after: Wang Hu Inventor after: Li Wei Inventor after: Ji Zhonghua Inventor before: Wang Hu Inventor before: Li Wei Inventor before: Ji Zhonghua Inventor before: Yang Wentao |
|
CB03 | Change of inventor or designer information | ||
GR01 | Patent grant | ||
GR01 | Patent grant |