Перед началом безопасного обмена данными между двумя компьютерами должно быть установлено соглашение. Согласно этому соглашению, названному сопоставлением безопасности (SA, security association), компьютеры договариваются о способе обмена и защите данных.
Ключ - это секретный код или число, необходимое для чтения, изменения или проверки защищенных данных. Ключи в сочетании с алгоритмами (математическими процессами) используются для защиты данных. В IPsec выделены две фазы, или режима, использования ключей. Сначала выполняется основной режим, создающий общий главный ключ, используемый двумя сторонами для обмена ключевой информацией безопасным способом. Быстрый режим использует главный ключ для безопасной установки одного или нескольких ключей сеанса, применяемых для проверки целостности данных и шифрования.
Windows управляет созданием ключей автоматически и реализует следующие ключевые свойства, улучшающие защиту.
Важно! | |
С помощью оснастки политики IP-безопасности можно создать политики IPsec, применимые к компьютерам, работающим под управлением Windows Vista и более поздних версий Windows, но эта оснастка не использует новые алгоритмы безопасности и другие новые функции в компьютерах с более поздними версиями Windows. Для создания политик IPsec для этих компьютеров рекомендуется использовать оснастку Брандмауэр Windows в режиме повышенной безопасности. Оснастка Брандмауэр Windows в режиме повышенной безопасности не создает политики, которые могут быть применены к более ранним версиям Windows. |
Динамическая смена ключей
Политика IPSec задает частоту создания новых ключей во время обмена данными, используя так называемый метод динамической смены ключей. Данные пересылаются блоками, для защиты каждого из которых используется свой ключ. В случае получения злоумышленником части пересылаемых данных это предотвращает получение им остальных пересылаемых данных. Такое согласование безопасности по требованию и автоматическое управление ключами обеспечивается с помощью IKE в соответствии с документом RFC 2409.
IPSec позволяет управлять частотой создания новых ключей. Если значения не заданы, смена ключей выполняется автоматически с интервалом по умолчанию.
Длина ключа
При увеличении длины ключа на один бит число возможных вариантов ключа удваивается, что на порядок повышает надежность ключа. IPSec предоставляет несколько алгоритмов для использования коротких или длинных ключей.
Создание ключа Алгоритм Диффи-Хелмана
Для обеспечения безопасности связи двух компьютеров необходимо, чтобы они могли получить один общий ключ (ключ сеанса), не пересылая его друг другу через сеть и не рассекречивая конфиденциальных данных.
Алгоритм Диффи-Хелмана (DH) - один из старейших и наиболее безопасных алгоритмов, используемых для обмена ключами. Стороны соединения открыто обмениваются сведениями о ключе, которые в этой версии Windows дополнительно защищены подписью хэш-функции. Обмен собственно ключами никогда не производится, однако после обмена материалом для ключа каждая из сторон может создать идентичные общие ключи.
Материал для ключа Диффи-Хелмана, которым обмениваются стороны соединения, может быть основан на 768 или 1024 битах материала для ключа, называемых группами Диффи-Хелмана. Стойкость группы Диффи-Хелмана пропорциональна стойкости ключа, вычисляемого после обмена данными Диффи-Хелмана. Стойкие группы Диффи-Хелмана в сочетании с ключами большой длины повышают объем вычислений для подбора ключа.
Примечание | |
В диалоговом окне Алгоритмы безопасности IKE 768 бит соответствуют настройке Низкий (1), а 1024 бита - настройке Средний (2). |
IPSec использует алгоритм Диффи-Хелмана для предоставления материала для создания всех прочих ключей шифрования. Алгоритм Диффи-Хелмана не обеспечивает проверку подлинности. Реализация IPSec в Microsoft Windows проверяет подлинность учетных данных после обмена данными Диффи-Хелмана, обеспечивая защиту от атак третьих сторон.
Защита ключа
Следующие средства усиливают основные простые числа (материал для создания ключа) и надежность основного ключа и ключей сеансов.
Время жизни ключа
Время жизни ключа определяет время, а не способ создания нового ключа. Время жизни ключа, называемое также динамической сменой ключа или динамической регенерацией, позволяет принудительно создавать новые ключи через заданный интервал. Например, если связь продолжается в течение 10 000 секунд, а для ключа задано время жизни в 1 000 секунд, за время обмена данными будет создано 10 ключей. Благодаря этому, даже если злоумышленник сможет расшифровать часть перехваченных данных, остальные данные будут защищены. Время жизни может быть задано как для основных ключей, так и для ключей сеансов. По завершении времени жизни любого из ключей соответствующее сопоставление безопасности SA также согласовывается заново. В дополнение к этому ключ обновляется или генерируется заново. Объем данных, обрабатываемых одним ключом, не должен превышать 100 мегабайт.
Предел обновления ключа сеанса
Предел обновления ключа сеанса быстрого режима используется, потому что повторяющееся пересоздание ключа во время сеанса может раскрыть секрет формирования ключей в алгоритме Диффи-Хелмана.
Например, Мария, работающая на компьютере А, отправляет сообщение Ивану на компьютер Б, а несколько минут спустя отправляет Ивану еще одно сообщение. Поскольку сопоставление безопасности было установлено недавно, для создания ключа сеанса может быть использован тот же материал. Для ограничения повторного использования материала ключа задайте меньший предел обновления.
При включенной безопасной пересылке (PFS) основного ключа предел обновления ключа сеанса быстрого режима не используется. Задание в качестве предела обновлений ключа сеанса значения 1 идентично включению PFS основного ключа. Если заданы и срок жизни основного ключа, и предел обновления ключа сеанса быстрого режима, смена ключа выполняется по достижении любого из этих пределов. По умолчанию, политика IPSec не ограничивает обновление ключа сеанса.
Группы Диффи-Хелмана
Группы Диффи-Хелмана используются для определения длины основных простых чисел (материала для ключа) для обмена ключами. Стойкость любого полученного ключа частично зависит от стойкости группы Диффи-Хелмана, на которой основаны простые числа.
Каждая группа Диффи-Хелмана определяет длину используемого материала для ключа. Группа 1 предоставляет 768 бит материала для создания ключа; группа 2 - 1024 бита; группа 3 - 2048 бит. При использовании большей группы ключ, определяемый по результатам обмена, имеет больший размер и является более устойчивым к попыткам подбора.
IKE согласовывает использование той или иной группы, основываясь на настройках конфигурации в диалоговом окне Алгоритмы безопасности IKE, гарантируя невозможность сбоя согласования по причине несовпадения групп Диффи-Хелмана на сторонах соединения.
Если разрешена PFS ключа сеанса, новый ключ Диффи-Хелмана согласовывается при первом согласовании сопоставления безопасности быстрого режима. Этот новый ключ устраняет зависимость ключа сеанса от обмена данными Диффи-Хелмана, выполняемого для основного ключа.
Если инициирующая сторона использует PFS ключей сеансов, отвечающая сторона также должна использовать PFS ключей сеансов. Если, однако, инициирующая сторона не использует PFS ключей сеансов, а отвечающая сторона использует PFS ключей сеансов, происходит сбой согласования.
Для согласования сопоставлений безопасности основного и быстрого режимов используется одна и та же группа Диффи-Хелмана. При включенном PFS ключей сеансов группа Диффи-Хелмана (несмотря на то, что она задается как часть согласования сопоставления безопасности основного режима) влияет на все смены ключа во время установки ключа сеанса быстрого режима.
Полная безопасность пересылки
В отличие от времени жизни ключа, безопасная пересылка (PFS, perfect forward secrecy) определяет способ создания ключа, а не время его создания. Точнее, PFS гарантирует, что раскрытие одного ключа открывает доступ только к данным, защищенным этим ключом, и не обязательно ко всем передаваемым данным. Для этого PFS обеспечивает невозможность использования ключа, применяемого для защиты передаваемых данных в любом из режимов, для создания дополнительных ключей. Кроме того, если используемый ключ был получен из конкретного базового материала, этот материал невозможно использовать для создания других ключей.
PFS основного ключа основного режима требует повторной проверки подлинности и интенсивно использует ресурсы. При его включении IKE требует повторной проверки учетных данных, что повышает нагрузку на контроллеры доменов при использовании для проверки подлинности протокола Kerberos V5. Для каждого согласования быстрого режима требуется новое согласование основного режима.
PFS ключей сеансов быстрого режима может использоваться без повторной проверки подлинности и использует ресурсы менее интенсивно. Применение PFS ключей сеансов вызывает обмен данными Диффи-Хелмана для создания нового материала для ключа. Для этого требуется всего четыре сообщения без проверки подлинности.
Безопасность пересылки (PFS) не обязательно включать на обеих сторонах соединения, поскольку она не является частью согласования сопоставления безопасности. Если отвечающая сторона требует PFS, а срок действия сопоставления безопасности быстрого режима отправляющей стороны истек, сообщение отправителя просто отбрасывается и запрашивается новое согласование. Отправитель прекращает действие сопоставления безопасности основного режима и создает новое согласование. PFS может быть задана отдельно как для основных ключей (основной режим), так и для ключей сеансов (быстрый режим).
Обмен ключами
Перед началом безопасного обмена данными между двумя компьютерами должно быть установлено соглашение. Согласно этому соглашению (SA), оба компьютера договариваются о способе обмена и защите данных.
Для создания соглашения между двумя компьютерами рабочая группа IETF (Internet Engineering Task Force) ввела способ IKE сопоставления безопасности и обмена ключами, который:
- централизует управление сопоставлением безопасности, сокращая время подключения;
- создает общие секретные ключи, используемые для защиты данных, и управляет ими.
Этот процесс не только защищает обмен данными между компьютерами, но защищает и удаленные компьютеры, запрашивающие безопасный доступ к корпоративной сети. Кроме того, данный процесс работает при каждом выполнении шлюзом безопасности согласования для конечного компьютера назначения (конечной точки).
Определение сопоставления безопасности
Сопоставление безопасности представляет собой сочетание согласованного ключа, протокола безопасности и индекса параметров безопасности (SPI, Security Parameters Index), в совокупности определяющих механизмы безопасности, используемые для защиты данных, передаваемых между сторонами соединения. Индекс параметров безопасности SPI представляет собой уникальное определяющее значение в сопоставлении безопасности, используемое для различения нескольких сопоставлений безопасности, существующих на принимающем компьютере. Несколько сопоставлений безопасности могут существовать, например, на компьютере, имеющем безопасную связь с несколькими компьютерами одновременно. Такая ситуация возникает преимущественно в случаях, когда компьютер является файловым сервером или сервером удаленного доступа, обслуживающим несколько клиентов. В таких ситуациях принимающий компьютер определяет сопоставление безопасности для обработки входящих пакетов с помощью SPI.
Основной режим сопоставления безопасности
Для обеспечения успешной и безопасной связи IKE выполняет двухэтапную операцию. Конфиденциальность и проверка подлинности на каждом этапе обеспечиваются использованием алгоритмов шифрования и проверки подлинности, согласованных между двумя компьютерами во время согласования безопасности. Благодаря разделению на два этапа, ключ может быть создан очень быстро.
В ходе первого этапа два компьютера создают безопасный канал с проверкой подлинности. Такой этап носит название сопоставления безопасности основного режима. Во время этого обмена IKE автоматически обеспечивает необходимую защиту.
Следующие шаги описывают согласование основного режима.
- Согласование политик Следующие четыре обязательных параметра согласуются как часть сопоставления безопасности основного режима:
- алгоритм шифрования (DES или 3DES);
- алгоритм хеширования (MD5 или SHA1);
- метод проверки подлинности (Kerberos V5, сертификат или предварительный ключ);
- группа Диффи-Хелмана, используемая для базовых данных ключа: группа 1 (768 бит для обеспечения надежности ключа), группа 2 (1024 бита) или группа 2048 (2048 бит).
- Если для проверки подлинности используются сертификаты или предварительные ключи, защита учетной записи компьютера обеспечивается. Однако, если для проверки подлинности используется протокол Kerberos V5, учетная запись компьютера остается незашифрованной, пока не будут зашифрованы все учетные данные во время проверки подлинности.
- алгоритм шифрования (DES или 3DES);
- Обмен ключами Диффи-Хелмана (открытыми значениями). Обмен ключами как таковыми не выполняется никогда. Передаются только общие сведения, необходимые алгоритму определения ключа Диффи-Хелмана для создания общего секретного ключа. После этого обмена служба IKE на каждом из компьютеров создает основной ключ, используемый для защиты проверки подлинности.
- Проверка подлинности. Компьютеры выполняют попытку проверки подлинности предоставленных ключей Диффи-Хелмана. Без проверки подлинности при обмене ключами Диффи-Хелмана соединение уязвимо для атак третьих сторон. При сбое проверки подлинности связь прекращается. Основной ключ, в сочетании с согласованными алгоритмами и методами, используется для проверки учетных данных. Все сведения учетной записи (включая тип, порт и протокол) хэшируются и зашифровываются с использованием ключей, созданных по результатам обмена сведениями о группе Диффи-Хелмана на шаге 2. Независимо от используемого метода проверки подлинности сведения об учетных записях защищены как от изменения, так и от расшифровки.
Отправитель предлагает получателю сопоставление безопасности. Отвечающая сторона не может изменить предложение. При изменении предложения инициирующая сторона отклоняет сообщение отвечающей стороны. Отвечающая сторона либо отправляет ответ о принятии предложения, либо предлагает альтернативы.
Сообщения, отправляемые на этом этапе, автоматически повторяются пять раз. При получении ответа до завершения цикла повторов начинается согласование стандартного сопоставления безопасности. Незащищенные соединения, если таковые допускаются политикой IPSec, начинаются после короткого интервала. Это называется возвратом к небезопасной связи. Даже в случае возврата к небезопасной связи, попытки согласования безопасной связи выполняются с интервалом в 5 минут.
Число возможных обменов не ограничено. Возможное число формируемых сопоставлений безопасности ограничено лишь ресурсами системы.
Быстрый режим сопоставления безопасности
На данном этапе сопоставления безопасности согласуются от имени драйвера IPSec.
Следующие шаги описывают согласование быстрого режима.
- Согласование политики Компьютеры IPSec обмениваются следующими требованиями к защите передачи данных:
- протокол IPSec (AH или ESP);
- Алгоритм хэширования для проверки целостности и подлинности (MD5 или SHA1);
- алгоритм шифрования (3DES или DES), если запрашивается.
- протокол IPSec (AH или ESP);
- Обновление или обмен материалом для создания ключа сеанса. IKE обновляет сведения о ключе, после чего создаются новые общие ключи для проверки целостности, подлинности и шифрования (если согласовано) пакетов. Если требуется смена ключей, то либо происходит второй обмен данными Диффи-Хелмана (см. в описании согласования основного режима), либо используется обновление исходного ключа.
- Сопоставления безопасности и ключи передаются в драйвер IPSec вместе с SPI. Согласование быстрого режима параметров безопасности и материала для создания ключа (в целях защиты данных) защищено сопоставлением безопасности основного режима. Подобно обеспечению защиты учетных данных на первом этапе, второй этап обеспечивает защиту путем обновления материала для создания ключа перед отправкой данных. IKE может сохранять полезные данные обмена ключей для дополнительного обмена данными Диффи-Хелмана, если этот обмен необходим; таким образом, включается безопасная пересылка основного ключа. В противном случае IKE обновляет материал для создания ключа, используя данные Диффи-Хелмана, обмен которыми выполняется в основном режиме.
Быстрый режим завершается созданием пары сопоставлений безопасности, каждое из которых имеет собственный SPI и ключ. Одно сопоставление безопасности используется для входящей связи, а другое - для исходящей.
Алгоритм повтора сообщения аналогичен процессу, используемому при согласовании основного режима. Однако, если при втором или еще более позднем согласовании одного и того же сопоставления безопасности основного режима время ожидания этого процесса по какой-либо причине истекает, выполняется попытка повторного согласования сопоставления безопасности основного режима. Сообщение для данного этапа, полученное без установки сопоставления безопасности основного режима, отклоняется.
Использование одного сопоставления безопасности основного режима для нескольких сопоставлений безопасности быстрого режима ускоряет данный процесс. Повторное согласование безопасности и проверка подлинности не требуются, пока не закончится срок действия сопоставления безопасности основного режима. Допустимое число согласований сопоставления безопасности быстрого режима определяется параметрами политики IPSec.
Примечание Частая смена ключей одного и того же сопоставления безопасности основного режима может сделать общий секретный ключ уязвимым для атак на известный незашифрованный текст. Атака на известный незашифрованный текст осуществляется с применением средств прослушивания сети, когда злоумышленник использует зашифрованные данные для определения ключа по известному незашифрованному тексту.
Сроки жизни сопоставлений безопасности
Сопоставление безопасности основного режима кэшируется для обеспечения согласования нескольких сопоставлений безопасности быстрого режима (если не включена безопасная пересылка основного ключа PFS). По завершении времени жизни основного ключа или ключа сеанса сопоставление безопасности согласовывается заново. В дополнение к этому ключ обновляется или генерируется заново.
По истечении времени ожидания по умолчанию для сопоставления безопасности основного режима или времени жизни основного ключа или ключа сеанса отвечающей стороне отправляется сообщение об удалении. Сообщение IKE об удалении предписывает отвечающей стороне завершить срок действия сопоставления безопасности основного режима. Это предотвращает создание новых сопоставлений безопасности быстрого режима на основе устаревшего сопоставления безопасности основного режима. IKE не прекращает срок действия сопоставления безопасности быстрого режима, поскольку число секунд или байтов, ограничивающее срок жизни ключа, содержит только драйвер IPSec.
При значительном изменении срока жизни основного ключа и ключей сеансов следует соблюдать осторожность. Например, если задать для основного ключа срок жизни 8 часов, а для ключа сеанса - 2 часа, сопоставление безопасности быстрого режима сможет действовать почти два часа после истечения срока действия сопоставления безопасности основного режима. Это возможно при создании сопоставления безопасности быстрого режима незадолго до истечения срока действия сопоставления безопасности основного режима.