Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Ответы МиС.docx
Скачиваний:
18
Добавлен:
01.03.2025
Размер:
2 Мб
Скачать
☆

Вопрос 2. Протокол аутентификации х.509

Рекомендации Х.509 Международного союза телекоммуникаций (ITU — International Telecommunication Union) являются частью рекомендаций серии Х.500, которые определяют стандарт службы каталогов.

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

Документ Х.509 определяет каркас схемы предоставления услуг аутентификации каталогом Х.500 своим пользователям. Этот каталог может служить хранилищем сертификатов открытых ключей типа обсуждавшихся в главе 6. Каждый сертификат содержит открытый ключ пользователя и подписывается с помощью секретного ключа надежного центра сертификации. Кроме того, Х.509 определяет альтернативные протоколы аутентификации, построенные на использовании сертификатов открытых ключей.

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

Аутентифика́ция (англ. Authentication) — процедура проверки подлинности.

Выделяют 3 фактора аутентификации: пароль, устройство аутентификации, биометрика

  1. Многоразовые пароли

  2. Одноразовые пароли

  3. Многофакторная

Билет №3

Вопрос 1.

Принципы шифрования с открытыми ключами. Алгоритм RSA.

Открытый ключ позволяет зашифровать открытый текст, но не позволяет расшифровать его. В этом смысле открытый ключ можно назвать односторонним (one‑way). Чтобы расшифровать текст, нужен ключ дешифрования, который отличается от ключа шифрования, хотя и связан с ним. Таким образом, при шифровании с открытым ключом у каждого пользователя должно быть два ключа — открытый (public) и личный (private) — секретный ключ. Если открытый ключ сделать общедоступным, пользователи смогут отправлять вам зашифрованные с ним данные, которые только вы будете способны расшифровать с помощью своего личного секретного ключа. С помощью личного ключа вы также можете преобразовать отправляемые данные таким образом, что пользователи смогут удостовериться в том, что эти данные были отправлены именно вами, а не кем-то другим. Эта возможность служит основой электронных цифровых подписей.

RSA

Безопасность RSA основана на трудности разложения на множители больших чисел. Открытый и закрытый ключи являются функциями двух больших (100 - 200 разрядов или даже больше) простых чисел. Предполагается, что восстановление открытого текста по шифротексту и открытому ключу эквивалентно разложению на множители двух больших чисел.

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

n = p q

Затем случайным образом выбирается ключ шифрования e, такой что e и (p-1)(q-1) являются взаимно простыми числами. Наконец расширенный алгоритм Эвклида используется для вычисления ключа дешифрирования d, такого что

ed = 1 (mod (p-1)(q-1))

Другими словами

d = e-1 mod ((p-1)(q-1))

Заметим, что d и n также взаимно простые числа. Числа e и n - это открытый ключ, а число d - закрытый. Два простых числа p и q больше не нужны. Они должны быть отброшены, но не должны быть раскрыты.

Для шифрования сообщения m оно сначала разбивается на цифровые блоки, меньшие n (для двоичных данных выбирается самая большая степень числа 2, меньшая n). То есть, если p и q - 100-разрядные простые числа, то n будет содержать около 200 разрядов, и каждый блок сообщения mi должен быть около 200 разрядов в длину. (Если нужно зашифровать фиксированное число блоков, их можно дополнить несколькими нулями слева, чтобы гарантировать, что блоки всегда будут меньше n. Зашифрованное сообщение c будет состоять из блоков ci той же самой длины. Формула шифрования выглядит так:

ci = mie mod n

Для расшифровки сообщения возьмите каждый зашифрованный блок ci и вычислите

mi = cid mod n

Так как

cid = (mie)d = mied = mik(p-1)(q-1)+1 = mimik(p-1)(q-1) = mi*1 = mi; все (mod n)

формула восстанавливает сообщение. Это сведено в Таблице 3.1.

Таблица 3.1.- Шифрование RSA

Открытый ключ:

n произведение двух простых чисел p и q (p и q должны храниться в секрете)

e число, взаимно простое с (p-1)(q-1)

Закрытый ключ:

d e-1 mod ((p-1)(q-1))

Шифрование:

c = me mod n

Дешифрирование:

m = cd mod n

Точно также сообщение может быть зашифровано с помощью d, а зашифровано с помощью e, возможен любой выбор.