Login| Sign Up| Help| Contact|

Patent Searching and Data


Title:
VOTING SYSTEM, METHOD, AND DEVICE
Document Type and Number:
WIPO Patent Application WO/2020/173278
Kind Code:
A1
Abstract:
Disclosed in embodiments of the present description is a voting system. The system comprises: at least one client device and a plurality of intermediate servers. Each client device presents voting options to a user, receives the selection of the user from the voting options and generates voting data, converts the voting data into a plurality of data fragments by means of a secret sharing algorithm, and transfers the plurality of data fragments to the plurality of intermediate servers, wherein the secret sharing algorithm makes it impossible to reconstruct the voting data from the data fragments, the amount of which being less than a threshold amount. The intermediate servers receive the data fragments from the at least one client device, wherein the data fragments, the amount of which being greater than or equal to the threshold amount, are used for reconstructing the voting data. Also disclosed in the embodiments of the present description are a voting method and device.

Inventors:
HUANG HUI (CN)
ZHANG ZHENYU (CN)
LIU ZHENG (CN)
YING PENGFEI (CN)
Application Number:
PCT/CN2020/073777
Publication Date:
September 03, 2020
Filing Date:
January 22, 2020
Export Citation:
Click for automatic bibliography generation   Help
Assignee:
ALIBABA GROUP HOLDING LTD (CN)
International Classes:
G07C13/00; H04L29/06; H04L29/08
Foreign References:
CN109949472A2019-06-28
CN110035057A2019-07-19
CN104935565A2015-09-23
CN106230872A2016-12-14
CN1925388A2007-03-07
Attorney, Agent or Firm:
BEIJING BESTIPR INTELLECTUAL PROPERTY LAW CORPORATION (CN)
Download PDF:
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中任一项所述的方法

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]同样, 需要指出的是, 虽然本发明已参照当前的具体实施例来描述, 但是本技术 领域中的普通技术人员应当认识到, 以上的实施例仅是用来说明本发明, 在没有脱离本 发明精神的情况下还可做出各种等效的变化或 替换, 因此, 只要在本发明的实质精神范 围内对上述实施例的变化、 变型都将落在本申请的权利要求书的范围内。