double arrow

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

Сервер генерирует случайное R и отправляет пользователю. Пользователь вычисляет EK(R) с помощью своего закрытого ключа и передает серверу. Сервер вычисляет DK(EK(R)) с помощью открытого ключа пользователя, который хранится на сервере и сравнивает полученное R с тем, что отправлял. Если R=R', то аутентификация считается пройденной.

Протокол на основе RSA.

1) Генерируем ключи PK и SK с атрибутами (d,N) и c соответственно. Берем случайные P,Q - простые, вычисляем N=P*Q, берем случайное d и вычисляем c=d-1modj.

2) Происходит аутентификация:

Берем случайное RÎ{1,...,N-1}, высчитываем и отправляем пользователю e=RdmodN.

Пользователь, в свою очередь, вычисляет R'=ecmodN. Если R и R' совпали, то аутентификация считается пройденной.

Аутентификация с использованием симметричного шифрования.

На сервере хранится пароль в открытом виде, либо его можно получить (например, с помощью запроса). Сервер генерирует случайное R и отправляет его пользователю. Пользователь вычисляет Ek(R) и отправляет на сервер, тот расшифровывает Dk(Ek(R))=R'. Если R=R', то пользователь подлинный.

Аутентификация в схемах обмена ключами

1) Абонент А генерирует пару ключей - открытый и закрытый, - и шифрует с помощью симметричного алгоритма свой открытый ключ EP(PK), а затем передает абоненту B EP(PK) и свой ID.

2) Абонент В расшифровывает DP(EP(PK))=PK, генерирует случайное k - сеансовый ключ. Также он зашифровывает с помощью асимметричного алгоритма и передает абоненту А следующее: EP(APK(k)).

3) Абонент А расшифровывает DP(EP(APK(k)))=APK(k) и DSK(APK(k)=k, выбирает RA - случайное, шифрует и передает абоненту В следующее: EK(RA).

4) Абонент В расшифровывает DK(EK(RA))=RA, выбирает и зашифровывает RB - случайное, и высылает абоненту А следующее: EK(RA,RB).

5) Абонент А расшифровывает DK(EK(RA,RB))=RA,RB., зашифровывает и передает абоненту В следующее: EK(RB).

6) Абонент В расшифровывает DK(EK(RB)) = RB.

Если все прошло успешно, то аутентификация считается пройденной.

Протокол Kerberos. Стороны в протоколе

1) Сервер аутентификации (AS) – место, где хранится база данных клиентов и их ключи.

2) Сервер выдачи мандатов (tgs) смотрит у кого какие полномочия.

3) Клиент.

4) Сервер, на который обращается клиент.

Мандат для обращения к серверу выдает tgs, а для обращения к tgs выдает AS.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



Сейчас читают про: