Смекни!
smekni.com

Шифросистемы с открытым ключом. Их возможности и применение. (стр. 3 из 4)

В настоящее время Лаборатория RSA рекомендует для обычных задач ключи размером 1024 бита, а для особо важных задач – 2048 битов (например, для главного Мастера Сертификатов).

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

Обычно ключ индивидуального пользователя имеет определенный срок жизни, который истекает через некоторое время, например, через год. Это дает возможность регулярно заменять ключи и обеспечивать необходимый уровень безопасности. После истечения срока жизни ключа, пользователь должен создать новый ключ, предварительно удостоверившись, что параметры криптосистемы остались прежними, в частности что система использует ключи той же длины. Конечно, замена ключа не защищает от нападения на сообщения, зашифрованные прежним ключом, но для этого размер ключа должен подбираться согласно ожидаемому времени актуальности данных. Возможность замены ключей позволяет поддерживать криптографическую систему в соответстствии с текущими рекомендациями о размерах ключей, которые регулярно публикует Лаборатория RSA. Пользователям необходимо учитывать, что оцениваемое время взлома системы RSA – только усредненное значение, а массированная атака на тысячи модулей в каком-то случае может дать положительный результат в относительно короткий срок. Хотя надежность любого отдельного ключа все еще высока, некоторые методы факторинга всегда оставляют нападающему маленький шанс быстро найти некоторый ключ.

Что же касается затруднения взлома увеличением размера ключа, то удвоение длины модуля в среднем увеличивает время операций открытого (public) ключа (шифрование и проверка подписи) в четыре раза, а время операций частного (private) ключа (расшифровка и подпись) в восемь раз. Разница между временем работы отрытого и секретного ключей возникает потому, что открытый показатель может оставаться неизменным, в то время как модуль будет увеличен, а длина частного показателя будет увеличена пропорционально увеличению длины ключа. Время создания ключей при удвоении модуля увеличивается в 16 раз, но это нечасто выполняемая операция и потому на общей производительности это практически не сказывается.

Надо отметить, что размеры ключей в криптосистеме RSA (а также и в других криптосистемах открытого (public) ключа) намного больше размеров ключей систем блокового шифрования типа DES, но надежность ключа RSA несравнима с надежностью ключа аналогичной длины другой системы шифрования.

8. Множество простых чисел для криптосистемы RSA

Как доказано Эвклидом более двух тысяч лет назад, существует бесконечное множество простых чисел. Поскольку алгоритм RSA оперирует с ключами определенной длины, то количество возможных простых чисел конечно, хотя тем не менее очень велико. По теореме о Простых Числах количество простых чисел меньших некоторого n асимптотически приближается к n = ln(n). Следовательно, количество простых чисел для ключа длиной 512 битов или меньше приблизительно составляет 10150. Это больше, чем количество атомов в известной Вселенной.

9. Применение алгоритма RSA на практике

На практике криптосистема RSA часто используется вместе с криптографической системой секретного ключа типа DES для зашифровывания сообщения ключом RSA посредством цифрового конверта. Предположим, что Алиса посылает зашифрованное сообщение Бобу. Сначала она шифрует сообщение по алгоритму DES, используя случайно выбранный ключ DES и затем шифрует ключ DES открытым (public) ключом RSA Боба. Сообщение зашифрованное ключом DES и ключ DES зашифрованный в свою очередь ключом RSA вместе формируют цифровой конверт RSA и отсылаются Бобу. Получив цифровой конверт, Боб расшифровывает ключ DES с помощью своего частного (private) ключа, а затем использует ключ DES, чтобы расшифровать само сообщение.

На практике такая схема реализована в оборудовании THALES (Racal), осуществляющем обмен шифрованной информацией по открытым каналам. При начале новой сессии связи два устройства THALES (Racal) DataCryptor 2000 сначала обмениваются ключами DES для этой сессии, шифруя их по алгоритму RSA, а затем шифруют передаваемую информацию ключами DES. Такой метод позволяет объединить преимущества высокой скорости алгоритма DES с надёжностью системы RSA.

10. Применение алгоритма RSA для установления подлинности и цифровых подписей

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

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

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

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

Еcли же Алиса хочет сохранить содержание документа в тайне, то она подписывает документ, а затем зашифровывает его открытым (public) ключом Боба. Боб расшифровывает сообщение своим закрытым ключом и проверяет подпись на восстановленном сообщении, используя открытый (public) ключ Алисы. Либо – если, например, необходимо, чтобы посредник мог подтвердить целостность сообщения, не получая доступ к его содерданию – вместо дайджеста открытого текста может быть рассчитан дайджест зашифрованного сообщения.

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

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

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

11. Использование криптосистемы RSA в настоящее время

Криптосистема RSA используется в самых различных продуктах, на различных платформах и во многих отраслях. В настоящее время криптосистема RSA встраивается во многие коммерческие продукты, число которых постоянно увеличивается. Также ее используют операционные системы Microsoft, Apple, Sun и Novell. В аппаратном исполнении RSA алгоритм применяется в защищенных телефонах, на сетевых платах Ethernet, на смарт-картах, широко используется в криптографическом оборудовании THALES (Racal). Кроме того, алгоритм входит в состав всех основных протоколов для защищенных коммуникаций Internet, в том числе S/MIME, SSL и S/WAN, а также используется во многих учреждениях, например, в правительственных службах, в большинстве корпораций, в государственных лабораториях и университетах. На осень 2000 года технологии с применением алгоритма RSA были лицензированы более чем 700 компаниями.

Технологию шифрования RSA BSAFE используют около 500 миллионов пользователей всего мира. Так как в большинстве случаев при этом используется алгоритм RSA, то его можно считать наиболее распространенной криптосистемой общего (public) ключа в мире и это количество имеет явную тенденцию к увеличению по мере роста Internet.

12. Криптосистема RSA в мире

На начало 2001 года криптосистема RSA являлась наиболее широко используемой асимметричной криптосистемой (криптосистемой открытого (public) ключа) и зачастую называется стандартом де факто. Вне зависимости от официальных стандартов существование такого стандарта чрезвычайно важно для развития электронной коммерции и вообще экономики. Единая система открытого (public) ключа допускает обмен документами с электронно-цифровыми подписями между пользователями различных государств, использующими различное программное обеспечение на различных платформах; такая возможность насущно необходима для развития электронной коммерции. Распространение системы RSA дошло до такой степени, что ее учитывают при создании новых стандартов. При разработке стандартов цифровых подписей, в первую очередь в 1997 был разработан стандарт ANSI X9.30, поддерживающий Digital Signature Standard (стандарт Цифровой подписи). Годом позже был введен ANSI X9.31, в котором сделан акцент на цифровых подписях RSA, что отвечает фактически сложившейся ситуации в частности для финансовых учреждений.