![]() |
Главная Случайная страница Контакты | Мы поможем в написании вашей работы! | |
|
Параллельная схема аутентификации позволяет увеличить число аккредитаций, выполняемых за один цикл, и тем самым сократить длительность процесса аутентификации.
Протокол параллельной аутентификации с нулевой передачей знаний состоит из нижеследующих этапов:
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 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!