Lt304888.ru

Туристические услуги

Слепая подпись

20-10-2023

Слепая подпись (Blind Signature) — разновидность ЭЦП, особенностью которой является то, что подписывающая сторона не может точно знать содержимое подписываемого документа. Понятие слепой подписи придумано Дэвидом Чаумом (David Chaum)[1], им же предложена первая реализация через алгоритм RSA.

Содержание

Описание

Основная идея слепых подписей заключается в следующем. Отправитель А посылает документ стороне В, который В подписывает и возвращает А. Используя полученную подпись, сторона А может вычислить подпись стороны В на более важном для себя сообщении t. По завершении этого протокола сторона В ничего не знает ни о сообщении t, ни о подписи под этим сообщением.

Эту схему можно сравнить с конвертом, в котором размещён документ и копировальный лист. Если подписать конверт, то подпись отпечатается на документе, и при вскрытии конверта документ уже будет подписан.

Цель слепой подписи состоит в том, чтобы воспрепятствовать подписывающему лицу В ознакомиться с сообщением стороны А, которое он подписывает, и с соответствующей подписью под этим сообщением. Поэтому в дальнейшем подписанное сообщение невозможно связать со стороной А.

Алгоритмы слепой подписи

Полностью слепая подпись

Дана ситуация: Боб — нотариус. Алисе нужно, чтобы он подписал документ не имея никакого представления о его содержании. Боб только заверяет, что документ нотариально засвидетельствован в указанное время. Тогда они действуют по следующему алгоритму:

  1. Алиса берёт документ и умножает его на случайное число. Оно называется маскирующим множителем.
  2. Алиса отсылает документ Бобу
  3. Боб подписывает документ и отсылает обратно
  4. Алиса удаляет маскирующий множитель и получает свой документ с подписью.

Этот протокол работает, только если функции подписи и умножения коммутативны.

Слепая подпись

  1. Боб готовит n документов на каждом из которых написано некоторое уникальное слово (чем больше n, тем меньше у Боба шансов смошенничать).
  2. Боб маскирует каждый документ уникальным маскирующим множителем и отправляет их Алисе.
  3. Алиса получает все документы и случайным образом выбирает n-1 из них.
  4. Алиса просит Боба выслать маскирующие множители для выбранных документов.
  5. Боб делает это.
  6. Алиса вскрывает n-1 документов и убеждается что они корректны.
  7. Алиса подписывает оставшийся документ и отсылает Бобу.
  8. Теперь у Боба есть подписанный Алисой документ с уникальным словом, которое Алиса не знает.

Протокол RSA

Первая реализация слепых подписей была осуществлена Чаумом с помощью криптосистемы RSA:

  1. Алиса выбирает случайное число k, взаимно простое с n. Затем она маскирует m, вычисляя:
  2. Боб подписывает :
  3. Алиса снимает маскировку с , вычисляя
  4. Результатом является

Чаум придумал целое семейство более сложных алгоритмов слепой подписи под общим названием неожиданные слепые подписи. Их схемы ещё сложнее, но они дают больше возможностей.

Применение

Банковские системы

Наиболее широкое применение протокол слепых подписей нашёл в сфере цифровых денег. Например, чтобы вкладчик не обманул банк, может использоваться такой протокол: вкладчик пишет одинаковый номинал купюр на ста документах с разными номерами и депонирует в зашифрованном виде у банка. Банк выбирает случайным образом и требует раскрыть 99 (или n-1) конвертов, убеждается, что везде написано $10, а не $1000, тогда подписывает оставшийся конверт вслепую, не видя номера купюры.

Может быть предусмотрен более простой вариант: за каждым номиналом купюры у банка закреплена своя пара открытых ключей. Тогда под подпись присылается только номер купюры и необходимость проверки номинала перед подписью отпадает.

Тайное голосование

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

Если избирательный бюллетень действителен, валидатор подписывает избирательный бюллетень и возвращает его избирателю. Избиратель удаляет маскировку, раскрывая таким образом зашифрованный избирательный бюллетень, подписанный валидатором. Далее избиратель посылает в результате полученный подписанный, зашифрованный избирательный бюллетень счётчику, который проверяет подпись на зашифрованном избирательном бюллетене.

Если избирательный бюллетень действителен, счётчик размещает его в списке, который будет издан после всего голосования. После того, как список издан, избиратели проверяют, что их избирательные бюллетени находятся в списке и посылают счётчику ключи расшифрования, необходимые, чтобы открыть их избирательные бюллетени. Счётчик использует эти ключи для расшифрования избирательных бюллетеней и добавляет голос к общему числу. После выборов счётчик издает ключи расшифрования наряду с зашифрованными избирательными бюллетенями, чтобы избиратели могли независимо проверить выбор.

Примечания

  1. Брюс Шнайер, "Прикладная криптография. 2-е издание. Протоколы, алгоритмы и исходные тексты на языке С", издательство "Триумф", 2002г.

Литература

  • Шнайер, Б., Прикладная криптография. 2-е издание. Протоколы, алгоритмы и исходные тексты на языке С - "Триумф", 2002г.
  • Клюжев А., Электронное голосование, 2003г.
  • Шаньгин, В.Ф., Соколов, А.В., Защита информации в распределенных корпоративных сетях и системах - "ДМК", 2002.

Слепая подпись.

© 2020–2023 lt304888.ru, Россия, Волжский, ул. Больничная 49, +7 (8443) 85-29-01