Меню
Главная
Авторизация/Регистрация
 
Главная arrow Информатика arrow Защита компьютерной информации

5.3. Асимметричные криптосистемы шифрования

Асимметричные криптографические системы были разработаны в 1970-х годах. Принципиальное отличие асимметричной криптосистемы от криптосистемы симметричного шифрования состоит в том, что для шифрования информации и ее последующего расшифрования используются различные ключи:

О открытый ключ К: используется для шифрования информации, вычисляется из секретного ключа к

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

Эти ключи различаются таким образом, что с помощью вычислений нельзя вывести секретный ключ к из открытого ключа К. Поэтому открытый ключ К может свободно передаваться по каналам связи.

Асимметричные системы называют еще двухключевыми криптографическими системами или криптосистемами с открытым ключом.

Обобщенная схема асимметричной криптосистемы шифрования с открытым ключом показана на рис. 5.18.

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

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

Рис. 5.18.

Процесс передачи зашифрованной информации в асимметричной криптосистеме осуществляется следующим образом:

1. Подготовительный этап.

Абонент В генерирует пару ключей: секретный ключ кв и открытый ключ Кв. Открытый ключ К,, посылается абоненту Л и остальным абонентам (или делается доступным, например, на разделяемом ресурсе).

2. Использование - обмен информацией между абонентами Л и В.

Абонент Л зашифровывает сообщение с помощью открытого ключа Кв абонента В и отправляет шифртекст абоненту В.

Абонент В расшифровывает сообщение с помощью своего секретного ключа кв. Никто другой (в том числе абонент Л) не может расшифровать данное сообщение, так как не имеет секретного ключа абонента В. Защита информации в асимметричной криптосистеме основана на секретности ключа кв получателя сообщения.

Отметим характерные особенности асимметричных криптосистем:

  • 1. Открытый ключ Кв и криптограмма С могут быть отправлены по незащищенным каналам, то есть противнику известны Кв и С.
  • 2. Алгоритмы шифрования и расшифрования

являются открытыми.

У. Диффи и М. Хеллман сформулировали требования, выполнение которых обеспечивает безопасность асимметричной криптосистемы [23]:

  • 1. Вычисление пары ключей (Кв, кн) получателем В на основе начального условия должно быть простым.
  • 2. Отправитель Л, зная открытый ключ Кн и сообщение М, может легко вычислить криптограмму

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

  • 4. Противник, зная открытый ключ Кв, при попытке вычислить секретный ключ ки наталкивается на непреодолимую вычислительную проблему.
  • 5. Противник, зная пару (Кв, С), при попытке вычислить исходное сообщение М наталкивается на непреодолимую вычислительную проблему.

Концепция асимметричных криптографических систем с открытым ключом основана на применении однонаправленных функций.

Неформально однонаправленную функцию можно определить следующим образом [59]. Пусть X и У- некоторые произвольные множества. Функция/: X —» У является однонаправленной, если для всеххеХможно легко вычислить функцию

И в то же время для большинства у е У достаточно сложно получить значение х е X, такое, что /(.г) = у (при этом полагают, что существует по крайней мере одно такое значение дг).

Основным критерием отнесения функции/к классу однонаправленных функций является отсутствие эффективных алгоритмов обратного преобразования У—э X.

В качестве примера однонаправленной функции можно указать целочисленное умножение. Прямая задача - вычисление произведения двух очень больших целых чисел Р и (9, то есть нахождение значения

является относительно несложной задачей для компьютера.

Обратная задача - факторизация, или разложение на множители большого целого числа, то есть нахождение делителей Р и (2 большого целого числа N = Р х <2 является практически неразрешимой задачей при достаточно больших значениях N. По современным оценкам теории чисел, при целом Л'= 2Ш и Р~ <2 для разложения числа N потребуется около 1023 операций, то есть задача практически неразрешима для современных компьютеров.

Другой характерный пример однонаправленной функции - это модульная экспонента с фиксированными основанием и модулем. Пусть Л и N - целые числа, такие, что 1 < А < N. Определим множество Ху.

Тогда модульная экспонента с основанием А по модулю N представляет собой функцию

где X - целое число, 1 < .г < N - 1.

Существуют эффективные алгоритмы, позволяющие достаточно быстро вычислить значения функции/, Л/г).

Если у = Л то естественно записать .г = 1о?,(г/).

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

Задача дискретного логарифмирования формулируется следующим образом. Для известных целых А, N у найти целое число .г, такое, что

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

По современным оценкам теории чисел, при целых числах А =2Ш и ДГ=2аи решение задачи дискретного логарифмирования (нахождение показателя степени х для известного у) потребует около 102(; операций, то есть эта задача имеет в 10! раз большую вычислительную сложность, чем задача разложения на множители. При увеличении длины чисел разница в оценках сложности задач возрастает.

Следует отметить, что пока не удалось доказать невозможность существования эффективного алгоритма вычисления дискретного логарифма за приемлемое время. Исходя из этого модульная экспонента отнесена к однонаправленным функциям условно, что, однако, не мешает с успехом применять ее на практике.

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

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

В качестве примера однонаправленной функции с секретом можно указать используемую в криптосистеме КБ Л модульную экспоненту с фиксированными модулем и показателем степени. Переменное основание модульной экспоненты используется для представления числового значения сообщения М либо криптограммы С (см. раздел 6.3).

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

Асимметричные криптографические системы обладают следующими важными преимуществами перед симметричными криптосистемами:

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

О исчезает квадратическая зависимость числа ключей от числа пользователей; в асимметричной криптосистеме количество используемых ключей связано с количеством абонентов линейной зависимостью (в системе из N пользователей используется 2 хЛгключей), а не квадратической, как в симметричных системах;

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

Однако у асимметричных криптосистем существуют и недостатки:

О на настоящий момент нет математического доказательства необратимости используемых в асимметричных алгоритмах функций;

О по сравнению с симметричным шифрованием, асимметричное существенно медленнее, поскольку при шифровании и расшифровке используются весьма ресурсоемкие операции. По этой же причине реализовать аппаратный шифратор с асимметричным алгоритмом существенно сложнее, чем аппаратно симметричный алгоритм;

О необходимо защищать открытые ключи от подмены.

Последнее рассмотрим более подробно. Предположим, на компьютере абонента Л хранится открытый ключ Кв абонента В. Злоумышленник п имеет доступ к открытым ключам, хранящимся у абонента А. Он генерирует свою пару ключей К„ и и подменяет у абонента Л открытый ключ Кв абонента В на свой открытый ключ К„. Для того чтобы отправить некую информацию абоненту В, абонент Л зашифровывает ее на ключе К,„ думая, что это ключ Кк. Соответственно, это сообщение не сможет прочитать абонент В, но зато легко расшифрует и прочитает абонент п. От подмены открытых ключей может спасти процедура сертификации открытых ключей, которая рассмотрена в главе 12.

 
Посмотреть оригинал
< Пред   СОДЕРЖАНИЕ ОРИГИНАЛ   След >
 

Популярные страницы