Защо онлайн гласуването е много по-трудно от онлайн банкирането
Вашата банка ви позволява да проверите всяка транзакция. Вашият глас изчезва по дизайн — и в момента, когато някой се опита да го поправи, той дава на купувачите на гласове разписката, която винаги са искали.
Март 2019 година, и някъде в офисите на Swiss Post в Берн се взема решение, което изглежда като триумф на демократичната прозрачност. Федералната пощена служба на Швейцария и нейният испански доставчик Scytl са на път да публикуват пълния изходен код на своята система за интернет гласуване — тази, която е предвидена за задължителни национални референдуми. Всеки може да го прочете. Публиката може да го провери. Инженерите са горди.
Шест седмици по-късно трима независими изследователи — Sarah Jamie Lewis, Olivier Pereira и Vanessa Teague — публикуват доклад с название, заимствано от Magritte: Ceci n'est pas une preuve. „Това не е доказателство."
Те намериха скрит люк в криптографския shuffle на системата. Математиката генериране „доказателство", че всички гласове са преброени правилно. Доказателството се проверява. Преминава всяка проверка. И то е лъжа — защото всеки, който познава стойностите на люка, може да генериране доказателство, което преминава проверката, докато тихо пренарежда гласовете под него. Целият смисъл на твърдението на системата за „универсална проверяемост" беше, че не трябва да вярвате на никого. Това твърдение беше невярно.
Swiss Post и Scytl признаха откритието. Системата беше спряна.
Това е най-острата версия на проблема. Но това не е единственият. И дори не е най-трудният. Най-дълбокият проблем с интернет гласуването няма нищо общо с криптографията. Има вкус с ограничение на дизайна, което предшества компютрите със 170 години.
Защо вашата банка и кутия за гласове са изградени по различен начин
Когато проверите салдото си в банката, четете число, което банката е щастлива да видите. Когато оспорите транзакция, вашата банка издава запис — с времева печат, приписан на вас — и можете да проверите, че съответства. Можете да обадите на вашата банка. Можете да покажете записа на адвокат. Целата система е предвидена около едно предположение: транзакцията е проследяема обратно до вас.
Именно това, което гласът не може да бъде.
Тайната бюлетина — изобретена в Австралия през 1850-те години и приета в демокрациите през следващото столетие — не беше учтивост на поверителност. Това беше система за безопасност. Australian Electoral Commission записва логиката ясно: защото хората гласуваха публично, те бяха уязвими към запугване и принуда. Решението беше еднакава, държавно отпечатана бюлетина, отбелязана в частност, без връзка между хартията и човека, който я отбеляза. Великобритания формализира същия принцип в Ballot Act 1872, завършвайки епохата на открито гласуване, за да срути пазара на купувачи на гласове. Федерален съд в САЩ го посочи в ясен съвременен език в Rideout v. Gardner (2016): реформите на тайната бюлетина бяха приети, за да „се противостави на широко разпространено купуване на гласове и запугване на избирателите" — защото купувачът не може да наложи покупка, която не може да провери.
Ето структурния сблъсък: разписката от банката прави транзакция доказуема; разписката от бюлетина прави глас купуем.
Ако можехте да снимате вашата отбелязана бюлетина и да я изпращате на някого, за да докажете как сте гласували, щяхте да дадете на всеки работодател, политически началник, религиозна власт или оператор с плик с пари точно механизма за принуждаване, който му трябва. Съдът в Rideout отхвърли забрана на бюлетинни „селфита" по основания на Първото изменение — но явно признаде механизма. Снимката възстановява доказателството на покупката.
Така че когда някой предлага интернет гласуване и казва „ще дадем на избирателите разписка, за да проверят своя глас е преброен", те предлагат, в един и същи дъх, инфраструктура за покупуване на гласове. И когато казват „ще го направим анонимно, така че никой не може да докаже своя глас на трета страна", те предлагат система, където избирателят не може независимо да потвърди, че избора му е записан въобще. Не можете да имате и двете. Физиката това не позволява.
Това е фундаменталното напрежение. Всичко останало е вариация на тази тема.
Експериментът от 48 часа, който убий пилотния проект
Септември 2010 година, District of Columbia Board of Elections реши да управлява интернет система за обратна връзка на бюлетина за чужди и военни избиратели. Преди да го разгърне за реални бюлетини, го отворихме за публично тестване. Добър инстинкт.
Екип на University of Michigan, водещ от J. Alex Halderman, намери软件уязвимост и получи почти пълен контрол на сървъра на пилотния проект в течение на около 48 часа. Те можеха да променят всяка гласана бюлетина. Те можеха да видят тайни бюлетини. Като демонстрация, те програмираха системата да свири University of Michigan боевия гимн след всеки симулиран глас. Нарушението мина незабелязано от официалните лица в продължение на дни.
D.C. отказа плана. Рецензираната научна статия беше публикувана на Financial Cryptography 2012.
Урокът, който официалните лица почерпиха, беше: интернет гласуването не издържа тест на безопасност. По-дълбокият урок е това, което този тест доказа, че е възможно: когато безопасността на системата разчита на софтуер, скрит от състезателен преглед, единственият начин да знаете дали държи е да позволите на противници да се опитат да я счупят. Washington направи правилното нещо, като отвори пилотния проект. Резултатът беше хвана дефект вместо открадена избор.
Повечето разгръщане не се тестват по този начин. Повечето просто заживяват.
280 000 гласа вече са преброени, преди да забележи дупката
Март 2015 година. New South Wales е в разгара на избори. Системата за онлайн гласуване iVote на щата е събрала приблизително 280 000 гласа, когато J. Alex Halderman и Vanessa Teague се сядат да анализират работещата система отвън.
Те намират, че iVote зарежда код от външен сървър за аналитика над връзка уязвима на тогавашни TLS слабости — вид недостатъци, които активно се експлоатираха през тази година под имена като FREAK и Logjam. Атакуващ мрежата, разположен между избирателя и сървъра, би могъл да е манипулирал гласове и да е компрометирал поверителност на бюлетина. Те също намират, че телефонната услуга за проверка на гласове на iVote — функцията, предвидена да позволи на избирателите да потвърдят своята бюлетина — е самата себе си подложена на манипулация.
Преглед на безопасност пред избори на властите беше одобрил системата. Изследователите намериха тези проблеми по време на живо избор, след като 250 000 гласа вече бяха в кутия. Поправка беше разгърната, докато гласуването беше все още в ход.
Рецензираният анализ беше публикуван на E-Vote-ID 2015. NSW Electoral Commission оспори обхвата на риска, както властите имат склонност да правят.
Забележете какво беше механизмът за проверка: телефонна услуга, която сама по себе си можеше да бъде манипулирана. Това е разписката проблема в най-конкретната му форма. Не можете да проверите, че вашия глас е записан правилно, като заявите към същата система, която може да го е променила. Всяка разписка, генерирана от компрометирана система, е разписка за лъжата, не истината. Единственото смислено проверяване е това, проведено от независима страна, която може да провери механизма — не резултат на механизма.
Люкът в доказателството
Върнете се в Швейцария през 2019 година. Това, което прави този случай толкова прояснителен, не е че системата е счупена по очевиден начин. Беше счупена по начин, който е математически неразличим от правилно.
Изследователите — Lewis, Pereira и Teague — намериха, че mixnet на системата използвал trapdoor commitment scheme за своя shuffle proof. Mixnet е как интернет гласуване системи се опитват да запазят анонимност: гласове се разбъркват през множество етапи, така че вход и резултат не могат да бъдат свързани. Системата след това генериране криптографско доказателство, че shuffle е изпълнен честно и никакви гласове не са променени.
Доказателството се проверява. Математиката вържи. И люкът означава, че инсайдер, който познава trapdoor стойностите, може да генериране перфектно валидна разглеждаща доказателство за shuffle, който е променил гласове.
Това не е теоретична слабост. Това е какво „универсална проверяемост" изглеждаше в система, предвидена за задължителни национални референдуми. Публикуваният анализ принуди Swiss Post и Scytl да признаят дефекта и суспендира системата.
Епизодът ви дава най-трудната версия на разписката проблема. Защото дори ако отстранихме купуване на гласове — дори ако си представихме свят, където разписка не би използвана за принуждаване на никого — самата разписка може да е доказателство за преброяване, което никога не се случи, и няма начин избирателят да знае разликата. Криптографското „доказателство, което можеш да проверите сам" се оказа, че изисква PhD по математика, за да бъде признато като невярно.
Федералният конституционен съд на Германия артикулира стандарта през 2009 година, когда забрани електронни машини за гласуване, чийто вътрешни механизми само експерти могат да оценят: съществени стъпки на гласуване и определяне на резултат трябва да бъдат проверяеми от обикновени граждани, без специалистични познания. Криптографско доказателство, което преминава проверка, докато скрива променени гласове, е точно това, което този стандарт е предвидено да исключи.
Естония: система, на която нация вярва, и какво действително намериха изследователи
Естония е държава, на която най-често се цитира като доказателство, че интернет гласуване работи. Има управлявала национална i-voting система от 2005 година. Милиони естонци са я използвали. Това е истински пионерско.
През 2014 година независим изследователен екип — Springall, Finkbeiner, Durumeric, Kitcat, Hursti, MacAlpine и Halderman — наблюдават операцията на системата по време на октомврийски муниципални избори 2013 година и разглеждат публикувания клиентски софтуер и конфигурация на сървър. Те намериха сериозни оперативни и процедурни слабости на безопасност: небрежни практики, уловени в официални видеа, пропуски в архитектурата на софтуера и заключение, че добре финансиран атакуващ — или нечестен инсайдер — би могъл вероятно да компрометира интегритета на гласове или поверителност на избирателя без открояване.
Техния ACM CCS 2014 доклад препоръча Естония да прекратят системата. Естонските избирателни власти оспориха заключенията. Системата все още работи.
Този спор е сам по себе си точката. Две квалифицирани страни с достъп към същата система достигнаха противоположни заключения дали е безопасна. В системи на хартионни бюлетини, този аргумент може да бъде решен: отворете запечатаните кутии, преброете бюлетините отново, сравнете. В интернет гласуване система с силни свойства на анонимност, „преброй ги отново" стъпката не съществува. Няма стека на бюлетини за преброяване. Има само резултат на софтуера и въпросът дали му вярвате.
Норвегия се опита интернет гласуване през 2011 и 2013 година. Изпитанията бяха прекратени през 2014 година след намирането, че явката не се увеличи и че доверието, че гласове не са променени, не може да бъде осигурено. Аргумента на удобство — главната причина всеки предлага интернет гласуване — не издържа емпирично. И аргумента на проверяемост рухна по същата причина, по която винаги прави: не можете независимо да одитирате това, което го няма.
Истинската асиметрия
Вашата банка пази главна книга. Главната книга е проследяема до вас. Ако някога се случи нещо нередно, можете да сравните вашите записи с записите на банката с записи на арбитър. Веригата на отговорност минава прямо от транзакцията до вашето име.
Система за преброяване на бюлетини работи точно в обратната посока. Бюлетина трябва да бъде постоянно отделена от самоличност на избирателя, преди да бъде преброена. Веригата на отговорност минава от запечатана кутия до суматор, с избирателско име отнякъде в помещението за преброяване.
Тези две изискване — независимо проверяване на какво е преброено и постоянна безследност кой е гласувал какво — натискат един срещу друг със сила, която никоя софтуерна архитектура все още е разрешила.
Системи базирани на хартия управляват несъвършено перемирие: физическа бюлетина е избиратела-проверена запис, отбелязана в частност, депозирана анонимно, съхранявана в запечатана кутия и броима от всеки, който може да разглежда парче хартия. Правителство на Нидерландия 2007 г. Korthals Altes Commission наречен това „гласуване с доверие" — и след това препоръчи повратък към него, от електронни системи, защото хартия е какво прозрачност и проверяемост действително изглеждат в практика. Нидерландия са използвали ръчно преброени хартия оттогава.
Интернет гласуване системи не са намерили перемирието. Разписката, която доказва вашия глас е преброен, е също разписката, която доказва как сте гласували. Доказателство, че никакви гласове не са променени или разчита на криптография, която повечето избиратели не могат да оценят — или, както Швейцария открива, може да бъде поддържано от инсайдер с математически познания избирателят никога не ще има.
Злодей тук не е доставчик, партия или правителство. Злодей е невъзможното изискване: докажи преброяването без да доказаш избирателя. Това е проблемът нито един софтуер е решил, и това е защо аналогията с банката се разпада на основата.
Какво действително би направило това проверяемо
Това не е аргумент, че интернет гласуване никога не може да бъде подобрено. Това е аргумент на какво „подобрено" щял да трябва да означава.
Швейцарския случай показва, че публикуване на изходен код е необходимо, но не достатъчно — кодът беше публичен, и дефектът все още изисква трима криптографи да намерят. NSW случай показва, че сертификат пред избори не е достатъчно — дефектът беше намерен по време на избор от чужди изследователи, който процес на сертификат не беше включил. D.C. случай показва, че отворено состезателни тестване работи, но само ако тестване е управлявано преди реални гласове са в рискВъзможност, и само ако юрисдикции са желаещи да убиеше система когато тестване неуспеши.
Естония случай показва че дори состоязано експерт мнение не може да бъде решено начина хартия повтори може. И Швейцария случай показва че „проверяем" доказателство може да бъде доказателство на фикция.
Какво щял да направи интернет гласуване проверяемо — истински проверяемо от някой други от доставчик, власт или криптограф на наем — щял да изисква най-малко: публичен изходен код подложен на текущ состезателен преглед; криптографски разписки, че докажат включение без доказване избор, проверени срещу публична бюлетин борд че всеки избирател може да заявите; и независима одит механизм, че не зависи на същата система че е одитирането. Изследователи работят на тези свойства. Нито един един от тях съществува в разгърната национална система днес че е оцеляла состезателен преглед без намиране критичен дефект.
До тогава, банка сравнение е инструктивен за точно неправилна причина. Вашата банка може да ви дава разписка защото вашата транзакция никога не беше съзнавано да бъде тайна. Вашия глас беше. Това е функция, не грешка — и това е причина онлайн гласуване е толкова много по-трудно от вид изглежда.
Какво е все още не независимо проверяемо: дали всяка жива интернет гласуване система в продукция днес може да издържи добре-финансиран инсайдер атака без открояване. Системите че са были анализирани от независимо изследователи — Естония, NSW, D.C., Швейцария — всеки произвеждал намирания властите оспориш или поправи. Никой национален интернет гласуване система е был подложена на вид продължи, отворен состезателен тестване че щял позволи на обикновен гражданин — не криптограф, не правителство официално — потвърди преброяването беше правилно.
Какво щял да направи то проверяемо: задължително публичен изходен код публикуване, независимо управляван публична бюлетин борд, продължил состезателен красноармеец-екип достъп и одит процедури че не маршрут чрез система будучи одитирано. Тези са стандартите достойни изискване.
Виж как проверяемост пропуски се появяват страни различни системи и щати →
Прочетете две-минута версия на интернет-гласуване проблема →
Източници
- Lewis, Pereira, Teague — Ceci n'est pas une preuve (Swiss Post/Scytl trapdoor), 2019
- Wolchok, Wustrow, Halderman, Prasad — Attacking the Washington, D.C. Internet Voting System, Financial Cryptography 2012
- Halderman, Teague — The New South Wales iVote System: Security Failures and Verification Flaws in a Live Online Election (arXiv:1504.05646)
- Springall et al. — Security Analysis of the Estonian Internet Voting System, ACM CCS 2014
- Norwegian Ministry of Local Government and Modernisation — Internet voting trials (via Internet Archive)
- Bundesverfassungsgericht, Judgment of 3 March 2009, 2 BvC 3/07 and 2 BvC 4/07 (English translation)
- Adviescommissie inrichting verkiezingsproces (Commissie Korthals Altes), Stemmen met vertrouwen, 27 September 2007
- U.S. Court of Appeals for the First Circuit — Rideout v. Gardner, No. 15-2021 (Sept. 28, 2016)
- Australian Electoral Commission — A short history of voting and the secret ballot
- UK primary legislation — Ballot Act 1872