远程电子投票系统的匿名化程序概述

В 以前的出版物 我们确定,在我们正在考虑的远程电子投票系统中,使用加密的“盲电子签名”算法来确保投票的保密性并使选民匿名。 在本文中,我们将更详细地了解它。

首先,我们来看看众所周知且熟悉的电子签名算法,该算法广泛应用于各种目的的信息系统中。 电子签名基于密码学非对称加密算法。 非对称加密是使用 2 个密钥的加密:其中一个用于加密,另一个用于解密。 它们被称为开放(公钥)和私钥。 公钥是其他人知道的,私钥只有电子签名的所有者知道,并存储在其他人无法访问的地方。

签名时,会发生以下情况:首先,使用数学变换将电子文档缩减为一定大小的字符序列 - 这称为哈希函数。

文档的发送者使用私钥对生成的字符序列(文档的哈希值)进行加密,并与公钥一起发送给接收者。 接收者使用公钥解密字符序列,对文档应用完全相同的哈希函数,并将转换结果与解密结果进行比较。 如果一切匹配,则在发件人签署文档后不会对文档进行任何更改。

所描述的操作允许您验证文档是否未被更改,但不允许您验证发件人是否确实是他所声称的人。 因此,我们需要一个发件人和收件人都信任的第三方。 为此,在发送文档之前,发件人联系第三方并要求她用她的电子签名签署他的公钥。 发送者现在向接收者发送文档、他的公钥以及他的密钥的第三方签名。 接收者验证第三方在公钥上的签名并信任由此产生的文档签名。

现在让我们继续讨论什么是“盲签名”以及它如何帮助我们进行匿名化。

让我们想象一下,在上述示例中,发送者是选民,文档是选票,接收者是选举委员会,或者正如我们所说的“计票组件”。 我们将拥有“选民列表”组件作为第三方(验证者)。 在这种情况下,该过程可以如下发生。

远程电子投票系统的匿名化程序概述

投票者在他的设备上生成一对密钥——私有密钥和公共密钥。 由于这些密钥是在他的个人设备上的浏览器中创建的,因此只有他自己知道。

使用这些密钥,他将签署选票以控制其完整性。 他将签名的选票和公钥发送给选举委员会。 为了让分布式投票存储和计数组件接受选票,它必须验证公钥是否由验证者签名。

验证器(投票者列表组件)只有在验证投票者在投票者列表中后才会对公钥进行签名。

为了解决投票保密的问题,选民在其设备上创建的公钥不应该被任何人知道。 事实证明,验证者必须签署一些他不知道的东西。 这项任务似乎不可能,但密码算法可以解决这个问题 - 在这种情况下,是“盲签名”算法

首先,必须在选民的设备上屏蔽公钥。 掩蔽是在用户设备上执行单独的数学运算。 想象一下,您想到了一个从 1 到 100 的随机数,然后想到了第二个从 1 到 10 的随机数,第三个从 10 到 50 的随机数,将最初想到的数字提高到第二个数字的幂,然后将其除以没有得到三分之一的余数。 结果被报告给了其他人。 恢复原始数字对您来说并不困难,因为您知道操作的顺序和您想到的数字。 但你周围的人将无法做到这一点。

公钥的屏蔽(致盲)是根据特殊的加密算法执行的。 结果,验证者在不知道原始密钥的情况下签署了屏蔽的公钥。 但该算法的独特之处在于,用户(投票者)在收到屏蔽密钥的签名后,可以进行反向转换并获得对原始未屏蔽密钥有效的签名。

所描述的算法广泛应用于秘密投票协议中。 远程电子投票系统目前采用密钥长度为4096位的RSA算法进行盲签名。

一般来说,匿名化过程如下。

  1. 创建投票时,会创建一个单独的“验证器”密钥对,并将公钥记录在区块链中。 为每次投票创建一个唯一的密钥对。
  2. 用户在识别系统中(在本例中是在 ESIA 中)被识别,并提供将其识别数据从识别系统传输到 DEG PTC 的许可。
  3. DEG PTC 的“投票者列表”组件会检查投票者列表中用户的存在情况。
  4. 在用户的设备上,创建了他的个人密钥 - 私有密钥和公共密钥,只有他自己知道。
  5. 公钥在用户设备上被隐藏
  6. 与身份数据和屏蔽公钥一起,用户可以访问“选民列表”组件
  7. 该组件再次检查列表中用户的存在以及他之前未收到签名的事实
  8. 如果所有检查均成功,则密钥已签名
  9. 签署密钥的事实记录在区块链中
  10. 其设备上的用户去除公钥的掩码并接收私钥、公钥和公钥上的签名,并且所有密钥只有他自己知道。
  11. 此后,用户将被转移到匿名区域 - 一个单独的网站 edg2020.gov.ru,在那里无法识别他的身份(例如,在转移之前,他可以连接 VPN 或更改他的互联网提供商,从而完全改变IP地址)
  12. 选票的接受仅取决于“验证者”的签名是否得到验证以及该密钥之前是否未被使用过。

接下来,我们从密码学的角度对该算法进行描述。
签名和指定选项:

远程电子投票系统的匿名化程序概述
远程电子投票系统的匿名化程序概述

M – 采用 FDN 填充格式进行签名。

来源: habr.com

添加评论