А “разкодирайте” ей тази електронна идентичност де!

 

С наближаването на референдума за електронно дистанционно гласуване на 25-и октомври един от постоянно изтъкваните страхове на скептиците е, че електронния вот не може да бъде таен.

Това е абсолютно невярно – вероятно поради недостатъчна лично познания на твърдящите го, или поради липса на усилие да се консултират с експерти в областта на информационната сигурност.

Купуването или принуждаването на гласоподаватели са неизбежни независимо от технологията: е-гласуването няма да увеличи тези възможности 

Тайната на вота има две страни, които повечето противници на е-вота – дали заради незнание, дали заради удобство да защитят тезата си против – не си правят труда да забележат и разделят.

Първата страна няма нищо общо с технологиите или с начина на гласуване – тя е чисто психологическа. Въпросът при нея е колко е възможно и вероятно избирател да бъде подкупен или заплашен да гласува по даден начин от някого другиго. По тази страна на тайната на вота няма никаква разлика между сегашното присъствено гласуване в тайна кабинка, и от друга страна – електронното дистанционно. И при двете технологии, дали група избиратели ще бъдат подкупени или принудени зависи само от тяхното собствено решение дали са готови да се поддадат на натиск или продадат.

Противниците на е-вота твърдят, че работодатели или други въздействащи ще гласуват на практика “вместо избирателя”. Но за да направят това, тези принуждаващи или купуващи гласове ще трябва да се идентифицират като гласоподавателя. А това означава, че ще трябва да получат нещо от него – например картата с електронният им подпис или електронната им лична карта, както и ПИН-кода към нея, или какъвто друг вид начин за уникална идентификация бъде осъществен.

Но и при днешния присъствен и хартиен вот има елементарен начин подкупващият или принуждаващият да е сигурен, че е гласувано според желанието му: като изиска от избирателя да заснеме бюлетината с вота си докато е в тайната кабинка. Масовото наличие на мобилни телефони с камера позволява всеки да го направи. Ако ли пък заплашеният или подкупен избирател няма такъв – принуждаващия или купуващия може да му осигури преди влизане в секцията.

Но как стои въпросът с технологичната страна на тайната на вота? Там има тотална и абсолютно неразбиваема защита на тайната на вота.

Няма как да очакваме средният човек да е наясно с напредъка на математиката и технологиите в информационната сигурност. Това е естествено и не можем да виним хората за това.

Но можем да виним политиците – които са представители на същите тези хора. Тези политици имат и възможността, и задължението да се информират – чрез експерти – и да представят на избирателите разумно и реалистично, отговарящо на действителността мнение.

И ако българските политици – и германските съдии – се поинтересуват малко повече ще научат, че отдавна в компютърните технологии съществува начин за “кодиране” на идентичност по необратим начин.

Накратко: в резултат от специална математическа операция данните на даден човек, които го идентифицират уникално – например трите имена, дата на раждане, номер и дата на валидност на документа за самоличност, място на издаване – могат да бъдат преобразувани в абсолютно неразгадаема дълга последователност от цифри и букви, която уникално идентифицира личността.

Тази математическа операция се нарича “хеширане” (“hashing”), а получената поредица от символи – “хеш” (“hash”).

Никоя друга личност – дори само с един символ разлика в идентификационните данни – не може да има същия “хеш”. Нещо повече, разликата в хеша на две личности само с един символ разлика е огромна.

Ето пример – виждат се огромните разлики между двата хеша дори само с една единствена буква разлика в трите имена:

Красимир Василев Гаджоков – хеш:

E4CEF7AD638E731E52FA7E3399B1B162
62AFCCA9CE90B5C5D6959389A8D0643B
ECE560CE41BFBF72AE56B8214F9BD566
1314988805F44C8DB7E9BBECB7D0458B

Красимир Василев Гаджокоф – хеш:

8612858B1C71287CCAFAB5589959E657
BFFF5D95C264B5AE38E727EB1969D7D0
EED5FA261107CBCCEB0CF45EF274EDCA
9C532C00E9DF41B23EE24615EC30DF16

Дори най-мощните компютри в света да бъдат събрани, ще им отнеме непосилно време да “обърнат”, т.е. да “разкодират” обратно към оригиналната последователност от символи такива хешове.

Колкото по-дълга е поредицата от символи, която се хешира, толкова е по-трудна и по-бавна “разшифровката” й. Ако комбинираме основните данни, идентифициращи един български гражданин, изброени по-горе, то дължината достига до около 70 символа.

Колко време би отнело да се разкодира един “хеш” на тези 70 символа?

За основа можем да ползваме изчисленията на статията за “разкодиране” хеша на една 8-символна парола. От съвсем скорошна публикация се вижда, че то отнема 6 часа със специализиран компютър.

Обаче увеличаването на дължината на оригиналната поредица от символи, която се хешира, увеличава нужното време за разкодира не пропорционално, а експоненциално – грубо, с по една степен за всеки символ отгоре. Така за разкодиране на един хеш, получен от 70-символна поредица от данни, ще са нужни 6 на степен 62 часа!!! За да осъзнаем невероятно огромно е това време: 6 на степен 6 часа е приблизително 5 години, 6 на степен 7 е 30 години, а 6 на степен 8 е 180 години!!!

Най-мощните и изключително скъпи компютри – каквито, разбира се, няма никакъв шанс някой да използва срещу изборите в България, просто защото ще загуби повече пари отколкото ще спечели – биха могли да разкодират хешове около 1 милион пъти по-бързо.
Струва ви се, че това променя значително нещата? Никакъв шанс! Тези милион пъти биха “свалили” съвсем скромно скоростта за разкодиране на 70-символа: от 6 на степен 62 до … 6 на степен 54 часа. Да си припомним отново: 6 на степен 8-а е 180 години!

И това е времето за “разкодиране” само на една идентичност!

Но и това не е всичко: много от хеширащите алгоритми правят многократни “итерации” – многократно хеширане върху преди това хешираното, обикновено от 5000 до 10 000 пъти. Теоретичните възможности за разкодиране на такива хешове са просто колосално и абсолютно непосилни дори за възприятие от човешката мисъл, камо ли практически достижими.

А как ще бъде получена тази уникална и неразбиваема електронна самоличност, когато някой ще се идентифицира за гласуване в изборите?

Един начин е с ръчно въвеждане на данните от личната карта, друг – доста по-сигурен – е автоматично ако личната карта е “смарт”-карта (каквато научихме наскоро, че ще бъде въведена в България след няколко години) или ако се изисква “смарт”-карта с електронен подпис (струва само 12 лв на година в момента).

Но как ще бъде “гарантирано”, че този, който въвежда данните си или ползва картата, е реално притежателя на тези данни или електронен подпис; че не се ползва от някой друг?

Личните смарт-карти и картите за електронен подпис – както банковите карти – имат ПИН-код за ползване – поне 4-цифрено число. Ако някой се опита да го “хакне” с опити да познае ПИН-а, картата става безвъзвратно неизползваема след от 5 до 7 неуспешни опита. Така че, ако някой просто “докопа” лична смарт-карта, няма почти никакъв шанс да я използва ако не знае ПИН-а й.

Разбира се, ако някой даде както смарт-картата, така и ПИН-а за нея на другиго, то е възможно последният да я ползва вместо притежателя й. Но ако личната смарт-карта бъде обвързана с интернет-банкиране и особено с получаването на социални, здравни и пенсионни осигуровки, хората не биха се съгласявали толкова лесно да си дават картата само и само някой друг да гласува вместо тях срещу скромните 50-60 лв. Защото злоупотребата с техните осигуровки и банкови сметки би била неимоверно по-голяма материална загуба за тях.

Така виждаме колко очевидно необосновани са страховете, че технологиите ще позволят – в последствие, или по време на електронното гласуване – да се “следи” и “разкрива” за кого гласува избирателят с електронното гласуване.

Описаното тук е само малка част от защитите на електронното дистанционно гласуване. Десетки други технологии, механизми и процедури се прилагат и допринасят за много голямата сигурност на този безспорно превземащ света начин за упражняване правото на избор в различни нива на общественото управление.

50 thoughts on “А “разкодирайте” ей тази електронна идентичност де!

  • 26.10.2015 at 05:21
    Permalink

    На политиците не им трябва да хакват самоличности, а да променят няколко числа от крайния резултат.

  • 26.10.2015 at 20:39
    Permalink

    И всичко опира до салта, така ли? Не знам какво ви дава самочувствието да коментирате теми като електронното гласуване, което в никакъв случай не може да крепи сигурността си върху хешова.

    Ако имате желанието и нужните знания можем да коментираме сериозни системи като Helios и Pret-a-Voter, а не свободни съчинения.

  • 27.10.2015 at 08:28
    Permalink

    Много дълго ми дойде да изчета всички коментари, но междувременно ми хрумна следната идея (с малко предислов):
    Към момента има 2 хранилища с които се удостоверява, че n на брой хора са гласували – 1. урна в която има n бюлетини и 2. книга в която има n подписа.
    Никой не задължава тези данни да се движат заедно…. нали?
    Ето какъв use-case ми влезе в главата … има един поток от лични данни (нужно ли е да се криптира, при положение, че са достъпни за държавната администация??), има втори поток със вота. През първия поток върви информацията “да – ‘човекът X’ е гласувал.” Във втория поток върви информация – пуснат е някакъв глас … криптиран. а ключа за декриптиране е (произволен) стринг, въведен от гласоподавателя в момента на гласуването …. хеширан, криптиран … к’ъвто може да е … и пазен в трето хранилище… там където са гласовете се пази информацията тоя глас е криптиран с този ключ (на който се вижда също криптирания вариант) …. а самия ключ се пази на най-сигурното за всеки един скептик място – в главата му. Ако иска на по-късен етап да достъпи тия данни – може и да си запомни ключа, ако не – жив и здрав да е….

  • 27.10.2015 at 14:55
    Permalink

    @Haha
    Скромната ми публикация е демонстрация, и то на разбираем (сравнително) език, на само ЕДИН от стотиците механизми за сигурност, които ще бъдат изпозлвани.
    ЦЕлта й е да покаже че с днешната информационна сигурност дори за хакерите е невъзможно да видят кой за какво е гласувал.
    А крайния резултат политиците няма как да го проверят – ако се спазват процедурите от хората.
    То и днес с хартиеното гласуване няма как да с епромени резултата – поне преди тези местни избори, защото сега се видя, че не се спазват елементарни процедури за правене и заверяване на протоколите.
    Но както повтарям постоянно: сигурността (независимо електронната или общата такава) е ПРАКТИКА, а не само технологии и процедури.
    Ако практиката я няма – всичко е възможно, независимо дали се гласува хартиено или електронно.

  • 27.10.2015 at 15:03
    Permalink

    @Тодор Казаков: това е само ДЕМОНСТРАЦИЯ за масовата публика докъде са стигнали технологиите – че са способни за защитят тотално успешно една кодирана самоличност.
    И хеширането е САМО ЕДНА от стотиците технологии на сигурността, които ще бъдат използвани – и са използвани – в реални системи за е-гласуване.
    Ту просто разсъждаваме какво може да се прави и как то работи.

    Разбира се, че има много завършени системи за е-гласуване които обхващат ъде-къде повече аспекти и технологии.

    Колкото за Helios – знам ги отдавна, но като видях това на страницата им, спрях да чета повече:

    “Should we start using Helios for public-office elections? Maybe US President 2016?
    No, you should not. Online elections are appropriate when one does not expect a large attempt at defrauding or coercing voters. For some elections, notably US Federal and State elections, the stakes are too high, and we recommend against capturing votes over the Internet. This has nothing to do with Helios itself: we just don’t trust that people’s home computers are secure enough to withstand significant attacks.”

  • 27.10.2015 at 19:02
    Permalink

    И защо спряхте да четете повече? Защото казват истината? Дори и най-напредналите системи за електрнно гласуване имат вектори за атака. Съжалявам, че ви секнах безсмисления разговор с малко истина.

  • 27.10.2015 at 19:09
    Permalink

    @Тодор Казаков: И коя е “истината”? Теоретично , асболютно всичко е пробиваемо, по дефниция. Но информационната сигурност НЕ Е само теория (където ресурсите нямат значение), а ПРАКТИКА (където имат ОГОРМНО значение).
    Теоретично, този хеш в картинката която съм дал е напълно разбирваем.
    Практически – неразбиваем ДНЕС (и в обозримо бъдеще). В РЕАЛНИЯ свят времето и парите имат ЗНАЧЕНИЕ – за разлика от в тероретичния.

    Сигурността работи ТОЧНО заради това, че се прилага в РЕАЛНИЯ свят.
    Тоно по тази причини 1 МИЛИАРД хора са пазарували миналата година стоки/услуги по интернет на стойност 1.4 ТРИЛИОНА долара – защото макар и да има временно успешни по-малки атаки, е-търговията е ДОСТАТЪЧНО сигурна за релания свят. Рисковете са ПРИЕМЛИВО малки.
    Няма банка или финансова иснтитуция – дори и каквато и да е институция или фирма – която да си е спряла е-тръговита/услугите заради някакъв пробив. Просто се прилагат по-добри технологии, процедури и особено ПРАКТИКИ на информационната сигурност, и се продължава.

  • 27.10.2015 at 19:11
    Permalink

    @Ненко
    Като цяло доста по-добро мислене от автора на статията.

    Най-напредналите системи използват Re-encryption mix-nets – на прост език гласът се криптира няколко пъти с N на брой ключа, като използваните криптографски примитиви позволяват броене на гласовете без да се декриптират гласовете (homomorphic encryption).

    При тези системи не може да се разчита на салт, понеже който го знае може да прави каквото си иска. За това има коалиция от N наброй доверени страни и без мажоритарен консенсус не може да бъдат манипулирани данните.

  • 27.10.2015 at 19:18
    Permalink

    @ненко: точно този принцип обяснявам по-горе в един от коментарите (https://www.gadjokov.com/2015/10/17/p1488/comment-page-1#comment-31742 ).
    разбира се, с гласа е още по-напредничаво – но и с поделяне знанието на солта (или при криптиране – паролата за ключа) в гласвите на N на брой доверени страни пак става.

    Въпросът е, че страхът на неразбиращите или просто противниците на технологиите (в частност е-гласуването) ги кара да искат безумни нива на сигурност, които не са практични, утопични. А както писах няколко пъти, сигурността работи заради ПРАКТИЧЕСКИТЕ й измерения.

    Такъв страх е тотално ирационален и параноичен.
    И даже безсмислен – защо да се притесняваме ако подозираме, че топ 3-ма държавници ще се наговорят за да злопотребят с изборите (като се съберат и използват солта/паролата за да подправят рзултатите) – при положение, че след като са вече в качеството на топ-длъжностите си, те могат да нанесат още много и къде по-големи обществени вреди?

  • 27.10.2015 at 19:20
    Permalink

    @Красимир Гаджоков
    Моля ви запознайте се с модерни научни трудове по темата, за да можете да говорите подготвен. Не може да сравнявате електронна търговия с ПРОТОКОЛ за електрнно гласуване.

    В дадения пример има single source of truth и това е солта. Къде се пази солта? При този, който организира изборите, нали? Той има и входящите данни нали?

    Хеширането се използва когато искате да предпазите данните от трети лица. Примерът е неподходящ, защото в електронните избори, има 2 страни – гласоподавателя и организатора на изборите. Тук трябва да се опази вота от този, който провежда изборите.

  • 27.10.2015 at 19:27
    Permalink

    @Тодор Казаков: това, което казвате, е невъзможно. Какво искате да кажете – че ако солта е у 3-ма случайно подрабни граждани (всеки знае 1/3 от нея), то това е “по-сигурно” защото те не са част от организаторите на изборите?
    И какво ще попречи на организаторите да принудят/купят тези “независими” граждани? И няма ли да е даже много по-лесно да бъдат купени/заплашени – при положене че нямат ресурсите на държавата да се зашитават от подобни атаки?
    Или не ви разбирам какво искате да кажете?

    Колкото до солта – вие прочетохте ли как предлагам да се защити? Е в този коментар по-горе е: https://www.gadjokov.com/2015/10/17/p1488/comment-page-1#comment-31730

    Даден е пример за парола на ключ, но същото важи за солта. По същия начин може да се постъпи и с нея.

  • 27.10.2015 at 19:50
    Permalink

    @Красимир Гаджоков
    Това, което казвам е възможно. Коментара ви доказва точно колко сте некомпетентен по темата. В първия си коментар споменах Helios и Pret-a-Voter. Това са системи, които адресират проблема с анонимността на вота.

    ПП. Аз не говоря за солт, а вие. Но и да говорех, не говоря за случайни граждани а заинтересовани страни които искат да опазят вота, като НПО-та, партии и други институции.

    ПП2. Малко информация за мен – работил съм с проф. Майкъл Хут, проф. Питър Райън и проф. Марк Райън по протокол за електронно гласуване базиран на Pret-a-Voter. Можете да използвате гугъл, за да се запознаете с профилите на изброените от мен хора.

  • 27.10.2015 at 19:55
    Permalink

    А това от линка е глупост писана от дванадесетокласник. Няколко човека ще пишат част от паролата. Ама вие сериозно ли? Чували ли сте за distributed key generation?

  • 27.10.2015 at 20:10
    Permalink

    @Тодор Казаков: както виждате, аз не изпозлвам обидни квалификации. Те издават обикновено само липса на аргументи.

    Уважения и адмирация към работата ви. Но съм сигурен много добре разбирате, че примера който давам на разбираем за ВСЕКИ език, е СИЛНО ОПРОСТЕНА аналогия на разделяне на паролата за ключа. Големият “страх” е недоверието в технологиите, от сложността и от познанията нужни за разбирането им. Ако обществото просто се доверяваше на технолозите, нямаше да има нужда да се обяснява елементарно и опростено.

  • 27.10.2015 at 20:14
    Permalink

    И каква е разликата КОИ са страните в процеса на опазване на някаква тайна, нужда за добра криптография? Каква е разликата ако в процеса участват и НПО и други институции ? Огромният проблем е огромния омагьосан кръг в който са се оплели гражданите ни, в резултат от упадъка на културата. Те ще искат безкрайни нива на сигурност или доверие – дори и ако ВСЯКО НПО и ВСЯКА партия (над 1000 сигурно) участват в генерацията и поделянето на тайните на нужната криптография. И колкото е по-сложна процедурата, колкото е по-академична – толкова повече ще се отнасят с недоверие.

    И с 3 страни става. Но ако няма довеие – не става и с 1000.

  • 29.10.2015 at 00:42
    Permalink

    За съжаление нямаш опция за контакт с теб, затова пиша коментар.
    Подкрепям електронното гласуване.
    Но трябва да има равностойно представяне на всички гледни точки.
    Намерих това видео(сигурно си го гледал):
    Security Analysis of Estonia’s Internet Voting System [31c3] by J. Alex Halderman
    https://www.youtube.com/watch?v=JY_pHvhE4os
    Реших да го преведа, но има доста термини, които не разбирам.
    Можеш ли да напишеш превод или субтитри, а аз ще сглобя клипа и ще го кача във Vbox7?
    Не ми харесва, че в Интернет има качени извадки от тази презентация, които са манипулативно сглобени, така че да се настройва обществото срещу електронното гласуване.
    Иска ми се да кача целия клип с превод.
    Ако не можеш – здраве да е.
    Това беше деловата част. 😀
    Сега по темата. 🙂
    За съжаление референдума не успя или поне не е задължителен за Народното събрание.
    А както знаем политиците ни надали ще одобрят електронното дистанционно гласуване.
    Още повече като се има предвид, че те умишлено саботираха референдума.
    Ясно е какво ще стане от тук нататък – всичко ще бъде заметено под масата и в крайна сметка в България няма да има електронно гласуване.

  • 29.10.2015 at 01:06
    Permalink

    има възможност за връзка с мен – цели няколко даже 🙂 – най-горе вдясно — “за мен”

    но още по-добре че сте коментирали – публичната дискусия е най-интересна

    видеото на проф.Халдерман не само отдавна го знам, ами му отделих специалан публикация в блога ми още на 18 септември където критикувам неговите критики, точка по точка (цели 10) – в дясната колконка на блога ми — “последни публикации” — “Критика на критиката към естонската система за електронно гласуване”

    първата половина на това видео въобще не е за естонската система за е-гласуване, а за супер-аматьорска студентска такава, която била пробита много бързо – ами как няма да е, самият Халдерман казва че не са участвали специалисти по киберсигурност в проектирането й

    основната ми теза срещу ктириките на Халдерман е че сигурността не е само технологии, но и процедури и особено ПРАКТИКИ; той показва лоши практики на естонците – които елементарно се преодоляват с профсионални екипи от специалисти по информационна сигурност, защо не и няколко незавсиими един от друг например

    референдумът ще влезе като закон в НС и ако партиите които подкрепиха въпроса, подкрепят пак влзиането му в сила – ше се случи; но няма закъде да бързаме, така пък ще има повече време за преодоляване на ирационалните страхове на твърде много хора

  • 31.10.2015 at 16:09
    Permalink

    А-а-а, трябвало да цъкна върху “За мен”! 😀
    А аз все отварям “Астрономия”. 😀
    Още през септември прочетох публикацията “Критика на критиката към естонската система за електронно гласуване”, но не разбрах, че става дума за същото видео.
    Аз мисля, че партиите няма да подкрепят електронното гласуване.
    А ако го направят ще го реализират така, че да бъде пълен провал и да откажат завинаги хората от електронното гласуване.
    Ако проекта се реализира като отворен код и далеч преди официалното му пускане бъде многократно тестван вероятността за грешки е минимална.
    Когато кодът на системата е публикуван в Интернет и всеки програмист има достъп до него грешките лесно се откриват.
    Все пак едно е да работят 10 човека, друго е 10 000.
    Системата може да бъде изпипана до съвършенство.
    А съдействието на външните програмисти може да бъде отразено в кода под формата на забележки: “Корекция тук беше направена от … еди кой си!”.
    Така крайният резултат ще бъде една добре работеща система, недостъпна за атаки отвън и сигурна отвътре.

  • 01.11.2015 at 17:54
    Permalink

    Това, че е с отворен код не го прави сигурен. Тук е момента да вмъкна препратка към OpenSSL 😉

  • 01.11.2015 at 17:57
    Permalink

    @Тодор Казаков: отворения код е и за да проверят недоверчивите, че няма някой “трик” за “нагласяне” на изборите.
    Но и дава възможност за забелязване на грешки, защото можеш да забележиш проблеми, които са невидими при динамични тестове за пробив (срещу изпълнимия код).

    Допълнително, достъпа на мноог повече хора до кода дава възможност за по-качествен софтуер.

    Разбира се, няма гаранции само по себе си, че отворения код няма да има ВЪОБЩЕ бъгове.

Вашият коментар

Вашият имейл адрес няма да бъде публикуван. Задължителните полета са отбелязани с *