безопасность сетей и каналов передачи данных. Тема Проблемы информационной безопасности сетей Содержание темы
Скачать 1.46 Mb.
|
Тема 6. Защита на сетевом уровне Содержание темы: 1. Архитектура средств безопасности IPSec. 2. Защита передаваемых данных с помощью протоколов АН и ESP. 3. Протокол управления криптоключами IKE. 4. Особенности реализации средств IPSec. Радикальное устранение уязвимостей компьютерных сетей возможно при создании системы защиты не для отдельных классов приложений, а для сети в целом. Применительно к IP сетям это означает, что системы защиты должны действовать на сетевом уровне модели OSI. Преимущество такого выбора заключается в том очевидном факте, что в IP сетях именно сетевой уровень отличается наибольшей гомогенностью: независимо от вышележащих протоколов, физической среды передачи и технологии канального уровня транспортировка данных по сети не может быть произведена в обход протокола IP. Поэтому реализация защиты сети на третьем уровне автоматически гарантирует как минимум такую же степень защиты всех сетевых приложений, причем без какой-либо модификации последних. При формировании защищенных виртуальных каналов на сетевом уровне модели OSI достигается оптимальное соотношение между прозрачностью и качеством защиты. Размещение средств защиты на сетевом уровне делает их прозрачными для приложений, так как между сетевым уровнем и приложением функционирует реализация протокола транспортного уровня. Для пользователей процедуры защиты оказываются столь же прозрачными, как и сам протокол IP. На сетевом уровне существует возможность достаточно полной реализации функций защиты трафика и управления ключами, поскольку именно на сетевом уровне выполняется маршрутизация пакетов сообщений. Стек протоколов IPSec используется для аутентификации участников обмена, туннелирования трафика и шифрования IP пакетов. Основное назначение протокола IPSec (Internet Protocol Security) обеспечение безопасной передачи данных по сетям IP. Поскольку архитектура IPSec совместима с протоколом IPv4, ее поддержку достаточно обеспечить на обоих концах, соединения; промежуточные сетевые узлы могут вообще ничего «не знать» об IPSec. Протокол IPSec может защищать трафик как текущей версии протокола IPv4, применяемой сегодня в Internet, так и трафик новой версии IPv6, которая постепенно внедряется в Internet. Вопрос 1. Архитектура средств безопасности IPSec. Основное назначение протоколов IPSec обеспечение безопасной передачи данных по сетям IP. Применение IPSec гарантирует: целостность передаваемых данных (т. е. данные при передаче не искажены, не потеряны и не продублированы); аутентичность отправителя (т. е. данные переданы именно тем отправителем, который доказал, что он тот, за кого себя выдает); конфиденциальность передаваемых данных (т. е. данные передаются в форме, предотвращающей их несанкционированный просмотр). Следует отметить, что обычно в понятие безопасности данных включают еще одно требование доступность данных, что в рассматриваемом контексте можно интерпретировать как гарантию их доставки. Протоколы IPSec не решают данную задачу, оставляя ее протоколу транспортного уровня TCP. Стек протоколов IPSec обеспечивает защиту информации на сетевом уровне, что делает эту защиту невидимой для работающих приложений. Фундаментальной единицей коммуникации в IP сетях является IP пакет. IP пакет содержит S-адрес источника и D-адрес получателя сообщения, транспортный заголовок, информацию о типе данных, переносимых в этом пакете, и сами данные (Рис. 33.). Рис. 33. Структура IP пакета Пользователь воспринимает сеть как надежно защищенную среду только в том случае, если он уверен, что его партнер по обмену именно тот, за кого он себя выдает (аутентификация сторон), что передаваемые пакеты не просматриваются посторонними лицами (конфиденциальность связи) и что получаемые данные не подверглись изменению в процессе передачи (целостность данных). Для того чтобы обеспечить аутентификацию, конфиденциальность и целостность передаваемых данных стек протоколов IPSec построен на базе стандартизованных криптографических технологий: обмена ключами согласно алгоритму Диффи Хеллмана для распределения секретных ключей между пользователями в открытой сети; криптографии открытых ключей для подписывания обменов Диффи Хеллмана, чтобы гарантировать подлинность двух сторон и избежать атак типа «man-in-the-middle»; цифровых сертификатов для подтверждения подлинности открытых ключей; блочных симметричных алгоритмов шифрования данных; алгоритмов аутентификации сообщений на базе функций хэширования. Протокол IPSec определяет стандартные способы защиты информационного обмена на сетевом уровне модели OSI для IP сети, являющейся основным видом открытых сетей. Данный протокол входит в состав новой версии протокола IP (IPv6) и применим также к его текущей версии (IPv4). Для протокола IPv4 поддержка IPSec является желательной, а для IPv6 обязательной. Протокол IPSec представляет собой систему открытых стандартов, которая имеет четко очерченное ядро, и в то же время позволяет дополнять ее новыми протоколами, алгоритмами и функциями. Стандартизованными функциями IPSec защиты могут пользоваться протоколы более высоких уровней, в частности, управляющие протоколы, протоколы конфигурирования, а также протоколы маршрутизации. Основными задачами установления и поддержания защищенного канала являются следующие: аутентификация пользователей или компьютеров при инициации защищенного канала; шифрование и аутентификация передаваемых данных между конечными точками защищенного канала; обеспечение конечных точек канала секретными ключами, необходимыми для работы протоколов аутентификации и шифрования данных. Для решения перечисленных задач система IPSec использует комплекс средств безопасности информационного обмена. Большинство реализаций протокола IPSec имеют следующие компоненты. Основной протокол IPSec. Этот компонент реализует протоколы ESP и АН. Он обрабатывает заголовки, взаимодействует с БД SPD и SAD для определения политики безопасности, применяемой к пакету. Протокол управления обменом ключевой информации IKE (Internet Key Exchange). IKE обычно представляется как процесс пользовательского уровня, за исключением реализаций, встроенных в ОС. База данных политик безопасности SPD (Security Policy Database). Это один из важнейших компонентов, поскольку он определяет политику безопасности, применяемую к пакету. SPD используется основным протоколом IPSec при обработке входящих и исходящих пакетов. База данных безопасных ассоциаций SAD (Security Association Database). БД SAD хранит список безопасных ассоциаций SA (Security Association) для обработки входящей и исходящей информации. Исходящие SA используются для защиты исходящих пакетов, а входящие SA используются для обработки пакетов с заголовками IPSec. БД SAD заполняется SA вручную или с помощью протокола управления ключами IKE. Управление политикой безопасности и безопасными ассоциациями SA. Это приложения, которые управляют политикой безопасности и SA. Основной протокол IPSec (реализующий ESP и АН) тесно взаимодействует с транспортным и сетевым уровнем стека протоколов TCP/IP. Фактически протокол IPSec является частью сетевого уровня. Основной модуль протокола IPSec обеспечивает два интерфейса: входной и выходной. Входной интерфейс используется входящими пакетами, а выходной исходящими. Реализация IPSec не должна зависеть от интерфейса между транспортным и сетевым уровнем стека протоколов TCP/IP. БД SPD и SAD существенно влияют на эффективность работы IPSec. Выбор структуры данных для хранения SPD и SAD является критическим моментом, от которого зависит производительность IPSec. Особенности реализации SPD и SAD зависят от требований производительности и совместимости системы. Все протоколы, входящие в IPSec, можно разделить на две группы: 1) протоколы, непосредственно производящие обработку передаваемых данных (для обеспечения их защиты); 2) протоколы, позволяющие автоматически согласовать параметры защищенных соединений, необходимые для протоколов 1й группы. Архитектура средств безопасности IPSec представлена на Рис. 34. Рис. 34. Архитектура стека протоколов IPSec На верхнем уровне расположены 3 протокола, составляющих ядро IPSec: протокол согласования параметров виртуального канала и управления ключами IKE (Internet Key Exchange), определяющий способ инициализации защищенного канала, включая согласование используемых алгоритмов криптозащиты, а также процедуры обмена и управления секретными ключами в рамках защищенного соединения; протокол аутентифицирующего заголовка АН (Authentication header), обеспечивающий аутентификацию источника данных, проверку их целостности и подлинности после приема, а также защиту от навязывания повторных сообщений; протокол инкапсулирующей защиты содержимого ESP (Encapsulating Security Payload), обеспечивающий криптографическое закрытие, аутентификацию и целостность передаваемых данных, а также защиту от навязывания повторных сообщений. Разделение функций защиты между двумя протоколами АН и ESP обусловлено применяемой во многих странах практикой ограничения экспорта и/или импорта средств, обеспечивающих конфиденциальность данных путем шифрования. Каждый из протоколов АН и ESP может использоваться как самостоятельно, так и совместно с другим. Из краткого перечисления функций протоколов АН и ESP видно, что возможности этих протоколов частично перекрываются. Протокол АН отвечает только за обеспечение целостности и аутентификации данных, в то время как протокол ESP является более мощным, поскольку может шифровать данные, а кроме того, выполнять функции протокола АН (хотя, как увидим позднее, аутентификация и целостность обеспечиваются им в несколько урезанном виде). Протокол ESP может поддерживать функции шифрования и аутентификации/целостности в любых комбинациях, т. е. либо и ту и другую группу функций, либо только аутентификацию/целостность, либо только шифрование. Средний уровень архитектуры IPSec образуют алгоритмы согласования параметров и управления ключами, применяемые в протоколе IKE, а также алгоритмы аутентификации и шифрования, используемые в протоколах аутентифицирующего заголовка АН и инкапсулирующей защиты содержимого ESP. Следует отметить, что протоколы защиты виртуального канала верхнего уровня архитектуры IPSec (АН и ESP) не зависят от конкретных криптографических алгоритмов. За счет возможности использования большого числа разнообразных алгоритмов аутентификации и шифрования IPSec обеспечивает высокую степень гибкости организации защиты сети. Гибкость IPSec состоит в том, что для каждой задачи предлагается несколько способов ее решения. Выбранные методы для одной задачи обычно не зависят от методов реализации других задач. Например, выбор для шифрования алгоритма AES не влияет на выбор функции вычисления дайджеста, используемого для аутентификации данных. Нижний уровень архитектуры IPSec образует так называемый домен интерпретации DOI (Domain of Interpretation). Необходимость применения домена интерпретации DOI обусловлена следующими причинами. Протоколы АН и ESP имеют модульную структуру, допуская применение пользователями по их согласованному выбору различных криптографических алгоритмов шифрования и аутентификации. Поэтому необходим модуль, который мог бы обеспечить совместную работу всех применяемых и вновь включаемых протоколов и алгоритмов. Именно такие функции возложены на домен интерпретации DOI. Домен интерпретации DOI в качестве БД хранит сведения об используемых в IPSec протоколах и алгоритмах, их параметрах, протокольных идентификаторах и т. п. По существу, он выполняет роль фундамента в архитектуре IPSec. Для того чтобы использовать алгоритмы, соответствующие национальным стандартам в качестве алгоритмов аутентификации и шифрования в протоколах АН и ESP, необходимо зарегистрировать эти алгоритмы в домене интерпретации DOI. Вопрос 2. Защита передаваемых данных с помощью протоколов АН и ESP. Протокол аутентифицирующего заголовка АН и протокол инкапсулирующей защиты содержимого ESP могут работать в туннельном или транспортном режимах. Для выполнения своих задач по обеспечению безопасной передачи данных протоколы АН и ESP включают в обрабатываемые ими пакеты дополнительную служебную информацию, оформляя ее в виде заголовков. Протокол аутентифицирующего заголовка АН. Протокол аутентифицирующего заголовка АН (Authentication Header) обеспечивает проверку аутентичности и целостности IP пакетов, а также защиту от воспроизведения ранее посланных IP пакетов. Протокол АН позволяет приемной стороне убедиться, что: пакет был отправлен именно той стороной, с которой установлена данная ассоциация; содержимое пакета не подверглось искажениям в процессе передачи его по сети; пакет не является дубликатом некоторого пакета, полученного ранее. Протокол АН полностью защищает от подлога и искажения содержимое IP пакетов, включая данные протоколов более высоких уровней. Полнота защиты полей IP заголовков зависит от используемого режима работы туннельного или транспортного. Однако протокол АН не обеспечивает конфиденциальность передаваемых данных, т. е. не предназначен для их шифрования. Данные могут быть прочитаны промежуточными узлами, но не могут быть изменены. Целостность и аутентичность данных обеспечиваются добавлением аутентифицирующего заголовка (АН) перед заголовком IP и заголовком транспортного уровня (TCP/UDP). Формат заголовка АН показан на Рис. 35. Рис. 35. Формат заголовка АН Заголовок АН включает в себя поля: следующий заголовок (Next Header) однобайтовое поле, содержащее код протокола следующего заголовка, вложенного в IPSec пакет, например код протокола TCP или ESP, чей заголовок следует за АН; длина (Payload Lett) указывает длину заголовка АН в 32битных словах; индекс параметров защиты SPI (Security Parameters Index) представляет собой 32разрядную метку безопасной ассоциации SA (Security Association), содержащей все параметры туннеля IPSec, включая типы криптографических алгоритмов и ключи шифрования. На основании индекса SPI пакет будет правильно отнесен к одной из существующих ассоциаций в приемном шлюзе (или хосте). Если же активной ассоциации, на которую указывает метка SPI, не существует, то пакет просто отбрасывается; порядковый номер SN (Sequence Number) беззнаковое 32битное число, увеличиваемое на единицу после передачи каждого защищенного по протоколу АН IP пакета. Обеспечивает защиту от ложного воспроизведения ранее посланных IP пакетов. При формировании каждого защищенного сеанса информационного обмена в рамках туннеля IPSec взаимодействующие стороны делают свои счетчики нулевыми, а потом согласованным образом увеличивают их. Получатель проверяет это поле с целью удостовериться, что пакета с таким номером принято еще не было. Если же такой пакет уже был, он не принимается; аутентификационные данные (Authentication Data) поле переменной длины, содержащее информацию, используемую для аутентификации пакета и называемую МАС кодом (Message Authentication Code). Это поле называют также цифровой подписью, дайджестом или кодом проверки целостности ICV (Integrity Check Value) пакета. Содержимое поля Authentication Data вычисляется с помощью одного из двух обязательно поддерживаемых протоколом АН алгоритмов HMACMD5 и HMACSHA1, основанных на применении односторонних хэш функций с секретными ключами. Длина дайджеста зависит от выбранного алгоритма, поэтому это поле имеет в общем случае переменный размер. Наиболее часто используемый алгоритм HMACMD5 порождает 16 байтный дайджест. Протокол АН защищает весь IP пакет за исключением некоторых полей в IP заголовке, таких как время жизни (TTL) и тип службы (Type of Service), которы могут меняться в процессе передачи пакета в сети. Заметим, что протокол АН обеспечивает защиту от изменений IP адресов в заголовке пакета. Протокол аутентификации АН создает своеобразный конверт, обеспечивающий аутентификацию источника данных, их целостность и защиту от навязывания повторных сообщений. Местоположение заголовка АН в пакете зависит от того, в каком режиме транспортном или туннельном сконфигурирован защищенный канал. На Рис. 36. показано расположение АН заголовка относительно IP заголовка в обоих режимах. В транспортном режиме заголовок исходного IP пакета становится внешним заголовком, за ним следует заголовок АН, а затем все данные защищаемого пакета (т. е. пакет протокола верхнего уровня). Протокол АН IP пакет после применения протокола АН в транспортном режиме защищает весь полученный IP пакет после применения протокола АН в туннельном режиме: IP пакет после применения протокола АН в транспортном режиме: IP пакет после применения протокола АН в туннельном режиме: Рис. 36. IP – пакет после применения протокола АН в транспортном и туннельном режимах таким образом, пакет, включая заголовок IP и собственно сам заголовок АН. Таким образом, любое изменение данных в пакете или заголовков будет обнаружено. Следует также заметить, что в этом режиме данные пакета отсылаются открытыми, т. е. данные пакета защищены от изменений, но не защищены от просмотра. В частности, не удается скрыть IP адреса источника и назначения от возможного просмотра посторонними лицами, поскольку эти поля всегда присутствуют в незашифрованном виде и соответствуют действительным адресам хостов. В туннельном режиме в качестве заголовка внешнего IP пакета создается новый заголовок IP. IP адреса посылающей и принимающей сторон могут отличаться от адресов в заголовке исходного IP пакета. В защищенном IP пакете внутренний (первоначальный) IP заголовок содержит целевой адрес пакета, а внешний IP заголовок содержит адрес конца туннеля. За новым заголовком внешнего IP пакета следует заголовок АН, а затем весь исходный пакет (заголовок IP и сами данные). Как и в случае транспортного режима, протокол АН защищает весь созданный пакет (два заголовка IP, заголовок АН и данные), что также позволяет обнаружить любые изменения в пакете. Как и в транспортном режиме, сам пакет не защищен от просмотра. Независимо от режима работы, протокол АН предоставляет меры защиты от атак, направленных на нарушение целостности и подлинности пакетов сообщений. С помощью этого протокола аутентифицируется каждый пакет, что делает программы, пытающиеся перехватить управление сеансом, неэффективными. Протокол АН обеспечивает аутентификацию не только содержимого, но и заголовков IP пакетов. Однако следует иметь в виду, что аутентификация по протоколу АН не допускает манипулирования основными полями IP заголовка во время прохождения пакета. По этой причине данный протокол нельзя применять в среде, где используется механизм трансляции сетевых адресов NAT (Network Address Translation), поскольку для его работы необходимо манипулирование IP заголовками. Протокол АН может применяться как отдельно, так и в комбинации с протоколом ESP или даже с пакетом, который уже содержит АН заголовок (вложенное применение). |