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

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



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

Протокол параллельной аутентификации с нулевой передачей знаний состоит из нижеследующих этапов:

1. Изначально генерируются открытый и закрытый (секретный) ключи абонента «А» (абонент «А» является стороной доказывающая свою доверительность абоненту «В»). Для формирования открытого и закрытого ключей абонент «А» формирует число Р как произведение двух больших простых чисел (как и в предыдущей схеме в качестве примера выбираются простые числа N=7 и L=5; числа выбираются для упрощения модели небольшими). В этом случае число Р = N × L = 7 × 5 = 35, это число является модулем вычислений в системе аутентификации и передается открыто всем абонентам корпоративной системы.

Как и в предыдущем примере по заданному модулю Р выбирается k -различных чисел V1; V2; …; Vk, где каждое значение Vi является квадратичным вычетом по модулю Р, т.е. Vi должно быть таким, чтобы сравнение

X2 = Vi mod P имело решение и существовало обратное значение Vi-1 mod P.

Так для модуля Р =35 (вышерассмотренный пример) множество Vi определяется как Vi → {1; 4; 9; 11; 16; 29} → {V1=1; V2=4; V3=9; V4=11; V5=16; V6=29}. Множество обратных значений Vi-1 mod P = Viφ(P)-1 mod P определилось как Vi-1 → {1; 9; 4; 16; 11; 29}.

2. Из множества Vi → {1; 4; 9; 11; 16; 29} случайным образом выбирается k- значений (для примера примем k = 4):

Vk → {4; 11; 16; 29} → {V2=4; V4=11; V5=16; V6=29}. Эти значения являются открытым ключом (в отличии от примера упрощенной схемы, где в качестве открытого ключа выбирается только лишь одно значение V5=16).

3. Затем вычисляются значения Si = sgrt Vi-1 mod P.

Для выбранных значений Vk → {V2=4; V4=11; V5=16; V6=29} обратные значения определятся как:

Vk-1 mod P = Vk φ(P)-1 mod P, где φ(Р) – функция Эйлера, определяемая для двух простых чисел как (P) = (N-1)×(L-1) = = (7-1) ×(5-1) = 24. Следовательно, Vk-1 mod P = Vk23 mod 35.

V2-1 mod P = V223 mod 35 = 423 mod 35 = 9 mod 35 → 9;

V4-1 mod P = V423 mod 35 = 1123 mod 35 = 16 mod 35 → 16;

V5-1 mod P = V523 mod 35 = 1623 mod 35 = 11 mod 35 → 11;

V6-1 mod P = V623 mod 35 = 2923 mod 35 = 29 mod 35 → 29.

После предварительных вычислений производятся вычисления значений квадратных корней по заданному модулю Sk = sgrt Vk-1 mod P для подмножества Vk → {V2=4; V4=11; V5=16; V6=29}.

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

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

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

= 9 mod 35 → 9;

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

Множество Sk → {S2 = 3; S4 = 4; S5 = 9; S6 = 8} → {3; 4; 9; 8} является секретным ключом абонента «А».

4. После формирования открытого и секретного ключей разрабатывается алгоритм аутентификации санкционированного пользователя «А» сетевой корпоративной системы на основе параллельной аутентификации с нулевой передачей знаний.

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

= 4 mod 35 → 4. Значение квадратичного вычета x = 4 абонент «А» отправляет в открытом виде по каналам теледоступа абоненту «В».

4.2. В свою очередь, абонент «В» формирует случайный двоичный код из k -бит, в рассматриваемом примере длина кодовой комбинации содержит столько же элементов, сколько десятичных чисел отображают секретный ключ абонента «А», т.е. k = 4. Например: bk → {b1b2b3b4} → {1101}.

Эту кодовую комбинацию абонент «В» отправляет абоненту «А» открыто по открытому каналу теледоступа.

4.3. Получив от абонента «В» кодовую комбинацию bk → {b1b2b3b4} → {1101}, абонент «А» вычисляет значение числа y:

y = r × ( × × … × ) mod P → r × ( × × × ) mod P →

→ 12 × (31 × 41 × 90 × 81) mod 35 → 1152 mod 35 → 32 mod 35 →32.

Вычисленное значение y = 32 абонент «А» отправляет абоненту «В» по открытому каналу.

4.4. В свою очередь, получив от абонента «А» численное значение

y = 32, абонент «В» проверяет равенство:

x mod P = y2 × ( y m:val="bi"/></m:rPr><w:rPr><w:rFonts w:ascii="Cambria Math" w:fareast="Times New Roman" w:h-ansi="Cambria Math"/><wx:font wx:val="Cambria Math"/><w:b/><w:i/><w:sz w:val="28"/><w:sz-cs w:val="28"/><w:lang w:val="EN-US"/></w:rPr><m:t>1</m:t></m:r></m:sub></m:sSub></m:sup></m:sSubSup></m:oMath></m:oMathPara></w:p><w:sectPr wsp:rsidR="00000000"><w:pgSz w:w="12240" w:h="15840"/><w:pgMar w:top="1134" w:right="850" w:bottom="1134" w:left="1701" w:header="720" w:footer="720" w:gutter="0"/><w:cols w:space="720"/></w:sectPr></w:body></w:wordDocument>"> × y m:val="bi"/></m:rPr><w:rPr><w:rFonts w:ascii="Cambria Math" w:fareast="Times New Roman" w:h-ansi="Cambria Math"/><wx:font wx:val="Cambria Math"/><w:b/><w:i/><w:sz w:val="28"/><w:sz-cs w:val="28"/><w:lang w:val="EN-US"/></w:rPr><m:t>2</m:t></m:r></m:sub></m:sSub></m:sup></m:sSubSup></m:oMath></m:oMathPara></w:p><w:sectPr wsp:rsidR="00000000"><w:pgSz w:w="12240" w:h="15840"/><w:pgMar w:top="1134" w:right="850" w:bottom="1134" w:left="1701" w:header="720" w:footer="720" w:gutter="0"/><w:cols w:space="720"/></w:sectPr></w:body></w:wordDocument>"> ) mod P

x mod P = y2 × ( y m:val="bi"/></m:rPr><w:rPr><w:rFonts w:ascii="Cambria Math" w:fareast="Times New Roman" w:h-ansi="Cambria Math"/><wx:font wx:val="Cambria Math"/><w:b/><w:i/><w:sz w:val="28"/><w:sz-cs w:val="28"/><w:lang w:val="EN-US"/></w:rPr><m:t>1</m:t></m:r></m:sub></m:sSub></m:sup></m:sSubSup></m:oMath></m:oMathPara></w:p><w:sectPr wsp:rsidR="00000000"><w:pgSz w:w="12240" w:h="15840"/><w:pgMar w:top="1134" w:right="850" w:bottom="1134" w:left="1701" w:header="720" w:footer="720" w:gutter="0"/><w:cols w:space="720"/></w:sectPr></w:body></w:wordDocument>"> × y m:val="bi"/></m:rPr><w:rPr><w:rFonts w:ascii="Cambria Math" w:fareast="Times New Roman" w:h-ansi="Cambria Math"/><wx:font wx:val="Cambria Math"/><w:b/><w:i/><w:sz w:val="28"/><w:sz-cs w:val="28"/><w:lang w:val="EN-US"/></w:rPr><m:t>2</m:t></m:r></m:sub></m:sSub></m:sup></m:sSubSup></m:oMath></m:oMathPara></w:p><w:sectPr wsp:rsidR="00000000"><w:pgSz w:w="12240" w:h="15840"/><w:pgMar w:top="1134" w:right="850" w:bottom="1134" w:left="1701" w:header="720" w:footer="720" w:gutter="0"/><w:cols w:space="720"/></w:sectPr></w:body></w:wordDocument>"> × × ) mod P

4 mod 35 = 322 × (41 × 111 × 160 × 291) mod35

4 mod 35 = 1024 × (4 × 11 × 1 × 29) mod35

4 mod 35 = 1306624 mod 35

4 mod 35 = 4 mod 35

Сравнивая вычисленное значение x mod P = y2 × ( y m:val="bi"/></m:rPr><w:rPr><w:rFonts w:ascii="Cambria Math" w:fareast="Times New Roman" w:h-ansi="Cambria Math"/><wx:font wx:val="Cambria Math"/><w:b/><w:i/><w:sz w:val="28"/><w:sz-cs w:val="28"/><w:lang w:val="EN-US"/></w:rPr><m:t>1</m:t></m:r></m:sub></m:sSub></m:sup></m:sSubSup></m:oMath></m:oMathPara></w:p><w:sectPr wsp:rsidR="00000000"><w:pgSz w:w="12240" w:h="15840"/><w:pgMar w:top="1134" w:right="850" w:bottom="1134" w:left="1701" w:header="720" w:footer="720" w:gutter="0"/><w:cols w:space="720"/></w:sectPr></w:body></w:wordDocument>"> × y m:val="bi"/></m:rPr><w:rPr><w:rFonts w:ascii="Cambria Math" w:fareast="Times New Roman" w:h-ansi="Cambria Math"/><wx:font wx:val="Cambria Math"/><w:b/><w:i/><w:sz w:val="28"/><w:sz-cs w:val="28"/><w:lang w:val="EN-US"/></w:rPr><m:t>2</m:t></m:r></m:sub></m:sSub></m:sup></m:sSubSup></m:oMath></m:oMathPara></w:p><w:sectPr wsp:rsidR="00000000"><w:pgSz w:w="12240" w:h="15840"/><w:pgMar w:top="1134" w:right="850" w:bottom="1134" w:left="1701" w:header="720" w:footer="720" w:gutter="0"/><w:cols w:space="720"/></w:sectPr></w:body></w:wordDocument>"> × × ) mod P = 4 mod 35 на стороне абонента «В» и принятое от абонента «А» значение квадратичного вычета x = r2 mod P = 4 mod 35, абонент «В» убеждается в их равенстве, что позволяет со стороны абонента «В» сделать вывод, что абоненту «А» известно значение его секретного ключа Sk → {S2 = 3; S4 = = 4; S5 = 9; S6 = 8} → {3; 4; 9; 8}. Этот секретный ключ абонент «А» никогда никому не пересылал (в том числе и абоненту «В») и хранит только у себя под секретом, т.е. знание секретного ключа пользователя «А» недоступно всем пользователям корпоративной системы, поэтому этот метод и назван методом аутентификации с нулевой передачей знаний.





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



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