Студопедия

КАТЕГОРИИ:

АвтоАвтоматизацияАрхитектураАстрономияАудитБиологияБухгалтерияВоенное делоГенетикаГеографияГеологияГосударствоДомЖурналистика и СМИИзобретательствоИностранные языкиИнформатикаИскусствоИсторияКомпьютерыКулинарияКультураЛексикологияЛитератураЛогикаМаркетингМатематикаМашиностроениеМедицинаМенеджментМеталлы и СваркаМеханикаМузыкаНаселениеОбразованиеОхрана безопасности жизниОхрана ТрудаПедагогикаПолитикаПравоПриборостроениеПрограммированиеПроизводствоПромышленностьПсихологияРадиоРегилияСвязьСоциологияСпортСтандартизацияСтроительствоТехнологииТорговляТуризмФизикаФизиологияФилософияФинансыХимияХозяйствоЦеннообразованиеЧерчениеЭкологияЭконометрикаЭкономикаЭлектроникаЮриспунденкция

Протоколы идентификации с нулевой передачей знаний




 

Широкое распространение интеллектуальных карт (смарт-карт) для идентификации и аутентификации пользователей потребовало обеспечечить безопасную идентификацию таких карт и их владельцев. Для этого разработаны протоколы идентификации с нулевой передачей знаний (ZK-протоколы). Секретный ключ владельца карты становится неотъемлемым признаком его личности. Доказательство знания этого секретного ключа с нулевой передачей этого знания служит доказательством подлинности владельца карты.

Схему идентификации с нулевой передачей знаний предложили в 1986 г. У. Фейге, А. Фиат и А. Шамир.

В упрощенном варианте схемы [18] идентификации с нулевой передачей знаний выбирают случайное значение модуля n, который является произведением двух больших простых чисел. Модуль n должен иметь длину 512 – 1024 битов. Это значение n может быть представлено группе пользователей, которым придется доказывать свою подлинность. В процессе идентификации участвуют две стороны:

– сторона А, доказывающая свою подлинность;

– сторона В, проверяющая доказательство, предоставленное А.

Для того что бы сгенерировать открытый и секретный ключи для стороны А, доверенный центр выбирает некоторое число V, которое является квадратичным вычетом по модулю n. Иначе говоря, выбирается такое число V, что сравнение

x2 º V mod n                                        (3.1)

 

имеет решение и существует целое число

 

V−1 mod n.                                            (3.2)

 

Выбранное значение V является открытым ключом для А.

Далее выполняется протокол идентификации:

1 Сторона А выбирает некоторое случайное число r, r < n. Затем она вычисляет

 

x = r2 mod n                                                   (3.3)

 

и отправляет x стороне В.

2 Сторона В посылает А случайный бит b.

3 Если b = 0, тогда А отправляет r стороне В. Если b = 1, то А отправляет стороне В

 

Y = r·S mod n.                            (3.4)

 

4 Если b = 0, сторона В проверяет, что

 

x = r2 mod n,                        (3.5)

 

чтобы убедиться, что А знает sqrt(x). Если b = 1,  сторона В проверяет, что

 

x = y2·V mod n,                         (3.6)

 

чтобы убедиться, что А знает sqrt(V−1).

Эти шаги образуют один цикл протокола, называемый аккредитацией. Стороны А и В повторяют этот цикл t раз при разных случайных значениях r и b до тех пор, пока В не убедится, что А знает значение S.

Если сторона А не знает значения S, она может выбрать такое значение r, которое позволит ей обмануть сторону В, если В отправит ей b = 0, либо А может выбрать такое значение r, которое позволит обмануть В, если В отправит ей b = 1. Но это невозможно сделать в обоих случаях. Вероятность того, что А обманет В в одном цикле, составляет 1/2. Вероятность обмануть В в t циклах равна (1/2)t.

 

 










Последнее изменение этой страницы: 2018-05-10; просмотров: 279.

stydopedya.ru не претендует на авторское право материалов, которые вылажены, но предоставляет бесплатный доступ к ним. В случае нарушения авторского права или персональных данных напишите сюда...