Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

Упрощенная схема аутентификации с нулевой передачей знаний



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

Изначально, случайным образом задаются два больших простых числа и вычисляется их произведение – модуль Р, который должен иметь размерность 512…1024 бит. Это значение Р передается всем членам корпоративной компьютерной сети. Значения же двух больших простых чисел не передаются никому и хранятся в секрете.

В частном случае, в процессе аутентификации участвуют две стороны:

- пользователь «А», доказывающий свою подлинность;

- пользователь «В», проверяющий представляемое пользователем «А» доказательство.

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

Некоторое число а < Р, где Р – простое число сравнимо с квадратом некоторого числа X по модулю Р, т.е. выполняется сравнение вида

X2=а modP, тогда число а является квадратичным вычетом по модулю Р. Если это условие не соблюдается, то число а является квадратичным невычетом по модулю Р.

В случае, если «а» является квадратичным вычетом по модулю Р, то сравнение X2=а modP имеет два решения + Xi; - Xi, т.е. число «а» по модулю Р имеет два квадратных корня по модулю Р. Множества квадратичных вычетов находятся вычислением квадратов чисел 1, 2, 3, …, по модулю Р. Например, при Р =11 множество квадратичных определится как:

12=1=1mod11; 22=4=4mod11; 32=9=9mod11; 42=16=16mod11=5mod11;

52=25=25mod11=3mod11; 62=36=36mod11=3mod11; 72=49=49mod11=5mod11;

82=64=64mod11=9mod11; 92=81=81mod11=4mod11; 102=100=100mod11=

=1mod11; 112=121=121mod11=0mod11.

Числа 1, 3, 4, 5, 9 являются квадратичными вычетами по модулю Р при Р = 11. Число таких вычетов определяется как m = ; для рассмотренного примера при Р = 11 число вычетов будет равно m = ,

mi → {m1=1; m2=3; m3=4; m4=5; m5=9}. В свою очередь не существует никаких значений Xi, которые удовлетворяли бы (для рассматриваемого примера) любому из следующих сравнений: X2=2 mod11; X2=6mod11; X2=7 mod11; X2=8 mod11; X2=10 mod11. Следовательно, числа 2, 6, 7, 8, 10 являются квадратичными невычетами по модулю Р = 11. Число таких невычетов определится как к = , для рассматриваемого примера к = Таким образом, если Р простое число, то число квадратичных вычетов и квадратичных невычетов по заданному модулю Р одинаково.

Для случая, если модуль Р будет определяться как произведение двух простых чисел P = N × L, где N и L простые числа, то число элементов множества квадратичных вычетов по модулю Р определится как:

m =

и это множество характерно тем, что каждый его элемент взаимно простой с Р.

Для примера рассмотрим случай при N=7 и L=5, следовательно множество квадратичных вычетов определится как:

m = = 6.

Производится вычисления элементов множества квадратичных вычетов для Р=35 (N=7 и L=5)

X X2 mod P
  X2 mod P = 1 mod 35
  X2 mod P = 4 mod 35
  X2 mod P = 9 mod 35
  X2 mod P = 16 mod 35
  X2 mod P = 25 mod 35
  X2 mod P = 36 mod 35 = 1 mod35
  X2 mod P = 49 mod 35 = 14 mod35
  X2 mod P = 64 mod 35 = 29 mod35
  X2 mod P = 81 mod 35 = 11 mod35
  X2 mod P = 100 mod 35 = 30 mod35
  X2 mod P = 121 mod 35 = 16 mod35
  X2 mod P = 144 mod 35 = 4 mod35
  X2 mod P = 169 mod 35 = 29 mod35
  X2 mod P = 196 mod 35 = 21 mod35
  X2 mod P = 225 mod 35 =15 mod35
  X2 mod P = 256 mod 35 = 11 mod35
  X2 mod P = 289 mod 35 = 9 mod35
  X2 mod P = 324 mod 35 = 9 mod35
  X2 mod P = 361 mod 35 = 11 mod35
  X2 mod P = 400 mod 35 = 15 mod35
  X2 mod P = 441 mod 35 = 21 mod35
  X2 mod P = 484 mod 35 =29 mod35
  X2 mod P = 529 mod 35 = 4 mod35
  X2 mod P = 576 mod 35 = 16 mod35
  X2 mod P = 625 mod 35 = 30 mod35
  X2 mod P = 676 mod 35 = 11 mod35
  X2 mod P = 729 mod 35 = 29 mod35
  X2 mod P = 784 mod 35 = 14 mod35
  X2 mod P = 841 mod 35 = 1 mod35
  X2 mod P = 900 mod 35 = 25 mod35
  X2 mod P = 961 mod 35 = 16 mod35
  X2 mod P = 1024 mod 35 = 9 mod35
  X2 mod P = 1089 mod 35 = 4 mod35
  X2 mod P = 1156 mod 35 = 1 mod35
  X2 mod P = 1225 mod 35 = 0 mod35

Анализ полученных квадратичных вычетов по модулю Р = 35 позволяет сформировать идентичные группы, имеющими решения при определенных значениях Xi.

Таблица 1.

N рупппы Квадратичные вычеты Имеет решение при Xi =
  X2 = 1 mod 35 X=1; X=6; X=29; X=34
  X2 = 4 mod 35 X=2; X=12; X=23; X=33
  X2 = 9 mod 35 X=3; X=17; X=18; X=32
  X2 = 11 mod 35 X=9; X=16; X=19; X=26
  X2 = 14 mod 35 X=7; X=28
  X2 = 15 mod 35 X=15; X=20
  X2 = 16 mod 35 X=4; X=11; X=24; X=31
Л.18 X2 = 21 mod 35 X=14; X=21
  X2 = 25 mod 35 X=5; X=30
  X2 = 29 mod 35 X=8; X=13; X=22; X=27
  X2 = 30 mod 35 X=10; X=25

Из полученных групп составляется множество квадратичных вычетов взаимнопростых с Р=35, их число определяется как

m = = 6.

Элементы этого множества определятся как: Vi →{1, 4, 9. 11, 16, 29}.

Так как элементы множества Vi взаимнопросты с Р=35, то для их значений существуют обратные значения Vi-1 mod P.

Обратные значения Vi-1 mod P определяются из условия, что известна функция Эйлера φ(Р) = =6 × 4 = 24.

Vi-1 mod P = Vi φ(Р)-1 mod P

Для Vi = 1 mod P Vi-1 mod P = 123 mod 35 =1 mod 35

Для Vi = 4 mod P Vi-1 mod P = 423 mod 35 =9 mod 35

Для Vi = 9 mod P Vi-1 mod P = 923 mod 35 =4 mod 35

Для Vi = 11 mod P Vi-1 mod P = 1123 mod 35 =16 mod 35

Для Vi = 16 mod P Vi-1 mod P = 1623 mod 35 =11 mod 35

Для Vi = 29 mod P Vi-1 mod P = 2923 mod 35 =29 mod 35

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

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

Для генерации открытого и секретного ключей для пользователя «А» корпоративный доверенный центр выбирает некоторое число V, которое является квадратичным вычетом по заданному модулю Р. Выбранное значение V будет определено как открытый ключ для пользователя «А». Из представленного множества квадратичных вычетов при Р=35 (Таблица 1) только 6 квадратичных вычетов удовлетворяют условию взаимной простоты с Р=35.

Vi → {1; 4; 9; 11; 16; 29} → {V1=1; V2=4; V3=9; V4=11; V5=16; V6=29}

Для данного подмножества Vi определяются обратные значения его элементов Vi -1 mod P.

Так как значение модуля Р определено как произведение двух простых чисел N и L, то функция Эйлера примет значение (P) = (N-1)×(L-1) = = (7-1) ×(5-1) = 24, следовательно:

Vi -1 = Vi φ(P)-1 mod P = Vi 24-1 mod 35 = Vi 23 mod 35

V1 -1 = V1 23 mod 35 = 123 mod 35 = 1 mod 35 → 1;

V2 -1 = V2 23 mod 35 = 423 mod 35 = 9 mod 35 → 9;

V3 -1 = V3 23 mod 35 = 923 mod 35 = 4 mod 35 → 4;

V4 -1 = V4 23 mod 35 = 1123 mod 35 = 16 mod 35 → 16;

V5 -1 = V5 23 mod 35 = 1623 mod 35 = 11 mod 35 → 11;

V6 -1 = V6 23 mod 35 = 2923 mod 35 = 29 mod 35 → 29;

Из полученного подмножества Vi → {1; 4; 9; 11; 16; 29} → {V1=1; V2=4; V3=9; V4=11; V5=16; V6=29} случайным образом выбирается число, которое и будет являться открытым ключом абонента «А». Для примера принимается V5=16. Для случая V5=16 вычисляется наименьшее значение квадратного корня S = sgrt V5-1 mod P.

Покажем, как производятся вычисления S для подмножества Vi-1 mod P, приведенного выше Vi → {1; 4; 9; 11; 16; 29} → {V1=1; V2=4; V3=9; V4=11; V5=16; V6=29}.

Si = sgrt Vi-1 mod P

1. S1 = sgrt V1-1 mod P = sgrt 1-1 mod 35 = sgrt 1 mod 35 → 1mod 35 → 1;

2. S2 = sgrt V2-1 mod P = sgrt 4-1 mod 35 = sgrt 9 mod 35 → 3 mod 35 → 3;

3. S3 = sgrt V3-1 mod P = sgrt 9-1 mod 35 = sgrt 4 mod 35 → 2 mod 35 → 2;

4. S4 = sgrt V4-1 mod P = sgrt 11-1 mod 35 = sgrt 16 mod 35 → 4 mod 35 → 4;

5. S5 = sgrt V5-1 mod P = sgrt 16-1 mod 35 = sgrt 11 mod 35 = sgrt 46 mod 35 =

= sgrt 46 mod 35 = sgrt 81 mod 35 = 9 mod 35 → 9;

6. S6 = sgrt V6-1 mod P = sgrt 29-1 mod 35 = sgrt 64 mod 35 = 8 mod 35 → 8;

В качестве секретного ключа абонента «А» выбирается одно из значений квадратного корня из представленного подмножества Si = sgrt Vi-1 mod P для выбранного ранее случайным образом значения Vi →V5=16 mod 35 →16, т.е. выбирается Si → S5 = 9 mod 35 → 9, которое является наименьшим значением Si, для которого существует sgrt S mod P. Например, для случая пункт 5 S5 = 9 mod 35 → 9. Следовательно, секретный ключ для абонента «А» будет равен S5 = 9 mod 35 → 9.

Таким образом, значение открытого ключа абонента»А» - КОА определится как V5=16, а значение секретного ключа абонента «А» определено как КЗА и будет равно S5 = 9 mod 35 → 9.

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

1. Абонент «А» выбирает некоторое случайное число r < P и производит вычисление числа x = r2 mod P. Допустим абонент «А» выбирает значение r = 12. В этом случае значение числа x = r2 mod P при r = 12 и P = 35 определится как: x = r2 mod P = 122 mod 35 = 144 mod 35 = 4 mod 35 → 4.

Абонент «А» отправляет значение x = 4 абоненту «В».

2. Абонент «В», в свою очередь, отправляет абоненту «А» случайный бит «b» равный «1» или «0» (b = 1 ˅ 0).

3. Получив от абонента «В» значение b = 0, абонент «А» отправляет значение r = 12 абоненту «В». Если абонент «А» получил от абонента «В» значение b = 1, тогда абонент «А» вычисляет значение y = r × S mod P. Для рассматриваемого примера y = r × S mod P = 12 × 9 mod 35 = 108 mod 35 =

= 3 mod 35 → 3. После указанных вычислений абонент «А» отправляет абоненту «В» значение y = 3.

4. Если абонентом «В» принято значение b = 0, то абонент «В» проверяет равенство x = r2 mod P, чтобы убедиться, что сторона «А» знает значение sgrt x mod P: x = 144 mod 35 = 4, т.е. 4 = 4, так как принятое значение

х = 4 абонентом «В» от абонента «А» равно вычисленному абонентом «В» значению r2 mod P = 122 mod 35 = 144 mod 35 = 4 mod 35 по принятому значению r = 12.

Если абонентом «В» принято от абонента «А» значение бита b = 1, то абонент «В» проверяет условие, что x = y2 × V mod P (для рассматриваемого примера y2 × V mod P = 32 × V5 mod 35 = 9 × 16 mod 35 = 144 mod 35 =

= 4 mod 35 → 4). Следовательно, принятое от абонента «А» значение х = 4 совпадает с вычисленным абонентом «В» значением y2 × V5 mod P =4 mod35 → 4, т.е 4=4. Проведенные абонентом «В» вычисления убеждает его в том, что абонент «А» знает значение sgrt V-1 mod P, т.е. знает, что абонент «А» владеет секретным ключом S = sgrt V-1 mod P.

В рассматриваемом примере y = r × S mod P = 12 × 9 mod 35 = 108 mod 35 = 3 mod 35 → 3, а значение секретного ключа абонента «А» равно

S5 = sgrt V5-1 mod P = sgrt 16-1 mod 35 = sgrt 11 mod 35 = sgrt 46 mod 35 =

= sgrt 46 mod 35 = sgrt 81 mod 35 = 9 mod 35 → 9;

Указанная последовательность расчетов образует один цикл протокола признания доверительности абонента связи, называемый аккредитацией. Для повышения достоверности процесса аутентификации абоненты «А» и «В» повторяют этот цикл t раз при различных случайных значениях r и b.





Дата публикования: 2014-10-25; Прочитано: 981 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2025 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.167 с)...