E-voting protocol ----electing a University President lucyh36@gmail.com July 13id, 2011 Resource • Person – D. Chaum (mixnet in 1981) – J. Benaloh (casting protocol in 1994) – Ben Adida (Helios) Advances in Cryptographic Voting • Paper Systems, MIT, 2006 http://ben.adida.net/presentations/ – Internet voting, security and privacy – Helios: web-based open audit voting(2009) – Helios: electing a University President using Open-Audit voting: Analysis of real-world use of Helios(2010) – Secure electing voting—a framework(E2E) – Exploiting the Client Vulnerabilities in Internet E-voting Systems: Hacking Helios 2.0 as an Example 2 Roadmap • Problem and background – Internet Voting, Security and Privacy – Voting Security Overview • Helios(2008-v1.0,2009-v2.0,2011-v3.1+) – Web-based open-audit voting – Electing an University President(March,2009) – How to install Helios v3.1 in my own server – Attack and Defense • A possible end 3 Internet voting, Security and Law Privacy • • Security – Client • Bug and OS(网页挂马攻击, PKI证书欺骗) – Server • Database(phishing 假冒投票网站) – Network (redirect) • DNS(DNS poisoning) • BGP(路由欺骗) • Route(放大攻击,IP欺骗,DHCP安全协议问题 , SYN洪泛,UDP洪泛,TCP RST攻击,TCP会话劫持, 路由欺骗) • Privacy 4 Background • E-voting history – Greece – Paper ballots – Voting machine – Internet and real world voting(March, 2009) • ?US president(Bush), Diebold, 2000 (KohnoStubblefield-Rubin-Wallach) • Helios2.0: web-based open audit voting system 5 Voting Security Overview 黄蓉心仪:郭靖 欧阳锋(A Coercer):欧阳克 6 7 Helios: open-audit e-voting system • Problem – How to get a result by voting? – Chain of custody – Low-coercion (胁迫性) • Technical concept – MixNet (Server, protect the relationship by crypt) – Benaloh casting protocol(audit back-end counting) • Moving the black box – Zero-knowledge proof • Verify operations on encrypted data 8 Problem 黄蓉选:黄药师 郭靖选:洪七公 欧阳克选:欧阳锋 9 10 11 Truly Verifiable Voting 12 Keep secret data Open the black box 13 14 • • • • • Helios 2.0 Hardware and software – Linux, MS, MacOS – Web browser(Safari2/3, Firefox 2.0/3.0, IE6/7/8, Chrom1.0)+JavaScript (Client) – Free/open source software stack(v2.0), python(Django web toolkit for python) Postgre SQL database – PHP(v3.1 server) http://heliosvoting .org (registered by facebook or google) Zero-Knowledge Proof MixNet 15 Benaloh Casting 16 17 18 19 20 21 22 23 24 25 26 27 28 29 From Helios 1.0 to 2.0 http://code.google.com/appengine/ 30 The voting website was successfully tested on Linux, Mac OSX and Windows with the Firefox 2 and 3, Internet Explorer 6, 7 and 8, Safari 2 and 3, and Chrome 1 web browsers. 31 32 33 Helios: electing a university president in real world 34 35 36 37 38 39 Helios --Attacks and Defense • Estehgari-Desmedt, August 2010 – http://www.cs.ucl.ac.uk/staff/y.desmedt/slides/H acking-Helios2.pdf – http://www.usenix.org/event/evtwote10/tech/full 0papers/Estehgari.pdf • Wikströn and Smyth-Cortier, December 2010 – http://www.di.ens.fr/cryptoSeminaire.html/#Atta cking_ballot_secrecy_in_Heli 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 Helios: Response 57 Helios: Response 58 Helios: how to install(1) • How to install Helios v3.1 in my own server 59 Helios: how to install(2) 60 Helios: how to install(3) 61 Helios: how to install(4) 62 Helios: how to install(5) 63 Helios: how to install(6) 64 回顾金庸原著与83版华山论剑 • 第一局 – 洪七公、黄药师、郭靖 – 郭靖胜出 • 第二局 – 欧阳锋、洪七公+黄药师+郭靖 – 欧阳锋胜出 • 结局 – 黄蓉给欧阳锋设的局 – 一个哲学问题 : “我 是 谁” 65 候选人的竞选宣言 • 洪七公(计算机系主任) – 大学教育 • 黄药师(数学系主任 ) – 学科建设 • 欧阳锋(化学系主任) – 千万别出事 66 投票系统使用前的对决 • 黄蓉(计算机系网络安全博士) – 准备了一批基于硬件虚拟化的机器供有意使用 官方机器的投票者使用 • 去掉原有硬盘、关掉无线与远程控制功能 • 修补漏洞与软件更新 – 多个物理独立的服务器分别完成注册、发票与 计票工作 – 投票系统上线测试一个月 • 食堂门前、教室BBS、电梯间内广发宣传册 – 学习相关法律文件,检查隐私权保护及密钥使 用权限 67 投票系统使用前的宣传工作 • 校园内宣传选举时间及系统使用演示视频 – 午饭时间(食堂内电视) – 教室墙壁张贴打印版 – 论坛BBS公开源代码 • 注册时间可选且可试用测试投票系统 • 投票时间机动可选 68 投票系统使用前的对决 • 欧阳克在软件测试与投票人注册时可访问 系统间隙的工作 – 邮箱、URL挂马 – 办公软件(文档编辑)漏洞挂马 – cookie – 网页挂马 – 利用自动更新功能于后台分版分步下载恶意软 件 – 篡改投票内容(引入另一链接) – 改变候选人的竞选宣言的链接 69 故事接龙之投票网站攻与防 • 华筝(来自M大的交流学生)/梅超风(计 算机系研究生) – 伪装成victim/HoneyPot诱出攻击者 – 跟踪IP地址找到攻击机来源并入侵到攻击者机 器中 – 利用自动更新系统收集rootkit代码数据并转交 郭靖(程序比特位对齐技术已获专利) • 郭靖的防御(网络管理员) – 购置并学习使用网络流量实时监控协议分析仪 – 依据攻击代码,修改程序 – 投票系统正式上线前一天晚上完成代码优化工 70 作 投票系统上线前的准备工作 • A set of secured client machines for voters who wished to use an official voting machine – 供投票者使用的开放实验室机房(基于ZEN的 虚拟机系统 ) – 紧急调用具有干净系统的备用机器(客户端) • Implemented its own, high-speed, offline tallier and verifier • 密钥产生过程(专家现场监督与断网专用 机) 71 故事接龙之投票网站攻与防 • 候选人 – 洪七公、黄药师、欧阳锋 • 投票人 – 全校教师、学生、工作人员、技术人员 • 黄蓉的纠结 – 弃权? – 一人一票?东邪?洪七公 – 一人三票:郭靖、东邪、洪七公(下一步工作) 72 T 大校长选举 • 遴选什么样的校长 – 一流的教育家 • 个人成就 • 门下桃李(黄蓉、郭靖) • 同辈 – 南帝、东邪、老顽童 – 西毒 73