Опубликован: 15.11.2006 | Уровень: специалист | Доступ: платный | ВУЗ: Национальный исследовательский ядерный университет «МИФИ»
Лекция 4:

Сервисы безопасности PKI и базовые криптографические механизмы

< Лекция 3 || Лекция 4: 1234 || Лекция 5 >

Асимметричные алгоритмы

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

Асимметричные системы имеют ряд преимуществ перед симметричными системами. В асимметричных системах решена сложная проблема распределения ключей между пользователями, так как каждый пользователь может сгенерировать свою пару ключей, а открытые ключи свободно публикуются и распространяются. Благодаря тому, что в асимметричных системах секретный ключ известен только его владельцу, возможно взаимодействие сторон, не знающих друг друга. Среди асимметричных алгоритмов наиболее известными являются RSA и алгоритм Эль-Гамаля [215].

Криптография с открытыми ключами в чистом виде обычно не применяется, так как реализация асимметричных алгоритмов требует больших затрат процессорного времени. Тем не менее преимуществами криптографии с открытыми ключами пользуются при формировании и проверке цифровой подписи, а также для решения проблемы распределения ключей. Секретный ключ применяется для подписания данных, а открытый ключ - для их проверки. Единственно известный способ получить корректную подпись - использовать секретный ключ. Кроме того, для каждого сообщения формируется уникальная подпись. В целях повышения производительности подписывается не все сообщение, а его хэш-код [2]. Вообще, собственно цифровая подпись сообщения - это хэш-код сообщения, зашифрованный секретным ключом, он пересылается вместе с цифровым объектом и удостоверяет целостность самого объекта и подлинность его отправителя.

Для выработки цифровой подписи пользователь генерирует открытый и секретный ключи. Затем секретный ключ и цифровой объект (документ) используются как входная информация для функции генерации цифровой подписи. После того как другой пользователь получает цифровой объект, он использует сам объект, связанную с ним цифровую подпись и открытый ключ для верификации (проверки) подписи. Верификация цифровой подписи сообщения заключается в вычислении значения хэш-кода полученного сообщения и его сравнении со значением хэш-кода в подписи, расшифрованной открытым ключом отправителя. Если значения вычисленного получателем и сохраненного в подписи хэш-кода совпадают, то считается, что подпись под документом верна, а сам документ - подлинный [37]. Цифровая подпись обеспечивает надежную защиту документа от подлога и случайных модификаций и позволяет придавать юридическую силу электронным документам и сообщениям.

В схемах цифровой подписи применяются три основных алгоритма: RSA, алгоритм цифровой подписи DSA (Digital Signature Algorithm) и его вариант с использованием эллиптических кривых - EСDSA (Elliptic Curve Digital Signature Algorithm).

Сравнение криптографических механизмов безопасности

Криптографические механизмы необходимы для поддержания основных сервисов безопасности. Каждый класс алгоритмов имеет свои сильные и слабые стороны (см. табл. 4.1) [84].

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

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

Самое слабое звено этих алгоритмов - распространение (распределение) ключей. Для решения проблемы распространения ключей широко используются алгоритм RSA, алгоритм Диффи-Хэллмана - Diffie-Hellman (DH) и алгоритм эллиптических кривых Диффи-Хэллмана - Elliptic Curve Diffie-Hellman (ECDH). Распространение ключей может выполняться тремя способами: прямым обменом между сторонами при помощи симметричного шифрования; посредством симметричного шифрования и доверенной третьей стороны или при помощи управления открытыми ключами доверенной третьей стороной.

Таблица 4.1. Сравнение криптографических механизмов безопасности
Механизм безопасности Целостность данных Конфиденциальность Идентификация и аутентификация Неотказуемость Распределение ключей
Симметричная криптография Шифрование - + - - -
Коды аутентификации сообщения + - - - -
Транспортировка ключей - - - - +
Хэш-функции Хэш-код сообщения + - - - -
HMAC + - - - -
Асимметричная криптография Цифровые подписи + - + + -
Транспортировка ключей - - - - +
Согласование ключей - - - - +

Первый способ подходит для небольших закрытых сообществ с числом пользователей не более 4 - 5 человек. Это решение плохо масштабируется при росте сообщества. Если число участников обмена ключами достигает 10 - 12 человек, то возникает необходимость в доверенной третьей стороне. Второй способ позволяет существенно расширить сообщество пользователей, но не обеспечивает в должной мере аутентификацию партнеров и неотказуемость. Только третий способ решает проблему комплексно. Если доверенная третья сторона связывает открытый ключ с пользователем или системой, то есть подтверждает подлинность стороны, владеющей соответствующим секретным ключом, то поддерживаются все сервисы безопасности.

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

< Лекция 3 || Лекция 4: 1234 || Лекция 5 >
Жанар Каппасова
Жанар Каппасова

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

Владислав Лагвинович
Владислав Лагвинович

Прошел 5 или 6 тестов по курсу Инфраструктура открытых ключей, а сейчас курс в состоянии не готов. Что случилось?

Алексей Хохлов
Алексей Хохлов
Россия, Балашиха
Константин Нестеренко
Константин Нестеренко
Россия, Волгоград