Смекни!
smekni.com

Криптографические протоколы (стр. 3 из 14)

3. Антон показывает n новых труднорешаемых задач Борису.

4. Для каждой из n новых труднорешаемых задач Борис просит Антона

или (а) - доказать, что она изоморфна исходной труднорешаемой задаче,

или (б) - предоставить решение этой задачи, которое Антон должен был найти на шаге 1, и доказать, что оно действительно является ее решением.

5. Антон выполняет все просьбы Бориса.

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

Неинтерактивные протоколы доказательства с нулевым разглашением конфиденциальной информации

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

1. Антон использует имеющуюся у него информацию и n сгенерированных случайных чисел, чтобы свести труднорешаемую задачу к n другим труднорешаемым задачам, изоморфным исходной задаче. Затем Антон решает эти n новых задач.

2. Антон задействует протокол предсказания бита для найденных на шаге 1 n решений.

3. Антон подает n обязательств, полученных им на шаге 2, на вход однонаправленной функции.

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

(а) если этот бит равен 1, то Антон доказывает, что исходная и i-я задачи изоморфны, или

(б) если этот бит равен 0, то Антон помещает в общедоступную базу данных решение i-й задачи, вычисленное на шаге 1.

5. Антон передает в общедоступную базу данных все обязательства, которые были получены им на шаге 2.

6. Борис, Владимир или любое другое заинтересованное лицо могут проверить правильность выполнения шагов 1-5 Антоном.

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

Роль Бориса в этом протоколе исполняет однонаправленная функция. Если Антон не знает решения труднорешаемой задачи, он все равно может выполнить действия, предусмотренные или пунктом (а), или пунктом (б) шага 4 протокола, но отнюдь не обоими пунктами сразу. Поэтому, чтобы смошенничать, Антону придется научиться предсказывать значения однонаправленной функции. Однако, если функция действительно является однонаправленной, Антон не сможет ни догадаться, какими будут ее значения, ни повлиять на нее с тем, чтобы на ее выходе получилась нужная Антону битовая последовательность.

В отличие от интерактивного протокола, здесь требуется большее количество итераций. Поскольку генерация случайных чисел возложена на Антона, подбором этих чисел он может попытаться добиться, чтобы на выходе однонаправленной функции получилась битовая последовательность нужного ему вида. Ведь даже если Антон не знает решения исходной труднорешаемой задачи, он всегда в состоянии выполнить требования или пункта (а), или пункта (б) шага 4 протокола.

Тогда Антон может попытаться догадаться, на какой из этих пунктов падет выбор, и выполнить шаги 1-3 протокола. А если его догадка неверна, он повторит все сначала. Именно поэтому в неинтерактивных протоколах необходим больший запас прочности, чем в интерактивных. Рекомендуется выбирать n=64 или даже n=128.

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

Удостоверение личности с нулевым разглашением конфиденциальной информации

В повседневной жизни людям регулярно приходится удостоверять свою личность. Обычно они делают это путем предъявления паспортов, водительских прав, студенческих билетов и других подобных документов. Такой документ обычно имеет некоторую индивидуальную отличительную особенность, которая позволяет однозначно связать его с определенным лицом. Чаще всего это фотография, иногда - подпись, реже - отпечатки пальцев или рентгеновский снимок зубов. Можно ли делать то же самое с помощью криптографии?

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

Во-первых, злоумышленник Зиновий под фальшивым предлогом может попросить Антона предъявить свое цифровое удостоверение личности. Одновременно с помощью современных средств связи Зиновий инициализирует процесс идентификации Антона совсем в другом месте и будет переадресовывать все запросы из этого места Антону, а данные им ответы - пересылать обратно. Например, Зиновий может связаться с ювелирным магазином и, выдав себя за Антона, оплатить из его кармана весьма дорогую покупку.

Во-вторых, Зиновий может запросто обзавестись несколькими тайными ключами, а следовательно, и заиметь соответствующее число цифровых удостоверений личности. Одно из них он использует единственный раз для финансовой аферы и больше им пользоваться не будет. Свидетелем преступления станет лицо, которому Зиновий предъявит свое "одноразовое" удостоверение личности, однако доказать, что это был именно Зиновий, не удастся. Ведь предусмотрительный Зиновий никогда не удостоверял таким образом свою личность прежде. Не станет он делать этого и впредь. А свидетель сможет только показать, какое удостоверение личности было предъявлено преступником. Однозначно связать это удостоверение с личностью Зиновия будет нельзя.

В-третьих, Антон может попросить Зиновия одолжить на время его цифровое удостоверение личности. Мол, Антону надо съездить в Соединенные Штаты, а поскольку он - бывший сотрудник советской разведки, работавший против США, американское правительство наотрез отказывает ему во въездной визе. Зиновий с радостью соглашается: после отъезда Антона он может пойти практически на любое преступление, поскольку обзавелся "железным" алиби. С другой стороны, ничто не мешает совершить преступление Антону. Кто поверит лепету Зиновия о том, что он одолжил свое цифровое удостоверение личности какому-то другому человеку?

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

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

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

Неосознанная передача информации

Предположим, что Борис безуспешно пытается разложить на простые множители 700-битовое число. При этом ему известно, что данное число является произведением семи 100-битовых множителей. На помощь Борису приходит Антон, который случайно знает один из множителей. Антон предлагает Борису продать этот множитель за 1000 рублей - по 10 рублей за бит. Однако у Бориса имеются в наличии лишь 500 рублей. Тогда Антон выражает желание отдать Борису 50 бит за половину цены. Борис сомневается, поскольку даже купив эти 50 бит, он все равно не сможет убедиться, что они действительно являются частью искомого множителя, пока не узнает все его биты целиком.

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

Протокол неосознанной передачи информации не решает всех проблем, которые стоят перед Антоном и Борисом, желающими заключить сделку о купле-продаже одного из множителей 700-битового числа. Чтобы сделка стала честной, Антон должен будет доказать Борису, что проданные 50 бит действительно являются частью одного из простых множителей, на которые раскладывается это число. Поэтому Антону скорее всего придется дополнительно воспользоваться еще и протоколом доказательства с нулевым разглашением информации.