Библиографическое описание:

Боршевников А. Е. Протокол голосования со слепыми подписями с одной ЦИК с использованием процедуры генерации ключевой последовательности из нечетких данных [Текст] // Технические науки в России и за рубежом: материалы II междунар. науч. конф. (г. Москва, ноябрь 2012 г.). — М.: Буки-Веди, 2012. — С. 14-16.

Данная работа описывает протокол голосования со слепыми подписями с использованием процедуры генерации ключевой последовательности из нечетких данных, а также неформальное доказательство его надежности.


Введение.

Политические выборы являются неотъемлемой частью современного демократического общества. На данный момент в большинстве стран для политических выборов до сих пор используются традиционные методы голосования, и лишь в некоторых странах используется электронное голосование. Главным требованием общества к голосованию является его надежность и честность. Чтобы голосование считалось надежным и честным, должны выполнятся следующие требования:

  1. Правомочность

  2. Невозможность проголосовать дважды

  3. Анонимность избирателей

  4. Невозможность проголосовать за другого избирателя

  5. Невозможность тайно изменить голос

  6. Частная верификация.

Одним из самых тяжелых требований для современных протоколов является требование невозможности проголосовать за другого избирателя. Для этого в современных электронных протоколах используется предварительная аутентификация пользователей. Отсюда возникает проблема предварительного распределения аутентифицирующей информации. Оптимальным решением является неотделимость такой информации от избирателя. Решением могла бы послужить биометрическая аутентификация, но она не соответствует третьему требованию, то есть анонимности избирателей. Но существует решение и этой проблемы - использование процедуры генерации ключевой последовательности из нечетких данных (ГКПНД).

Протокол голосования со слепыми подписями с одной ЦИК с использованием процедуры ГКПНД.

  1. Оригинальный протокол со слепыми подписями и его анализ представлен в работе [1]. Процедура ГКПНД описана в работах [2, с. 112-115] [3, c. 948—960] [4, c. 3-6].

Перед построением протокола введем следующие обозначения:

Blind( )- слепая подпись;

Mask( ;M)- процедура маскирования данных с маскирующим параметром M;

Ek( )- процедура шифрования на ключе k симметричного алгоритма шифрования;

Eцик()- процедура шифрования на открытом ключе ЦИК асимметричного алгоритма шифрования;

Numi- номер кандидата i;

U – ключевая уникальная строка;

h( )-хеш-функция;

hk( )- ключевая хеш-функция с ключом k;

V- открытая строка, по которой вычисляется U;

a- точка пространства, принадлежащая человеку, по которой генерируются U и V;

a’-точка пространства, принадлежащая человеку, по которой вычисляется U;

R- некоторая случайная строка;

||- конкатенация;

- сложение по модулю 2;

- процедура, позволяющая восстановить U из соответствующей ей «открытой» строки V и любой точки a'.

Построим протокол голосования со слепыми подписями с одной ЦИК с использованием процедуры ГКПНД:

  1. Избиратель генерирует строки U и V

  2. Избиратель формирует n наборов (R, Numi)

  3. Избиратель маскирует эти наборы:

Mask((R,Numi);M)

  1. Избиратель отправляет по анонимному каналу в ЦИК следующие данные:

Mask((R,Numi);M), M, Eцик((a’,V))

  1. ЦИК проверяет, приходили ли подобные данные

  2. ЦИК расшифровывает Eцик((a’,V)) и вычисляет U’=Rep(a’,V)

  3. ЦИК снимает маскировку с Mask((R,Numi);M)

  4. ЦИК заносит в свою базу данных следующие записи:

h(UR), U

  1. ЦИК подписывает все значения из n-1 наборов Numi:

Blind(Numi)

  1. ЦИК маскирует и отправляет избирателям следующие данные:

Mask((R, Blind(Numi)))

  1. Избиратель снимает маскировку с данных и получает наборы (R, Blind(Numi))

  2. Избиратель выбирает один из наборов (R, Blind(Numi)) и формирует бюллетень следующего вида:h(UR), EU(Blind(Numi)), hU(h(UR)||EU(Blind(Numi))

  3. Избиратель оправляет в ЦИК бюллетень.

  4. ЦИК проверяет неизменность данных, расшифровывает голос и отмечает в базе данных то, что избиратель с уникальной строкой U’ проголосовал.

  5. ЦИК вычисляет значение h(U’) и выкладывает пару (h(U’),Numi) в открытый доступ для проверки голоса

  6. Избиратель проверяет свой голос. Если он правилен, то он отсылает в ЦИК пару (h(UR), hU(h(UR)||1))

  7. Иначе отсылается:

h(UR), EU(Blind(Numj)), hU(h(UR)||EU(Blind(Numj)||0).

Как только пользователь отошлет (h(UR), hU(h(UR)||1)), голос будет учтен.

Неформальный анализ протокола.

Проанализируем данный протокол.

Данный протокол правомочный, т.к. могут проголосовать только зарегистрированные пользователи. Это обеспечивает ведение ЦИК базы данных на шагах 8 и 14.

Требование невозможности проголосовать дважды выполняется, так как на шаге 14 ЦИК отмечает проголосовавших избирателей.

Анонимность избирателей вытекает из использования процедуры ГКПНД. На шаге 4 используется анонимный канал, в остальных случаях ЦИК работает исключительно с определенными данными, а не с конкретными людьми.

Невозможность проголосовать за другого избирателя вытекает из задания процедуры ГКПНД, т.е. если данные представит другой избиратель, то уникальная строка не будет восстановлена.

Невозможно тайно изменить свой голос, так как при прохождении шагов 13, 16, 17 избиратель передает свой голос ЦИК, которая фиксирует этот голос.

Шаг 16 обеспечивает частную верифицируемость избирателям.

В данном протоколе не предусмотрена глобальная верифицируемость.

Возможные шаги, на которых злоумышленник может атаковать -4, 10, 13, 16, 17. Злоумышленник может совершить случайную атаку на 4 шаге, однако при перехвате данных он не будет знать, чьи это данные. Но на этом шаге он может вычислит пары (R, Numi), а также будет знать значение Eцик((a’,V)). Если злоумышленник сможет узнать значение (a’,V) и вычислить Rep(a’,V), то он сможет пройти все этапы, сымитировав избирателя, т.е. произвести атаку типа имитации. Настоящий избиратель может заметить мошенничество уже после подтверждения голоса. Поэтому необходимо ввести процедуру аннулирования голосов. Но если ввести такую процедуру, то можно ожидать мошенничества со стороны избирателей, которые могут, сговорившись сорвать голосование. Поэтому голосование должно предусматривать аннулирование результатов при некотором количестве опротестованных голосов. Также должен быть надежен шифр Eцик((a’,V)).

Атаки в шагах 10, 16 не дают злоумышленнику какой-либо ценной информации.

Стойкость протокола при случайной атаке в шагах 13,17 зависят исключительно от стойкости зашифрованных данных.

Также возможно мошенничество со стороны ЦИК, в котором оно может попытаться голосовать вместо избирателей, используя старые ключевые последовательности. Для избежания этого для каждого нового голосования должны генерироваться уникальная последовательность U и строка V.

Выводы.

В ходе проделанной работы был получен протокол голосования со слепыми подписями с одной ЦИК с использованием процедуры ГКПНД и проведен неформальный анализ безопасности данного протокола.


Литература:

  1. Schneier B. Applied Cryptography: Protocols, Algorithms, и Source Code in C-

  2. Published by John Wiley'Sons, Inc., 1994

  3. Корнюшин П. Н., Гончаров С. М., Харин Е. А. Построение систем биометрической аутентификации с использованием генератора ключевых последовательностей на основе нечетких данных. //Материалы 50-й всероссийской научной конференции. — Владивосток: ТОВМИ, 2007. — Т.2

  4. Uludag U., Pankanti S., Jain A. Biometric cryptosystems: issues and challenges - Proceedings of the IEEE 92. — 2004

  5. Dodis Y., Reyzin L., Smith A. Fuzzy Extractors - Proceedings from Advances in Cryptology, EuroCrypt, 2008


Обсуждение

Социальные комментарии Cackle