WO2020173278A1 - 用于投票的系统、方法和装置 - Google Patents

用于投票的系统、方法和装置 Download PDF

Info

Publication number
WO2020173278A1
WO2020173278A1 PCT/CN2020/073777 CN2020073777W WO2020173278A1 WO 2020173278 A1 WO2020173278 A1 WO 2020173278A1 CN 2020073777 W CN2020073777 W CN 2020073777W WO 2020173278 A1 WO2020173278 A1 WO 2020173278A1
Authority
WO
WIPO (PCT)
Prior art keywords
voting
data
user
secret sharing
client device
Prior art date
Application number
PCT/CN2020/073777
Other languages
English (en)
French (fr)
Inventor
黄慧
张振宇
刘正
应鹏飞
Original Assignee
阿里巴巴集团控股有限公司
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 阿里巴巴集团控股有限公司 filed Critical 阿里巴巴集团控股有限公司
Publication of WO2020173278A1 publication Critical patent/WO2020173278A1/zh

Links

Classifications

    • GPHYSICS
    • G07CHECKING-DEVICES
    • G07CTIME 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/00Voting apparatus

Definitions

  • voting refers to voting, and in particular to systems, methods, and devices for voting.
  • BACKGROUND [02]
  • electronic voting or research, hereinafter collectively referred to as "voting" based on computing devices has become more and more popular.
  • users input voting data or survey data through a computing device, and the voting data is transmitted to a server for statistics or aggregation to generate voting results.
  • the current electronic voting system may expose users' privacy, such as users' voting choices.
  • Some existing systems have already used anonymous voting mechanisms, but malicious users may still learn user privacy by accessing cookie data and user feature mining.
  • malicious users may also intercept and tamper with or forge user votes.
  • a system for voting includes: at least one client device and a plurality of intermediate servers, the at least one client device presents voting options to a user, and receives the The user selects voting options and generates voting data, uses a secret sharing algorithm to convert the voting data into multiple data fragments, and transmits the multiple data fragments to multiple intermediate servers, wherein the secret sharing algorithm Making it impossible to reconstruct the voting data from data fragments less than a threshold number; the plurality of intermediate servers receive the data fragments from the at least one client device, wherein the data fragments greater than or equal to the threshold number are Used to reconstruct the voting data.
  • the client device presents pictures, animations, text or voice to the user to inform the user of the working principle of the secret sharing algorithm.
  • the voting data does not include user identification information.
  • the secret sharing algorithm is a Shamir threshold secret sharing algorithm.
  • the system includes one or more reconstruction servers, wherein the reconstruction server obtains data fragments greater than or equal to a threshold number from the plurality of intermediate servers and uses the data fragments to reconstruct The voting data.
  • the system includes a plurality of client devices corresponding to a plurality of users, and voting data from the plurality of client devices are summarized after being reconstructed to generate a summary result.
  • the system includes a summary server, and the summary server executes the summary to generate the summary result.
  • each data segment is transmitted to only one intermediate server.
  • a method for voting including: presenting voting options to a user through a client device; receiving a user's selection of voting options through the client device to generate voting data; and The device uses a secret sharing algorithm to convert the voting data into multiple data fragments, wherein the secret sharing algorithm makes it impossible to reconstruct the voting data from a number of data fragments less than a threshold; The data fragments are transmitted to multiple intermediate servers, and the data fragments greater than or equal to the threshold number are used to reconstruct the voting data.
  • a method for voting including: receiving a plurality of data fragments from a client device through a plurality of intermediate servers, where the data fragments are based on the client device
  • a secret sharing algorithm is generated by converting voting data, wherein the secret sharing algorithm makes it impossible to reconstruct the voting data from data fragments less than a threshold number; and transmitting data fragments greater than or equal to a threshold number through the plurality of intermediate servers To a reconstruction server, where the reconstruction server uses data fragments greater than or equal to the threshold number to reconstruct the voting data.
  • a device in yet another aspect, includes a memory; a communication interface; and a processor, which is communicatively connected to the memory and the communication interface, and the processor operates to implement the Methods of each embodiment.
  • a computer-readable storage medium including computer-executable instructions stored thereon is also disclosed.
  • the processor executes the The method of each embodiment described.
  • the threshold data required to reconstruct the voting data can be set as required, such as according to the required protection level, thereby making privacy protection more flexible.
  • the characteristics of the secret sharing algorithm make it difficult for malicious users to tamper or forge user votes, thereby enhancing the credibility of votes.
  • FIG. 1 is a schematic diagram showing a system for voting according to an embodiment of the present specification.
  • FIG. 2 is a schematic diagram showing a system for voting according to another embodiment of the present specification.
  • FIG. 3 is a schematic diagram showing a system for voting according to another embodiment of the present specification.
  • FIG. 4 is a schematic diagram showing an example of a picture displayed to a user according to an embodiment of the present specification.
  • FIG. 5 is a flowchart illustrating a method for voting performed by a client device according to an embodiment of the present specification.
  • FIG. 6 is a flowchart showing a method for voting performed by an intermediate server according to an embodiment of the present specification.
  • DETAILED DESCRIPTION [30] The following describes the detailed features and advantages of the embodiments of this specification in detail in the specific embodiments, and the content is sufficient to enable any person skilled in the art to understand the technical content of the embodiments of this specification and implement them accordingly, and according to With regard to the specification, claims and drawings disclosed in this specification, those skilled in the art can easily understand the purposes and advantages related to the embodiments of this specification.
  • Secret sharing also known as secret sharing or secret sharing
  • secret sharing is a method where the dealer splits a secret into multiple shares (share) in a group of participants (also called secret sharing). It is the distribution mechanism among the "shareholders").
  • secret sharing algorithm the secret can be reconstructed only when the shares greater than or equal to the threshold number are used in combination; a single share or the share less than the threshold number cannot be used to reconstruct the secret or information about the secret.
  • a typical secret sharing algorithm is the "Shamir Secret Sharing Algorithm", which usually uses a (p, t) threshold scheme.
  • the secret is "split" into p shares, and the secret can be reconstructed only when at least t (ie threshold) shares are used in combination (where p and t are both positive integers, JL p> t, usually p>t).
  • p and t are both positive integers, JL p> t, usually p>t.
  • FIG. 1 shows a schematic diagram of a voting system 100 according to an embodiment of the present specification, which shows a situation of a client device.
  • the system 100 includes a client device 102 and a plurality of (for example, p) intermediate servers 104-1 to 104-p.
  • the client device 102 may act as a voting terminal in order to receive voting data from users.
  • a voting application may be installed on the client device 102, and the voting application presents voting options to the customer for the customer to choose from.
  • the voting application may be a browser or a dedicated voting application.
  • Users can vote through the voting app.
  • the voting may be anonymous voting. In other words, the voting data does not include any user identification information.
  • the voting may be a non-anonymous voting.
  • the voting data may include user identification information, such as user ID, ID number, and so on.
  • the user may need to register and log in to vote.
  • the client device can obtain the user's identification information (such as the user's identity, user name, etc.).
  • user identification information can be included in the voting data for subsequent use.
  • voting described in this application may include multiple options for the user, and the user can select one or more voting options from the multiple options.
  • users can vote for a dinner time.
  • the client device 102 may present multiple meal times to the user as voting options for the user to choose from. Users can choose from the voting options Select one or more voting options.
  • the client device 102 can receive the user's selection of voting options through the voting application and generate voting data.
  • users can vote on multiple questions, for example, users can vote to choose a meal time and place.
  • the client device 102 may present to the user multiple gathering times as voting options in the first voting question for the user to choose from, and present multiple gathering places to the user as voting options in the second voting question. For users to choose from.
  • the user can select one or more voting options from the voting options for these two voting questions.
  • the client device 102 can receive the user's selection of voting options through the voting application and generate voting data.
  • the client device 102 can present open questions to the user, and the user can input answers to these questions (for example, numeric input or text input).
  • Client device can present open questions to the user, and the user can input answers to these questions (for example, numeric input or text input).
  • 102 may generate voting data based on the user's answer.
  • the voting may also take more unconventional forms.
  • likes, likes, or recommendations on social networking sites can also be regarded as a kind of voting.
  • a user may click on the up thumb icon under another user’s post on a social networking site service to express approval of the post, which can be regarded as an approval vote for the content of the post; and clicking down The thumb icon of can be regarded as a negative vote for the content of the post.
  • clicking the love icon below the post can be regarded as a user's vote for the content of the post, while not clicking the love icon can be regarded as the user's vote against the content of the post.
  • Many similar voting methods can be conceived.
  • the client device 102 may use a secret sharing algorithm to process the voting data to convert the voting data into multiple data fragments.
  • the secret sharing algorithm makes it impossible The voting data is reconstructed from data fragments less than the threshold number.
  • the client device 102 can act as a dealer in a secret sharing algorithm, voting data can act as a secret, and data shards can act as a share, as described above.
  • the client device 102 may transmit the multiple data fragments to multiple intermediate servers.
  • the voting data is converted into p data fragments, and the p data fragments are transmitted to p intermediate servers 104-1 to 104-p, so that each data fragment is transmitted to one intermediate server Server, as shown in Figure 1.
  • the intermediate server cannot reconstruct the voting data.
  • the client device may encrypt the data fragment to obtain an encrypted data fragment.
  • the encryption can be performed using various encryption algorithms. Encrypting data fragments can further protect user privacy.
  • the intermediate server can decrypt the encrypted data segment to obtain the decrypted data segment .
  • the number of data fragments greater than or equal to the threshold can be used to reconstruct voting data.
  • the system 100 may include an independent reconstruction server 106, and the reconstruction server 106 may be different from the intermediate servers 104-1 to 104-p.
  • multiple intermediate servers for example, intermediate servers 104-1 to 104-t
  • the reconstruction server 106 can use the number of data fragments greater than or equal to the threshold to reconstruct voting data.
  • the system 100 may not include an independent reconstruction server 106, but one or more of the plurality of intermediate servers may act as a reconstruction server.
  • the intermediate server 104-1 may act as a reconstruction server.
  • other intermediate servers can send data fragments to the intermediate server (for example, the intermediate server 104-1) that acts as the reconstruction server.
  • a secret reconstruction algorithm can be used to reconstruct the voting data.
  • the intermediate server acting as the reconstruction server itself has stored data fragments, there is no need to transmit a threshold number of data fragments to the intermediate server acting as the reconstruction server, only the intermediate server acting as the reconstruction server.
  • the number of obtained data fragments is greater than or equal to the threshold number.
  • the secret reconstruction algorithm can correspond to the secret sharing algorithm.
  • the specific details of the secret reconstruction algorithm are well known in the art, and will not be described in detail here.
  • FIG. 3 shows a schematic diagram of a system 300 for voting according to another embodiment of the present specification, which shows a situation of multiple client devices used by multiple users.
  • the system 300 may include multiple (e.g., n) client devices 302-1 to 302-n and multiple (e.g., p) intermediate servers 304-1 to 304-p.
  • each of the client devices 302-1 to 302-n can operate as the client device 102 described with reference to FIGS. 1 and 2.
  • each of the client devices 302-1 to 302-n may present a voting option to the user, and receive the user's selection of the voting option to generate voting data of the corresponding user.
  • each of the client devices 302-1 to 302-n can convert the voting data of the corresponding user into data fragments.
  • all client devices 302-1 to 302-n may transmit their data fragments to the same set of intermediate servers 304-1 to 304-p.
  • different client devices 302-1 to 302-n may transmit their data fragments to different intermediate server groups, and these different intermediate server groups may overlap (for example, they may include one Or multiple identical intermediate servers) or no overlap.
  • multiple client devices may be located in different regions, and the client devices transmit their data fragments to the intermediate servers in their corresponding regions.
  • the multiple intermediate servers 304-1 to 304-p may transmit multiple data fragments corresponding to the same voting data to the reconstruction servers 306-1 to 306-m, so that the reconstruction server 306-1 By 306-m, the number of data fragments greater than or equal to the threshold can be used to reconstruct the corresponding voting data.
  • the system 300 may include one or more independent reconstruction servers 306-1 to 306-m.
  • voting data from different client devices can be reconstructed at the same or different reconstruction servers.
  • the voting data from the client devices 302-1 and 302-n may be reconstructed at the reconstruction server 306-1, and the voting data from the client device 302-2 may be reconstructed at the reconstruction server 306-m .
  • the system 300 may not include an independent reconstruction server, but one or more intermediate servers act as the reconstruction server.
  • one or more intermediate servers act as the reconstruction server.
  • some reconstruction servers are independent reconstruction servers, and some reconstruction servers are performed by intermediate servers.
  • the aggregation server 308 is for aggregation.
  • the system 300 may include an independent aggregation server 308, and the aggregation server 308 may The voting data from multiple client devices obtains the voting options of multiple users, and processes the voting options of the multiple users to generate a summary result.
  • the aggregation server can summarize the choices of multiple users on the dinner time to obtain the final summary result. For example, the dinner time with the most votes can be selected as the final dinner time. time.
  • the system may not include a separate aggregation server.
  • the aggregation server may be, for example, from one or more of the plurality of intermediate servers 304-1 to 304-p or the one or more independent reconstruction servers 306-1 to 306-m (if any). responsible.
  • the client device may present pictures, animations, text or voice to the user to inform the user
  • the working principle of the secret sharing algorithm is described.
  • the picture or animation can explain to the user why this manual system can better protect user privacy, so that users can participate in voting with confidence and increase user participation.
  • a picture as shown in FIG. 4 may be displayed to the user, and the picture shows the user the working principle of the secret sharing algorithm.
  • the picture shows some main features of the embodiments of this specification in a simple and easy-to-understand form.
  • the pictures may include icon images of client devices, intermediate servers, reconstruction servers, etc., and related arrows, with the text "Your vote will be broken into pieces and sent to the server separately" and "Even if a malicious third party intercepts It is impossible to recover your voting information after one or more fragments, which enhances the security of your information" and "Your voting is only reconstructed on our secure server", etc., which roughly explains the solution to users The working principle of, explains why this solution can improve the privacy protection of users, thereby increasing user participation.
  • animations can be displayed to users instead of simple pictures.
  • the user can be shown the animation or picture that the user is voting on. For example, an animation of a person casting a ballot in the ballot box can be shown to the user.
  • the user’s vote can be shown to the user as a secret and converted into multiple secret animations or pictures. For example, it can be shown to the user that the user's ballot is exploded and forms an animation of multiple fragments. At this stage, it can be explained to the user that the user's voting data will be algorithmically split into multiple pieces.
  • the user can be shown the animation or picture of each secret segment being transmitted to multiple intermediate servers.
  • the user may be shown an animation of the fragments generated by the second stage explosion flying to the server.
  • the fragments of the user's voting data will be transmitted to multiple servers.
  • the user can be shown to the user one or more animations or pictures where the secret segment is leaked. For example, it can be shown to the user that someone intercepted the explosive fragments in the third stage. At this stage, it can be explained to the user that this is a hypothetical scenario where one or more fragments of the user's voting data are intercepted by a malicious third party.
  • the user can be shown that less than a threshold number of secret fragments cannot be used to reconstruct secret animations or pictures. For example, it can be shown to the user that the person who intercepted the explosive fragments in the third step could not assemble the original selection animation from the fragments.
  • the user can be explained to the user that the secret sharing algorithm makes it impossible to reconstruct secrets from secret fragments less than the threshold number.
  • the user can be shown that the intermediate server transmits multiple fragments to the reconstruction server, and the reconstruction server reconstructs the secret animation or picture.
  • the fragments are sent to the reconstruction server, and the reconstruction server reconstructs the animation of the ballot.
  • the secret sharing algorithm can realize the reconstruction of secrets with more than or equal to the threshold number of secret fragments.
  • a text description may be presented to the user.
  • the following text description can be presented to the user:
  • a voice may be played to the user, which explains how the secret sharing algorithm works.
  • the voice of the text in the above embodiment can be played.
  • pictures, animations, or a combination of text and voice may be presented to the user at the same time.
  • a voice description can be played while the picture is presented to the user.
  • FIG. 2 and FIG. 3 the embodiment of the present specification discloses a system.
  • the system may include one or more client devices and multiple intermediate servers. Said one or more customers
  • the terminal device refer to the client device 102 described in FIG. 1 or FIG. 2 or the client devices 302-1 to 302-n described in FIG. 3.
  • the multiple intermediate servers refer to the intermediate servers 104-1 to 104-p shown in FIG. 1 and FIG. 2 or refer to the intermediate servers 304-1 to 304-p shown in FIG.
  • the one or more client devices may present voting options to the user, receive the user's selection of the voting options and generate voting data, and use a secret sharing algorithm to convert the voting data into multiple data fragments, And transmitting the multiple data fragments to multiple intermediate servers.
  • the secret sharing algorithm makes it impossible to reconstruct the voting data from data fragments less than the threshold number.
  • the plurality of intermediate servers receive the data fragments from the client device, wherein the data fragments greater than or equal to the threshold number are used to reconstruct the voting data.
  • the client device may present pictures, animations, text or voice to the user to inform the user of the working principle of the secret sharing algorithm.
  • the voting data may or may not include user identification information.
  • the secret sharing algorithm may be, for example, the Shamir threshold secret sharing algorithm.
  • the system may also include one or more reconstruction servers.
  • the reconstruction server may be performed by one or more of the plurality of intermediate servers.
  • the reconstruction server obtains data fragments greater than or equal to a threshold number from the plurality of intermediate servers and uses the data fragments to reconstruct the voting data.
  • the system may also include an aggregation server.
  • the summary server may be performed by one or more of the intermediate server or the reconstruction server.
  • the aggregation server refer to the aggregation server 306 described in FIG. 3.
  • the voting data from the plurality of client devices are aggregated after being reconstructed to generate aggregated results.
  • FIG. 5 shows a flowchart of a method 500 for voting according to an embodiment of the present specification.
  • the method can be executed by referring to the client device 102 shown in FIG. 1 and FIG. 2 or by referring to the client devices 302-1 to 302-n shown in FIG. [92]
  • the method 500 may include: In step 502, voting options may be presented to the user through the client device.
  • the method 500 may include: Optionally, in step 501 before, during or after step 502, the client device may present pictures, text, voice or animation to the user to inform the user of the secret sharing algorithm working principle. [94] The method 500 may include: In step 504, a user's selection of voting options may be received through the client device to generate voting data.
  • the method 500 may include: In step 506, a client device may use a secret sharing algorithm to convert the voting data into multiple data fragments, wherein the secret sharing algorithm makes it impossible to obtain data fragments from less than a threshold number. Reconstruct the voting data.
  • the method 500 may further include: in step 508, the plurality of data fragments may be transmitted to a plurality of intermediate servers through the client device, wherein the data fragments greater than or equal to the threshold number are used to reconstruct all the data fragments.
  • the voting data may further include: in step 508, the plurality of data fragments may be transmitted to a plurality of intermediate servers through the client device, wherein the data fragments greater than or equal to the threshold number are used to reconstruct all the data fragments.
  • the voting data may further include: in step 508, the plurality of data fragments may be transmitted to a plurality of intermediate servers through the client device, wherein the data fragments greater than or equal to the threshold number are used to reconstruct all the data fragments. The voting data.
  • FIG. 6 shows a flowchart of a method 600 for voting according to an embodiment of the present specification.
  • the method can be executed by the intermediate servers 104-1 to 104-p shown in Fig. 1 and Fig. 2 or the intermediate servers 304-1 to 304-P shown in Fig. 3.
  • the method 600 may include: In step 602, a plurality of data fragments may be received from a client device through a plurality of intermediate servers, and the data fragments are obtained by converting voting data by the client device based on a secret sharing algorithm. , Wherein the secret sharing algorithm makes it impossible to reconstruct the voting data from data fragments less than the threshold number.
  • the method 600 may further include: in step 604, the plurality of intermediate servers may transmit data fragments greater than or equal to a threshold number to the reconstruction server, wherein the reconstruction server uses the Data fragmentation is used to reconstruct the voting data.
  • the reconstruction server may be performed by one or more of the plurality of intermediate servers.
  • this application also discloses a device that includes a memory; a communication interface; and a processor, which is communicatively connected to the memory and the communication interface, and the processor operates to implement the various implementations described herein. Example method.
  • this application also discloses a computer-readable storage medium including computer-executable instructions stored thereon, which when executed by a processor causes the processor to execute the instructions described herein The method of each embodiment.

Landscapes

  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Information Transfer Between Computers (AREA)
  • Storage Device Security (AREA)

Abstract

本说明书的实施例公开了一种用于投票的系统,所述系统包括:至少一个客户端设备和多个中间服务器,每个客户端设备向用户呈现投票选项,接收所述用户对投票选项的选择并生成投票数据,使用秘密分享算法将所述投票数据转换为多个数据分片,以及将所述多个数据分片传送到多个中间服务器,其中所述秘密分享算法使得无法从小于阈值数量的数据分片重构所述投票数据。中间服务器从所述至少一个客户端设备接收所述数据分片,其中大于等于所述阈值数量的数据分片被用来重构所述投票数据。本说明书实施例还公开了用于投票的方法和装置。

Description

用于投票的系统、 方法和装置 技术领域
[01] 本说明书的实施例涉及投票, 尤其涉及用于投票的系统、 方法和装置。 背景技术 [02] 目前, 基于计算设备的电子投票(或调研, 以下统称 “投票” ) 已经越来越普及。 在电子投票中, 用户通过计算设备输入投票数据或调研数据, 所述投票数据被传送至服 务器以供统计或汇总以生成投票结果。
[03] 然而, 目前的电子投票系统有可能暴露用户的隐私, 比如用户的投票选择。 一些 现有系统已经使用匿名投票机制, 但恶意用户通过访问 cookie数据、 用户特征挖掘等方 式, 仍然有可能获知用户隐私。 此外, 恶意用户还可能截获并篡改或伪造用户投票。
[04] 因此, 需要能够增加用户投票的私密性和可信度的投票系统、 方法和装置。 发明内容
[05] 为了进一步增加用户投票的私密性和可信度, 本说明书的实施例提供了改进的投 票系统、 方法和装置。 [06] 本说明书的实施例通过以下技术方案来实现其上述目的。
[07] 在一个方面中, 公开了一种用于投票的系统, 所述系统包括: 至少一个客户端设 备以及多个中间服务器, 所述至少一个客户端设备向用户呈现投票选项, 接收所述用户 对投票选项的选择并生成投票数据, 使用秘密分享算法将所述投票数据转换为多个数据 分片, 以及将所述多个数据分片传送到多个中间服务器, 其中所述秘密分享算法使得无 法从小于阈值数量的数据分片重构所述投票数据; 所述多个中间服务器从所述至少一个 客户端设备接收所述数据分片, 其中大于等于所述阈值数量的数据分片被用来重构所述 投票数据。
[08] 优选地, 所述客户端设备向用户呈现图片、 动画、 文字或语音以向所述用户告知 所述秘密分享算法的工作原理。 [09] 优选地, 所述投票数据不包括用户标识信息。 [10] 优选地, 所述秘密分享算法是 Shamir阈值秘密分享算法。
[11] 优选地, 所述系统包括一个或多个重构服务器, 其中所述重构服务器从所述多个 中间服务器获得大于等于阈值数量的数据分片并使用所述数据分片来重构所述投票数 据。 [12] 优选地, 所述系统包括对应于多个用户的多个客户端设备, 来自所述多个客户端 设备的投票数据在被重构之后被汇总以便生成汇总结果。
[13] 优选地, 所述系统包括汇总服务器, 所述汇总服务器执行所述汇总以生成所述汇 总结果。
[14] 优选地, 每个数据分片仅被传送至一个中间服务器。 [15] 在另一个方面中, 公开了一种用于投票的方法, 包括: 通过客户端设备向用户呈 现投票选项; 通过客户端设备接收用户对投票选项的选择以生成投票数据; 通过客户端 设备使用秘密分享算法将所述投票数据转换为多个数据分片,其中所述秘密分享算法使 得无法从小于阈值数量的数据分片重构所述投票数据; 以及通过客户端设备将所述多个 数据分片传送到多个中间服务器,其中大于等于所述阈值数量的数据分片被用于重构所 述投票数据。
[16] 在另一个方面中, 公开了一种用于投票的方法, 包括: 通过多个中间服务器从客 户端设备接收多个数据分片, 所述数据分片是由所述客户端设备基于秘密分享算法转换 投票数据生成的,其中所述秘密分享算法使得无法从小于阈值数量的数据分片重构所述 投票数据; 以及通过所述多个中间服务器将大于等于阈值数量的数据分片传送给重构服 务器,其中所述重构服务器使用大于等于所述阈值数量的数据分片来重构所述投票数据。
[17] 在又一个方面中, 还公开了一种装置, 该装置包括存储器; 通信接口; 和处理器, 与所述存储器和通信接口通信地连接,所述处理器操作以实现本文所述的各实施例的方 法。
[18] 在再一个方面中, 还公开一种包括存储于其上的计算机可执行指令的计算机可读 存储介质, 所述计算机可执行指令在被处理器执行时使得所述处理器执行本文所述的各 实施例的方法。
[19] 与现有技术相比, 本说明书的实施例可具有如下有益效果:
[20] 在本说明书的一些实施例中, 由于需要阈值数量的数据分片才能重构投票数据, 所以即便一个或多个客户端设备或中间传输过程受到破坏, 恶意用户仍然无法重构投票 数据, 从而更好地保护了用户的隐私。 重构投票数据所需的阈值数据可按需设置, 诸如 根据所需要的保护等级来设置, 由此使得隐私保护更具灵活性。
[21] 在本说明书的一些实施例中, 秘密分享算法的特性使得恶意用户很难篡改或伪造 用户投票, 从而提升了投票的可信度。
[22] 当然, 实施本申请的任一技术方案无需同时达到所有上述技术效果。 附图说明
[23] 以上发明内容以及下面的具体实施方式在结合附图阅读时会得到更好的理解。 需 要说明的是, 附图仅作为所请求保护的发明的示例。 在附图中, 相同的附图标记代表相 同或类似的元素。
[24] 图 1是示出根据本说明书的实施例的用于投票的系统的示意图。
[25] 图 2是示出根据本说明书的另一实施例的用于投票的系统的示意图。
[26] 图 3是示出根据本说明书的另一实施例的用于投票的系统的示意图。
[27] 图 4是示出根据本说明书的实施例的向用户显示的图片的示例的示意图。 [28] 图 5 是示出根据本说明书的实施例的由客户端设备执行的用于投票的方法的流程 图。
[29] 图 6 是示出根据本说明书的实施例的由中间服务器执行的用于投票的方法的流程 图。 具体实施方式 [30] 以下在具体实施方式中详细叙述本说明书的实施例的详细特征以及优点, 其内容 足以使任何本领域技术人员了解本说明书的实施例的技术内容并据以实施, 且根据本说 明书所揭露的说明书、 权利要求及附图, 本领域技术人员可轻易地理解本说明书的实施 例相关的目的及优点。
[31] 为了提升投票的私密性以及可信度, 本说明书的一些实施例提供了改进的投票方 法、 系统和计算机可读介质。 本说明书的方案将秘密分享应用于投票, 从而大幅降低了 进行投票的用户的隐私被泄露或投票数据被篡改 /伪造的可能性。 [32] 下面, 首先将对 “秘密分享” 进行筒单介绍。 然后参考附图, 分别介绍本说明书 所提出的投票系统及其组成部分, 从客户端设备视角的本说明书的用于投票的方法, 从 中间服务器视角的本说明书的用于投票的方法, 以及可用于实现本说明书的方法的计算 设备。 最后, 将筒要说明本说明书所提供的突出的技术效果。 [33] 秘密分享( “secret sharing”,又称为秘密分割或秘密共享)是一种由庄家( dealer) 将秘密( secret)拆分为多个份额( share)在一组参与者(又称为“份额持有者( shareholder)”) 中分发的机制。 通常, 通过秘密分享算法, 仅当大于等于阈值数量的份额被组合使用时 才能重构秘密; 单个份额或者小于阈值数量的份额则无法被用来重构秘密或关于秘密的 信息。 [34] 一种典型的秘密分享算法是 “Shamir秘密分享算法” , 这种算法通常采用(p, t)阈 值方案。 具体而言, 秘密被 “拆分” 为 p个份额, 仅当至少 t(即阈值)个份额被组合 使用时才能够重构秘密 (其中 p和 t均为正整数, JL p > t, 通常 p>t) 。 秘密分享算法 的具体细节是本领域技术人员已知的, 在下文中将不对其进行详细描述。
[35] 参见附图 1, 其中示出了根据本说明书的实施例的用于投票的系统 100的示意图, 其示出了一个客户端设备的情形。 如图 1所示, 假设系统 100包括客户端设备 102和多 个(例如 p个) 中间服务器 104-1到 104-p。
[36] 在实施例中, 客户端设备 102可充当投票终端, 以便接收来自用户的投票数据。 在一些实施例中, 在客户端设备 102上可安装投票应用, 该投票应用向客户呈现投票选 项, 以供客户从中选择。 例如, 该投票应用可以是浏览器或专用投票应用。 [37] 用户可通过投票应用进行投票。 优选地, 该投票可以是匿名投票。 也就是说, 投 票数据中不包括任何用户标识信息。
[38] 替代地, 该投票可以是非匿名投票, 在此情况下, 投票数据中可包括用户标识信 息, 例如用户 ID、 身份证号等等。 例如, 在一些情况下, 用户可能需要注册并登录来 进行投票, 此时客户端设备可获得用户的标识信息(例如用户的身份、 用户名等) 。 在 一些情况下, 可将用户标识信息包括在投票数据中, 以供随后使用。
[39] 需要指出的是, 本申请中所述的投票可包括, 其中可向用户提供多个选项, 用户 可从所述多个选项中选择一个或多个投票选项。
[40] 例如, 在一个投票示例中, 用户可投票选择聚餐时间。 此时, 客户端设备 102可 向用户呈现多个聚餐时间作为投票选项以供用户从中选择。用户可从所述投票选项中选 择一个或多个投票选项。 此时, 客户端设备 102可通过投票应用来接收用户对投票选项 的选择并生成投票数据。
[41] 在另一投票示例中, 用户可就多个问题进行投票, 例如用户可投票选择聚餐时间 和聚餐地点。 此时, 客户端设备 102可在第一个投票问题中向用户呈现多个聚餐时间作 为投票选项以供用户从中选择, 并在第二个投票问题中向用户呈现多个聚餐地点作为投 票选项以供用户从中选择。 用户可针对这两个投票问题从所述投票选项中选择一个或多 个投票选项。 同样地, 客户端设备 102可通过投票应用来接收用户对投票选项的选择并 生成投票数据。
[42] 显然, 可存在多种其它投票或调研形式。 例如, 客户端设备 102 可向用户呈现开 放式问题, 且用户可输入对这些问题的回答(例如数字输入或文本输入) 。 客户端设备
102可基于用户的回答生成投票数据。
[43] 所述投票还可采用更不传统的形式。 例如, 在社交网站上的点赞、 喜欢或者推荐 等也可被视为一种投票。 例如, 用户可能在社交网站服务上点击其它用户的帖子下面的 向上的大拇指图标, 从而表达对该帖子的赞成, 这可被视为等同于对该帖子的内容的赞 成票; 而点击向下的大拇指图标可被视为对该帖子的内容的反对票。 类似地, 点击帖子 下面的爱心图标可被视为用户对该帖子的内容投赞成票, 而不点击爱心图标可被视为用 户对该帖子的内容投反对票。 可构想多种类似的投票方式。
[44] 客户端设备 102 在接收到来自用户的投票数据之后, 可以采用秘密分享算法来对 投票数据进行处理, 以将所述投票数据转换为多个数据分片, 所述秘密分享算法使得无 法从小于阈值数量的数据分片重构所述投票数据。 例如, 客户端设备 102可充当秘密分 享算法中的庄家, 投票数据可充当秘密, 而数据分片则可充当份额, 如上面所介绍的。
[45] 在本说明书的实施例中, 可采用各种秘密分享算法。 优选地, 可采用 Shamir阈值 秘密分享算法。在以下描述中将以 Shamir秘密分享算法为例来描述本说明书的实施例, 但应理解, 本说明书不限于此。 [46] 优选地, 客户端设备 102 可将所述多个数据分片传送到多个中间服务器。 例如, 优选地, 投票数据被转换为 p个数据分片, 且所述 p个数据分片被传送到 p个中间服务 器 104-1到 104-p, 从而每个数据分片被传送到一个中间服务器, 如图 1中所示。 此时, 少于阈值数量 (例如 t个) 中间服务器无法重构投票数据。
[47] 在另一些实施例中, 数据分片和中间服务器可不存在—对应关系。 例如, 多个 不同的数据分片可被传送到同一中间服务器。 又例如, 一个数据分片可被传送到多个中 间服务器。 通常, 无论采用何种传送方式, 优选地所述传送方式使得小于一定数量(例 如第二阈值数量)的中间服务器无法重构投票数据, 从而保证在少于一定数量的中间服 务器的数据被泄露的情况下, 投票数据仍旧无法被重构, 从而保护了客户的隐私。 [48] 优选地, 客户端设备在传送所述数据分片之前, 可对所述数据分片进行加密, 以 得到经加密的数据分片。 所述加密可采用各种加密算法进行。 对数据分片进行加密能够 进一步保护用户的隐私。
[49] 优选地, 当所述数据分片被客户端设备加密时, 中间服务器 (或者下面提及的重 构服务器) 可对经加密的数据分片进行解密, 以得到经解密的数据分片。 [50] 在数据分片被中间服务器接收之后, 大于等于阈值数量的数据分片可被用于重构 投票数据。
[51] 对投票数据的重构可采用各种方式进行。
[52] 在一些实施例中, 如图 2所示, 系统 100可包括独立的重构服务器 106 , 所述重构 服务器 106可以不同于中间服务器 104- 1到 104-p。 在此情况下, 多个中间服务器 (例 如中间服务器 104- 1 到 104-t) 可向所述重构服务器传送数据分片。 当重构服务器 106 接收到大于等于阈值数量的数据分片时, 重构服务器 106就能够使用该大于等于阈值数 量的数据分片来重构投票数据。
[53] 在另一些实施例中, 系统 100可不包括独立的重构服务器 106, 而是所述多个中间 服务器中的一个或多个可担当重构服务器。例如,中间服务器 104- 1可担当重构服务器。 此时, 其它中间服务器可向担当重构服务器的中间服务器 (例如中间服务器 104-1) 传 送数据分片。 在担当重构服务器的中间服务器获得足够数量(大于等于阈值数量) 的数 据分片之后, 就可采用秘密重构算法来重构投票数据。 可以领会, 在担当重构服务器的 中间服务器本身已存储了数据分片的情况下, 无需向担当重构服务器的中间服务器传送 阈值数量的数据分片, 只需该担当重构服务器的中间服务器所获得的数据分片的数量 (即其从其它中间服务器接收的数据分片的数量加上其本身从客户端设备接收的数据 分片的数量) 大于等于阈值数量即可。
[54] 通常, 秘密重构算法可与秘密分享算法相对应。 秘密重构算法的具体细节是本领 域公知的, 在此将不对其进行详细描述。
[55] 以上示例显示了单个客户端设备的情况。 在实践中, 投票或调研通常针对多个用 户进行。
[56] 参见图 3,其中示出了根据本说明书的另一实施例的用于投票的系统 300的示意图, 其示出了由多个用户使用的多个客户端设备的情形。 例如, 系统 300可包括多个(例如 n个)客户端设备 302-1到 302-n和多个(例如 p个) 中间服务器 304-1到 304-p。
[57] 在这样的情况下,客户端设备 302-1到 302-n中的每一个都可如参考图 1和 2所描 述的客户端设备 102—样操作。 例如, 客户端设备 302-1到 302-n中的每一个都可向用 户呈现投票选项, 接收用户对投票选项的选择以生成相应用户的投票数据。
[58] 如同参考客户端设备 102所描述的,客户端设备 302-1到 302-n中的每一者可将相 应用户的投票数据转换为数据分片。 [59] 在图 3的示例中, 在一些实施例中, 所有客户端设备 302-1到 302-n可将其数据分 片传送给相同的一组中间服务器 304-1到 304-p。 但应当领会, 在另一些实施例中, 不 同客户端设备 302- 1到 302-n可将其数据分片传送给不同的中间服务器组, 这些不同的 中间服务器组可能有重叠 (例如可包括一个或多个相同的中间服务器)或者没有重叠。 例如, 多个客户端设备可位于不同区域, 而客户端设备将其数据分片传送给其对应区域 的中间服务器。
[60] 多个中间服务器 304-1到 304-p可将与同一投票数据相对应的多个数据分片传送给 重构服务器 306-1到 306-m, 从而所述重构服务器 306-1到 306-m能够使用所述大于等 于阈值数量的数据分片来重构相对应的投票数据。
[61] 在一些实施例中, 与上面参考图 2所描述的类似地, 系统 300可包括一个或多个 独立的重构服务器 306-1到 306-m。 例如, 在多个重构服务器的情况下, 来自不同客户 端设备的投票数据可在相同或不同重构服务器处重构。 例如, 来自客户端设备 302-1和 302-n的投票数据可在重构服务器 306-1处重构,而来自客户端设备 302-2的投票数据可 在重构服务器 306-m处重构。
[62] 替代地,与上面参考图 1所描述的类似地, 系统 300可不包括独立的重构服务器, 而是由一个或多个中间服务器担当重构服务器。当然,也可存在混合情况,在此情况下, 有些重构服务器为独立的重构服务器, 而有些重构服务器由中间服务器担当。
[63] 重构服务器 306-1到 306-m在重构以生成与该多个客户端设备 302-1到 302-n相对 应的多个投票数据之后, 可将该多个投票数据传送至汇总服务器 308以供汇总。
[64] 如图 3所示, 系统 300可包括独立的汇总服务器 308, 该汇总服务器 308可以根据 来自多个客户端设备的投票数据获得多个用户的投票选项, 并对所述多个用户的投票选 项进行处理, 以生成汇总结果。
[65] 例如, 在上面描述的针对聚餐时间投票的示例中, 汇总服务器可汇总多个用户对 聚餐时间的选择, 从而获得最终的汇总结果, 例如可选择投票最多的聚餐时间作为最终 确定的聚餐时间。
[66] 替代地, 系统可不包括独立的汇总服务器。 此时, 汇总服务器例如可以由所述多 个中间服务器 304-1到 304-p或所述一个或多个独立重构服务器 306-1到 306-m(如果 存在) 中的一个或多个来担当。
[67] 不管采用匿名投票还是非匿名投票的形式, 用户在投票时有可能有关于隐私泄露 的疑虑。 例如, 在美国总统投票中, 用户可能担心自己的投票数据被截获, 从而泄露自 己的政治倾向。
[68] 通过本说明书的实施例的秘密分享算法, 可以减少用户的投票数据泄露的风险。 然而, 用户可能不了解本说明书的实施例的工作细节, 因此用户可能仍旧有对隐私泄露 的疑虑。 打消用户对隐私泄露的疑虑, 能够显著提高用户的用户体验, 提高投票的参与 率, 从而提高整个系统的效率。
[69] 为打消用户对隐私泄露的疑虑, 可选地, 在向用户呈现投票选项之前、 期间或之 后, 可由客户端设备向用户呈现图片、 动画、 文字或语音等以向所述用户告知所述秘密 分享算法的工作原理。 例如, 该图片或动画可向用户说明为什么本说明书系统能够更好 地保护用户隐私, 从而让用户放心地参与投票, 提升用户参与度。 [70] 在一些实施例中, 可向用户显示如图 4 所示的图片, 所述图片向用户显示所述秘 密分享算法的工作原理。 例如, 所述图片以筒单易懂的形式显示了本说明书的实施例的 一些主要特点。 例如, 所述图片可包括客户端设备、 中间服务器、 重构服务器等的图标 图像以及相关的箭头, 配合文字 “您的投票将被打碎成碎片分别传送至服务器” 、 “恶 意第三方即便截获了一个或多个碎片, 也无法恢复出您的投票信息, 增强了您的信息安 全度” 和 “您的投票仅在我们的安全服务器处被重构” 等, 从而向用户大致说明了本方 案的工作原理,解释了本方案为何能够提升对用户的隐私保护,从而提升用户的参与度。
[71] 在另一些实施例中, 可向用户显示动画, 而不是筒单的图片。
[72] 在动画的第一阶段(该阶段可包括多个动画帧) , 可向用户显示用户正在投票的 动画或图片。 例如, 可向用户显示一个人正在将选票投向投票箱的动画。 [73] 在动画的第二阶段, 可向用户显示用户的投票作为秘密被转换为多个秘密分片的 动画或图片。 例如, 可向用户显示用户的选票爆炸开, 并形成多个碎片的动画。 在此阶 段, 可向用户说明用户的投票数据将通过算法拆分成多个碎片。
[74] 在动画的第三阶段, 可向用户显示每个秘密分片被分别传送到多个中间服务器的 动画或图片。 例如, 可向用户显示第二阶段爆炸产生的碎片飞向服务器的动画。 在此阶 段, 可向用户说明用户的投票数据的碎片将被分别传送至多个服务器。
[75] 在动画的第四阶段, 可向用户显示一个或多个秘密分片被泄露的动画或图片。 例 如, 可向用户显示有人拦截了在第三阶段中的爆炸碎片。 在此阶段, 可向用户说明这是 假定的用户的投票数据的一个或多个碎片被恶意第三方拦截的假想情形。 [76] 在动画的第五阶段, 可向用户显示少于阈值数量的秘密分片无法被用于重构秘密 的动画或图片。 例如, 可向用户显示在第三步骤拦截爆炸碎片的人无法从碎片拼出原始 选片的动画。 在此阶段, 可向用户说明秘密分享算法使得无法从小于阈值数量的秘密分 片重构秘密。
[77] 在动画的第六阶段, 可向用户显示中间服务器将多个碎片传送至重构服务器并由 重构服务器重构秘密的动画或图片。 例如, 可向用户显示碎片被发送给重构服务器, 并 由重构服务器重构出选票的动画。 在此阶段, 可向用户说明秘密分享算法能够实现用大 于等于阈值数量的秘密分片来重构秘密。
[78] 可以领会, 上述动画的描述仅仅是示例, 该动画可包括更多或更少的阶段。 而且, 可采用其它形式的动画。 [79] 在另一些实施例中, 可向用户呈现文字说明。 例如, 可向用户呈现以下文字说明:
“您的投票将被打碎成碎片分别传送至服务器,我们的算法确保恶意第三方即便截获了 一个或多个碎片, 也无法恢复出您的投票信息, 增强了您的信息安全度” 。
[80] 在又一些实施例中,可向用户播放语音,所述语音说明秘密分享算法的工作原理。 例如, 可向播放上面的实施例中的文字的语音。 [81] 替代地, 可同时向用户呈现图片、 动画或文字与语音的组合。 例如, 可在向用户 呈现图片的同时播放语音说明。
[82] 如同上面参考图 1、 图 2和图 3所描述的, 本说明书的实施例公开了一种系统。
[83] 所述系统可包括一个或多个客户端设备和多个中间服务器。 所述一个或多个客户 端设备的具体描述可参考图 1或图 2所描述的客户端设备 102或者参考图 3所描述的客 户端设备 302-1到 302-n。 所述多个中间服务器的具体描述可参考图 1、 图 2所示的中间 服务器 104-1到 104-p或参考图 3所示的中间服务器 304-1到 304-p。
[84] 所述一个或多个客户端设备可向用户呈现投票选项, 接收所述用户对投票选项的 选择并生成投票数据, 使用秘密分享算法将所述投票数据转换为多个数据分片, 以及将 所述多个数据分片传送到多个中间服务器。所述秘密分享算法使得无法从小于阈值数量 的数据分片重构所述投票数据。
[85] 所述多个中间服务器从所述客户端设备接收所述数据分片, 其中大于等于所述阈 值数量的数据分片被用来重构所述投票数据。 [86] 在向用户呈现投票选项之前、 期间或之后, 可由客户端设备向用户呈现图片、 动 画、 文字或语音等以向所述用户告知秘密分享算法的工作原理。
[87] 所述投票数据可包括或不包括用户标识信息。
[88] 所述秘密分享算法例如可以是 Shamir阈值秘密分享算法。
[89] 所述系统还可包括一个或多个重构服务器。 所述重构服务器可以是由所述多个中 间服务器中的一个或多个担当的。所述重构服务器的具体描述可参考图 2所描述的重构 服务器 106或图 3所描述的重构服务器 306。 所述重构服务器从所述多个中间服务器获 得大于等于阈值数量的数据分片并使用所述数据分片来重构所述投票数据。
[90] 所述系统还可包括汇总服务器。 所述汇总服务器可以是由所述中间服务器或所述 重构服务器中的一个或多个担当的。所述汇总服务器的具体描述可参考图 3所描述的汇 总服务器 306。 来自所述多个客户端设备的投票数据在被重构之后被汇总以便生成汇总 结果。
[91] 参考图 5 , 其中示出了根据本说明书的实施例的用于投票的方法 500的流程图。 例 如, 所述方法可由参考图 1、 图 2所示的客户端设备 102或参考图 3所示的客户端设备 302-1到 302-n执行。 [92] 方法 500可包括: 在步骤 502, 可通过客户端设备向用户呈现投票选项。
[93] 方法 500可包括: 可选地, 在步骤 502之前、 期间或之后的步骤 501, 可由所述客 户端设备向用户呈现图片、 文字、 语音或动画以向所述用户告知秘密分享算法的工作原 理。 [94] 方法 500可包括: 在步骤 504, 可通过客户端设备接收用户对投票选项的选择以生 成投票数据。
[95] 方法 500可包括: 在步骤 506, 可通过客户端设备使用秘密分享算法将所述投票数 据转换为多个数据分片,其中所述秘密分享算法使得无法从小于阈值数量的数据分片重 构所述投票数据。
[96] 方法 500还可包括: 在步骤 508 , 可通过客户端设备将所述多个数据分片传送到多 个中间服务器, 其中大于等于所述阈值数量的数据分片被用于重构所述投票数据。
[97] 参考图 6, 其中示出了根据本说明书的实施例的用于投票的方法 600的流程图。 例 如, 所述方法可由参考图 1、 图 2所示的中间服务器 104-1到 104-p或参考图 3所示的 中间服务器 304-1到 304-P执行。
[98] 方法 600可包括: 在步骤 602, 可通过多个中间服务器从客户端设备接收多个数据 分片, 所述数据分片是由所述客户端设备基于秘密分享算法转换投票数据获得的, 其中 所述秘密分享算法使得无法从小于阈值数量的数据分片重构所述投票数据。
[99] 方法 600还可包括: 在步骤 604, 可通过所述多个中间服务器将大于等于阈值数量 的数据分片传送给重构服务器,其中所述重构服务器使用大于等于所述阈值数量的数据 分片来重构所述投票数据。所述重构服务器可以是由所述多个中间服务器中的一个或多 个担当的。
[100]对方法的各步骤的具体实现的描述可参考前文。
[101]此外, 本申请还公开了一种装置, 该装置包括存储器; 通信接口; 和处理器, 与 所述存储器和通信接口通信地连接, 所述处理器操作以实现本文所述的各实施例的方法。
[102]而且, 本申请还公开了一种包括存储于其上的计算机可执行指令的计算机可读存 储介质, 所述计算机可执行指令在被处理器执行时使得所述处理器执行本文所述的各实 施例的方法。
[103]可以理解, 根据本说明书的各实施例的方法可以用软件、 固件或其组合来实现。 [104]应该理解, 所公开的方法中各步骤的具体次序或阶层是示例性过程的解说。 基于 设计偏好, 应该理解, 可以重新编排这些方法中各步骤的具体次序或阶层。 所附方法权 利要求以样本次序呈现各种步骤的要素,且并不意味着被限定于所呈现的具体次序或阶 层, 除非在本文中有特别叙述。 [105]应该理解, 本文用单数形式描述或者在附图中仅显示一个的元件并不代表将该元 件的数量限于一个。 此外, 本文中被描述或示出为分开的模块或元件可被组合为单个模 块或元件, 且本文中被描述或示出为单个的模块或元件可被拆分为多个模块或元件。
[106]还应理解, 本文采用的术语和表述方式只是用于描述, 本说明书的实施例并不应 局限于这些术语和表述。 使用这些术语和表述并不意味着排除任何示意和描述(或其中 部分)的等效特征, 应认识到可能存在的各种修改也应包含在权利要求范围内。 其他修 改、 变化和替换也可能存在。 相应的, 权利要求应视为覆盖所有这些等效物。
[107]同样, 需要指出的是, 虽然本发明已参照当前的具体实施例来描述, 但是本技术 领域中的普通技术人员应当认识到, 以上的实施例仅是用来说明本发明, 在没有脱离本 发明精神的情况下还可做出各种等效的变化或替换, 因此, 只要在本发明的实质精神范 围内对上述实施例的变化、 变型都将落在本申请的权利要求书的范围内。

Claims

权利要求书
1. 一种用于投票的系统, 包括:
至少一个客户端设备, 每个客户端设备:
向用户呈现投票选项,
接收所述用户对投票选项的选择并生成投票数据,
使用秘密分享算法将所述投票数据转换为多个数据分片,其中所述秘密分享算法使 得无法从小于阈值数量的数据分片重构所述投票数据, 以及
将所述多个数据分片传送到多个中间服务器; 以及
多个中间服务器,其中所述多个中间服务器从所述至少一个客户端设备接收数据分 片, 其中大于等于所述阈值数量的数据分片被用来重构所述投票数据。
2. 如权利要求 1所述的系统, 其特征在于, 由所述客户端设备向用户呈现图片、 动 画、 文字或语音以向所述用户告知所述秘密分享算法的工作原理。
3. 如权利要求 1所述的系统, 其特征在于, 所述投票数据不包括用户标识信息。
4. 如权利要求 1所述的系统, 其特征在于, 所述秘密分享算法是 Shamir阈值秘密 分享算法。
5. 如权利要求 1所述的系统, 其特征在于, 所述系统包括一个或多个重构服务器, 其中所述重构服务器从所述多个中间服务器获得大于等于阈值数量的数据分片并使用 所述数据分片来重构所述投票数据。
6. 如权利要求 1所述的系统,其特征在于,所述系统包括对应于多个用户的多个客 户端设备, 来自所述多个客户端设备的投票数据在被重构之后被汇总以便生成汇总结果。
7. 如权利要求 6所述的系统, 其特征在于, 所述系统包括汇总服务器, 所述汇总服 务器执行所述汇总以生成所述汇总结果。
8. 如权利要求 1所述的系统,其特征在于,每个数据分片仅被传送至一个中间服务 器。
9. 一种用于投票的方法, 包括:
通过客户端设备向用户呈现投票选项;
通过客户端设备接收用户对投票选项的选择以生成投票数据;
通过客户端设备使用秘密分享算法将所述投票数据转换为多个数据分片,其中所述 秘密分享算法使得无法从小于阈值数量的数据分片重构所述投票数据; 以及
通过客户端设备将所述多个数据分片传送到多个中间服务器,其中大于等于所述阈 值数量的数据分片被用于重构所述投票数据。
10. 如权利要求 9所述的方法, 其特征在于, 由所述客户端设备向用户呈现图片、 文字、 语音或动画以向所述用户告知所述秘密分享算法的工作原理。
11. 如权利要求 9所述的方法, 其特征在于, 所述投票数据不包括所述用户的标识 信息。
12. 如权利要求 9所述的方法, 其特征在于, 所述秘密分享算法是 Shamir阈值秘密 分享算法。
13. 如权利要求 9所述的方法, 其特征在于, 将每个数据分片传送至仅一个中间服 务器。
14. 如权利要求 9所述的方法, 其特征在于, 所述重构由一个或多个重构服务器执 行, 其中所述重构服务器从所述多个中间服务器获得大于等于阈值数量的数据分片。
15. 如权利要求 9所述的方法, 其特征在于, 来自多个客户端设备的投票数据在被 重构之后被汇总以便生成汇总结果。
16. 一种用于投票的方法, 包括:
通过多个中间服务器从客户端设备接收多个数据分片,所述数据分片是由所述客户 端设备基于秘密分享算法转换投票数据生成的,其中所述秘密分享算法使得无法从小于 阈值数量的数据分片重构所述投票数据; 以及
通过所述多个中间服务器将大于等于阈值数量的数据分片传送给重构服务器,其中 所述重构服务器使用大于等于所述阈值数量的数据分片来重构所述投票数据。
17. 如权利要求 16所述的方法, 其特征在于, 由所述客户端设备向用户呈现图片、 文字、 语音或动画以向所述用户告知所述秘密分享算法的工作原理。
18. 如权利要求 16所述的方法, 其特征在于, 所述投票数据不包括用户标识信息。
19. 如权利要求 16所述的方法, 其特征在于, 所述秘密分享算法是 Shamir阈值秘 密分享算法。
20. 如权利要求 16所述的方法,其特征在于,将所述投票数据发送给汇总服务器以 便进一步汇总。
21. 一种用于投票的装置, 包括:
存储器;
通信接口; 以及
连接到所述存储器和通信接口的处理器,所述处理器被配置为执行如权利要求 9-15 中任一项所述的方法。
22. 一种用于投票的装置, 包括: 存储器;
通信接口; 以及
连接到所述存储器和通信接口的处理器, 所述处理器被配置为执行如权利要求
16-20中任一项所述的方法。
23. 一种存储指令的计算机可读存储介质, 所述指令当被计算机执行时, 使所述计 算机执行如权利要求 9-15中任一项所述的方法。
24. 一种存储指令的计算机可读存储介质, 所述指令当被计算机执行时, 使所述计 算机执行如权利要求 16-20中任一项所述的方法
PCT/CN2020/073777 2019-02-28 2020-01-22 用于投票的系统、方法和装置 WO2020173278A1 (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201910151471.5A CN109949472A (zh) 2019-02-28 2019-02-28 用于投票的系统、方法和装置
CN201910151471.5 2019-02-28

Publications (1)

Publication Number Publication Date
WO2020173278A1 true WO2020173278A1 (zh) 2020-09-03

Family

ID=67007050

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2020/073777 WO2020173278A1 (zh) 2019-02-28 2020-01-22 用于投票的系统、方法和装置

Country Status (3)

Country Link
CN (1) CN109949472A (zh)
TW (1) TWI720614B (zh)
WO (1) WO2020173278A1 (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109949472A (zh) * 2019-02-28 2019-06-28 阿里巴巴集团控股有限公司 用于投票的系统、方法和装置
CN110035057A (zh) * 2019-02-28 2019-07-19 阿里巴巴集团控股有限公司 用于投票的系统、方法和装置
CN110555933B (zh) * 2019-07-31 2021-04-30 中钞信用卡产业发展有限公司杭州区块链技术研究院 电子投票方法、装置、设备及计算机存储介质
CN110853651B (zh) * 2019-11-13 2021-06-01 支付宝(杭州)信息技术有限公司 投票内容验证方法及其系统
CN112367170B (zh) * 2021-01-12 2021-08-24 四川新网银行股份有限公司 基于多方安全计算的数据隐匿查询安全共享系统及方法

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1925388A (zh) * 2005-08-31 2007-03-07 西门子(中国)有限公司 一种资源加密和解密方法及其资源加密和解密系统
CN104935565A (zh) * 2015-04-15 2015-09-23 浙江师范大学 用于网络投票系统的选票处理系统、方法以及装置
CN106230872A (zh) * 2009-11-25 2016-12-14 安全第公司 对移动中数据进行保护的系统和方法
CN109949472A (zh) * 2019-02-28 2019-06-28 阿里巴巴集团控股有限公司 用于投票的系统、方法和装置
CN110035057A (zh) * 2019-02-28 2019-07-19 阿里巴巴集团控股有限公司 用于投票的系统、方法和装置

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1535451A (zh) * 2001-03-24 2004-10-06 沃特黑尔公司 可证实的秘密洗牌及其对于电子表决的应用
TW200820108A (en) * 2006-05-24 2008-05-01 Ibm Method for automatically validating a transaction, electronic payment system and computer program
BRPI0718581A2 (pt) * 2006-11-07 2014-03-11 Security First Corp Sistemas e métodos para distribuir e proteger dados
CN102376114B (zh) * 2010-08-16 2015-11-25 腾讯数码(天津)有限公司 一种网络投票转帖的方法和系统
CN106100852A (zh) * 2010-09-20 2016-11-09 安全第公司 用于安全数据共享的系统和方法
WO2012122175A1 (en) * 2011-03-07 2012-09-13 Security First Corp. Secure file sharing method and system
US20130268774A1 (en) * 2012-04-06 2013-10-10 Security First Corp. Systems and methods for securing and restoring virtual machines
CN102629396B (zh) * 2012-04-09 2014-04-02 中科院成都信息技术股份有限公司 含另选人的电子选票信息加密及快速处理方法
CN102664731B (zh) * 2012-04-09 2014-06-25 中科院成都信息技术股份有限公司 电子选票信息的加密及快速处理方法
CN103458046B (zh) * 2013-09-13 2016-09-07 中国科学院信息工程研究所 一种基于核心网络的数据秘密共享系统及方法
CN104077082A (zh) * 2014-06-30 2014-10-01 广州华多网络科技有限公司 网络投票数据存储方法和装置
CN106330668A (zh) * 2015-07-02 2017-01-11 天脉聚源(北京)科技有限公司 一种微信投票实现方法及系统
CN106373251A (zh) * 2016-08-30 2017-02-01 中科院成都信息技术股份有限公司 一种基于秘密分享的电子选票计票方法
US20180211467A1 (en) * 2017-01-23 2018-07-26 Smartmatic International Corporation Means to create a physical audit trail verifiable by remote voters in electronic elections
CN109361513B (zh) * 2018-11-15 2021-05-28 桂林电子科技大学 一种针对Shamir秘密共享的用户权重分配方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1925388A (zh) * 2005-08-31 2007-03-07 西门子(中国)有限公司 一种资源加密和解密方法及其资源加密和解密系统
CN106230872A (zh) * 2009-11-25 2016-12-14 安全第公司 对移动中数据进行保护的系统和方法
CN104935565A (zh) * 2015-04-15 2015-09-23 浙江师范大学 用于网络投票系统的选票处理系统、方法以及装置
CN109949472A (zh) * 2019-02-28 2019-06-28 阿里巴巴集团控股有限公司 用于投票的系统、方法和装置
CN110035057A (zh) * 2019-02-28 2019-07-19 阿里巴巴集团控股有限公司 用于投票的系统、方法和装置

Also Published As

Publication number Publication date
CN109949472A (zh) 2019-06-28
TW202034181A (zh) 2020-09-16
TWI720614B (zh) 2021-03-01

Similar Documents

Publication Publication Date Title
US11206132B2 (en) Multiparty secure computing method, device, and electronic device
US11290267B2 (en) Multi-party security computing method and apparatus, and electronic device
TWI720614B (zh) 用於投票的系統、方法和裝置
US11038679B2 (en) Secure multi-party computation method and apparatus, and electronic device
US11128466B2 (en) Zero-knowledge environment based social networking engine
US11399079B2 (en) Zero-knowledge environment based networking engine
WO2022247576A1 (zh) 一种数据处理方法、装置、设备及计算机可读存储介质
US8379857B1 (en) Secure key distribution for private communication in an unsecured communication channel
US10609010B2 (en) System, methods and software application for sending secured messages on decentralized networks
US20120254622A1 (en) Secure Access to Electronic Devices
CN106372499A (zh) 用于安全保护虚拟机计算环境的系统和方法
US11245530B2 (en) System and method for secure communication
TWI743563B (zh) 用於投票的系統、方法和裝置
US11900735B2 (en) Voting system, vote relay server, client terminal, voting method, advertisement distribution system, and program
CN111984932B (zh) 两方数据分组统计方法、装置及系统
WO2019136496A1 (en) System and method for secure communication
CN114465734B (zh) 投资者认证方法及存储介质
CN116112167B (zh) 密钥管理系统、方法及装置
RU2782153C2 (ru) Способ и система организации защищенного обмена информацией с использованием технологии блокчейн и распределённых систем хранения данных
CN112822152B (zh) 定向信息展示处理方法及相关设备
Karimov et al. DEVELOPMENT OF SECURE MODELS AND ALGORITHMS OF MESSENGERS WHEN EXCHANGING SERVICE MESSAGES
Sandholm et al. --SPoKE: Secure Polling and Knowledge Exchange
CN117544414A (zh) 信息的加密方法、电子设备、存储介质及计算机程序产品

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 20763257

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 20763257

Country of ref document: EP

Kind code of ref document: A1