Содержание
Введение
Общие понятия безопасности
Шифрование с открытым ключом
Обеспечение истинности открытых ключей
Применение алгоритмов шифрования с открытым ключом в Windows Server 2003
Компоненты Windows Server 2003, обеспечивающие шифрование
Политики безопасности
Протокол аутентификации Kerberos
Основные понятия
Аутентификация Kerberos в доменах Active Directory
Безопасность IP (IPSec)
Достоинства IP Security
Базовые механизмы и концепции
Архитектура безопасности IP
Разработка плана безопасности
Администрирование безопасности IP
Шифрующая файловая система EFS
Архитектура EFS
Система EFS и Windows Server 2003
Работа с EFS
Сертификаты
Использование сертификатов для обеспечения безопасности
Центры сертификации
Использование сертификатов в Интернете
Хранилища сертификатов
Запрос сертификата
Установка центра сертификации
Введение
В данной работе описываются базовые технологии безопасности, обеспечивающие защиту сетей и доменов Windows Server 2003. Большое внимание уделяется шифрованию с открытыми ключами, поскольку оно лежит в основе многих решений, примененных как внутри самой операционной системы, так и используемых ею в сетевых взаимодействиях. Рассмотрим сначала некоторые общие понятия и термины, относящиеся к защите данных и методам шифрования, без которых невозможно описывать средства безопасности Windows Server 2003.
Общие понятия безопасности
· Аутентификация (проверка подлинности). Это процесс надежного определения подлинности поддерживающих связь компьютеров. Аутентификация основана на методах криптографии, и это гарантирует, что нападающий или прослушивающий сеть не сможет получить информацию, необходимую для рассекречивания пользователя или другого объекта. Аутентификация позволяет поддерживающему связь объекту доказать свое тождество другому объекту без пересылки незащищенных данных по сети. Без "сильной" (strong) аутентификации и поддержания целостности данных любые данные и компьютер, который их послал, являются подозрительными.
· Целостность (integrity). Правильность данных, т. е. их неизменность по сравнению с первоначально посланными. Службы, поддерживающие целостность, защищают данные от несанкционированного изменения по пути их следования.
· Конфиденциальность (privacy). Гарантия того, что данные будут раскрыты только тем получателем, которому они были предназначены. Это свойство не является обязательным.
· Предотвращение повторного использования (anti-replay). Предотвращение повторного использования гарантирует, что каждая посланная IP-датаграмма (IP-пакет) отличается от любой другой, чтобы помочь предотвратить атаки, в которых сообщение прерывается и сохраняется атакующим, а затем многократно используется им позже для организации попытки нелегального доступа к информации.
Применение алгоритмов шифрования с открытым ключом в Windows Server 2003
Операционные системы Windows 2000 и Windows Server 2003 обладают развитыми средствами шифрования данных с открытым ключом. На данный момент эти системы располагают интегрированным набором служб и инструментов администрирования, предназначенных для создания, реализации и управления приложениями, использующими алгоритмы шифрования с открытым ключом. Это позволит независимым разработчикам программного обеспечения интенсивно применять в своих продуктах технологию общего ключа (shared key).
Политики безопасности
Политики безопасности действуют в рамках сайта, домена или контейнера (подразделения, или организационной единицы, OU) и распространяются на группы, компьютеры и пользователей — т. е. на все объекты администрирования. Безопасность шифрования с открытым ключом является одним из аспектов общей политики безопасности Windows 2000/Server 2003 и интегрирована в ее структуру. Это механизм, с помощью которого можно посредством объектов политики безопасности централизованно осуществлять настройку и управление глобальной политикой работы с открытым ключом. С помощью политики открытого ключа можно определять следующие аспекты безопасности Windows 2000/Server 2003:
· доверенные корни ЦС;
· процесс регистрации и обновления сертификатов;
· регистрация в системе с помощью смарт-карты.
Основные понятия
Проблема аутентификации пользователя заключается в необходимости проверки того факта, что он является тем, за кого себя выдает. Наука знает множество различных способов проверки подлинности личности, которые упрощенно можно разделить на две группы:
· проверка личности на факт соответствия некоторым индивидуальным характеристикам человека (проверка отпечатков пальцев, снимков радужки глаза, код ДНК и т. д.). Для применения этой группы методов аутентификации необходимо задействовать специальное оборудование;
· проверка личности на факт знания некоторого секрета (пароли, цифровые комбинации и последовательности). В данном случае под секретом понимается некая символьная или цифровая последовательность, факт знания которой позволяет судить о подлинности пользователя. Указанные методы аутентификации наиболее просты в технологическом исполнении. Именно эти методы получили широкое распространение в современных операционных системах. Протокол аутентификации Kerberos также относится к этой группе методов.
При реализации метода аутентификации, базирующегося на проверке факта знания некоторого секрета, необходимо решить следующие вопросы:
· каким образом клиент будет получать информацию о секрете?
· каким образом клиент будет предоставлять серверу аутентификации информацию о своих полномочиях?
· каким образом клиент будет проверять полномочия сервера?
· каким образом сервер сможет убедиться в том, что полномочия, предоставленные клиентом, подлинные?
· каким образом будет обеспечиваться безопасность взаимодействия сервера и клиента в ходе проверки полномочий?
· каким образом будет исключаться возможность использования перехваченных пакетов?
В процедуре аутентификации участвуют три стороны;
· клиент, запрашивающий соединение и предоставляющий сведения о своих полномочиях. В качестве клиента может рассматриваться любой субъект системы безопасности. Клиент может подключаться к неограниченному числу различных серверов, используя для аутентификации один "секрет";
· сервер, предоставляющий доступ к ресурсу и проверяющий полномочия клиента. К серверу может подключаться неограниченное количество клиентов, каждый из которых предоставляет информацию о собственном "секрете";
· сервер, хранящий информацию о секретах всех клиентов. В терминологии Kerberos этот сервер получил название Центра распределения ключей (Key Distribution Center, KDC). Центр распределения ключей берет на себя роль посредника между серверами и их клиентами. Каждое подключение должно иметь уникальный секрет, поскольку к любому серверу может обращаться произвольное число пользователей. Центр распределения ключей решает эту задачу, обеспечивая каждое подобное подключение собственным уникальным секретом, известным только клиенту и серверу.
Протокол Kerberos представляет собой набор методов идентификации и проверки истинности партнеров по обмену информацией (рабочих станций, пользователей или серверов) в открытой (незащищенной) сети. Процесс идентификации не зависит от аутентификации, выполняемой сетевой операционной системой, не основывается в принятии решений на адресах хостов и не предполагает обязательную организацию физической безопасности всех хостов сети. Кроме того, допускается, что пакеты информации, передаваемые по сети, могут быть изменены, прочитаны и переданы в любой момент времени. Следует, однако, отметить, что большинство приложений использует функции протокола Kerberos только при создании сеансов передачи потоков информации. При этом предполагается, что последующее несанкционированное разрушение потока данных невозможно. Поэтому применяется прямое доверие, основанное на адресе хоста. Kerberos выполняет аутентификацию как доверенная служба третьей стороны, используя шифрование с помощью общего секретного ключа (shared secret key).
Аутентификация выполняется следующим образом: 1. Клиент посылает запрос серверу аутентификации (Authentication Server, AS) на информацию, однозначно идентифицирующую некоторый нужный клиенту сервер. 2. Сервер AS передает требуемую информацию, зашифрованную с помощью известного пользователю ключа. Переданная информация состоит из билета сервера и временного ключа, предназначенного для шифрования (часто называемого ключом сеанса). 3. Клиент пересылает серверу билет, содержащий идентификатор клиента и ключ сеанса, зашифрованные с помощью ключа, известного серверу. 4. Теперь ключ сеанса известен и клиенту, и серверу. Он может быть использован для аутентификации клиента, а также для аутентификации сервера. Ключ сеанса можно применять для шифрования передаваемой в сеансе информации или для взаимного обмена ключами подсеанса, предназначенными для шифрования последующей передаваемой информации. Протокол Kerberos функционирует на одном или нескольких серверах аутентификации, работающих на физически защищенном хосте. Серверы аутентификации ведут базы данных партнеров по обмену информацией в сети (пользователей, серверов и т. д.) и их секретных ключей. Программный код, обеспечивающий функционирование самого протокола и шифрование данных, находится в специальных библиотеках. Для того чтобы выполнять аутентификацию Kerberos для своих транзакций, приложения должны сделать несколько обращений к библиотекам Kerberos. Процесс аутентификации состоит из обмена необходимыми сообщениями с сервером аутентификации Kerberos.
Протокол Kerberos состоит из нескольких субпротоколов (или протоколов обмена сообщениями). Существует два метода, которыми клиент может запросить у сервера Kerberos информацию, идентифицирующую определенный сервер. Первый способ предполагает, что клиент посылает AS простой текстовый запрос билета для конкретного сервера, а в ответ получает данные, зашифрованные с помощью своего секретного ключа. Как правило, в данном случае клиент посылает запрос на билет, позволяющий получить билет (Ticket Granting Ticket, TGT), который в дальнейшем используется для работы с выдающим билеты сервером (Ticket Granting Server, TGS). Второй способ предполагает, что клиент посылает TGT-билеты на TGS-сервер так же, как будто он обменивается информацией с другим сервером приложений, требующим аутентификации Kerberos.
Информация, идентифицирующая сервер, может быть использована для идентификации партнеров по транзакции, что позволит гарантировать целостность передаваемых между ними сообщений или сохранить в секрете передаваемую информацию.
Для идентификации партнеров по транзакции клиент посылает билет на сервер. Поскольку посылаемый билет "открыт" (некоторые его части зашифрованы, но они не помешают выполнить посылку копии) и может быть перехвачен и использован злоумышленником, для подтверждения истинности партнера, пославшего билет, передается дополнительная информация, называемая аутентификатором. Она зашифрована с помощью ключа сеанса и содержит отсчет времени, подтверждающий, что сообщение было сгенерировано недавно и не является копией оригинальной посылки. Шифрование аутентификатора с помощью ключа сеанса доказывает, что информация была передана истинным партнером по обмену данными. Поскольку, кроме запрашивающего партнера и сервера, никто не знает ключ сеанса (он никогда не посылается по сети в открытом виде), с его помощью можно полностью гарантировать истинность партнера.
Целостность сообщений, которыми обмениваются партнеры, гарантируется с помощью ключа сеанса (передается в билете и содержится в информации идентификации партнера). Этот подход позволяет обнаружить атаки типа посылки злоумышленником перехваченной копии запроса и модификации потока данных. Это достигается генерированием и пересылкой контрольной суммы (хэш-функции) сообщения клиента, зашифрованной с помощью ключа сеанса. Безопасность и целостность сообщений, которыми обмениваются партнеры, может быть обеспечена шифрованием передаваемых данных с помощью ключа сеанса, передаваемого в билете и содержащегося в информации идентификации партнера.
Описанная выше аутентификация требует доступа на чтение к базе данных Kerberos. Однако иногда записи базы данных могут быть модифицированы. Это происходит, например, при добавлении новых партнеров по обмену информацией или при изменении секретного ключа партнера. Изменения базы данных выполняются с помощью специального протокола обмена между клиентом и сервером Kerberos, применяющимся и при поддержке нескольких копий баз данных Kerberos.
Для нормальной работы протокола Kerberos необходимо, чтобы каждый хост сети имел часы, которые были приблизительно синхронизированы с часами других хостов. Синхронизация необходима, чтобы было легче обнаружить факт передачи копии заранее перехваченного сообщения. Степень приблизительности синхронизации может быть установлена индивидуально для каждого сервера. Сам протокол синхронизации серверов сети должен быть защищен от атак злоумышленников.
Достоинства IP Security
Сетевые атаки могут привести к неработоспособности системы, считыванию конфиденциальных данных и другим дорогостоящим нарушениям. Для защиты информации требуются методы "сильного" шифрования и сертификации, основанные на криптографических алгоритмах. Однако высокий уровень безопасности не должен ухудшать производительность труда пользователей или увеличивать затраты на администрирование. IP Security в системах Windows 2000 и Windows Server 2003 обеспечивает следующие преимущества, которые помогают достичь высокого уровня безопасности взаимодействия при низких затратах.
· Централизованное администрирование политикой безопасности, что уменьшает затраты на административные издержки. Политика IPSec может быть создана и назначена на уровне домена (при этом она хранится в Active Directory), что устраняет необходимость индивидуального конфигурирования каждого компьютера. Однако, если компьютер имеет уникальные требования, или это автономный компьютер, политика может быть назначена непосредственно.
· Прозрачность безопасности IP для пользователей и прикладных программ. Не нужно иметь отдельные программные средства безопасности для каждого протокола в стеке TCP/IP, поскольку приложения, использующие TCP/IP, передают данные уровню протокола IP, где они шифруются. Установленная и настроенная служба IPSec прозрачна для пользователя и не требует обучения.
· Гибкость конфигурирования политики безопасности, которая помогает решать задачи в различных конфигурациях. Внутри каждой политики можно настроить службы безопасности, чтобы обеспечить потребности на всех уровнях, начиная с уровня индивидуального пользователя и заканчивая уровнем серверов или предприятия. Политику можно сконфигурировать в соответствии с экспортными правилами и ограничениями.
· Конфиденциальные службы, предотвращающие попытки несанкционированного доступа к важным данным во время передачи этих данных между поддерживающими связь сторонами.
· Туннелирование. Данные могут быть посланы через безопасные туннели для обмена информацией в Интернете и корпоративных сетях.
· Усиленная служба аутентификации, которая предотвращает перехват данных путем подмены идентификаторов.
· Ключи большой длины и динамический повторный обмен ключами в течение текущих сеансов связи, что помогает защитить соединение от атак.
· Безопасная связь от начала до конца для частных пользователей сети внутри одного и того же домена или через любой доверенный (trusted) домен внутри корпоративной сети.
· Безопасная связь между пользователями в любом домене корпоративной сети, основанной на протоколе IP.
· Отраслевой стандарт IPSec открыт для реализации других технологий шифрования IP, что позволяет взаимодействовать с другими платформами и продуктами.
· Сертификаты с -открытым ключом и поддержка ключей pre-shared (заранее известных). Это требуется для разрешения установления безопасной связи с компьютерами, которые не являются частью доверенного домена.
· IPSec работает во взаимодействии с другими механизмами защиты, сетевыми протоколами и базовыми механизмами безопасности операционной системы.
· Поддерживается шифрование сообщений RSVP для реализации служб QoS и ACS, т. е. IPSec не мешает использовать все преимущества приоритетного управления шириной полосы пропускания, обеспечиваемые этими службами.
Возможности стандарта IPSec и подробности реализации очень сложны и описаны подробно в ряде RFC и проектов IETF, а также в документах Microsoft. IPSec использует криптографическую защиту для обеспечения управления доступом, целостности без установления логического соединения, удостоверения подлинности данных, защиты от повторного использования, полной и ограниченной конфиденциальности потока данных. Поскольку протокол IPSec работает на уровне IP, его услуги доступны протоколам верхнего уровня в стеке и, очевидно, существующим приложениям.
IPSec дает системе возможность выбрать протоколы защиты, решить, какой (какие) алгоритм(ы) использовать для служб(ы), а также устанавливать и поддерживать криптографические ключи для каждой защищенной связи.
IPSec может защищать пути между компьютерами, между шлюзами защиты или между шлюзами защиты и компьютерами. Услуги, доступные и требуемые для трафика, настраиваются с использованием политики IPSec. Политика IPSec может быть настроена локально на отдельном компьютере или может быть назначена через механизм групповых политик в Active Directory. Политика IPSec определяет, как компьютеры доверяют друг другу. Самое простое — полагаться на применение доменов доверия Active Directory, основанных на протоколе Kerberos. Для того чтобы доверять компьютерам в том же самом или в другом доверенном домене, задается предопределенная политика IPSec.
Каждая датаграмма на уровне протокола IP сравнивается с набором фильтров, предоставляемых политикой безопасности, которая поддерживается администратором для компьютера, пользователя, организационной единицы (OU) или всего домена. С любой датаграммой службы IP могут выполнить одно из трех действий:
· передать на обработку службам IPSec;
· передать ее без изменений;
· игнорировать ее.
Установка IPSec включает описание характеристик трафика для фильтрации (IP-адрес источника/адресата, протокол, порт и т. д.) и определение того, какие механизмы требуется применить для трафика, соответствующего фильтру (фильтрам). Например, в очень простом случае два автономных компьютера могут быть сконфигурированы для использования IPSec между ними в одном и том же домене Active Directory и активизации политики блокировки (lockdown). Если два компьютера — не элементы одного и того же или доверенного домена, то доверие должно быть сконфигурировано с использованием пароля или ключа pre-shared в режиме "закрытый". Для этого выполняются операции:
· установка фильтра, который определяет весь трафик между двумя компьютерами;
· выбор метода опознавания (выбор ключа pre-shared или ввод пароля);
· выбор политики переговоров (в режиме "закрытый", при этом весь трафик, соответствующий фильтру (фильтрам), должен использовать IPSec);
· определение типа подключения (ЛВС, коммутируемое соединение или оба типа подключения).
Применение политики блокировки также ограничит все другие типы трафика от достижимых адресатов, которые не понимают IPSec или не являются частью той же самой доверенной группы. Безопасная политика инициатора обеспечивает установки, применяемые лучше всего к тем серверам, для которых предпринята защита трафика, но если клиент "не понимает" IPSec, то результатом переговоров будет возобновление посылки "чистых" текстовых пакетов. Когда IPSec применяется для шифрования данных, производительность сети понижается из-за непроизводительных затрат на обработку и шифрование. Один из возможных методов уменьшения воздействия этих непроизводительных затрат — обработка на аппаратном уровне. Поскольку интерфейс NDIS 5.1 поддерживает такую функцию, можно включить аппаратные средства шифрования в сетевой адаптер. Адаптер, обеспечивающий перегрузку IPSec на аппаратные средства, скоро представят на рынке несколько поставщиков аппаратного обеспечения.
Архитектура безопасности IP
Механизм безопасности IP в Windows Server 2003 разработан для защиты любого сквозного соединения между двумя компьютерами (рис. 2). При сквозном соединении два осуществляющих связь компьютера (системы) поддерживают IP-безопасность на каждом конце соединения. Сделано предположение, что располагающаяся между ними среда, по которой передаются данные, небезопасна. Данные прикладной программы компьютера, начинающего связь, перед пересылкой по сети автоматически (прозрачно для прикладной программы) шифруются. На компьютере адресата данные также автоматически дешифруются — прежде, чем они будут переданы приложению-получателю. Шифрование всего сетевого IP-трафика гарантирует, что любая связь с использованием TCP/IP защищена от подслушивания. Поскольку данные передаются и шифруются на уровне протокола IP, для каждого протокола в наборе протоколов TCP/IP не требуются отдельные пакеты, обеспечивающие безопасность. Безопасность IP в Windows Server 2003 объединяет методы шифрования с открытыми и закрытыми ключами для повышения уровня безопасности и большей производительности. Управление безопасностью IP в Windows Server 2003 допускает создание политики, определяющей тип и уровень безопасности, необходимые во время обмена информации.
· Политика безопасности (security policy)
Каждая конфигурация атрибутов безопасности IP называется политикой безопасности. Политика безопасности базируется на политиках установления соединений и IP-фильтрах. Политика безопасности связана с политикой контроллера домена. Политика безопасности IP может быть приписана к заданной по умолчанию политике домена, заданной по умолчанию локальной политике или созданной пользовательской политике домена. Во время регистрации компьютера в домене автоматически подбираются реквизиты заданной по умолчанию политики домена и заданной по умолчанию локальной политики, включая политику безопасности IP, приписанную к этой политике домена.
Рисунок 2. Архитектура безопасности IP в Windows Server 2003
· Политика переговоров (negotiation policy)
Политика переговоров определяет службы безопасности, используемые во время связи. Можно выбрать услуги, включающие конфиденциальность (ESP) или не обеспечивающие конфиденциальность (АН), или можно определить, какой алгоритм нужно использовать для безопасности IP. Можно установить несколько методов безопасности для каждой политики переговоров. Если первый метод недопустим для ассоциации безопасности, служба ISAKMP/Oakley продолжит просмотр этого списка до тех пор, пока не будет найден тот алгоритм, который безопасность IP сможет использовать для установления ассоциации. Если переговоры не увенчались успехом, устанавливается соединение без безопасности IP.
· IP-фильтры
IP-фильтры определяют различные действия, зависящие от направления передачи IP-пакета, от типа применяемого IP-протокола (например, TCP или UDP) и от того, какие порты используются в соответствии с протоколом. Фильтр применяется непосредственно — как шаблон, с которым сравниваются IP-пакеты. Каждый IP-пакет сверяется с IP-фильтром и, если соответствие найдено, для посылки данных применяются реквизиты связанной политики безопасности.
Для поддержки обмена информацией с использованием безопасности IP на каждом компьютере с Windows Server 2003 устанавливаются локальные службы и драйверы.
· Служба агента политики безопасности (Policy Agent Service)
Агент политики — локальный, резидентный агент. Он отыскивает политику безопасности IP в Active Directory во время инициализации системы. Затем он передает информацию о политике сетевому драйверу безопасности IP (IPSec-драйверу) и службе ISAKMP/Oakley. Агент политики не хранит политику безопасности локально, а находит ее в Active Directory (рис. 3).
Рисунок 3. Функционирование агента политики безопасности
· Служба управления ключами ISAKMP/Oakley
Это локальный, резидентный агент, который получает политику безопасности от агента политики. При использовании политики безопасности служба ISAKMP устанавливает ассоциацию безопасности (SA) с компьютером-получателем. Тождество поддерживающих связь сторон опознается с помощью центра распределения ключей Kerberos. В заключение служба ISAKMP посылает SA и информацию о ключе драйверу IPSec. Служба ISAKMP/Oakley запускается агентом политики.
· Драйвер безопасности IP (IPSec-драйвер)
Это локальный, резидентный агент, который просматривает все IP-пакеты на соответствие фильтру IP. Если он находит соответствие, то задерживает пакеты в очереди, в то время как служба ISAKMP/Oakley генерирует необходимую SA и ключ, чтобы защитить обмен информацией. Агент, получив эту информацию от службы ISAKMP, шифрует IP-пакеты и посылает их компьютеру-адресату (рис. 4). Драйвер IPSec запускается агентом политики.
Рисунок 4. Функционирование драйвера IPSec
Все три перечисленные компонента установлены в Windows Server 2003 по умолчанию и запускаются автоматически.
Примечание
Каждый контроллер домена содержит Центр распространения ключей Kerberos (Kerberos Distribution Center, KDC) для установления подлинности, который конфигурируется сетевым администратором. Протокол Kerberos служит третьим доверенным лицом, которое проверяет подлинность поддерживающей связь стороны. Безопасность IP в Windows Server 2003 использует Kerberos для идентификации компьютеров.
Рассмотрим пример, в котором пользователь Компьютера А (Пользователь 1) посылает данные пользователю Компьютера В (Пользователю 2). Безопасность IP установлена на обоих компьютерах.
Рисунок 5. Пример реализации безопасности IP
На уровне пользователя процесс доставки IP-пакетов прозрачен. Пользователь 1 просто запускает приложение, которое использует протокол стека TCP/IP, например FTP, и посылает данные Пользователю 2. Политики безопасности, назначенные Компьютеру А и Компьютеру В администратором, определяют уровень безопасности взаимодействия. Они выбираются агентом политики и передаются службе ISAKMP/Oakley и драйверу IPSec. Служба ISAKMP/Oakley на каждом компьютере использует политику переговоров, связанную с назначенной политикой безопасности, чтобы установить ключ и общий метод переговоров (ассоциация безопасности). Результаты переговоров о политике ISAKMP между двумя компьютерами передаются драйверу IPSec, который использует ключ для шифрования данных. В заключение драйвер IPSec посылает шифрованные данные на Компьютер В. Драйвер IPSec на Компьютере В дешифрует данные и передает их приложению-получателю (см. описание процесса на рис. 5). Примечание Любые маршрутизаторы или коммутаторы, которые находятся на пути между поддерживающими связь компьютерами, вне зависимости от того, общаются ли два пользователя или пользователь и файловый сервер, должны просто пропускать шифрованные IP-пакеты к адресату. Если между поддерживающими связь компьютерами находится брандмауэр или другой шлюз, поддерживающий систему безопасности, то на нем должна быть разрешена функция пересылки IP-пакетов или настроена специальная фильтрация, которая разрешает пересылку пакетов безопасности IP, чтобы IP-пакеты правильно достигали адресата.
Разработка плана безопасности
Перед тем как реализовать безопасность IP в Windows 2000, полезно разработать и задокументировать план безопасности, охватывающий всю корпоративную сеть. Необходимо проанализировать следующие вопросы.
· Оценить тип данных, посыпаемых по сети. Нужно определить, являются ли эти данные конфиденциальной информацией, частной информацией или сообщениями электронной почты. Если вся информация такого рода передается по сети или через Интернет, то она может быть перехвачена, исследована или изменена кем-то, кто прослушивает сеть.
· Определить вероятные сценарии связи. Например, удаленным отделам сбыта может потребоваться связь с главным офисом, а внутренней сети — соединение с сетями других компаний. Удаленным пользователям может понадобиться связь с частными пользователями сети из дома, а другим может потребоваться связь с файловым сервером, содержащим конфиденциальную информацию.
· Определить уровень безопасности, необходимый для каждого сценария. Например, могут быть некоторые отделы или пользователи, которые нуждаются в более высоком уровне безопасности, чем другие.
Необходимо создать и сконфигурировать политику безопасности для каждого сценария, который был указан в плане.
Например, в компании может быть юридический отдел, которому требуется собственная политика безопасности для любых данных, посланных с использованием IP-протокола. Пользователи в юридическом отделе должны иметь высокий, обеспечивающий конфиденциальность, уровень безопасности для любых данных, посылаемых за пределы отдела. Однако в плане безопасности компании может быть определено, что пользователи в юридическом отделе не требуют конфиденциальности при посылке данных друг другу. Чтобы реализовать план безопасности для юридического отдела, администратор может выполнить следующие шаги:
1. Создать политику безопасности с именем Legal и привязать ее к заданной по умолчанию политике домена (Default Domain Policy). Поскольку каждый компьютер входит в домен компании, агент политики компьютера выберет политику безопасности Legal в каталоге Active Directory. Политика безопасности Legal могла бы иметь описанные ниже политику переговоров и IP-фильтры, связанные с ней.
2. Создать две политики переговоров и связать их с политикой безопасности Legal:
· первую политику переговоров, Legal NP 1, настроенную на службы и обеспечивающую конфиденциальность для взаимодействия пользователей юридического отдела с пользователями других отделов ("передаваемые данные будут конфиденциальны, подлинны и не модифицированы" — парадигма протокола безопасности ESP);
· вторую политику переговоров, Legal NP 2, настроенную на службы и обеспечивающую только установление подлинности и защиту от изменений, когда пользователи юридического отдела общаются друг с другом ("передаваемые данные будут подлинны и не модифицированы" — парадигма протокола безопасности АН).
3. Создать два IP-фильтра и связать каждый с политикой переговоров. Пользователи в юридическом отделе находятся в сети 157.55.0.0 с маской подсети 255.255.0.0. Пользователи других отделов находятся в сети 147.20.0.0 с маской подсети 255.255.0.0. Первый IP-фильтр, Legal IP Filter 1, предназначен для пользователей в юридическом отделе, которые связываются с пользователями других отделов. Он будет связан с политикой переговоров Legal NP 1. Администратор устанавливает свойства фильтра в соответствии со следующими значениями:
· заданный IP-адрес для источника — 157.55.0.0. Этот адрес будет соответствовать любому адресу IP в сети юридического отдела, т. к. он является IP-адресом подсети;
· заданный IP-адрес для получателя — 147.20.0.0;
· поскольку план безопасности компании обусловливает безопасность всех данных, посланных при помощи протокола IP, тип протокола — любой (Any).
Пользователи юридического отдела, поддерживающие связь с другими пользователями внутри отдела, используют второй IP-фильтр, Legal IP Filter 2. Он связан с политикой переговоров, Legal NP 2, а параметры фильтра установлены в соответствии со следующими значениями:
· заданный IP-адрес для источника — 157.55.0.0;
· заданный IP-адрес для получателя — 157.55.0.0;
· тип протокола — любой (Any).
Когда пользователь в юридическом отделе посылает информацию любому другому пользователю, адреса источника и получателя IP-пакетов сверяются с IP-фильтрами политики безопасности Legal. Если адреса соответствуют одному из фильтров, связанная политика переговоров определяет уровень IP-безопасности для поддержания взаимодействия. Например, если пользователь в юридическом отделе с адресом IP 157.55.2.1 посылает данные пользователю с адресом 147.20.4.5, это соответствует Legal IP Filter 1. Это означает, что связь будет организована на уровне безопасности, определенном политикой переговоров Legal NP 1, которая обеспечивает установление подлинности, защиту от изменений и конфиденциальность связи.
Архитектура EFS
EFS содержит следующие компоненты операционной системы (рис. 7).
· Драйвер EFS. Драйвер EFS является надстройкой над файловой системой NTFS. Он обменивается данными со службой EFS — запрашивает ключи шифрования, наборы DDF (Data Decryption Field) и DRF (Data Recovery Field), — а также с другими службами управления ключами. Полученную информацию драйвер EFS передает Библиотеке реального времени файловой системы EFS (File System Run-Time Library, FSRTL), которая прозрачно для операционной системы выполняет различные операции, характерные для файловой системы (чтение, запись, открытие файла, присоединение информации).
· Библиотека реального времени файловой системы EFS. FSRTL — это модуль, находящийся внутри драйвера EFS, реализующий вызовы NTFS, выполняющие такие операции, как чтение, запись и открытие зашифрованных файлов и каталогов, а также операции, связанные с шифрованием, дешифрованием и восстановлением файлов при их чтении или записи на диск. Хотя драйверы EFS и FSRTL реализованы в виде одного компонента, они никогда не обмениваются данными напрямую. Для передачи сообщений друг другу они используют механизм вызовов (callouts) NTFS, предназначенный для управления файлами. Это гарантирует, что вся работа с файлами происходит при непосредственном участии NTFS. С помощью механизма управления файлами операции записи значений атрибутов EFS (DDF и DRF) реализованы как обычная модификация атрибутов файла. Кроме того, передача ключа шифрования файла РЕК (см. ниже), полученного службой EFS, в FSRTL выполняется так, чтобы он мог быть установлен в контексте открытого файла. Затем контекст файла используется для автоматического выполнения операций шифрования и дешифрования при записи и чтении информации файла.
Рисунок 7. Архитектура EFS
· Служба EFS. Служба EFS (EFS Service) является частью системы безопасности операционной системы. Для обмена данными с драйвером EFS она использует порт связи LPC, существующий между Локальным администратором безопасности (Local Security Authority, LSA) и монитором безопасности, работающим в привилегированном режиме. В режиме пользователя для создания ключей шифрования файлов и генерирования данных для DDF и DRF служба EFS использует CryptoAPI. Она также поддерживает набор API для Win32.
· Набор API для Win32. Этот набор интерфейсов прикладного программирования позволяет выполнять шифрование файлов, дешифрование и восстановление зашифрованных файлов, а также их импорт и экспорт (без предварительного дешифрования). Эти API поддерживаются стандартным системным модулем DLL — advapi32.dll.
Технологии шифрования EFS
Данный раздел поможет вам понять, как шифруется информация и почему перед использованием EFS обязательно экспортировать сертификаты (вместе с личными ключами) пользователей и агентов восстановления данных. Очень часто непонимание этих моментов приводит к тому, что зашифрованные данные безвозвратно теряются по вине пользователей. EFS основана на шифровании с открытым ключом и использует все возможности архитектуры CryptoAPI. Каждый файл шифруется с помощью случайно сгенерированного ключа, зависящего от пары открытого (public) и личного, закрытого (private), ключей пользователя. Подобный подход в значительной степени затрудняет осуществление большого набора атак, основанных на криптоанализе. При криптозащите файлов может быть применен любой ачгоритм симметричного шифрования. EFS позволяет осуществлять шифрование и дешифрование файлов, находящихся на удаленных файловых серверах.
Примечание
В данном случае EFS может работать только с файлами, находящимися на диске. Шифрующая файловая система не осуществляет криптозащиту данных, передаваемых по сети. Для шифрования передаваемой информации следует применять специальные сетевые протоколы, например SSL/PCT.
В EFS для шифрования и дешифрования информации используются открытые ключи. Данные зашифровываются с помощью симметричного алгоритма с применением Ключа шифрования фаша (File Encryption Key, FEK). FEK — это сгенерированный случайным образом ключ, имеющий определенную длину.
В свою очередь, FEK шифруется с помощью одного или нескольких открытых ключей, предназначенных для криптозашиты ключа. В этом случае создается список зашифрованных ключей FEK, что позволяет организовать доступ к файлу со стороны нескольких пользователей. Для шифрования набора FEK используется открытая часть пары ключей каждого пользователя. Список зашифрованных ключей FEK хранится вместе с зашифрованным файлом в специальном атрибуте EFS, называемом Полем дешифрования данных (Data Decryption Field, DDF). Информация, требуемая для дешифрования, привязывается к самому файлу. Секретная часть ключа пользователя используется при дешифровании FEK. Она хранится в безопасном месте, например на смарт-карте или другом устройстве, обладающем высокой степенью защищенности. FEK применяется для создания ключей восстановления. Для этого FEK шифруется с помощью одного или нескольких открытых мючей восстановления. Список FEK, зашифрованных для целей восстановления, хранится вместе с зашифрованным файлом в специальном атрибуте EFS, называемом Полем восстановления данных (Data Recovery Field, DRF). Благодаря существованию набора зашифрованных ключей FEK агенты восстановления данных могут дешифровать файл. Для шифрования ключа FEK в поле DRF необходима только общая часть пары ключей восстановления, ее присутствие в системе необходимо в любой момент времени для нормального функционирования файловой системы. Сама процедура восстановления выполняется довольно редко, когда пользователь увольняется из организации или забывает секретную часть ключа. Поэтому агенты восстановления могут хранить секретную часть ключей восстановления в безопасном месте, например на смарт-картах или других хорошо защищенных устройствах.
Работа с EFS
Самая серьезная и, к сожалению, нередко встречающаяся ошибка при работе с EFS заключается в том, что пользователи шифруют данные на локальном компьютере (или компьютере — члене группы), а затем переустанавливают операционную систему. В этом случае данные будут безвозвратно утеряны, т. к. доступ к ним имели только два пользователя той системы, в которой данные были зашифрованы: пользователь, выполнивший эту операцию, и агент восстановления. Ошибка состоит в том, что для расшифровки данных необходимо предъявить сертификаты одного из названных пользователей, а для этого соответствующие сертификаты нужно было экспортировать и сохранить.
EFS располагает встроенными средствами восстановления зашифрованных данных в условиях, когда неизвестен личный ключ пользователя. Пользователи, которые могут восстанавливать зашифрованные данные в условиях утраты личного ключа, называются агентами восстановления данных. Агенты восстановления данных обладают сертификатом (Х.509 v.3) на восстановление файлов и личным ключом, с помощью которых выполняется операция восстановления зашифрованных файлов. Используя ключ восстановления, можно получить только сгенерированный случайным образом ключ, с помощью которого был зашифрован конкретный файл. Поэтому агенту восстановления не может случайно стать доступной другая конфиденциальная информация.
Средства восстановления данных предназначены для применения в разнообразных конфигурациях вычислительных сред. Параметры процедуры восстановления зашифрованных данных в условиях утраты личного ключа задаются политикой восстановления. Она представляет собой одну из политик открытого ключа (public key policy). Политика восстановления определяется только в домене Windows Server 2003. Администратор домена одновременно является и агентом восстановления с соответствующими полномочиями. Могут быть добавлены и другие агенты. Это делается с помощью оснастки Group Policy Object Editor (Групповая политика), в окне которой нужно выбрать узел Security Settings | Public Key Policies | Encrypting File System. В контекстном меню этого узла имеются команды, позволяющие управлять агентами и политиками восстановления. Политика восстановления может быть задана и на одиночном компьютере.
Внимание
Политики восстановления в Windows Server 2003 работают иначе, чем в Windows 2000. По умолчанию на компьютерах под управлением Windows Server 2003 агенты восстановления не создаются и политика восстановления не препятствует работе EFS. Это означает, что восстановить зашифрованную информацию могут только те пользователи, которые ее зашифровали.
Создание агента восстановления
Описываемая ниже процедура должна выполняться на автономном компьютере, на котором планируется использование системы EFS. Сначала необходимо создать сертификат агента восстановления (лучше использовать административную учетную запись, хотя, строго говоря, это не обязательно), импортировать его, а затем назначить политику восстановления. Чтобы создать сертификат агента восстановления:
1. Войдите в систему как администратор.
2. В окне консоли введите команду cipher /R: имя Файла — без расширения.
3. Введите и подтвердите пароль, защищающий личный ключ.
В текущем каталоге будут созданы два файла: с расширением сer (содержит только сгенерированный ключ) и с расширением pfx (содержит и ключ, и сертификат агента восстановления). Для большей сохранности перепишите файлы на дискету.
Для импорта сертификата, с помощью которого можно восстанавливать индивидуальные файлы пользователей:
1. Зарегистрируйтесь в системе как администратор.
2. Запустите оснастку Certificates, откройте узел Personal.
3. Импортируйте созданный РЕХ-файл.
Чтобы определить политику агента восстановления для любых операций шифрования:
1. Запустите оснастку Local Security Settings.
2. Выберите узел Public Key Policies | Encrypting File System (Политики открытого ключа | Файловая система EPS).
3. В контекстном меню выполните команду Add Data Recovery Agent (Добавить агента восстановления данных).
4. В окне мастера Add Recovery Agent Wizard (Мастер добавления агента восстановления) нажмите кнопку Browse Folders (Обзор папок) и выберите местоположение созданного ранее файла сертификата с расширением сеr. (Имя пользователя будет неизвестно, поскольку оно не хранится в файле — это нормальная ситуация.)
5. Нажмите кнопку Next (Далее) и на следующей странице мастера — Finish (Готово). Сертификат будет импортирован и его владелец станет агентом восстановления на данном компьютере. Обратите внимание на то, что в столбце Intended Purposes (Назначение) импортированного сертификата указано File Recovery (Восстановление файлов).
Теперь можно использовать шифрование информации, не опасаясь потери "ключа" к ней.
Шифрование файлов и каталогов
Поскольку шифрование и дешифрование выполняется автоматически, пользователь может работать с файлом так же, как и до установки его криптозащиты. Например, можно так же открыть текстовый процессор Word, загрузить документ и отредактировать его, как и прежде. Все остальные пользователи, которые попытаются получить доступ к зашифрованному файлу, получат сообщение об ошибке доступа, поскольку они не владеют необходимым личным ключом, позволяющим им расшифровать файл.
Следует отметить, что пользователи (в данном случае администраторы) не должны шифровать файлы, находящиеся в системном каталоге, поскольку они необходимы для загрузки системы, в процессе которой ключи пользователя недоступны. Это сделает невозможным дешифрование загрузочных файлов, и система потеряет работоспособность. Проводник предотвращает возможность возникновения такой ситуации, не позволяя шифровать файлы с атрибутом системный.
Примечание
Для шифрования/дешифрования файлов и папок можно также использовать утилиту командной строки Cipher.exe.
Шифрование информации задается в окне свойств файла или папки: 1. Укажите файл или папку, которую требуется зашифровать, нажмите правую кнопку мыши и выберите в контекстном меню команду Properties (Свойства).
2. В появившемся окне свойств на вкладке General (Общие) нажмите кнопку Advanced (Другие). Появится диалоговое окно Advanced Attributes (Дополнительные атрибуты).
3. В группе Compress or Encrypt attributes (Атрибуты сжатия и шифрования) установите флажок Encrypt contents to secure data (Шифровать содержимое для защиты данных) и нажмите кнопку ОК.
4. Нажмите кнопку ОК в окне свойств зашифровываемого файла или папки. В появившемся диалоговом окне подтвердите режим шифрования.
При шифровании папки можно указать следующие режимы:
· Apply changes to this folder (Только к этой папке);
· Apply changes to this folder, subfolders and files (К этой папке и всем вложенным папкам и файлам).
Шифрование файлов для совместного использования
Системы Windows XP и Windows Server 2003, в отличие от Windows 2000, поддерживают совместный доступ к зашифрованным файлам, расположенным на общих сетевых ресурсах в домене на базе Active Directory или на локальных дисках. Дополнительные разрешения нужно давать для каждого файла индивидуально.
После того как владелец-создатель зашифровал файл, он может снова открыть окно Advanced Attributes (Дополнительные атрибуты) и нажать кнопку Details (Подробно). Появится окно, аналогичное показанному на рис. 8 (для изолированного компьютера картина будет аналогичной). В приведенном примере видно, что к файлу помимо агента восстановления имеют доступ еще два пользователя.
Рисунок 8. В этом окне перечислены все пользователи, имеющие доступ к зашифрованному файлу
Рисунок 9. Данное окно позволяет выбрать пользователя и просмотреть его сертификат
Примечание
Зашифровав файл или папку и открыв заново окно Encryption Details (Подробности шифрования), вы можете легко проверить, определен ли в вашей системе агент восстановления.
Теперь можно нажать кнопку Add (Добавить) и в окне Select User (Выбор пользователя) (рис. 9) указать, какие пользователи смогут также работать с зашифрованным файлом. Окно Select User позволяет просмотреть имеющиеся сертификаты пользователей и искать пользователей в каталоге Active Directory.
Дешифрование файлов и каталогов
Чтобы дешифровать файл или каталог:
1. На вкладке Sharing окна свойств соответствующего объекта нажмите кнопку Advanced.
2. В открывшемся диалоговом окне в группе Compress or Encrypt attributes сбросьте флажок Encrypt contents to secure data.
Копирование, перемещение, переименование и уничтожение зашифрованных файлов и папок
Операции копирования, перемещения, переименования и уничтожения зашифрованных файлов и папок выполняются точно так же, как и с незашифрованными объектами. Однако следует помнить, что пункт назначения зашифрованной информации должен поддерживать шифрование (должен иметь файловую систему NTFS 5.0). В противном случае при копировании данные будут расшифрованы, и копия будет содержать открытую информацию.
Архивация зашифрованных файлов
Резервную копию зашифрованного файла можно создать с помощью простого копирования его на другой жесткий диск или с использованием утилиты архивации. Однако, как сказано в предыдущем разделе, простое копирование, например, на дискету или оптический диск может привести к тому, что резервная копия будет содержать открытые данные. То есть, если скопировать зашифрованный файл в FAT-раздел или на дискету, копия будет не зашифрована и, следовательно, доступна для чтения любому пользователю. Специализированная операция архивации не требует для ее выполнения доступа к открытым ключам пользователя — только к архивируемой информации. Поэтому для обеспечения безопасности конфиденциальных данных при создании резервных копий рекомендуется применять специальные утилиты архивации. Для этих целей предназначена стандартная утилита архивации данных Backup. В процессе архивации зашифрованные данные будут скопированы на указанный носитель без дешифрования. Целевой носитель может не поддерживать NTFS 5.0. Например, резервная копия зашифрованных файлов может быть создана на гибком диске.
Управление сертификатами пользователей
Пользователи могут запрашивать, экспортировать, импортировать сертификаты, служащие в EFS для идентификации пользователей, а также управлять ими. Эта возможность предназначена для опытных пользователей, которые хотят иметь средство управления собственными сертификатами. Обычно пользователям не приходится самостоятельно управлять сертификатами, поскольку EFS автоматически генерирует для них пару ключей при первом обращении к ней — т. е. при попытке зашифровать файл или каталог (при этом открытый ключ сертифицируется в центре сертификации, а если таковой недоступен, то EFS сама подписывает открытый ключ).
Примечание
В вышесказанном легко убедиться, если после инсталляции системы запустить оснастку Certificates и раскрыть узел (папку) Personal: этот узел будет пуст. Если затем зашифровать некоторый файл или папку и вернуться в оснастку Certificates, то можно увидеть, что в папке Personal появился сертификат, выданный текущему пользователю. Управление сертификатами, их импорт и экспорт осуществляются с помощью контекстных меню оснастки Certificates (см. также ниже разд. "Импорт к экспорт сертификатов"). Пользователи имеют возможность управлять только своими собственными сертификатами.
Восстановление зашифрованных файлов на другом компьютере
Иногда возникает необходимость восстановить зашифрованную информацию не на том компьютере, на котором она была заархивирована. Это можно выполнить с помощью утилиты архивации, которая сохраняет информацию в зашифрованном виде вместе с атрибутом шифрования. Однако нужно позаботиться о переносе на новый компьютер соответствующего сертификата и личного ключа пользователя либо с помощью перемещаемого профиля, либо вручную. На любом компьютере, где зарегистрировался пользователь, обладающий перемещаемым профилем, будут применяться одни и те же ключи шифрования. Ручной перенос личного ключа и сертификата выполняется в два этапа: сначала следует создать резервную копию сертификата и личного ключа (при этом сертификат и секретный ключ должны быть экспортированы в файл с расширением pfx), а затем восстановить созданную копию на другом компьютере. (Эта процедура имеет смысл только для компьютеров, не входящих в домен. В домене можно использовать процедуру, описанную выше в разд. "Шифрование файлов для совместного использования".) В результате этой процедуры текущий пользователь (который импортировал сертификат) получит возможность работать с зашифрованными данными на этом компьютере.
Сертификаты
Сертификаты с открытым ключом (public key certificate) представляют собой средство идентификации пользователей в незащищенных сетях (таких как Интернет), а также предоставляют информацию, необходимую для проведения защищенных частных коммуникаций. Под незащищенными сетями понимаются компьютерные сети, к которым пользователи могут получить доступ без разрешений. Коммуникации в таких сетях открыты для просмотра другими пользователями. Также существует определенная опасность возникновения ложных коммуникаций, когда отправителями сообщений являются ложные пользователи. Даже частные локальные сети подвержены нападениям взломщиков с целью получения физического доступа к сети. Совершенно защищенные сети практически невозможны. Тем не менее, в защищенных сетях большие бреши в системе безопасности возникают крайне редко. Поэтому, поскольку пользователи доверяют друг другу, в таких сетях можно обмениваться данными, не применяя средств безопасности.
В открытых сетях, таких как Интернет, информация может попасть в руки пользователей, намерения которых никому не известны. Информация, не представляющая особой ценности, не нуждается и в безопасности. Однако, если информация является ценной или конфиденциальной, необходимо предпринять соответствующие меры безопасности для ее защиты.
Центры сертификации
Центр сертификации (также встречается термин поставщик сертификатов) (Certification Authority, CA) представляет собой службу, которой доверен выпуск сертификатов, если индивидуальный пользователь или организация, которые запрашивают сертификат, удовлетворяют условиям установленной политики. Это осуществляется путем принятия запроса на получение сертификата, проверки и регистрации имени запрашивающего сертификат пользователя и открытого ключа в соответствии с политикой. Каждый ЦС должен получить от запрашивающей сертификат стороны подтверждение ее идентичности, такое как удостоверение личности или физический адрес. Затем производится подписание и назначение сертификата, подтверждающего выполнение пользователем критериев политики, которые были установлены для авторизации. Большинство используемых на сегодня сертификатов основаны на стандарте Х.509, эта фундаментальная технология применяется в инфраструктуре открытых ключей Windows 2000 и Windows Server 2003.
Центром сертификации может быть удаленная организация, такая как VeriSign, или локальная служба, созданная в вашей организации путем инсталляции служб Certificate Services (Служб сертификации). Выбор ЦС основывается на доверительном отношении (trust). Вы доверяете, что ЦС использует правильную политику при рассмотрении запросов на подписание сертификатов. Кроме того, вы доверяете, что ЦС отзывает сертификаты с истекшим сроком действия путем публикации списка отозванных сертификатов (certificate revocation list). Центры сертификации также имеют собственные сертификаты. Причем вышестоящий центр подписывает сертификаты для нижестоящих центров. Таким образом, формируется иерархия сертификатов (certificate hierarchy).
Доверие центру сертификации устанавливается при наличии копии корневого сертификата в хранилище доверяемых корневых центров сертификации, а также действительного пути к сертификату. Это означает, что ни один из сертификатов иерархии (пути сертификатов) не был отозван и не имеет истекшего срока действия.
Если в организации используется Active Directory, то доверие к центрам сертификации вашей организации устанавливается автоматически на основе решений и установок, выполненных системным администратором.
Сертификат удостоверяет, что индивидуальный пользователь или ЦС, представляющий сертификат, был авторизован в соответствии с политикой, которая была установлена для ЦС, выпустившего сертификат. Обычно сертификаты содержат следующую информацию:
· открытый ключ (public key) владельца сертификата;
· идентификационную информацию владельца сертификата;
· период действия сертификата;
· информацию о центре сертификации;
· цифровую подпись (digital signature).
Все сертификаты имеют ограниченный срок действия. Даты начала и окончания срока действия сертификата указываются в сертификате. Для каждого ЦС устанавливается политика обновления сертификатов с истекшим сроком действия.
Если в компании для организации центра сертификации установлены службы сертификации на Windows 2000 Server или Windows Server 2003, то используется один из двух типов ЦС:
· центр сертификации предприятия (enterprise certification authority). Требует наличия Active Directory. Использует информацию, доступную в Active Directory, для проверки идентификационной информации запрашивающего сертификат. Публикует списки отозванных сертификатов в Active Directory, а также в общей папке;
· изолированный (автономный) центр сертификации (stand-alone certification authority). He зависит от Active Directory. По умолчанию пользователи могут запрашивать сертификаты у данного центра только с веб-страниц. Изолированный центр сертификации публикует списки отозванных сертификатов в общей папке или в Active Directory (если служба каталогов доступна).
Хранилища сертификатов
Операционная система сохраняет сертификаты локально на том компьютере, с которого запрашивался сертификат для данного компьютера или для пользователя, работающего за данным компьютером. Место хранения сертификатов называется хранилищем сертификатов (certificate store).
С помощью оснастки Certificates (Сертификаты) (рис. 10) можно просматривать хранилища сертификатов для пользователя, компьютера или сервиса (службы), в которых сертификаты можно сортировать. Режим сортировки определяется переключателями в окне View Options (Параметры просмотра), которое вызывается с помощью команды View | Options (Вид Параметры). Переключатель Certificate purpose определяет режим просмотра сертификатов по назначению, а переключатель Logical certificate stores — по логическим хранилищам. В табл. 1 перечислены некоторые основные папки, которые отображаются в окне оснастки Certificates в разных режимах просмотра.
Примечание
Оснастка Certificates отсутствует в пользовательском интерфейсе системы, поэтому ее нужно подключить вручную к консоли ММС. Процедура создания инструмента ММС описана в разд. "Создание новой консоли" главы 6 "Средства управления системой".
Рисунок 10. Окно оснастки Certificates
Таблица 1. Список папок хранилища сертификатов с кратким описанием
Сортировка по | Папка | Содержит |
Логическим хранилищам | Personal (Личные) | Сертификаты, связанные с закрытыми ключами пользователя. Сертификаты, которые были выданы компьютеру или службе, для которых выполняется управление сертификатами |
Trusted Root Certification Authorities (Доверенные корневые центры сертификации) | Полностью доверяемые центры сертификации | |
Enterprise Trust (Доверительные отношения в предприятии) | Списки доверяемых отношений сертификатов (certificate trust list). Обеспечивает механизм доверия к корневым сертификатам со стороны других организаций | |
Intermediate Certification Authorities (Промежуточные центры сертификации) | Сертификаты, выпущенные для других пользователей и центров сертификации | |
Active Directory User Object (Объект пользователя Active Directory) | Сертификаты, связанные с вашим пользовательским объектом и опубликованные в Active Directory | |
Trusted Publishers (Доверенные издатели) | Сертификаты, выпущенные центрами сертификации, которые соответствуют политикам Software Restriction | |
Untrusted Certificates (Сертификаты, к которым нет доверия) | Сертификаты, для которых явно установлено отсутствие доверительных отношений | |
Third-Party Root Certification Authorities (Сторонние корневые центры сертификации) | Доверяемые корневые сертификаты от центров сертификации, отличных от Microsoft и вашей собственной организации | |
Trusted People (Доверенные лица) | Сертификаты, выпущенные для других пользователей или конечных устройств, с которыми налажены доверительные отношения | |
По назначению | Server Authentication (Проверка подлинности сервера) | Сертификаты, которые используются серверными программами для аутентификации при обращении к клиентам |
Client Authentication (Проверка подлинности клиента) | Сертификаты, которые используются клиентскими программами для аутентификации при обращении к серверам | |
Code Signing (Подписывание кода) | Сертификаты, связанные с парами ключей, используемых для подписи активного содержания | |
Secure Email (Защищенная электронная почта) | Сертификаты, связанные с парами ключей, используемых для подписи электронных сообщений | |
Encrypting File System (Шифрующая файловая система) | Сертификаты, связанные с парами ключей, которые шифруют и дешифруют симметричный ключ, используемый для шифрования и расшифровки данных | |
File Recovery (Восстановление файлов) | Сертификаты, связанные с парами ключей, которые шифруют и дешифруют симметричный ключ, используемый для восстановления зашифрованных данных |
При наличии соответствующих прав вы можете импортировать или экспортировать сертификаты из любой папки в хранилище сертификатов. Если личный ключ, связанный с сертификатом, доступен для экспорта, то вы можете экспортировать сертификат и личный ключ в файл, соответствующий стандарту PKCS #12.
Оснастка Certificates позволяет публиковать выпущенные сертификаты в Active Directory. Публикация сертификата в Active Directory дает возможность всем группам, которые имеют необходимые разрешения, извлекать сертификат при необходимости.
Команда Find Certificates (Поиск сертификатов) (контекстного меню или меню Action (Действие)) помогает отыскать выпущенные сертификаты в хранилищах сертификатов. Вы можете провести поиск в определенном хранилище или во всех хранилищах и ограничить поиск на основании определенной информации сертификатов, например, искать сертификаты, выпущенные определенным центром сертификации.
Запрос сертификата
Если администратор создал политику открытого ключа для автоматизации запросов на получение сертификатов, то вам, возможно, никогда не придется запрашивать сертификаты самостоятельно, если только вы не работаете со смарт-картами. Пользователи смарт-карт должны запрашивать свои сертификаты.
Если вы пользуетесь смарт-картами, или в вашей организации не применяются автоматические запросы на получение сертификатов, то вы можете запросить новые сертификаты. Запросить новый сертификат можно с помощью мастера Certificate Request Wizard (Мастер запроса сертификата) или на веб-страницах служб сертификации. При запросе сертификатов в центре сертификации предприятия Windows Server 2003 используется, как правило, мастер Certificate Request Wizard, вызываемый из оснастки Certificates. Кроме того, центр сертификации, установленный на Windows Server 2003 в сочетании со службами Интернета (Internet Information Services), имеет веб- страницу, на которой можно запрашивать сертификаты. По умолчанию ЭТИ сертификаты находятся ПО адресу http://servername/certsrv, где servername — имя сервера, на котором находится ЦС.
Для того чтобы запросить сертификат в оснастке Certificates:
1. Откройте окно оснастки Certificates.
2. На панели структуры (левое подокно) откройте нужный узел: для пользователя Certificates | Current User (Сертификаты | текущий пользователь), для компьютера — Certificates | Computer Name (Сертификаты (локальный компьютер)).
3. Если вы находитесь в режиме просмотра "по логическим хранилищам", выберите папку Personal. В режиме "по назначению" выберите соответствующий режим (папку).
4. В меню Action (Действие) выберите команду All Tasks | Request New Certificate (Все задачи | Запросить новый сертификат).
5. В окне мастера Certificate Request Wizard выберите:
· тип (шаблон) сертификата;
· ЦС, который выдаст сертификат (если имеется несколько ЦС) (если установлен флажок Advanced (Дополнительно));
· поставщика службы криптографии (Cryptographic Service Provider, CSP) (если установлен флажок Advanced).
6. Введите дружественное имя сертификата и его описание.
7. После выбора и проверки всех параметров нажмите кнопку Finish (Готово).
Импорт и экспорт сертификатов
При импорте или экспорте сертификат копируется в хранилище или из хранилища. Импорт или экспорт сертификата проводится при выполнении следующих задач:
· инсталляция сертификата, полученного вами от другого пользователя (импорт);
· восстановление сертификата, который хранился в виде резервной копии (импорт);
· создание резервной копии сертификата (экспорт);
· копирование сертификата или ключа для использования на другом компьютере (экспорт).
Передавать сертификаты можно в следующих форматах.
· Personal Information Exchange (Обмен персональной информацией) (PKCS #12)
Данный формат (Personal Information Exchange, PFX) позволяет приложениям передавать сертификаты и соответствующие личные ключи с одного компьютера на другой, на съемный накопитель или смарт-карту.
PKCS #12 является стандартным в отрасли форматом, применяемым для передачи или резервного копирования и восстановления сертификатов и их ключей. Сертификаты в этом формате могут передаваться между продуктами одного или различных производителей, например, Microsoft и IBM. Для использования формата PKCS #12 поставщик услуг шифрования (CSP) должен считать сертификаты и ключи доступными для экспорта. Экспорт личного ключа — рискованная операция, поскольку ключом могут завладеть посторонние лица. Поэтому PKCS #12 является единственным форматом, который Microsoft поддерживает для экспорта сертификатов и связанных с ними личных ключей.
· Cryptographic Message Syntax Standard (Криптографический стандарт на синтаксис сообщений) (PKCS #7)
Определяет общий синтаксис данных и дает рекомендации по шифрованию, цифровым подписям и цепочкам сертификатов. PKCS #7 определяет точный формат, в котором данные шифруются или подписываются, а также то, как определяются алгоритмы шифрования. PKCS #7 позволяет передавать сертификат и все сертификаты в пути сертификата с одного компьютера на другой или с компьютера на съемный диск. Имена файлов сертификатов имеют расширение р7Ь.
· DER Encoded Binary X.509
Формат могут использовать центры сертификации, находящиеся не на серверах Windows. Имена файлов сертификатов имеют расширение сеr.
· Base64 Encoded X. 509
Данный формат могут применять ЦС, находящиеся не на серверах Windows, — например, ЦС, использующие программное обеспечение Netscape. Имена файлов сертификатов имеют расширение сеr.
Содержание
Введение
Общие понятия безопасности
Шифрование с открытым ключом
Обеспечение истинности открытых ключей
Применение алгоритмов шифрования с открытым ключом в Windows Server 2003
Компоненты Windows Server 2003, обеспечивающие шифрование
Политики безопасности
Протокол аутентификации Kerberos
Основные понятия
Аутентификация Kerberos в доменах Active Directory
Безопасность IP (IPSec)
Достоинства IP Security
Базовые механизмы и концепции
Архитектура безопасности IP
Разработка плана безопасности
Администрирование безопасности IP
Шифрующая файловая система EFS
Архитектура EFS
Система EFS и Windows Server 2003
Работа с EFS
Сертификаты
Использование сертификатов для обеспечения безопасности
Центры сертификации
Использование сертификатов в Интернете
Хранилища сертификатов
Запрос сертификата
Установка центра сертификации
Введение
В данной работе описываются базовые технологии безопасности, обеспечивающие защиту сетей и доменов Windows Server 2003. Большое внимание уделяется шифрованию с открытыми ключами, поскольку оно лежит в основе многих решений, примененных как внутри самой операционной системы, так и используемых ею в сетевых взаимодействиях. Рассмотрим сначала некоторые общие понятия и термины, относящиеся к защите данных и методам шифрования, без которых невозможно описывать средства безопасности Windows Server 2003.
Общие понятия безопасности
· Аутентификация (проверка подлинности). Это процесс надежного определения подлинности поддерживающих связь компьютеров. Аутентификация основана на методах криптографии, и это гарантирует, что нападающий или прослушивающий сеть не сможет получить информацию, необходимую для рассекречивания пользователя или другого объекта. Аутентификация позволяет поддерживающему связь объекту доказать свое тождество другому объекту без пересылки незащищенных данных по сети. Без "сильной" (strong) аутентификации и поддержания целостности данных любые данные и компьютер, который их послал, являются подозрительными.
· Целостность (integrity). Правильность данных, т. е. их неизменность по сравнению с первоначально посланными. Службы, поддерживающие целостность, защищают данные от несанкционированного изменения по пути их следования.
· Конфиденциальность (privacy). Гарантия того, что данные будут раскрыты только тем получателем, которому они были предназначены. Это свойство не является обязательным.
· Предотвращение повторного использования (anti-replay). Предотвращение повторного использования гарантирует, что каждая посланная IP-датаграмма (IP-пакет) отличается от любой другой, чтобы помочь предотвратить атаки, в которых сообщение прерывается и сохраняется атакующим, а затем многократно используется им позже для организации попытки нелегального доступа к информации.
Шифрование с открытым ключом
Криптография — это наука о защите данных. Алгоритмы криптографии с помощью математических методов комбинируют входной открытый текст и ключ шифрования, в результате чего получаются зашифрованные данные. Применение криптографии обеспечивает надежную передачу данных и предотвращение их получение несанкционированной стороной. Применяя хороший алгоритм шифрования, можно сделать практически невозможным, с точки зрения необходимых вычислительных и временных ресурсов, взлом защиты и получение открытого текста подбором ключа. Для быстрого выполнения подобного преобразования необходим расшифровывающий ключ.
В традиционном шифровании с секретным ключом (secret key) (симметричное шифрование) зашифровывающий и расшифровывающий ключи совпадают. Стороны, обменивающиеся зашифрованными данными, должны знать общий секретный ключ. Процесс обмена информацией о секретном ключе представляет собой брешь в безопасности вычислительной системы.
Фундаментальное отличие шифрования с открытым ключом (асимметричное шифрование) заключается в том, что зашифровывающий и расшифровывающий ключи не совпадают. Шифрование информации является односторонним процессом: открытые данные шифруются с помощью зашифровывающего ключа, однако с помощью того же ключа нельзя осуществить обратное преобразование и получить открытые данные. Для этого необходим расшифровывающий ключ, который связан с зашифровывающим ключом, но не совпадает с ним. Подобная технология шифрования предполагает, что каждый пользователь имеет в своем распоряжении пару ключей — открытый ключ (public key) и личный или закрытый ключ (private key). Свободно распространяя открытый ключ, вы даете возможность другим пользователям посылать вам зашифрованные данные, которые могут быть расшифрованы с помощью известного только вам личного ключа. Аналогично, с помощью личного ключа вы можете преобразовать данные так, чтобы другая сторона убедилась в том, что информация пришла именно от вас. Эта возможность применяется при работе с цифровыми или электронными подписями. Шифрование с открытым ключом имеет все возможности шифрования с закрытым ключом, но может проходить медленнее из-за необходимости генерировать два ключа. Однако этот метод безопаснее.
Появление пары "личный ключ/открытый ключ" привело к возникновению нескольких новых технологий, наиболее важными из которых являются цифровые подписи, распределенная аутентификация, соглашение о секретном ключе, достигаемое с применением открытого ключа, и шифрование больших объемов данных без предварительного соглашения о секретном ключе.
Существует несколько хорошо известных алгоритмов шифрования с открытым ключом. Некоторые из них, например RSA (Rivest-Shamir-Adelman) и шифрование с помощью эллиптической кривой (Elliptic Curve Criptography, ECC), являются алгоритмами общего употребления в том смысле, что они поддерживают все упомянутые выше операции. Другие алгоритмы поддерживают только некоторые операции. К ним относятся: алгоритм цифровой подписи (Digital Signature Algorithm, DSA), используемый только для работы с цифровыми подписями, и алгоритм Diffie-Hellman (D-H), применяемый только для соглашений о секретных ключах. Алгоритмы шифрования, используемые безопасностью IP (IP Security), подробнее описаны в данной главе в разд. "Безопасность IP".
Ниже кратко рассмотрены основные области применения шифрования с открытым ключом.
Цифровые (электронные) подписи
Наверное, наиболее ярким проявлением всех преимуществ шифрования с открытым ключом является технология цифровых или электронных подписей. Она основана на математическом преобразовании, комбинирующем данные с секретным ключом таким образом, что:
· только владелец секретного ключа может создать цифровую подпись;
· любой пользователь, обладающий соответствующим открытым ключом, может проверить истинность цифровой подписи;
· любая модификация подписанных данных (даже изменение одного бита) делает неверной цифровую подпись.
Цифровые подписи гарантируют целостность (integrity) и подлинность (nonrepudiation) данных. Когда данные распространяются открытым текстом (без шифрования), получатели должны иметь возможность проверки, что данные в сообщении не были изменены. Добавление подписи не изменяет содержания данных: в этом случае генерируется цифровая подпись, которая может быть связана с данными или передаваться отдельно. Для выполнения этой операции клиентская программа создает дайджест, снимок данных, используя метод хэширования (например, MDS). Программа использует ваш личный ключ для шифрования дайджеста и подписывает данные или сообщение с помощью вашего сертификата, добавляя ваш открытый ключ. Соответствующая программа адресата сообщения использует открытый ключ для расшифровки дайджеста, затем использует тот же алгоритм хэширования для создания другого дайджеста данных. Данная программа затем сравнивает два дайджеста сообщений. Если они идентичны, то подтверждаются целостность и подлинность данных сообщения.
Распределенная аутентификация
Шифрование с открытым ключом применяется для создания надежной службы распределенной аутентификации, гарантирующей, что данные пришли получателю от истинного корреспондента. Соглашение о секретном ключе, достигаемое с помощью открытого ключа. Шифрование с открытым ключом позволяет двум сторонам, используя открытый ключ в незащищенной сети, договориться о секретном ключе. Обе стороны посылают друг другу половины секретного ключа, зашифрованного соответствующими открытыми ключами. Каждая из сторон получает возможность расшифровать полученную половину секретного ключа и на ее основе, с учетом своей половины ключа, получить весь секретный ключ.
Дата: 2019-07-30, просмотров: 331.