Re: [校园] 电子投票:流程说明、试用与原始码开源

楼主: mousems (MouseMs)   2014-05-27 14:44:25
您好,我是负责这次选举的厂商,这部分选委会授权由我直接来回答
毕竟东西都已经开源了,这项专案未来也会继续发展,持续推广到其他学校
※ 引述《yehzu (小叶~)》之铭言:
: 哎…自己吃的河蟹自己吐
: 听说是明天选,可是问题还没被回答啊= =
: 1. git log 的问题
: 推 yehzu:我的疑问是,每次投票就commit,我是否能在投票所记录谁在什 05/24 22:47
: → yehzu:么时间进入,比对git log,就可得知谁投了什么票? 05/24 22:48
: → yehzu:这样是否违反不记名投票的原则? 05/24 22:49
: → tomchc:基本上log不开放,因为很多人一直要求要记录什么时候投票 05/24 23:20
: → tomchc:不记名疑虑本会也一直有提出,目前将改成严加保存log不外流 05/24 23:21
: → tomchc:为解决之道 05/24 23:21
: 推 yehzu:这不是开不开放的问题,是“还是有人可以得知”的问题 05/24 23:23
: 推 tw0517tw:有没有可能延后随机时间写入数据库XD 05/24 23:28
: 推 yehzu:那么延后的时间多久?票跟票前后的时间很松散结果也是一样 05/24 23:29
: 推 yehzu:而且“工作人员后台会知道同学已操作完毕,将同学请出来”.. 05/25 00:09
: → yehzu:这太夸张了吧....为什么外面的人可以得知里面的投票情形? 05/25 00:10
: → tomchc:log问题我们将找选监以及设计者讨论,后台问题基本上只是确 05/25 00:23
: → tomchc:定有没有进行投票。比较像是投票者盖完章有没有出来把票放 05/25 00:23
: → tomchc:进票匦。将空白票搁在里面或是携出都是违法的 05/25 00:24
关于匿名与公正性
我在这次选举的身份是系统供应商,选委所使用的系统是由我提供的,我相当
希望这次选举能公平且顺利的度过,使用电子投票的最大问题就是在匿名(完
全追踪不到投票人是谁)、公正(选票没有被篡改),对于前者,因为要达成
后者的验证效果,程式设计上 log不可能不储存时间戳,也就是说当选票的公
正性被挑战时,log里面一定会包含时间戳。
矛盾与声誉
如果我不放上时间戳,又会被挑战选票公正性,但说真的真要作弊,系统供应
商有千百种方法可以做票,但今天我是负责提供系统的厂商,我做这件事情会
有损我的名誉,这也就是电子投票找第三方来做的最大理由(总不可能找电算
中心来写吧,大家都会怀疑期中评量有没有记名了)。
关于选委能得知投票状态一事
工作人员使用的后台只会显示该票所最近五次完成的时间戳,我想这是没有问
题的。
: 2.
: 推 yehzu:那还有疑问是,将会使用browser或是内建app?我能不能利用公 05/25 00:33
: → yehzu:开的原始码做一个假网站,并在投票时置换上去? 05/25 00:35
: 如果使用内建app,那么程式码呢?
: 如果使用browser,又是使用什么样的browser?
: 如果当前投票用的程式被切换到其他程式去,又是如何?
: 再延申一点,是否可能装入侧录软件监看?
程式的架构在先前的简报内有说明,系统建于aws ec2 cloud上面,要采用VPN
连入,连入后内网没有提供对外的连线功能,android的访客模式也没办法将
VPN中断,如果他将wifi中断的话就没办法看见投票网站,无法完成投票基于
第一点第三项的设计,选委将会发现。
若wifi中断则VPN中断,得进入管理员权限连上VPN(而且VPN密码不会储存在平板内)。
若制作假网站的话,没办法达成假造域名且SSL凭证会显示绿色的作用,会被拆穿。
如图可以看到网址列左方有绿色锁头,且域名正确(域名会写在选举说明上)
http://goo.gl/x6M0Sq
: 3. 使用的硬件规格、作业系统为?所有外部可以插入的孔有封住吗?
ASUS transformer pad tf300t
android 4.2.1
连接usb的孔将会贴上选委封条,投票时请确认封条完整(旁边的选举说明也会写到)
: 4. 结果的正确性
: 要怎么告诉选民结果是正确的?别再跟我说开源,这不是解决这个的方法
: 检查下载下来的软件正确性可以使用 checksum,可是票呢?身为选民是否
: 有方式可以不记名地得知自己的票被投入正确的一方?
中选会怎么告诉选民结果是正确的?
其实这个问题在每个选举都存在,最后结果都是基于信任第三方单位
今天我是一间厂商,所有系统的设计皆是我负责,并提供给选委使用,昨天晚
上也都和选监们花了三小时解释所有细节,这次的选举我可以算是第三方的公
正单位,您也可以说我代表台科大学生会(目前为台科大学生会资讯室第七届
主任,先前大一时也在敝校担任过选委),在github上的code也可以看到票已
经被不记名的记录,并使用git commit做记录,事后这些记录都是可以比对的。
: 5. 之前提到的,怎么样得知 runtime 的 code 是 github 上的那一份?
没错,没办法知道,但如同第四点,我没有理由做出舞弊的事情
另外,我会在学生会待到选举结果公告,欢迎有能力有兴趣的人来找我,可以
作为见证人看一下线上系统运作,然后看最后开票的处理方式。
谢谢指教
作者: lyviasun (:))   2014-05-27 14:54:00
作者: RPedsel (Edsel)   2014-05-27 15:06:00
作者: tiefblau (tiefblau)   2014-05-27 15:14:00
没118IP 失败 XD
楼主: mousems (MouseMs)   2014-05-27 15:23:00
哭哭 学生会的VPN死掉了不能用XDDD
作者: RSChiang (键盘蒟蒻的RS)   2014-05-27 15:37:00
推XD
作者: yehzu (小叶~)   2014-05-27 15:44:00
唉 既然有timestamp怎么会是不记名? 你怎么证明自己是公正第三方?
作者: type0 (type0)   2014-05-27 15:54:00
楼上我不懂,timestamp跟记不记名有什么关联
作者: yehzu (小叶~)   2014-05-27 15:59:00
只要在场记录投票的人及时间,再与log比对就知道了我的重点不在于公不公开,而是“还是有人会知道谁投了什么”
作者: yehzu (小叶~)   2014-05-27 16:09:00
另外我文中指的正确性是指,传统票券我可以确定我盖在谁的栏
作者: yehzu (小叶~)   2014-05-27 16:10:00
位里,并把它投进票匦。可是电子投票没有这种性质,我要如何知道我投的人真的被算入对的counter,并且没被窜改?
作者: bztfir (恩恩呵呵)   2014-05-27 16:27:00
timestamp那个可以再讨论 不过你后面说的那个 基本上就是你
作者: bztfir (恩恩呵呵)   2014-05-27 16:28:00
信不信任作为第三方的程式设计者吧你不信任的话当然会有一大堆问题
作者: type0 (type0)   2014-05-27 16:30:00
我也觉得使用电子商品真的是信任的问题就像我也可以质疑PTT会不会偷偷卖我个资是一样的道理
作者: type0 (type0)   2014-05-27 16:32:00
然后程式是开源的,y大可以去测看看哪边步骤会出现y大质疑的
作者: type0 (type0)   2014-05-27 16:33:00
问题质疑。虽然我自己也没很相信电子投票的说
作者: yehzu (小叶~)   2014-05-27 16:36:00
....怎么会只相信一方呢?ATM都要用三道钥匙才能开了
作者: yehzu (小叶~)   2014-05-27 16:38:00
我提出的就是传统票券的优点却是电子的缺点,难到不需厘清投票的意义在于保密及安全而非选务的方便吗?
作者: yehzu (小叶~)   2014-05-27 16:41:00
我指的窜改并非一定是程式错误,而是遭人为更动,比如说有后台权限的人。
作者: wanghate   2014-05-27 17:15:00
楼上要不要说选委不是你所以都有可能窜改?
作者: yehzu (小叶~)   2014-05-27 17:26:00
楼上满怪的,就算选委是我,也可能被我窜改。投票应该是要把
作者: yehzu (小叶~)   2014-05-27 17:27:00
信任单一来源变成可以通相互确认检查,我怎么知道有没有人被买通?

Links booklink

Contact Us: admin [ a t ] ucptt.com