125 Кібербезпека / 5 Курс / 5.2_Методи побудови і аналізу криптосистем / Література / пiдручник
.pdf4. КРШlmографuческuепротоколы вэлекmрОll1lOU КОМ..,.,ерЦИII 1I вдОКУ,1fеl1mообороmе 239 Протокол SSL выполняет следующие функции' обеспечения
безопасности информации:
1)конфиденциальность: ДЛЯ этого в процессе выполнения про токола рукопожатия вырабатывается общий симметричный секрет ный ключ, на котором шифруются все последующие сообщения;
2)целостность: с этой целью для каждого сообщения генериру ется код аутентификации сообщения CМessage Authentication Code- МАе);
3)аутентичность: при выполнении протокола рукопожатия сервер проходит аутентификацию для клиента, используя симмет ричный секретный ключ либо открытый ключ (второй ключ обычно реализуется через сертификаты открытых ключей).
Протокол SSL требует зашифровки и расшифровки каждого со общения и, следовательно, дополнительно вносит значительную вы
числительную нагрузку на участников протокола и увеличивает рас
ход ресурсов.
Существуют две версии протокола SSL: SSL У2.0 и SSL VЗ.О, между которыми обеспечена обратная совместимость, т. е. сервер, реализующий SSL VЗ.0, должен быть способен устанавливать со единения и принимать запросы от клиентов, реализующих SSL У2.0. Основные различия между двумя реализациями протокола заклю чаются в следующем: во-первых, SSL У2.0 не поддерживает аутен тификацию клиента для сервера, а во-вторых, SSL У3.0 поддержива ет больше типов шифрования в спецификации шифров.
В соответствии с архитектурой ТСРЛР протокол SSL реализует ся на верхней границе транспортного уровня. Напомним, что и сам протокол SSL, в свою очередь, является уровневым. Функции SSL заключаются в том, что он берет данные с прикладнаго уровня, пе реформатирует их и передает на транспортный уровень. Протокол SSL управляет сообщениями таким образом:
отравитель выполняет следующие действия: берет сообщение с верхнего уровня;
разбивает (фрагментирует) данные на управляемые блоки; сжимает данные (эта функция - опциональная); генерирует МАе; зашифровывает данные;
передает результат обработки на нижний уровень;
4. Криптографические протоколы (J ::ыекmРОll1lОйКОJll.мерции 1/ (J док)щеJlJJtообороmе 243 тоды обмена ключами, алгоритмы шифрования, генерации и проверки МАе);
•методы сжатия, поддерживаемые клиентом;
случайную величину.
Шаг 2. Сервер оценивает параметры, присланные в начальном сообщении клиента, и направляет ему свое начальное сообщение (Server Неflо), включающее следующие параметры, выбранные сер веромдля использованияв сеансе протоколаSSL:
•номер версии;
информацию о времени (текущее время и дата по системному таймеру в стандартном 32-битовом формате, принятом в UNIX- подобных ОС); идентификатор сеанса; пакет параметров шифрования;
метод сжатия;
случайную величину.
После начального сообщения сервер посылает следующие сообщения:
сертификат сервера Certificate (если в протоколе требуется ау тентификация сервера);
сообщение сервера об обмене ключами Server Кеу Exchange (если сертификат недоступен или сертификат содержит только ключ подписи);
запрос сертификата Certificate Request (если в протоколе требу ется аутентификацияклиента).
Наконец, сервер посылает сообщение о завершении серии на чальных сообщений Server Hella Done и ожидает ответ клиента.
Шаг 3. Клиент посылает следующие сообщения:
•если сервер посылал запрос сертификата, клиент должен послать
ему в ответ либо сертификат Certificate, либо сообщение об от-
сутствии сертификата; |
. |
•если сервер посылал сообщение сервера об обмене ключами, клиент посылает сообщение клиента об обмене ключами Client Кеу Exchange, основываясь на асимметричном алгоритме, опре деленном в начальных сообщениях протокола;
246 Запечников С. В. Криптографические протоколы u их применение
каждого открытого текста. Однако для работы шифра в режиме сце пления блоков не имеет значения, как эта величина выбирается. В протоколе SSL, например, установлено, что вектор инициализации для каждого нового открытого текста берется равным последнему блоку шифртекста, полученному при шифровании предыдущего со общения. Этот способ называют цепочкой векторов инициализации. Самое первое значение вектора инициализации выбирается по псев дослучайному алгоритму.
Необходимо иметь ввиду, что на такой протокол при опреде ленных условиях возможно осуществление атаки по выбранным от крытым текстам. В научной литературе описаны примеры таких атак. Предположим, что противник желает проверить свое предпо ложение о том, что определенный блок открытого текста принимает некоторое фиксированное значение, а именно противник, наблю дающий шифртекст СО' "', CJ , хочет определить, равен ли блок от
крытого текста Р, величине Р*. При этом противник знает вектор инициализации, который будет использован при шифровании сле дующего сообщения: он равен последнему блоку шифртекста теку щего сообщения С/. Посмотрим, что будет, если противник вынудит отправителя, сообщения зашифровать сообщение г', первый блок
которого ~ равен Сj-l Ef) С, ffi Р *. Первый блок шифртекста бу-
дет вычислен отправителем следующим образом:
С1' ;::: Esk |
(~' ЕВС[);::: Esk ( с., ЕВС} ЕВР*вэС});::: Esk (Р*(f)Cj _1 ) • |
Однако мы также знаем, что Cj ;::: E.sk (Р] (f) Cj _t ) . А это означает, |
|
, |
тогда и т?лько тогда, когда Pj ;::: Р*. Таким путем про- |
что С1 ;::: С] |
тивник может проверить свою догадку относительно того, что блок открытого текста Pj принимает значение Р*. В частности, если про тивник знает, ЧТО Р] - одна из двух возможных величин, то против ник сможет определить истинное значение этого блока открытого текста всего за одну попытку. Если же блок может принимать одно из N возможных значений, противник сможет узнать его значение в среднем за NI2 попытки.
4. КРUllтографическиепротоколы в :JЛекmрОIlJIOU КОАшерЦII" и в дОКУАfе"Л100бороmе 247 Такая атака показывает, что протокол SSL не в полной мере удовлетворяет принятому в криптографии определению безопасно сти схем шифрования и, например, в случае, если открытым текстом является короткий пароль, противник может раскрыть его полно стью, осуществляя словарную атаку (т. е. перебирая наиболее веро ятные значения этого пароля). Рассмотрим условия, при которых та кая атака на пароль или РIN-код становится возможной. Во-первых, злоумышленник должен знать номер j блока открытого текста, со держащего интересующую его информацию. Для этого достаточно, например, знать формат сообщений протокола НТТРS. Во-вторых, противник должен знать блок шифртекста Cj - 1 - его он получает из открытого канала связи. В-третьих, противник должен знать значе ние вектора инициализации для следующего сообщения: он получа ет его из наблюдения предыдущего сеанса связи. Наконец, нужно иметь возможность подставить выбранный открытый текст в первый блок следующего передаваемого отправителем сообщения. Это, по жалуй, самое трудновыполнимое для противника условие. Однако и это условие осуществимо, если противник сумеет убедить пользова теля установить дополнительный компонент веб-браузера, реали зующий такую программную закладку. При выполнении всех пере численных условий такая атака становится вполне реальной. из на учной литературы известны и другие, более «тонкие» примеры атак на стандартные режимы работы блочных шифров, которые стано вятся возможными не в силу неправильной или неудачной конст рукции самих режимов шифрования, а именно в силу технических
особенностей их реализации.
Подводя итог рассмотрению самых употребительных способов реализации защищенных каналов передачи информации, можно сделать следующие выводы. Каждому из рассмотренных методов (IPSec и SSL) присущи свои достоинства и недостатки. Отметим сначала достоинства каждого метода. Так, основными преимуще ствами решений, основанных на архитектуре IPSec, можно считать
следующие:
Архитектура IPSec обеспечивает дополнительный уровень защи ты, если требуется, чтобы на клиентской машине не только функционировала ПП, например, для соединения с виртуальной частной сетью, но и чтобы эта машина была должным образом
248 Запечников С. В. Криптографическиепротоколы 11 их примененив
сконфигурирована. Это создает дополнительные преграды для злоумышленника, который пытается осуществить несанкциони рованный доступ к сети.
Архитектура IPSec относится к сетевому уровню коммуникаци онной модели OSI, инкапсулируя обычные IР-пакеты. Поскольку при этом образуется туннельное соединение, любая ПП (веб приложение, электронная почта, FТР-сервис, протокол telnet, го лосовой протокол VoIP и др.) может использовать его без огра ничений. Это может быть большим преимуществом для сред со множеством ПП, но может стать недостатком в том случае, если удаленный клиент будет скомпрометирован.
•Архитектура IPSec хорошо подходит для реализации защищен ной сети, состоящей из отдельных, географически распределен ных узлов, поскольку они могут быть реализованы в любых се тевых устройствах без модификации клиентских ОС или при кладного ПО.
На базе архитектуры IPSec могут создаваться виртуальные част ные сети, которые поддерживают любые ПП, ориентированные
на архитектуру TCPIIP, поскольку сами IP-пакеты при этом не
подвергаются внешним изменениям.
Вместе с этим нельзя не отметить следующие несомненные пре- имущества решений, основанных на спецификации SSL:
SSL - это общепринятая, повсеместно реализуемая специфика ЦИЯ, и большинство неб-браузеров уже имеют встроенную реа
лизацию SSL, т. е. почти каждый компьютер, имеющий выход в
Интернет, имеет готовЫЙ «клиентскЫЙ компонент», реали
зующий этот метод.
SSL допускает более точный контроль доступа к ресурсам сис темы. Во-первых, он реализует туннели для каждой отдельно взятой ПП, а не для всей корпоративной локальной сети. Таким образом, пользователи SSL-соединений могут иметь доступ только к тем ПЛ, к которым им был разрешен доступ, а не ко всей сети. Во-вторых, в этом случае гораздо легче присваиватъ
различным пользователям различные права доступа и осуществ
лять более тонкий контроль над каждой попыткой доступа. SSL удобна для «разовых» соединений с пользователями, работаю-