Возможности, предоставляемые пользователям
Вход пользователя в систему
Аутентификация Kerberos
Основы Kerberos
Интеграция Kerberos
Pасширения Kerberos для использования
смарт-карт
Вторичная регистрация «Run As»
Файловая система с шифрованием
Реализация EFS
Использование EFS
Функции системы безопасности для администраторов
Безопасность и Active Directory
Группы
Делегирование административных полномочий
Безопасная передача по протоколу IP
Заключение
Система безопасности Windows NT имеет своей целью защитить как данные системы,
так и данные пользователя от случайного или преднамеренного уничтожения или
искажения, а также от несанкционированного доступа к ним. С самой первой версии
Windows NT система безопасности удовлетворяла многим требованиям надежной защиты
данных. Развитие системы в целом сопровождалось и совершенствованием системы
безопасности. В Windows 2000, являющейся новой версией Windows NT, появилось
много новых функций, которые, с одной стороны, позволили еще более надежно защитить
информацию в системе, а с другой — упростить обмен информацией в гетерогенных
системах за счет использования стандартных протоколов и API.
Условно функции защиты данных можно разделить на функции, приносящие выгоду
пользователям, и функции, приносящие выгоду администраторам. К первым относятся
новые, упрощенные, но более надежные способы регистрации в сети, шифрование
файлов пользователей и использование сертификатов. Ко вторым — служба каталогов
Active Directory, содержащая все объекты системы и позволяющая не только разграничивать
права и привилегии, но и легко выполнять их делегирование; средства конфигурирования
уровня безопасности и управления политикой безопасности; средства аудита системы;
средства обеспечения безопасной передачи данных по сети по протоколу IP.
Возможности, предоставляемые пользователям
Начнем с тех возможностей по обеспечению безопасности данных, которые получили
пользователи. К ним относятся новые средства регистрации в системе, аутентификация
Kerberos, возможность вторичной регистрации в системе, файловая система с шифрованием
и менеджер сертификатов. Рассмотрим их подробнее.
Вход пользователя в систему
При входе в систему пользователь может задать не только свое короткое имя в
системе, но и полное имя в виде «имя@имя_домена». Это позволяет интегрировать
систему безопасности с Интернетом. Дополнительно по умолчанию используется иной
протокол аутентификации — Kerberos. Для повышения защищенности служит и использование
при регистрации смарт-карт. Все это выполнено таким образом, что наряду с серверами,
работающими под управлением Windows 2000, в сети могут существовать машины и
с предыдущими версиями Windows NT и с иными ОС.
Аутентификация Kerberos
Протокол Kerberos усиливает существующие функции безопасности Windows NT и
добавляет новые.
- Повышенная скорость аутентификации при установлении начального соединения.
Сервер приложений не должен обращаться к контроллеру домена для аутентификации
клиента. Это повышает масштабируемость серверов приложений при обработке запросов
на подключение от большого числа клиентов. - Делегирование аутентификации в многоярусных архитектурах «клиент/сервер».
При подключении клиента к серверу последний имперсонирует (олицетворяет) клиента
в этой системе. Но если серверу для завершения транзакции необходимо выполнить
сетевое подключение к другому серверу, протокол Kerberos позволяет делегировать
аутентификацию первого сервера и выполнить подключение ко второму от имени
клиента. Делегирование позволяет второму серверу также выполнить имперсонацию
клиента. - Транзитивные доверительные отношения для междоменной аутентификации. Пользователь
может быть аутентифицирован в любом месте дерева доменов, так как сервисы
аутентификации (KDC) в каждом домене доверяют билетам, выданным другими KDC
в дереве. Транзитивное доверие упрощает управление доменами в больших сетях
с несколькими доменами.
Основы Kerberos
Kerberos является протоколом аутентификации с совместным секретом. Так он называется
потому, что и пользователю, и KDC известен пароль (KDC на самом деле известен
зашифрованный пароль). Протокол Kerberos определяет серию обменов между клиентами,
KDC и серверами для получения билетов Kerberos (рис. 1).
Когда клиент начинает регистрацию в Windows 2000, поставщик функций безопасности
(ПФБ) Kerberos получает начальный билет Kerberos (Ticket grant ticket — TGT),
основанный на зашифрованном представлении пароля. Windows 2000 хранит TGT в
кэше билетов на рабочей станции, связанной с контекстом регистрации пользователя.
При попытке клиентской программы обратиться к сетевой службе выполняется проверка
кэша билетов на наличие в нем верного билета для текущего сеанса работы с сервером.
Если такого билета нет, на KDC посылается запрос, содержащий TGT, для получения
сеансового билета, разрешающего доступ к серверу.
Сеансовый билет добавляется в кэш и может быть впоследствии использован повторно
для доступа к тому же самому серверу в течение времени действия билета. Время
действия билета устанавливается доменными правилами и обычно равно восьми часам.
Если время действия билета истекает во время сеанса, то поставщик функций безопасности
Kerberos возвращает соответствующую ошибку, что позволяет клиенту и серверу обновить
билет, создать новый сеансовый ключ и возобновить подключение.
На рис. 2 изображено взаимодействие между клиентом, KDC
и сервером приложений, использующим протокол аутентификации Kerberos.
Сеансовый билет Kerberos представляется удаленной службе в сообщении о начале
подключения. Части сеансового билета зашифрованы с использованием секретного ключа,
используемого совместно службой и KDC. Сервер может быстро аутентифицировать клиента,
проверив его сеансовый билет, не обращаясь к сервису аутентификации, так как на
сервере имеется копия секретного ключа, хранящаяся в кэше. Установление соединения
при такой аутентификации выполняется гораздо быстрее, чем при аутентификации NTLM.
В процессе аутентификации последней сервер получает мандаты пользователя, а затем
проверяет их, подключившись к контроллеру домена.
Сеансовые билеты Kerberos содержат уникальный сеансовый ключ, созданный KDC для
симметричного шифрования информации об аутентификации и данных, передаваемых от
клиента к серверу. В модели Kerberos KDC используется в качестве интерактивной
доверенной стороны, генерирующей сеансовый ключ.
Интеграция Kerberos
Протокол Kerberos полностью интегрирован с системой безопасности и контроля
доступа Windows 2000. Начальная регистрация в Windows 2000 обеспечивается процедурой
WinLogon. Она использует поставщика функций безопасности Kerberos для получения
начального билета TGT. Другие компоненты системы, например Redirector, используют
интерфейс SSPI к ПФБ Kerberos для получения сеансового билета для удаленного
доступа к файлам сервера SMB.
Делегирование аутентификации (рис. 3) поддерживается в протоколе Kerberos v5 путем
использования в сеансовых билетах флагов proxy и forwarding. Функция делегирования
используется сервером Windows 2000 для получения сеансового билета на доступ от
имени клиента к другому серверу.
Расширения Kerberos для использования смарт-карт
Расширения протокола Kerberos, использующие открытые ключи, являются основой аутентификации
в сети с помощью технологии смарт-карточек. В Windows 2000 возможно выполнять
вход пользователя по смарт-карте.
В отличие от регистрации с вводом пароля пользователь вставляет в приемное
устройство смарт-карту, в которой содержится персональная информация о пользователе
и его личный ключ. Для активации смарт-карты пользователь вводит свой PIN-код.
Личный ключ и сертификат, хранимые в карточке, аутентифицируют пользователя
в KDC, и он получает TGT. Таким образом, для каждого пользователя необходима
своя смарт-карта.
Вторичная регистрация «Run As»
Полезной функцией, встроенной в Windows 2000, является сервис вторичной регистрации,
позволяющий выполнять отдельные процессы с разным уровнем привилегий. Для этого
в командной строке используется команда runas. Она подобна утилите SU в UNIX.
Указывая имя процесса и учетную запись, от имени которой будет запущен процесс,
можно изменять привилегии этого процесса.
Для чего это нужно? Предположим, что вы являетесь администратором системы, но
в данный момент зарегистрированы под учетной записью, не обладающей административными
привилегиями. Вам необходимо срочно выполнить некоторые административные обязанности,
например добавить нового пользователя в группу. В таком случае вы можете запустить
соответствующую утилиту командой runas, указав в командной строке учетную запись
администратора.
Обратный пример: вы обладаете достаточно высокими правами в системе, но вам
надо запустить некоторую программу, в безвредности которой вы не уверены. Что
ж, запустите ее под гостевой учетной записью, и программа не сможет причинить
вреда.
Файловая система с шифрованием
Одной из стандартных мер предосторожности в персональных компьютерах является
возможность загрузки с гибкого диска. Это выручает в случае сбоев на жестком диске
или повреждений загрузочного сектора, так как позволяет осуществить доступ к данным.
К сожалению, эта же возможность позволяет загрузить на компьютере операционную
систему, отличную от той, что на нем установлена. Потенциально любой, имеющий
физический доступ к компьютеру, сможет обойти систему разграничения доступа файловой
системы Windows 2000, используя появившиеся в последнее время утилиты чтения NTFS.
Файловая система с шифрованием (Encrypting File System — EFS) призвана решать
эту проблему.
Реализация EFS
Файловая система с шифрацией (рис. 4) является частью
послойной модели Windows 2000 и состоит из следующих компонентов:
- Драйвер EFS. Этот драйвер располагается непосредственно над NTFS
и взаимодействует с сервисом EFS для запроса ключей шифрования файлов, полей
дешифрования файлов, полей восстановления файлов и других сервисов, связанных
с управлением ключами. - EFS FSRTL. Этот модуль драйвера EFS реализует различные вызовы NTFS
для выполнения таких операций файловой системы, как чтение, запись и открытие
зашифрованных файлов и каталогов, а также операции шифрования, дешифрования
и восстановления данных при записи на диск или считывании с диска. - Сервис EFS. Этот сервис является частью подсистемы защиты.
- Интерфейсы Win32 API. Обеспечивают программные интерфейсы для шифрования
текстовых файлов, дешифрации или восстановления закодированных текстов, а
также импорта или экспорта зашифрованных файлов без их предварительного дешифрования.
Шифрование выполняется для пользователя, зарегистрированного в данный момент.
Однако в API имеется поддержка шифрования для нескольких пользователей. Каждый
файл шифруется своим уникальным ключом.
Также имеется возможность восстановления файлов в случае потери личного ключа
пользователя.
Использование EFS
Шифрование выполняется на уровне файлов и папок. Если папка зашифрована, то любой
файл, положенный в нее, также будет зашифрован. Шифрование можно выполнять на
отдельно стоящей рабочей станции, на машине, входящей в домен, и удаленно: на
сервере — члене домена. При этом следует помнить, что шифруются только хранимые
данные. Передача по сети не шифруется. Кроме того, шифруются только данные пользователя.
Системные данные не шифруются. Шифрование возможно только на NTFS 5.0.
Функции системы безопасности для администраторов
В первую очередь к функциям системы безопасности, предоставляющим новые возможности
администраторам, безусловно, следует отнести службу каталогов Active Directory.
Помимо этого имеются Delegation Wizard — инструмент для упрощения делегирования
административных полномочий, Enterprise Certificate Services — средство выдачи
сертификатов, а также средства управления локальным компьютером и политикой безопасности.
Безопасность и Active Directory
Во всех предыдущих версиях Windows NT информация об учетных записях хранилась
в защищенных ветвях реестра на контроллерах домена. Использование доверия между
доменами и сквозной аутентификацией в двухуровневых иерархиях доменов позволяло
обеспечивать некоторую гибкость в управлении учетными записями и серверами ресурсов.
Однако внутри каждого домена пространство имен было плоским и не имело никакой
внутренней организации.
В Windows 2000 распределенные службы безопасности используют Active Directory
в качестве хранилища учетной информации. Active Directory значительно превосходит
реестр в плане производительности и масштабируемости, а также предлагает исчерпывающие
административные возможности.
Учетные записи пользователей, групп и машин могут быть организованы в виде контейнеров
каталога, называемых организационными единицами (OU). В домене может быть произвольное
число OU, организованных в виде древовидного пространства имен. Это пространство
имен может быть организовано в соответствии с подразделениями и отделами в организации.
Так же как и OU, учетные записи пользователей являются объектами каталога и могут
быть легко переименованы внутри дерева доменов при перемещении пользователей из
одного отдела в другой.
Хранение учетной информации в Active Directory означает, что пользователи и группы
представлены в виде объектов каталога. Права на чтение и запись могут быть предоставлены
как по отношению ко всему объекту в целом, так и по отношению к отдельным его
свойствам. Администраторы способны точно определять, кто именно может модифицировать
информацию о пользователях и какую именно.
Между Active Directory и Службами безопасности Windows 2000 существуют фундаментальные
отношения. В Active Directory хранятся правила безопасности домена, определяющие
использование системы, — ограничения паролей, ограничения доступа к системе. Объекты
каталога, относящиеся к безопасности, должны быть защищены от несанкционированного
доступа. В Windows 2000 реализована объектная модель безопасности и контроля доступа
ко всем объектам в каталоге Active Directory. У каждого объекта имеется свой уникальный
дескриптор защиты, определяющий разрешения, необходимые для чтения или обновления
свойств объектов.
Группы
Понятие групп в Windows 2000 расширено по сравнению с предыдущими версиями
Windows NT. Существуют четыре вида групп: универсальные, глобальные, локальные
в домене и почтовые. Последние не относятся к системе безопасности.
Универсальные группы характерны тем, что членство в них публикуется в Глобальном
каталоге. Глобальные группы включают в себя пользователей или группы того же самого
домена, в котором определены глобальные группы. Членство в этих группах не публикуется
в Глобальном каталоге.
Локальные группы домена включают в себя как пользователей, так и группы из доверяемых
доменов. Членство в этих группах также не публикуется в Глобальном каталоге.
Делегирование административных полномочий
Делегирование административных полномочий является гибким инструментом ограничения
администраторов в рамках части домена организации. Это позволяет предоставить
им возможность управления пользователями или группами в пределах их области администрирования
и в то же время не дает прав на управление учетными записями в других частях организации.
Делегирование права создания новых пользователей или групп определяется на уровне
организационной единицы (OU) или контейнера, в котором создана учетная запись.
Администраторы групп в одной организационной единице не обязательно имеют возможность
создавать или управлять учетными записями в другой организационной единице того
же самого домена. Однако доменные правила и права доступа, определенные на более
высоких уровнях в каталоге, могут быть применены ко всему дереву путем использования
наследования прав доступа.
Для делегирования полномочий применяется Delegation Wizard.
Безопасная передача по протоколу IP
В RFC 1825-1829 определены спецификации протокола IPSec. Этот протокол является
обязательным для IPv6 и опционным для IPv4, тем не менее он реализован в Windows 2000.
IPSec защищает трафик IP по двум протоколам: Authentication Header (AH) и Encapsulating
Security Payload (ESP).
AH обеспечивает целостность и неизменность как заголовка пакета IP, так и его
содержимого. Если хакер внес изменения в пакет, то AH позволяет узнать об этом
на приемной стороне.
ESP обеспечивает конфиденциальность передаваемых данных путем шифрования пакетов
IP. ESP не шифрует заголовки пакетов, что позволяет использовать его при трансляции
сетевых адресов.
IPSec работает в двух режимах: транспортном и туннельном. В транспортном режиме
AH или ESP располагается в оригинальном пакете IP между IP-заголовком и верхним
слоем расширений заголовка. Этот режим используется для защиты соединений точка-точка,
например между рабочей станцией и сервером.
В туннельном режиме оригинальный пакет IP помещается внутри нового пакета, а AH
или ESP — между заголовком IP нового пакета и оригинальным пакетом. Новый заголовок
пакета IP указывает на конечную точку туннеля, в то время как в старом заголовке
хранится точное место назначения. Туннельный режим используется для создания туннеля
между двумя системами, например между двумя конечными точками, между конечной
точкой и защищенным шлюзом или между двумя защищенными шлюзами. Под защищенным
шлюзом можно рассматривать туннельный сервер, маршрутизатор, межсетевой экран
или виртуальную частную сеть.
Ядром реализации IPSec в Windows 2000 является политика безопасности IP. В
рамках этой политики можно задать параметры для фильтров IP, политики переговоров,
метода аутентификации, туннеля IPSec, а также выбрать тип соединения — локальной
сети или удаленного доступа. Политика безопасности может храниться как на отдельных
машинах, так и в Active Directory, что позволяет распространить ее на всю организацию
в целом.
Заключение
Итак, в новой версии Windows NT появились новые возможности, позволяющие надежно
защитить данные, — причем защитить их не только от уничтожения или искажения,
но и от несанкционированного доступа. Защита данных выполняется как при хранении,
так и при передаче по сети, как на отдельно взятом компьютере, так и на машине,
входящей в сеть. И все это делается сравнительно просто, без колдовства и шаманства,
за счет использования мощных и удобных инструментов.
КомпьютерПресс 8’1999
Глава 26. Средства безопасности Windows 2000
1. Общие понятия и терминология
Средства безопасности Windows 2000
Общие понятия и терминология
Рассмотрим сначала некоторые общие понятия и термины, относящиеся к защите данных и методам шифрования, без которых невозможно описывать средства безопасности Windows 2000.
2. Характеристики безопасности
Характеристики безопасности
|
|
Аутентификация (проверка подлинности)
Это процесс надежного определения подлинности поддерживающих связь компьютеров. Аутентификация основана на методах криптографии, и это гарантирует, что нападающий или прослушивающий сеть не сможет получить информацию, необходимую для рассекречивания пользователя или другого объекта. Аутентификация позволяет поддерживающему связь объекту доказать свое тождество другому объекту без пересылки незащищенных данных по сети. Без «сильной» (strong) аутентификации и поддержания целостности данных любые данные и компьютер, который их послал, являются подозрительными. |
|
|
Целостность (integrity)
Правильность данных, то есть их неизменность по сравнению с первоначально посланными. Службы, поддерживающие целостность, защищают данные от несанкционированного изменения по пути их следования. |
|
|
Конфиденциальность (privacy)
Гарантия того, что данные будут раскрыты только тем получателем, которому они были предназначены. Это свойство не является обязательным. |
|
|
Предотвращение повторного использования (anti-replay)
Предотвращение повторного использования гарантирует, что каждая посланная IР-датаграмма (IP-пакет) отличается от любой другой, чтобы помочь предотвратить атаки, в которых сообщение прерывается и сохраняется атакующим, а затем многократно используется им позже для организации попытки нелегального доступа к информации. |
3. Шифрование с открытым ключом
Шифрование с открытым ключом
Криптография — это наука о защите данных. Алгоритмы криптографии с помощью математических методов комбинируют входной открытый текст и ключ шифрования, в результате чего получаются зашифрованные данные. Применение криптографии обеспечивает надежную передачу данных и предотвращение их получения несанкционированной стороной. Применяя хороший алгоритм шифрования, можно сделать практически невозможным, с точки зрения необходимых вычислительных и временных ресурсов, взлом защиты и получения открытого текста подбором ключа. Для быстрого выполнения подобного преобразования необходим расшифровывающий ключ.
В традиционном шифровании с секретным ключом (secret key) (симметричное шифрование) зашифровывающий и расшифровывающий ключи, совпадают. Стороны, обменивающиеся зашифрованными данными, должны знать общий секретный ключ. Процесс обмена информацией о секретном ключе представляет собой брешь в безопасности вычислительной системы.
Фундаментальное отличие шифрования с открытым ключом (асимметричное шифрование) заключается в том, что зашифровывающий и расшифровывающий ключи не совпадают. Шифрование информации является односторонним процессом: открытые данные шифруются с помощью зашифровывающего ключа, однако с помощью того же ключа нельзя осуществить обратное преобразование и получить открытые данные. Для этого необходим расшифровывающий ключ, который связан с зашифровывающим ключом, но не совпадает с ним. Подобная технология шифрования предполагает, что каждый пользователь имеет в своем распоряжении пару ключей — открытый ключ (public key) и личный или закрытый ключ (private key). Свободно распространяя открытый ключ, вы даете возможность другим пользователям посылать вам зашифрованные данные, которые могут быть расшифрованы с помощью известного только вам личного ключа. Аналогично, с помощью личного ключа вы можете преобразовать данные так, чтобы другая сторона убедилась в том, что информация пришла именно от вас. Эта возможность применяется при работе с цифровыми или электронными подписями. Шифрование с открытым ключом имеет все возможности шифрования с закрытым ключом, но может проходить медленнее из-за необходимости генерировать два ключа. Однако этот метод безопаснее.
Появление пары «личный ключ/открытый ключ» привело к возникновению нескольких новых технологий, наиболее важными из которых являются цифровые подписи, распределенная аутентификация, соглашение о секретном ключе, достигаемое с применением открытого ключа, и шифрование больших объемов данных без предварительного соглашения о секретном ключе. Существует несколько хорошо известных алгоритмов шифрования с открытым ключом. Некоторые из них, например RSA (Rivest-Shamir-Adelman) и шифрование с помощью эллиптической кривой (Elliptic Curve Criptography, ECC), являются алгоритмами общего употребления в том смысле, что они поддерживают все упомянутые выше операции. Другие алгоритмы поддерживают только некоторые операции. К ним относятся: алгоритм цифровой подписи (Digital Signature Algorithm, DSA), используемый только для работы с цифровыми подписями, и алгоритм DiJfie-Hetlman (D-H), применяемый только для соглашений о секретных ключах. Алгоритмы шифрования, используемые безопасностью IP (IP Security), подробнее описаны в данной главе в разделе «Безопасность IP».
Ниже кратко рассмотрены основные области применения шифрования с открытым ключом.
4. Цифровые (электронные) подписи
Цифровые (электронные) подписи
Наверное, наиболее ярким проявлением всех преимуществ шифрования с открытым ключом является технология цифровых или электронных подписей. Она основана на математическом преобразовании, комбинирующем данные с секретным ключом таким образом, что:
|
|
Только владелец секретного ключа может создать цифровую подпись. |
|
|
Любой пользователь, обладающий соответствующим открытым ключом, может проверить истинность цифровой подписи. |
|
|
Любая модификация подписанных данных (даже изменение одного бита) делает неверной цифровую подпись. |
Цифровые подписи гарантируют целостность (integrity) и подлинность (nonrepudiation) данных. Когда данные распространяются открытым текстом (без шифрования), получатели должны иметь возможность проверки, что данные в сообщении не были изменены.
Добавление подписи не изменяет содержания данных: в этом случае генерируется цифровая подпись, которая может быть связана с данными или передаваться отдельно.
Для выполнения этой операции клиентская программа создает дайджест, снимок данных, используя метод хэширования (например, MDS). Программа использует ваш личный ключ для шифрования дайджеста и подписывает данные или сообщение с помощью вашего сертификата, добавляя ваш открытый ключ. Соответствующая программа адресата сообщения использует открытый ключ для расшифровки дайджеста, затем использует тот же алгоритм хэширования для создания другого дайджеста данных. Данная программа затем сравнивает два дайджеста сообщений. Если они идентичны, то подтверждаются целостность и подлинность данных сообщения.
5. Распределенная аутентификация
Распределенная аутентификация
Шифрование с открытым ключом применяется для создания надежной службы распределенной аутентификации, гарантирующей, что данные пришли получателю от истинного корреспондента.
6. Соглашение о секретном ключе, достигаемое с помощью открытого ключа
Соглашение о секретном ключе, достигаемое с помощью открытого ключа
Шифрование с открытым ключом позволяет двум сторонам, используя открытый ключ в незащищенной сети, договориться о секретном ключе. Обе стороны посылают друг другу половины секретного ключа, зашифрованного соответствующими открытыми ключами. Каждая из сторон получает возможность расшифровать полученную половину секретного ключа и на ее основе, с учетом своей половины ключа, получить весь секретный ключ.
7. Шифрование больших объемов данных
Шифрование больших объемов данных
Поскольку алгоритмы шифрования с открытым ключом требуют значительно больших, по сравнению с алгоритмами секретного ключа, вычислительных ресурсов, они плохо подходят для шифрования больших объемов данных. Поэтому существует технология, комбинирующая оба алгоритма. В соответствии с ней весь объем данных шифруется с помощью секретного ключа (например, по стандарту Data Encryption Standard, DES), который в свою очередь шифруется с открытым ключом и посылается корреспонденту вместе с зашифрованными данными. Приемная сторона расшифровывает секретный ключ с помощью своего личного ключа, а затем расшифровывает данные с помощью полученного секретного ключа.
8. Обеспечение истинности открытых ключей
Обеспечение истинности открытых ключей
При шифровании с открытым ключом жизненно важна абсолютно достоверная ассоциация открытого ключа и передавшей его стороны, поскольку в обратном случае возможна подмена открытого ключа и осуществление несанкционированного доступа к передаваемым зашифрованным данным. Необходим механизм, гарантирующий достоверность корреспондента, например, применение сертификата, созданного авторизованным генератором сертификатов.
9. Что такое сертификат
Что такое сертификат
Сертификат — это средство, позволяющее гарантированно установить связь между переданным открытым ключом и передавшей его стороной, владеющей соответствующим личным ключом. Сертификат представляет собой набор данных, зашифрованных с помощью цифровой, или электронной, подписи. Информация сертификата подтверждает истинность открытого ключа и владельца соответствующего личного ключа.
Обычно сертификаты содержат дополнительную информацию, позволяющую идентифицировать владельца личного ключа, соответствующего данному открытому ключу. Сертификат должен быть подписан авторизованным генератором сертификатов.
Наиболее распространенным на данный момент стандартом сертификатов является ITU-T Х.509. Эта фундаментальная технология применяется в Windows 2000. Однако это не единственная форма сертификатов.
10. Центр сертификации
Центр сертификации
Центр сертификации (ЦС), или поставщик сертификатов (Certificate Authority, СА), — это организация или служба, создающая сертификаты. ЦС выступает в качестве гаранта истинности связи между открытым ключом субъекта и идентифицирующей этот субъект информацией, содержащейся в сертификате. Различные ЦС могут применять для проверки связи различные средства, поэтому перед выбором достойного доверия ЦС важно хорошо понять политику данного ЦС и применяемые им процедуры проверки.
11. Доверие и проверка
Доверие и проверка
Получив подписанное сообщение, следует решить: насколько можно доверять данной подписи? Действительно ли подпись была поставлена тем, кого она представляет? Математическую верность подписи можно проверить по получении подписанного сообщения. Для этого применяется открытый ключ. Но при этом нет полной уверенности в том, что используемый открытый ключ действительно принадлежит корреспонденту, от которого получено подписанное сообщение. Возникает необходимость проверки принадлежности открытого ключа. Она может быть проведена с помощью сертификата, созданного центром авторизации, пользующимся доверием у стороны, получившей подписанное сообщение. В сертификате должна содержаться следующая информация:
|
|
Криптографически верная подпись, идентифицирующая создателя сертификата. |
|
|
Подтверждение связи между стороной, приславшей подписанное сообщение, и ее открытым ключом. |
|
|
Сертификат должен быть создан ЦС, которому приемная сторона доверяет. |
Истинность полученного сертификата может быть проверена с помощью открытого ключа, принадлежащего создавшему этот сертификат ЦС. Однако здесь возникает еще одна проблема. А действительно ли открытый ключ принадлежит данному ЦС? Для получения ответа на этот вопрос необходимо применить еще один сертификат. В результате возникает цепочка сертификатов, начинающаяся с сертификата открытого ключа стороны, передавшей подписанное сообщение, и заканчивающаяся сертификатом ЦС, которому приемная сторона безоговорочно доверяет. Такой сертификат называется корневым сертификатом доверия (trusted root certificate), поскольку он формирует корень (верхний узел) иерархии открытых ключей к идентификаторов связи, которую приемная сторона рассматривает как достойную доверия. Если приемная сторона определила ЦС, которому она будет безоговорочно доверять, то полным доверием будут пользоваться и все дочерние (подчиненные) ЦС, идентифицированные корневым сертификатом доверия.
Описанная выше модель идентификации передающей стороны предполагает, что секретно приемная сторона должна получить информацию только о наборе корневых сертификатов доверия.
12. Применение алгоритмов шифрования с открытым ключом в Windows 2000
Применение алгоритмов шифрования с открытым ключом в Windows 2000
Операционная система Windows 2000 обладает развитыми средствами шифрования данных с открытым ключом, представляющими собой дальнейшее развитие служб шифрования информации Windows NT. На данный момент Windows 2000 располагает интегрированным набором служб и инструментов администрирования, предназначенных для создания, реализации и управления приложениями, использующими алгоритмы шифрования с открытым ключом. Это позволит независимым разработчикам программного обеспечения интенсивно применять в своих продуктах технологию общего ключа (shared key). В то же время предприятия получают возможность создавать и поддерживать эффективные защищенные вычислительные среды, применяя для этого хорошо развитый и легкий в работе набор инструментов и механизмов обеспечения соблюдения политик безопасности.
13. Компоненты Windows 2000, обеспечивающие шифрование
Компоненты Windows 2000, обеспечивающие шифрование
На рис. 26.1 схематично показана логическая взаимосвязь средств Windows 2000, позволяющих применять шифрование с открытым ключом.
Изображенные на рис. 26.1 средства не обязательно должны размещаться на отдельных компьютерах. Несколько служб могут эффективно работать на одном компьютере. Ключевое звено схемы — служба сертификатов Microsoft (Microsoft Certificate Services). Она позволяет создать один или несколько ЦС предприятия, поддерживающих создание и отзыв сертификатов. Они интегрированы в Active Directory, где хранится информация о политике ЦС и их местоположении. Кроме того, с помощью Active Directory выполняется публикация информации о сертификатах и их отзыве.
|
| Рис 26.1. Взаимосвязь средств Windows 2000, предназначенных для работы с открытым ключом |
Средства работы с открытым ключом не заменяют существующих механизмов доверительных отношений между доменами и аутентификации, реализованных с помощью контроллеров доменов и центров распространения: ключей Kerberos (Key Distribution Center, KDC). Напротив, данные средства взаимодействуют с этими службами, что позволяет приложениям безопасно передавать конфиденциальную информацию через Интернет и корпоративным глобальным каналам.
Поддержка прикладных средств шифрования информации с открытым ключом включена в состав программного обеспечения операционных систем Windows 2000, Windows NT, а также Windows 95/98. На рис. 26.2 показана структура служб, предназначенных для поддержки прикладных программ. Основой архитектуры поддержки прикладных программ шифрования информации с открытым ключом является библиотека CryptoAPI. Она позволяет работать со всеми устанавливаемыми поставщиками услуг шифрования (Cryptographic Service Providers, CSP) через стандартный интерфейс. CSP могут быть реализованы на программном уровне или с помощью специального оборудования. Они поддерживают различные длины ключей и алгоритмы шифрования. Как видно на рис. 26.2, один из CSP поддерживает смарт-карты. Услугами служб шифрования пользуются службы управления сертификатами. Они соответствуют стандарту Х.509 v3 и позволяют организовывать принудительное хранение, службы подсчета и дешифрования. Кроме того, эти службы предназначены для работы с различными отраслевыми стандартами сообщений. В основном они поддерживают стандарты PKCS и разработанный в IETF (Internet Engineering Task Force) набор предварительных стандартов PKIX (Public Key Infrastructure, X.509).
|
|
Рис 26.2. Службы средств шифрования информации с открытым ключом, поддерживающие прикладные программы |
Остальные службы используют CryptoAPI для придания дополнительной функциональности прикладным программам. Защищенный канал (Secure Channel) поддерживает сетевую аутентификацию и шифрование в соответствии со стандартными протоколами TLS и SSL, обращение к которым может быть выполнено с помощью интерфейсов Microsoft Winlnet и SSPI. Служба Authenticode предназначена для проверки и подписи объектов и в основном используется при получении информации через Интернет.
В состав программного обеспечения служб поддержки прикладных средств шифрования входит поддержка интерфейса, предназначенного для работы со смарт-картами. Они используются для регистрации на компьютере и в сети Windows 2000.
26.1.gif
Изображение:
26.2.gif
Изображение:
14. Политики безопасности
Политики безопасности
Политики безопасности действуют в рамках сайта, домена или контейнера (подразделения, организационной единицы, OU) и распространяются на группы, компьютеры и пользователей — то есть на все объекты администрирования. Безопасность шифрования с открытым ключом является одним из аспектов общей политики безопасности Windows 2000 и интегрирована в ее структуру. Это механизм, с помощью которого можно посредством объектов политики безопасности централизованно осуществлять настройку и управление глобальной политикой работы с открытым ключом.
С помощью политики открытого ключа можно определять следующие аспекты безопасности Windows 2000:
|
|
Доверенные корни ЦС |
|
|
Регистрация и обновление сертификатов |
|
|
Регистрация в системе с помощью смарт-карты |
15. Протокол аутентификации Kerberos
Протокол аутентификации Kerberos
Основы протокола Kerberos
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.
16. Взаимодействие с удаленными владениями
Взаимодействие с удаленными владениями
Протокол Kerberos может работать вне пределов одной компании. Клиент данной организации может быть аутентифицирован на сервере, находящемся в другой организации. Каждое предприятие, желающее применять в своей сети Kerberos, должно установить границы своего владения (realm; используется также термин сфера). Имя владения, в котором зарегистрирован данный пользователь, составляет часть его имени и может быть использовано конечной службой для принятия решения об удовлетворении данного запроса.
Установив общие ключи для владений, администраторы могут позволить клиентам различных владений выполнять удаленную аутентификацию. Конечно, обладая необходимыми разрешениями, клиент может зарегистрировать партнера, имеющего не связанное с данным владением имя, и установить нормальный обмен сообщениями. Однако даже при незначительном количестве удаленных регистрации такой подход создает большие неудобства, поэтому рекомендуются более автоматизированные методы. При обмене общими во владениях ключами (inter realm keys) (при передаче информации в каждом направлении может быть использован отдельный ключ) службы выдачи билетов регистрируются в противоположном владении в качестве партнера по обмену данными. После этого клиент может получать ТОТ от локальной службы выдачи билетов для такой же службы, находящейся в удаленном владении. При использовании этого TGT для его дешифрования удаленная служба выдачи билетов применяет общий для владений ключ, который, как правило, отличается от ключа TGS-сервера. Это гарантирует, что данный TGT был передан собственным TGS-сервером клиента. Билеты,
посланные удаленной службой выдачи билетов, укажут конечной службе, что аутентификация клиента была выполнена в удаленном владении.
Одно владение может обмениваться информацией с другим владением, если оба они обладают общим ключом, или если локальная служба выдачи билетов обладает общим ключом с промежуточным владением, в свою очередь обладающим общим ключом с целевым владением. Путь аутентификации — это последовательность промежуточных владений, каждое из которых может обмениваться информацией со своими соседями.
Как правило, владения организованы в иерархическую структуру. Каждое владение обладает общим ключом со своим родителем и отдельным общим ключом с каждым дочерним владением. Если между двумя владениями не существует общего ключа, иерархическая структура позволяет легко установить путь аутентификации. Если иерархическая структура владений не используется, для обнаружения пути аутентификации следует применять базу данных.
Иерархическая организация владений делает возможным альтернативный путь аутентификации — минуя промежуточные владения. Это может оптимизировать обмен данными между двумя владениями. Конечной службе важно знать, через какие владения проходит путь аутентификации, поскольку от этого зависит достоверность всего процесса аутентификации. Для облегчения принятия такого решения каждый билет содержит поле, где хранятся имена всех владений, которые составляют путь аутентификации.
17. Требования к рабочему окружению
Требования к рабочему окружению
Протокол Kerberos налагает несколько требований на рабочее окружение, в котором он может эффективно работать:
|
|
Kerberos не противодействует атакам типа «отказ в обслуживании». Особенности протокола Kerberos позволяют злоумышленнику заставить приложение не принимать, участие в процессе аутентификации. Обнаружение и борьба с атаками этого типа (часть которых может проявляться в установлении необычных режимов работы программного обеспечения), как правило, лучше всего выполняются администраторами систем. |
|
|
Партнеры по обмену данными должны хранить свои секретные ключи в надежном месте. Если злоумышленник каким-либо образом похитит секретный ключ, он сможет выдать себя за одного из партнеров или имперсонализировать сервер для законного клиента. |
|
|
Kerberos не противодействует атакам типа «подбор пароля». Если пользователь задает легко угадываемый пароль, злоумышленник с большой ве-ро’ятностью может его определить подбором с применением словаря. |
|
|
Каждый хост сети должен иметь часы, которые приблизительно синхронизируются с часами других хостов. Синхронизация необходима, чтобы было легче обнаружить факт передачи копии заранее перехваченного сообщения. Степень приблизительности синхронизации может быть установлена индивидуально для каждого сервера. Сам протокол синхронизации серверов сети должен быть защищен от атак злоумышленников. |
|
|
Идентификаторы партнеров не могут быть повторно использованы через небольшой промежуток времени. Как правило, для управления доступом применяются списки управления доступом (Access Control List, ACL), в которых хранятся разрешения доступа, предоставленные всем партнерам по обмену данными. Если в базе данных списков управления доступом остался список уничтоженного партнера по обмену данными, идентификатор которого используется вторично, то новый партнер унаследует все права доступа уничтоженного партнера. Избежать подобной опасности можно, только если запретить использование идентификаторов уничтоженных партнеров в течение продолжительного времени, а лучше вообще сделать идентификаторы уникальными. |
18. Флаги, используемые в запросах
Флаги, используемые в запросах
Каждый билет Kerberos содержит набор флагов, используемых для указания различных атрибутов данного билета. Большинство флагов требуются клиенту при получении билета. Некоторые из них автоматически устанавливаются и снимаются сервером Kerberos.
19. Протоколы обмена сообщениями
Протоколы обмена сообщениями
Далее описаны протоколы взаимодействия клиента и сервера и используемые при этом типы сообщений.
Протокол службы аутентификации. Протокол службы аутентификации предназначен для обмена информацией между клиентом и сервером аутентификации (AS) Kerberos. Обычно обмен инициируется клиентом при попытке получения на сервере некоторой информации для идентификации. Для шифрования и дешифрования используется секретный ключ клиента! Этот протокол обычно применяется при инициализации сеанса входа в систему для получения информации идентификаций на TGS-сервере, который впоследствии будет использован для получения идентификационной информации других серверов без применения секретного ключа клиента. Также протокол службы аутентификации может быть использован для запроса идентификационной информации у служб, доступ к которым не может быть получен с помощью службы выдачи билетов, а требует применения секретного ключа партнера по обмену данными. К таким службам относится, например, служба изменения пароля. Запрос на изменение пароля не может быть удовлетворен до тех пор, пока клиент не сообщит свой старый пароль — текущий секретный пароль пользователя, — иначе любой пользователь мог бы сменить чужой пароль.
Протокол службы аутентификации по сути никак не идентифицирует пользователя. Для аутентификации пользователя, входящего в локальную систему, идентификационная информация, полученная по протоколу службы аутентификации, сначала может быть использована при обмене с TGS-сервером для получения идентификационной информации локального сервера, о достоверности которой говорит успешное установление соединения между клиентом и локальным сервером.
Протокол службы аутентификации состоит из двух сообщений: KRB_, AS_REQ, отправляемого от клиента серверу Keiberos, и KRB_AS_REP или KRB_ERROR, приходящего в ответ.
Запрос, посылаемый клиентом в открытом текстовом формате, содержит свой собственный идентификатор и идентификатор сервера, для которого необходимо получить идентификационную информацию. Сообщение ответа, KRB_AS_REP, содержит билет, предназначенный для клиента, который необходимо представить серверу, и ключ сеанса, который является общим для клиента и сервера. Ключ сеанса и дополнительная информация зашифровываются с помощью секретного ключа клиента. Сообщение KRB_AS_REP содержит информацию, которая может быть использована для обнаружения отправки заранее перехваченных копий и ассоциирования ее с сообщением, в ответ на которое она была послана. При возникновении ошибок вместо KRB_AS_REP посылается сообщение KRB_ERROR. Сообщение об ошибке не шифруется. Информация сообщения позволяет ассоциировать его с соответствующим запросом, но отсутствие шифрования не позволяет обнаружить факт подмены таких сообщений.
Как правило, сервер аутентификации не знает, является ли клиент, приславший запрос, тем партнером по обмену данными, имя которого указано в запросе. Сервер просто посылает ответ. Его не интересует, кому он передает информацию. Это допускается, поскольку никто, кроме партнера по обмену данными, идентификатор которого указан в запросе, не сможет использовать ответ, т. к. вся информация зашифрована с помощью секретного ключа партнера, пославшего запрос. Первоначальный запрос содержит необязательное поле, которое может служить для передачи дополнительной информации, необходимой при инициировании обмена информацией.
Протокол аутентификации клиента и сервера. Протокол аутентификации клиента и сервера используется сетевыми приложениями для аутентификации клиента на сервере и наоборот. Для успешного выполнения аутентификации клиент должен заранее получить с помощью службы выдачи билетов или TGS информацию идентификации сервера.
Протокол выдачи билетов. Протокол выдачи билетов предназначен для обмена информацией между клиентом и сервером Kerberos, выдающим билеты (TGS). Он инициируется клиентом При необходимости получить информацию идентификации для определенного сервера (который может быть зарегистрирован в удаленном владении). С помощью полученной информации клиент сможет проверить или обновить существующий билет или получить proxy-билет. В первом случае клиент должен заранее получить билет с помощью службы выдачи билетов ТОТ. Обычно такой билет клиент получает при первоначальной аутентификации в системе, например при входе в систему. Формат сообщения протокола выдачи билетов практически совпадает с форматом сообщений протокола службы аутентификации. Основное различие в том, что шифрование и дешифрование информации в протоколе выдачи билетов выполняются без использования ключа клиента. Вместо него используется ключ сеанса, находящийся в билете на получение билета, или ключ субсеанса, находящийся в аутентификаторе. Как в случае серверов приложений, билеты, срок действия которых истек, не принимаются в TGS. Поэтому после того как время работы обновляемого билета или билета на получение билета истекло, клиент должен с использованием специального протокола получить работоспособный билет.
Протокол выдачи билетов состоит из двух сообщений: запрос от клиента к серверу Kerberos, выдающему билеты, — KRB_TGS_REQ — и ответ на этот запрос — KRB_TGS_REP или KRB_ERROR. Сообщение KRB_TGS_REQ несет информацию, аутентифицирующую пользователя, а также запрос на идентификационную информацию. Информация аутентификации содержит заголовок аутентификации (KRB_AP_REQ), включающий предварительно полученный клиентом билет на получение билета, обновляемый или неработоспособный билет. Если передается билет на получение билета, запрос может включать следующую дополнительную информацию: список сетевых адресов, набор типизированных данных авторизации, которые должны быть помещены в билет для дальнейшего использования в процессе авторизации сервером приложения, или дополнительные билеты. Сообщение KRB_TGS_REP содержит запрошенную информацию идентификации, зашифрованную с помощью ключа сеанса, находящегося в билете на получение билета или в обновляемом билете, или с помощью ключа субсеанса, находящегося в аутентификаторе. Сообщение KRB_ERROR содержит код ошибки и текстовое объяснение причины ее возникновения. Это сообщение не шифруется. В сообщении KRB_TGS_REP находится информация, позволяющая обнаружить факт посылки заранее перехваченной копии данных, а также ассоциировать ответ с вызвавшим его запросом. Информация сообщения KRB_ERROR тоже позволяет ассоциировать его с соответствующим запросом, но отсутствие шифрования не позволяет обнаружить факт подмены таких сообщений.
Протокол KRB_SAFE. Сообщение KRB_SAFE используется клиентами при необходимости обнаружения несанкционированной модификации сообщений, которыми они обмениваются. Модификация сообщений обнаруживается с помощью подсчета контрольной суммы данных пользователя и дополнительной контрольной информации. Контрольная сумма шифруется с помощью специального ключа, который выбирается в результате переговоров, или с помощью ключа сеанса.
Протокол KRB_PRIV. При помощи сообщения KRB_PRIV клиенты при необходимости передают чрезвычайно конфиденциальные данные и обнаруживают несанкционированную модификацию сообщений. Это делается с помощью подсчета контрольной суммы данных пользователя и дополнительной контрольной информации.
Протокол KRB_CRED. Сообщение KRB_CRED используется клиентами при необходимости отправки информации идентификации Kerberos от одного хоста другому хосту. Этот протокол предполагает отправку билетов вместе с зашифрованными данными, содержащими ключи сеанса и другую информацию, ассоциированную с билетами.
20. База данных Kerberos
База данных Kerberos
Сервер Kerberos должен иметь доступ к базе данных Kerberos, где хранится информация об идентификаторах партнеров по обмену данными и секретные ключи аутентифицируемых партнеров. Реализация сервера Kerberos не предполагает обязательное расположение сервера и баз данных на одной машине. Существует возможность хранения базы данных партнеров по обмену данными в пространстве имен сети, если записи этой базы защищены от несанкционированного доступа. Однако, с точки зрения целостности и безопасности данных, это не рекомендуется.
21. Аутентификация Kerberos в доменах Windows 2000
Аутентификация Kerberos в доменах Windows 2000
По мере роста и усложнения компьютерных сетей предприятия, построенных на основе Windows NT, становится необходимым применение протокола, обеспечивающего более совершённую и надежную аутентификацию пользователей при доступе к распределённым ресурсам. В операционной системе Windows 2000 для этих целей применяется протокол аутентификации Kerberos версии 5, входящий в систему безопасности доменов Windows 2000, тесно интегрированную с Active Directory. Реализация протокола Kerberos версии 5 в Windows 2000 основана на RFC 1510. Этот документ широко обсуждался и корректировался многими организациями, работающими в области создания и применения защищенных средств передачи информации по компьютерным сетям. Аутентификация Kerberos полностью отвечает требованиям к протоколам подобного назначения и позволяет создать высокопроизводительную и защищенную сеть предприятия. Программное обеспечение Kerberos, созданное Microsoft, поддерживает всех клиентов, удовлетворяющих RFC 1510. Однако полную поддержку сетей Windows 2000 осуществляет только клиент JCerberos, разработанный Microsoft, поскольку версия Kerberos Microsoft обладает рядом расширений.
Протокол Kerberos интегрирован в существующую модель распределенной безопасности Windows 2000. В Windows 2000 используются расширения протокола Kerberos — так же, как и другие архитектуры безопасности, например DCE и SESAME. Протокол Kerberos — один из протоколов безопасности, поддерживаемых Windows 2000. Кроме него эта операционная система поддерживает протоколы NTML для совместимости с предыдущими версиями, SSL и стандарт IETF безопасности транспортного уровня. В качестве механизма безопасности Windows 2000 использует протокол защищенных переговоров (Simple Protected Negotiation, SPNEGO). Для обеспечения безопасности передачи данных на сетевом уровне применяется технология IP Security (IPSec).
22. Модель распределенной безопасности Windows 2000
Модель распределенной безопасности Windows 2000
Модель распределенной безопасности Windows 2000 основана на трех основных концепциях:
|
|
Каждая рабочая станция и сервер имеют прямой доверенный путь (trust path) к контроллеру домена, членом которого является данная машина. Доверенный путь устанавливается службой NetLogon с помощью аутен-тифицйрованного соединения RPC с контроллером домена. Защищенный канал устанавливается и с другими доменами Windows NT с помощью междоменных доверительных отношений. Он используется для проверки информации безопасности, включая идентификаторы безопасности (Security Identifiers, SID) пользователей и групп. |
|
|
Перед выполнением запрошенных клиентом операций сетевые службы имперсонализируют контекст безопасности этого клиента; Имперсонализация основана на маркере адреса безопасности, созданном локальным администратором безопасности (Local Security Authority, LSA). Он представляет собой авторизацию клиента на сервере. Поток, находящийся на сервере и соответствующий данному клиенту, имперсонализирует контекст безопасности клиента, и выполняет операции в соответствии с авторизацией данного клиента, а не в соответствии с идентификатором безопасности сервера. Имперсонализация поддерживается, всеми службами Windows 2000, включая, например” службу удаленного файлового сервера CIFS/SNB. Аутентифицированный RPC и DCOM поддерживают имперсонализацию для распределенных приложений. Серверы семейства BackOffice: Exchange Server, SNA Server и Internet Information Server также поддерживают имперсонализацию. |
|
|
Ядро Windows 2000 поддерживает объектно-ориентированное управление доступом, сравнивая SID в маркере доступа с правами доступа, определенными в списке управления доступом данного объекта. Каждый объект Windows 2000 (ключи реестра, файлы и каталоги NTFS, общие ресурсы, объекты ядра, очереди печати и т. д.) имеют собственные списки управления доступом. Ядро Windows 2000 проверяет разрешения при каждой попытке доступа к данному объекту. Управление доступом и аудит осуществляются с помощью настройки свойств безопасности объекта, позволяющих предоставить пользователю или группе доступ к объекту. Управление авторизацией выполняется централизованно посредством включения пользователей в группы Windows 2000, которым предоставлены необходимые права доступа операционной системе Windows 2000 существуют дополнительные средства обеспечения безопасности — аутентификация клиента с помощью открытого ключа посредством SSL/TLS и протокола Kerberos версии 5, которые интегрированы в систему безопасности. |
23. Интегрированная аутентификация Kerberos
Интегрированная аутентификация Kerberos
В Windows 2000 аутентификация Kerberos реализована на уровне доменов, что позволяет выполнять одну регистрацию в системе при доступе ко всем ресурсам сети и поддерживать модель распределенной безопасности Windows 2000. На любом участке дерева доменов Windows 2000 протокол Kerberos обеспечивает взаимную аутентификацию, ускоренную аутентификацию и транзитное доверие на аутентификацию. Аутентификация Kerberos в Windows 2000 используется для выполнения интерактивной регистрации пользователя в домене. Расширение стандартной аутентификации Kerberos для применения открытого ключа позволяет применять регистрацию в Windows 2000 с помощью смарт-карты. Протокол Kerberos реализован в виде поставщика безопасности, доступ к которому осуществляется с применением интерфейса поддержки поставщика безопасности (Security Support Provider Interface, SSPI).
Поставщик безопасности Kerberos используется клиентом и сервером 8MB (Server Message Block). Он также доступен для DCOM, авторизованного RPC и любого протокола, использующего SSPI для обеспечения безопасности информации, передаваемой по сети. SSPI — это интерфейс безопасности Win32, который существует в составе Windows NT, начиная с версии 3.5. Он также поддерживается в Windows 95/98. В SSPI применяются те же архитектурные концепции, что и в наборе программных вызовов общих служб безопасности (Generic Security Services API, GSS-API), соответствующих RFC 1964; SSPI позволяет освободить приложения от непосредственного взаимодействия с протоколами сетевой безопасности.
В Windows 2000 реализован Центр распространения ключей Kerberos (Kerberos Key Distribution Center, KDC). На каждом контроллере домена Windows 2000 помимо службы Active Directory имеется служба KDC, выполняющаяся вместе с Active Directory как процесс в привилегированном режиме. Оба процесса осуществляют управление жизненно важной информацией, включая пароли учетных записей пользователей. Active Directory выполняет автоматическую репликацию служебной информации на всех контроллерах домена. Поэтому создавать новые учетные записи пользователей, настраивать членство пользователей в группах или переустанавливать пароли можно на любом контроллере домена. Это означает, что в отличие от Windows NT 4.0, где изменить административную информацию можно было только на Главном контроллере домена (Primary Domain Controller, PDC) с последующим обновлением доступных только для чтения реплик на Резервных контроллерах домена (Backup Domain Controller, BDC), в Windows 2000 можно изменять любую реплику Active Directory, хранящуюся на некотором контроллере домена.
Клиенты и серверы используют протокол Kerberos для взаимной аутентификации. Запрос Kerberos содержит билет сеанса и аутентификатор, получаемый в KDC и позволяющий исключить возможность подмены билета сеанса. Поставщик безопасности Kerberos на стороне клиента интегрируется с локальным администратором безопасности), поддерживающим локальный кэш билетов. При инициализации клиентом контекста безопасности, поставщик безопасности Kerberos считывает билет сеанса, соответствующий целевой службе, или запрашивает новый билет сеанса в KDC. Сообщение запроса Kerberos, созданного поставщиком безопасности Kerberos, соответствует форматам маркера механизма GSS KerbS, описанным в RFC 1964. Клиенты могут аутентифицироваться для любой службы домена или доверенного владения, поддерживающего механизм GSS. Поставщик безопасности Kerberos может воспринять запрос Kerberos, который сгенерирован любым клиентом, поддерживающим форматы маркера в стандарте GSS, RFC 1964.
Такой уровень взаимодействия позволяет осуществлять поддержку традиционной аутентификации Kerberos, основанной на именах, в многоплатформных средах. Для имперсонализации и управления доступом в рамках модели распределенной безопасности Windows 2000 службам Windows 2000 достаточно данных авторизации, находящихся в билете сеанса.
24. Протокол Kerberos и авторизация Windows 2000
Протокол Kerberos и авторизация Windows 2000
Имперсонализация Windows 2000 требует, чтобы локальный администратор безопасности (LSA) сервера мог безопасно получать SID пользователя и список идентификаторов безопасности членов групп. Идентификаторы безопасности генерируются системой безопасности домена и используются в LSA при создании маркеров доступа для имперсонализации. После создания соединения связанный с ним поток имперсонализирует зарегистрировавшегося пользователя, после чего Windows 2000 сравнивает маркер доступа клиента с ACL объекта, к которому пользователь пытается получить доступ. При аутентификации NTLM идентификаторы безопасности пользователя и группы передаются с помощью защищенного канала NetLogon прямо с контроллера домена или любого доверенного домена. При использовании протокола Kerberos идентификаторы безопасности пользователей и групп передаются в составе данных авторизации билета сеанса Kerberos.
Данные авторизации, находящиеся в билете Kerberos, полученном из KDC, содержат список идентификаторов безопасности пользователей и идентификаторов, определяющих членство в группах. Локальному администратору безопасности данные авторизации нужны для поддержки имперсонализации поставщика безопасности Kerberos.
Протокол Kerberos позволяет обращаться к данным авторизации билета Keiberos, которые определяются приложением. Они полностью соответствуют RFC 1510. Кроме того, их структура преобразована для уменьшения проблем, возникающих при совместной работе с другими операционными системами.
При первоначальной регистрации пользователя в домене КОС помещает в ТОТ данные авторизации, включающие идентификаторы безопасности пользователей или групп домена учетных записей (account domain). Членство в группах также определяется при первоначальной регистрации. После этого КОС копирует данные авторизации из ТОТ в билеты сеанса, применяемые для аутентификации серверов приложений. В сети с несколькими доменами КОС, управляющий запросами на получение билетов сеанса, может добавлять в данные авторизации дополнительные группы целевого домена, к которым может принадлежать пользователь.
По мере развития ОС Windows 2000 формат данных авторизации может изменяться. Но в любом случае эти данные будут содержать список идентификаторов безопасности, предназначенных для поддержки аутентификации Kerberos в многоплатформных системах, а также подпись, обеспечивающую целостность данных и устанавливаемую КОС.
25. Применение Kerberos в сетях Windows 2000
Применение Kerberos в сетях Windows 2000
Аутентификация Kerberos используется многими службами домена Windows 2000. SSPI применяется для аутентификации в большинстве системных служб, поэтому их перевод с аутентификации NTLM на Kerberos требует минимальных усилий. Более сложные изменения необходимы на сервере 8MB, который не использовал SSPI до версии Windows 2000. Многие новые распределенные службы Windows 2000 уже используют аутентификацию Kerberos. Примеры областей применения аутентификации Kerberos в Windows 2000:
|
|
Аутентификация в Active Directory с применением LDAP для запросов или управления каталогом |
|
|
Протокол удаленного доступа к файлам CIFS/SMB |
|
|
Управление распределенной файловой системой DFS |
|
|
Защищенное обновление адресов DNS |
|
|
Служба печати |
|
|
Необязательная взаимная аутентификация IPSec-хостов в ISAKMP/Oakley |
|
|
Запросы резервирования для службы качества обслуживания (Quality of Service) |
|
|
Аутентификация интрасети в Internet Information Services |
|
|
Аутентификация запросов сертификата открытого ключа, приходящих от пользователей и компьютеров домена, в Microsoft Certificate Service |
|
|
Удаленное управление сервером или рабочей станцией с помощью аутентифицированного RPC и DCOM |
Это первый шаг к основной цели, поставленной в Windows 2000, — полному исключению аутентификации NTLM в компьютерных сетях, основанных на этой операционной системе.
26. Совместная работа средств обеспечения безопасности сети
Совместная работа средств обеспечения безопасности сети
Домены Windows 2000 должны иметь возможность одновременно поддерживать клиентские компьютеры .и серверы, на которых работает программное обеспечение Windows NT 3.*—4,0, Windows 95/98, а, также Windows 2000 Professional/Server. Для этого в Windows 2000 остается поддержка аутентификации NTLM, обеспечивающей совместимость с операционными системами более ранних версий (однако, обновленный клиент имеется только Для систем Windows NT 4.0). Кроме того, в состав Windows 2000 входит обновленная версия (client extension) клиента распределенных систем (Distributed Systems Client) для Windows 9x. Эта версия реализует, в частности, некоторые преимущества от использования Active Directory и поддерживает расширенные возможности аутентификации по протоколу NTLM v.2; протокол Kerberos не поддерживается.
Совместная работа протокола Kerberos с ОС UNIX тестируется с помощью MIT КегЬ5 1.0 и дополнительных пакетов обновления. Компания CyberSafe и другие производители программного обеспечения, работающего с протоколом Kerberos, проводят независимое тестирование взаимодействия ОС UNIX и Windows 2000 с помощью протокола Keiberos; Основная цель такого взаимодействия — позволить клиентам, использующим SSPI и GSS-APIна UNIX, аутентифицироваться в серверах приложений Windows 2000,х поддерживающих Kerberos. Эта возможность зависит, в основном, от поддержки имен Windows 2000 службами Kerberos, а не от самого протокола.
27. Взаимодействие Windows 2000 КDС и UNIX
Взаимодействие Windows 2000 КDС и UNIX
Часто возникает вопрос: как Windows 2000 будет работать с существующими серверами Kerberos, функционирующими в ОС UNIX? Windows 2000 взаимодействует с КОС, работающими на MIT Kerberos, двумя способами:
|
|
Компьютер с Windows 2000 может быть настроен на применение UNIX КОС. Пользователи могут входить в систему с помощью учетной записи, определенной в UNIX КОС, точно так же, как это делают станции UNIX, Любое приложение Windows 2000 или UNIX, требующее только аутентификации, основанной на имени, может использовать UNIX КОС в качестве сервера Kerberos. Например, сервер баз данных, имеющий собственную таблицу авторизации на доступ к базе, может аутентифицировать клиента Windows 2000 с помощью билетов Kerberos, полученных у UNIX KDC. Поскольку сервер баз данных не использует средства управления доступом Windows 2000, он может работать в среде Windows 2000 без применения имперсонализации. Для приема билетов сеанса, выдаваемых UNIX KDC, и запроса контекста безопасности для определенного имени клиента сервер вызывает поставщика безопасности Kerberos. Билеты, выданные UNIX KDC, могут быть использованы при взаимной аутентификации и защите сообщений. Однако без данных авторизации контекст безопасности не может быть использован для имперсонализации. |
|
|
Windows 2000 может взаимодействовать с MIT Kerberos посредством доверия, установленного между владением UNIX и доменом Windows 2000. Это наилучший способ поддержки служб Windows 2000, использующих имперсонализацию и средства управления доступом. Доверие, установленное между владениями, очень похоже на широко применяемую модель нескольких доменов Windows NT 4.0, которые делятся на домены учетных записей и домены ресурса”. В этом случае KDC выполняет роль домена учетных записей, а службы, работающие в среде Windows 2000, находятся в домене ресурсов. Windows 2000 KDC — это сервер авторизации для служб Windows 2000. Данные авторизации Windows 2000 добавляются в KDC к билетам сеанса, предназначенным для серверов домена Windows 2000. Данные авторизации хранят соответствие между именами партнеров по обмену данными владения UNIX и теневыми (proxy) учетными записями; при этом учитывается принадлежность учетных записей к группам, информация о которых хранится в Active Directory. Эти учетные записи могут быть синхронизированы с помощью LDAP. |
Может ли UNIX KDC быть сервером авторизации для служб Windows 2000? Модель распределенной безопасности Windows 2000 зависит не только от списка идентификаторов безопасности, хранящихся в данных авторизации билетов Kerberos. Например, Редактору ACL, используемому для управления безопасностью файлов, расположенных в NTFS, требуется для работы сервер домена, предназначенный для поиска соответствия имени и SID, в процессе которого посредством защищенного канала NetLogon выполняется RFC-вызов к контроллеру домена. Без трансляции идентификаторов, выполняемой интерфейсом RPC, Редактор ACL отображает права доступа к файлам NTFS для учетной записи, имя которой неизвестно (account unknown), поскольку идентификатор безопасности не может быть распознан.
Интерфейс пользователя должен позволять выбирать учетные записи, которым следует предоставить права доступа. Эта функция позволит администратору выбрать пользователя или группу из списка, являющегося результатом запроса LDAP к Active Directory. В нем установлены все соответствия между именами учетных записей и их идентификаторами безопасности.
Для успешной работы UNIX KDC в качестве сервера авторизации служб Windows 2000 необходимо, чтобы KDC обеспечивал поддержку имен NetBIOS. Пользователи Windows NT хорошо знакомы с именами компьютеров для NetBIOS. Кроме того, приложения должны иметь возможность аутентифицироваться в серверах с помощью имен типа \\project1\projectshare. Наконец, поставщик безопасности Kerberos проверяет данные авторизации, находящиеся в билетах Kerberos и присланные не обладающими доверием приложениями, с помощью RPC к контроллеру домена. Защищенный RPC используется, чтобы проверить подпись KDC для предотвращения несанкционированного использования привилегий членства в группах.
Замена контроллера домена на UNIX KDC потребует от MIT Kerberos возможности выполнения дополнительных функций, связанных с поддержкой защищенного канала NetLogon, аутентифицированного RPC, имен NetBIOS и протокола LDAP.
На данный момент компания Microsoft интенсивно работает над созданием сетевой системы безопасности, обладающей возможностью работы на различных платформах и основанной на протоколах, являющихся отраслевыми стандартами, например SSL, TLS, ISAKMP/Oakley и Kerberos версии 5. Следует отметить, что возможности взаимодействия со средствами обеспечения безопасности, работающими на других платформах, демонстрируемые Windows 2000, открывают новые перспективы построения защищенных распределенных компьютерных систем на базе гетерогенных сетей предприятий. Управление инфраструктурой системы безопасности сети предприятия требует целого набора протоколов, позволяющих поддерживать модель распределенной безопасности. Важнейшими элементами инфраструктуры распределенных систем на основе Windows 2000 являются аутентификация с использованием Active Directory и протокол Kerberos 5.
28. Шифрующая файловая система EFS
Шифрующая файловая система EPS
На персональном компьютере операционную систему можно загрузить не с жесткого, а с гибкого диска. Это позволяет обойти проблемы, связанные с отказом жесткого диска и разрушением загрузочных разделов. Однако, поскольку с помощью гибкого диска можно загружать различные операционные системы, любой пользователь, получивший физический доступ к компьютеру, может обойти встроенную систему управления доступом файловой системы Windows 2000 (NTFS) и с помощью определенных инструментов прочесть информацию жесткого диска. Многие конфигурации оборудования позволяют применять пароли, регулирующие доступ при загрузке. Однако такие средства не имеют широкого распространения. Кроме того, если на компьютере работает несколько пользователей, подобный подход не дает хороших результатов, да и сама защита с помощью пароля недостаточно надежна. Вот типичные примеры несанкционированного доступа к данным:
|
|
Хищение переносного компьютера. Любой злоумышленник может похитить переносной компьютер, а затем получить доступ к конфиденциальной информации, находящейся на его жестком диске. |
|
|
Неограниченный доступ. Компьютер оставлен в рабочем состоянии, и за ним никто не наблюдает. Любой пользователь может подойти к такому компьютеру и получить доступ к конфиденциальной информации. |
|
|
Основной целью создания системы безопасности является защита конфиденциальной информации, которая обычно находится в незащищенных файлах на жестком диске, от несанкционированного доступа. Доступ к данным можно ограничить с помощью средств NTFS. Такой подход обеспечивает хорошую степень защиты, если единственной загружаемой операционной системой является Windows 2000, жесткий диск не может быть физически удален из компьютера, и данные находятся в разделе NTFS. Если кто-либо захочет получить доступ к данным, он может осуществить свое желание, получив физический доступ к компьютеру или жесткому диску. Существуют инструменты, позволяющие получить доступ к файлам, находящимся в разделе NTFS, из операционных систем MS-DOS или UNIX в обход системы безопасности NTFS. |
Из приведенных выше соображений следует вывод: единственный надежный способ защиты информации — это шифрующая файловая система. На рынке программного обеспечения существует целый набор продуктов, обеспечивающих шифрование данных с помощью образованного от пароля ключа на уровне приложений. Однако такой подход имеет ряд ограничений:
|
|
Ручное шифрование и дешифрование. Службы шифрования большинства продуктов непрозрачны для пользователей. Пользователю приходится расшифровывать файл перед каждым его использованием, а затем опять зашифровывать. Если пользователь забывает зашифровать файл после окончания работы с ним, информация остается незащищенной. Поскольку каждый раз необходимо указывать, какой файл должен быть зашифрован (и расшифрован), применение такого метода защиты информации сильно затруднено. |
|
|
Утечка информации из временных файлов и файлов подкачки. Практически все приложения в процессе редактирования документов создают временные файлы. Они остаются на диске незашифрованными, несмотря на то что оригинальный файл зашифрован. Кроме того, шифрование информации на уровне приложений выполняется в режиме пользователя Windows 2000. Это значит, что ключ, применяемый для такого типа шифрования, может храниться в файле подкачки. В результате, с помощью изучения данных файла подкачки можно получить ключ и расшифровать все документы пользователя. |
|
|
Слабая криптоствйкость ключей. Ключи образуются от паролей или случайных фраз. Поэтому в случае, если пароль был легко запоминаемым, атаки с помощью словарей могут легко привести к взлому системы защиты. |
Все перечисленные выше проблемы позволяет решить шифрующая файловая система (Encrypting File System, EPS), реализованная в Windows 2000 и работающая только на NTFS 5.O. В следующих разделах подробно описаны технология шифрования, место шифрования в операционной системе, взаимодействие с пользователями и способ восстановления данных.
29. Архитектура EFS
Архитектура EFS
EFS содержит следующие компоненты операционной системы Windows 2000 (рис. 26.3):
| Драйвер 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 выполняется так, чтобы он мог быть установлен в контексте открытого файла. Затем контекст файла используется для автоматического выполнения операций шифрования и дешифрования при записи и чтении информации файла. |
|
|
Рис 26.3. Архитектура EFS |
| Служба EFS. Служба EFS (EFS Service) является частью системы безопасности операционной системы. Для обмена данными с драйвером EFS она использует порт связи LPC, существующий между локальным администратором безопасности (Local Security Authority, LSA) и монитором безопасности, работающим в привилегированном режиме. В режиме пользователя для создания ключей шифрования файлов и генерирования данных для DDF и DRF служба EFS использует CryptoAPI. Она также поддерживает набор API для Win32. | |
| Набор API для Win32. Этот набор интерфейсов прикладного программирования позволяет выполнять шифрование файлов, дешифрование и восстановление зашифрованных файлов, а также их импорт и экспорт (без предварительного дешифрования). Эти API поддерживаются стандартным системным модулем DLL — advapi32.dll. |
26.3.gif
Изображение:
30. Технологии шифрования EFS
Технологии шифрования EFS
EFS основана на шифровании с открытым ключом и использует все возможности архитектуры CryptoAPI в Windows 2000. Каждый файл шифруется с помощью случайно сгенерированного ключа, зависящего от пары открытого (public) и личного, закрытого (private) ключей пользователя. Подобный подход в значительной степени затрудняет осуществление большого набора атак, основанных на криптоанализе. При криптозащите файлов может быть применен любой алгоритм симметричного шифрования. Текущая версия EFS использует алгоритм DESX (расширенный DES) с длиной ключа 56 бит. EFS позволяет осуществлять шифрование и дешифрование файлов, находящихся на удаленных файловых серверах.
|
Примечание |
|
31. Принципы шифрования
Принципы шифрования
В EFS для шифрования и дешифрования информации используются открытые ключи. Данные зашифровываются с помощью симметричного алгоритма с применением ключа шифрования файла (File Encryption Key, FEK). FEK — это сгенерированный случайным образом ключ, имеющий определенную длину.
В свою очередь, FEK шифруется с помощью одного или нескольких открытых ключей, предназначенных для криптозащиты ключа. В этом случае создается список зашифрованных ключей FEK, что позволяет организовать доступ к файлу со стороны нескольких пользователей. Для шифрования набора FEK используется открытая часть пары ключей каждого пользователя. Список зашифрованных ключей FEK хранится вместе с зашифрованным файлом в специальном атрибуте EFS, называемом полем дешифрования данных (Data Decryption Field, DDF). Информация, требуемая для дешифрования, привязывается к самому файлу. Секретная часть ключа пользователя используется при дешифровании FEK. Она хранится в безопасном месте, например на смарт-карте или другом устройстве, обладающем высокой степенью защищенности.
|
Примечание |
|
FEK применяется для создания ключей восстановления. Для этого FEK шифруется с помощью одного или нескольких открытых ключей восстановления. Список РЕК, зашифрованных для целей восстановления, хранится вместе с зашифрованным файлом в специальном атрибуте EFS, называемом полем восстановления данных (Data Recovery Field, DRF). Благодаря существованию набора зашифрованных FEK файл может восстановить несколько агентов восстановления данных (см. ниже). Для шифрования РЕК в DRF
необходима только общая часть пары ключей восстановления, ее присутствие в системе необходимо в любой момент времени для нормального функционирования файловой системы. Сама процедура восстановления выполняется довольно редко, когда пользователь увольняется из организации или забывает секретную часть ключа. Поэтому агенты восстановления могут хранить секретную часть ключей восстановления в безопасном месте, например на смарт-картах или других хорошо защищенных устройствах.
32. Операция шифрования
Операция шифрования
Шифрование данных производится в следующем порядке:
| 1. | Незашифрованный файл пользователя шифруется с помощью сгенерированного случайным образом ключа шифрования файла, РЕК. |
| 2. | РЕК шифруется с помощью открытой части пары ключей пользователя и помещается в поле дешифрования данных, DDF. |
| 3. | РЕК шифруется с помощью открытой части ключа восстановления и помещается в поле восстановления данных, DRF. |
33. Операция дешифрования
Операция дешифрования
Дешифрование данных производится следующим образом:
| 1. | Из DDF извлекается зашифрованный РЕК и дешифруется с помощью секретной части ключа пользователя. |
| 2. | Зашифрованный файл пользователя дешифруется с помощью РЕК, полученного на предыдущем этапе. |
При работе с большими файлами дешифруются только отдельные блоки, что значительно ускоряет выполнение операций чтения.
34. Процесс восстановления файла после утраты секретной части ключа
Процесс восстановления файла после утраты секретной части ключа
Для восстановления данных выполняются следующие операции:
| 1. | Из DDF извлекается зашифрованный РЕК и дешифруется с помощью секретной части ключа восстановления. |
| 2. | Зашифрованный файл пользователя дешифруется с помощью РЕК, полученного на предыдущем этапе. |
Описанная выше общая система криптозащиты позволяет применять максимально надежную технологию шифрования и дает возможность многим пользователям и агентам восстановления получать общий доступ к зашифрованным файлам. Она полностью независима от применяемого алгоритма шифрования, что очень важно, поскольку позволит в будущем легко перейти на новые, более эффективные алгоритмы.
35. Место EFS в Windows 2000
Место EFS в Windows 2000
EPS тесно взаимодействует с NTFS 5.0. Временные файлы, создаваемые приложениями, наследуют атрибуты оригинальных файлов (если файлы находятся в разделе NTFS). Вместе с файлом шифруются также и его временные копии. EPS находится в ядре Windows 2000 и использует для хранения ключей специальный пул, не выгружаемый на жесткий диск. Поэтому ключи никогда не попадают в файл подкачки.
Конфигурация EFS, устанавливаемая по умолчанию, позволяет пользователю шифровать свои файлы без всякого вмешательства со стороны администратора. В этом случае EFS автоматически генерирует для пользователя пару ключей (открытый и личный), применяемую для криптозащиты данных. Шифрование и дешифрование файлов может быть выполнено как для определенных файлов, так и для целого каталога. Криптозащита каталога прозрачна для пользователя. При шифровании каталога автоматически шифруются и все входящие в него файлы и подкаталоги. Каждый файл обладает уникальным ключом, позволяющим легко выполнять операцию переименования. Если вы переименовываете файл, находящийся в зашифрованном каталоге, и переносите его в незашифрованный каталог, сам файл остается зашифрованным (при условии, что целевой каталог находится на томе NTFS 5.0). Средства шифрования и дешифрования доступны через Проводник. Кроме того, можно использовать все возможности криптозащиты данных с помощью набора утилит командной строки и интерфейсов администрирования.
EFS исключает необходимость предварительного расшифровывания данных при доступе к ним. Операции шифрования и Дешифрования выполняются автоматически при записи или считывании информации. EFS автоматически распознает зашифрованный файл и найдет соответствующий ключ пользователя в системном хранилище ключей. Поскольку механизм хранения ключей основан на использовании CryptoAPI, пользователи получают возможность хранить ключи на защищенных устройствах, например, смарт-картах. Если зашифрованные файлы хранятся на общих ресурсах, то для работы с ними пользователи должны иметь сертификат и личный ключ того, кто установил шифрование этих файлов. Впоследствии каждый пользователь может при необходимости независимо расшифровать файл при помощи своего личного ключа.
|
Предупреждение |
|
| Напомним, что каталоги и файлы можно шифровать только на томах NTFS. |
36. Работа с EFS
Работа с EFS
Управление сертификатами пользователей
Пользователи могут запрашивать, экспортировать, импортировать сертификаты, служащие в EFS для идентификации пользователей, а также управлять ими. Эта возможность предназначена для опытных пользователей, которые хотят иметь средство управления собственными сертификатами. Обычно пользователям не приходится самостоятельно управлять сертификатами, поскольку EFS автоматически генерирует для них пару ключей при первом обращении к ней — т. е. при попытке зашифровать файл или каталог (при этом открытый ключ сертифицируется в центре сертификации, а если таковой недоступен, то EFS сама подписывает открытый ключ).
|
Примечание |
|
Управление сертификатами, их импорт и экспорт осуществляется с помощью контекстных меню оснастки Сертификаты (Certificates) (см. ниже раздел «Сертификаты» и рис. 26.13). Пользователи имеют возможность управлять только своими собственными сертификатами.
|
Предупреждение |
|
37. Утилита cipher
Утилита cipher
Эта утилита командной строки позволяет шифровать и дешифровать файлы. Ниже приведен ее синтаксис, описание ключей дано в табл. 26.1.
cipher [/Е | D] [t/S:каталог] [/A] [/I] [/F] [/Q] [/Н] [/К] [путь […]]
Таблица 26.1. Ключи утилиты cipher
| Ключ | Описание |
| /Е | Шифрует указанные в качестве параметра путь файлы. Каталоги помечаются как зашифрованные, все файлы, которые будут помещены в них впоследствии, шифруются автоматически |
| /D | Дешифрует все указанные после ключа файлы. Каталоги помечаются как незашифрованные — все файлы, которые будут помещены в них впоследствии, шифроваться не будут |
| /S | Выполняет заданную операцию с каталогом каталог и всеми его подкаталогами, файлы при этом не обрабатываются |
| /А | Выполняет определенную ключом операцию как для каталогов, так и для отдельных файлов |
| /I | Продолжает выполнение указанной операции даже после возникновения ошибочной ситуации. По умолчанию при появлении ошибки программа cipher останавливается |
| /F | Осуществляет принудительное шифрование всех файлов, указанных после ключа, даже если они уже зашифрованы. По умолчанию уже зашифрованные файлы не подвергаются вторичному шифрованию |
| /Q | Выдает только краткую информацию |
| /Н | Отображает файлы, для которых установлены атрибуты скрытый (Hidden) и системный (System) |
| /К | Создает новый ключ шифрования файлов для пользователя, запустившего команду; при этом все другие ключи команды игнорируются |
Параметр путь может быть маской, файлом или каталогом. Команда cipher без параметров выдает информацию о том, зашифрован ли данный каталог или файлы, находящиеся в нем. Если параметр путь присутствует, то имен файлов может быть несколько. Между собой параметры должны быть разделены пробелом.
Для того чтобы зашифровать каталог Мои документы, введите команду:
c:\cipher /Е «Мои документы»
Для того чтобы зашифровать все файлы с расширением doc, введите команду:
c:\cipher /В /A *.doc
38. Шифрование файлов и каталогов
Шифрование файлов и каталогов
Поскольку шифрование и дешифрование выполняется автоматически, пользователь может работать с файлом так же, как и до установки его криптозащиты. Например, можно так же открыть текстовый процессор Word, загрузить документ и отредактировать его, как и прежде. Все остальные пользователи, которые попытаются получить доступ к зашифрованному файлу, получат сообщение об ошибке доступа, поскольку они не владеют необходимым личным ключом, позволяющим им расшифровать файл.
Следует отметить, что пользователи (в данном случае администраторы) не должны шифровать файлы, находящиеся в системном каталоге, поскольку они необходимы для загрузки системы, в процессе которой ключи пользователя недоступны. Это сделает невозможным дешифрование загрузочных файлов, и система потеряет работоспособность. Проводник предотвращает возможность возникновения такой ситуации, не позволяя шифровать файлы с атрибутом системный.
Шифрование информации задается в окне свойств файла или папки:
| 1. | Укажите файл или папку, которую требуется зашифровать, нажмите правую кнопку мыши и выберите в контекстном меню команду Свойства (Properties). |
| 2. | В появившемся окне свойств на вкладке Общие (General) нажмите кнопку Другие (Advanced). Появится окно диалога Дополнительные атрибуты (Advanced Attributes) (рис. 26.4). |
| 3. | В группе Атрибуты сжатия и шифрования (Compress or Encrypt attributes) установите флажок Шифровать содержимое для зашиты данных (Encrypt contents to secure data) и нажмите кнопку ОК. |
| 4. | Нажмите кнопку ОК в окне свойств зашифровываемого файла или папки. В появившемся окне диалога укажите режим шифрования. |
|
Рис 26.4. Окно диалога Дополнительные атрибуты Advanced Attributes) |
При шифровании папки можно указать следующие режимы применения нового атрибута:
| Только к этой панке (Apply changes to this folder) | |
| К этой папке и всем вложенным папкам и файлам (Apply changes to this folder, subfolders and files) |
26.4.gif
Изображение:
39. Дешифрование файлов и каталогов
Дешифрование файлов и каталогов
| 1. | Чтобы дешифровать файл или папку, на вкладке Общие окна свойств соответствующего объекта нажмите кнопку Другие. |
| 2. | В открывшемся окне диалога в группе Атрибуты сжатия и шифрования сбросьте флажок Шифровать содержимое для защиты данных. |
40. Копирование, перемещение, переименование и уничтожение зашифрованных файлов и папок
Копирование, перемещение, переименование и уничтожение зашифрованных файлов и папок
Операции копирования, перемещения, переименования и уничтожения зашифрованных файлов и папок выполняются точно так же, как и с незашифрованными объектами. Однако следует помнить, что пункт назначения зашифрованной информации должен поддерживать шифрование (должен иметь файловую систему NTFS 5.0). В противном случае при копировании данные будут расшифрованы, и копия будет содержать открытую информацию.
41. Архивация зашифрованных файлов
Архивация зашифрованных файлов
Резервную копию зашифрованного файла можно создать с помощью простого копирования его на другой жесткий диск или с использованием утилиты архивации. Однако, как сказано в предыдущем разделе, простое копирование, например, на дискету или оптический диск может привести к тому, что резервная копия будет содержать открытые данные. То есть, если скопировать зашифрованный файл на раздел FAT или на дискету, копия будет не зашифрована и, следовательно, доступна для чтения любому пользователю. Специализированная операция архивации не требует для ее выполнения доступа к открытым ключам пользователя — только к архивируемой информации. Поэтому для обеспечения безопасности конфиденциальных данных при создании резервных копий рекомендуется применять специальные утилиты архивации. В Windows 2000 для этих целей предназначена стандартная утилита архивации данных NTBackup (см. главу 8).
В процессе архивации зашифрованные данные будут скопированы на указанный носитель без дешифрования. Целевой носитель может не поддерживать NTFS 5.O. Например, резервная копия зашифрованных файлов может быть создана на гибком диске.
42. Восстановление зашифрованных файлов на другом компьютере
Восстановление зашифрованных файлов на другом компьютере
Часто возникает необходимость восстановить зашифрованную информацию не на том компьютере, на котором она была заархивирована. Это можно выполнить с помощью утилиты архивации. Однако необходимо позаботиться о переносе на новый компьютер соответствующего сертификата и личного ключа пользователя с помощью перемещаемого профиля либо вручную.
На любом компьютере, где зарегистрировался пользователь, обладающий перемещаемым профилем, будут применяться одни и те же ключи шифрования.
Ручной перенос личного ключа и сертификата выполняется в два этапа: сначала следует создать резервную копию сертификата и личного ключа, а затем восстановить созданную копию на другом компьютере. Создание резервной копии сертификата состоит из следующих шагов:
| 1. | Запустите оснастку Сертификаты. |
| 2. | В левом подокне оснастки Сертификаты откройте папку Личные (Personal), а затем папку Сертификаты. В правом подокне появится список ваших сертификатов. |
| 3. | Укажите переносимый сертификат и щелкните правой кнопкой мыши. В появившемся контекстном меню выберите команду Все задачи (All Tasks). В ее подменю выберите команду Экспорт (Export). Запустится Мастер экспорта сертификатов (Certificate Export Wizard). |
| 4. | Нажмите кнопку Далее. |
| 5. | В следующем окне мастера выберите опцию Да, экспортировать закрытый ключ (Yes, export the private key). Затем нажмите кнопку Далее. |
| 6. | В следующем окне мастера доступен только один формат (PFX), предназначенный для персонального обмена информацией. Нажмите кнопку Далее. |
| 7. | В следующих окнах сообщите пароль, защищающий данные файла *.pfx, а также путь сохранения файла *.pfx; затем нажмите кнопку Далее. |
| 8. | Отобразится список экспортируемых сертификатов и ключей. Нажмите кнопку Готово. |
| 9. | Завершите работу мастера экспорта нажатием кнопки ОК в окне диалога, сообщающем об успешном выполнении процедуры экспорта. |
В результате сертификат и секретный ключ будут экспортированы в файл с расширением pfx, который может быть скопирован на гибкий диск и перенесен на другой компьютер.
Для восстановления сертификата из резервной копии:
| 1. | Перенесите созданный на предыдущем этапе файл с расширением pfx на компьютер, где вы планируете восстанавливать зашифрованные данные. |
| 2. | Запустите оснастку Сертификаты. |
| 3. | В окне структуры оснастки Сертификаты откройте папку Личные, затем папку Сертификаты. В правом подокне появится список ваших сертификатов. |
| 4. | Щелкните правой кнопкой мыши на пустом месте правого подокна. В появившемся контекстном меню выберите команду Все задачи. В ее подменю выберите команду Импорт (Import). Запустится Мастер импорта сертификатов (Certificate Import Wizard). |
| 5. | Следуйте указаниям мастера — укажите местоположение файла с расширением pfx и сообщите пароль защиты данного файла. Восстановление данных из резервной копии должно быть выполнено в папку Личные. |
| 6. | Для начала операции импорта нажмите кнопки Готово и ОК. После завершения процедуры импорта нажмите кнопку ОК и закройте окно мастера импорта. |
В результате текущий пользователь получит возможность работать с зашифрованными данными на этом компьютере.
|
Примечание |
|
43. Восстановление данных, зашифрованных с помощью неизвестного личного ключа
Восстановление данных, зашифрованных с помощью неизвестного личного ключа
EFS располагает встроенными средствами восстановления зашифрованных данных в условиях, когда Неизвестен личный ключ пользователя. Необходимость подобной операции может возникнуть в следующих случаях:
|
|
Пользователь был уволен из компании и ушел, не сообщив свой пароль. Работа с зашифрованными файлами такого пользователя невозможна. |
|
|
Пользователь утратил свой личный ключ. |
|
|
Органы государственной безопасности направили запрос на получение доступа к зашифрованным данным пользователя. |
Windows 2000 позволяет создать необходимые ключи для восстановления зашифрованных данных в описанных ситуациях. Пользователи, которые могут восстанавливать зашифрованные данные в условиях утраты личного ключа, называются агентами восстановления данных. Агенты восстановления данных обладают сертификатом (Х509 version 3) на восстановление файлов и личным ключом, с помощью которых выполняется операция восстановления зашифрованных файлов. Используя ключ восстановления, можно получить только сгенерированный случайным образом ключ, с помощью которого был зашифрован конкретный файл. Поэтому агенту восстановления не может случайно стать доступной другая конфиденциальная информация. Средство восстановления данных предназначено для применения в разнообразных конфигурациях вычислительных сред. Параметры процедуры восстановления зашифрованных данных в условиях утраты личного ключа задаются политикой восстановления. Она представляет собой одну из политик открытого ключа. При установке Windows 2000 Server политика восстановления автоматически создается на первом контроллере домена. Администратор домена одновременно является и агентом восстановления. Могут быть добавлены и другие агенты. Это делается с помощью оснастки Групповая политика (Group Policy), в которой нужно раскрыть узел Конфигурация компьютера | Конфигурация Windows | Параметры безопасности | Политики открытого ключа | Агенты восстановления шифрованных данных (Computer Settings | Security Settings I Public Key Policies | Encrypted Data Recovery Agents) и выполнить в контекстном меню команду Добавить (Add) или Создать (Сгеа1е)(в первом случае выбирается пользователь с имеющимся сертификатом агента восстановления, во втором — запрашивается и устанавливается новый сертификат для текущей учетной записи). Политика восстановления существует и на одиночном компьютере. В этом случае агентом восстановления автоматически становится администратор компьютера.
|
Примечание |
|
Политика восстановления, применяемая по умолчанию, создается на каждом компьютере при инсталляции системы. Если компьютер подключается к сети, для него политика восстановления может быть определена также на уровне его домена или подразделения, причем она должна быть установлена до того, как начнет применяться шифрование, и имеет приоритет над политиками восстановления, задаваемыми локальными администраторами.
Существует три «типа» политик восстановления:
|
|
Политика агентов восстановления. Когда администратор добавляет одного или нескольких агентов восстановления, начинает действовать политика агентов восстановления. Это наиболее широко используемый тип политики. |
|
|
Пустая политика восстановления (empty policy). Когда администратор уничтожает всех агентов восстановления и их сертификаты открытых ключей, начинает действовать пустая политика восстановления. Это значит, что не существует ни одного агента восстановления, и в пределах области действия данной политики пользователи не могут шифровать свои данные. Применение пустой политики восстановления эквивалентно отключению работы EFS. |
|
|
Отсутствие политики восстановления (no policy). Когда администратор удаляет групповую политику восстановления, для восстановления зашифрованных данных в условиях утраты личного ключа используются локальные политики восстановления, существующие на каждом компьютере, и процессом восстановления управляет локальный администратор компьютера. |
Настройка параметров политики восстановления выполняется с помощью оснастки Групповая политика (узел Политики открытых ключей ).
|
Примечание |
|
44. Безопасность IР
Безопасность IP
Средства безопасности протокола IP позволяют управлять защитой всего IP-трафика от источника информации до ее получателя. Возможности Управления безопасностью IP (IP Security Management) в системе Windows 2000 позволяют назначать и применять политику безопасности IP , которая гарантирует защищенный обмен информацией для всей сети. Механизм безопасности IP представляет собой реализацию протокола безопасности IP (IP Security, IPSec), прозрачную для пользователя, администрирование безопасности централизовано и совмещает гарантии безопасного обмена информацией с легкостью применения.
Потребность в защите сетей, основанных на протоколе IP, уже достаточно велика и растет с каждым годом. В настоящее время в тесно взаимосвязанном деловом мире сетей Интернет, интранет, экстранет (extranet — корпоративная сеть, части которой связаны через открытые сети, например, через Интернет), филиалов и удаленного доступа по сетям передается важная информация, конфиденциальность которой нельзя нарушать. Одним из основных требований, предъявляемых к сети со стороны сетевых администраторов и прочих профессионалов, обслуживающих и использующих сети, является требование гарантии, что этот трафик будет защищен от:
|
|
Доступа субъектов, не имеющих на это прав |
|
|
Перехвата, просмотра или копирования |
|
|
Модификации данных во время пути по сети |
Эти проблемы характеризуются такими показателями, как целостность данных, конфиденциальность и подлинность. Кроме того, зашита от повторного использования (replay protection) предотвращает принятие повторно посланного пакета.
|
Примечание |
|
45. Достоинства безопасности IP
Достоинства безопасности IP
Сетевые атаки могут привести к неработоспособности системы, считыванию конфиденциальных данных и другим дорогостоящим нарушениям. Для защиты информации требуются методы «сильного» шифрования и сертификации, основанные на криптографических алгоритмах. Однако высокий уровень безопасности не должен ухудшать производительность труда пользователей или увеличивать затраты на администрирование.
Безопасность IP в Windows 2000 обеспечивает следующие преимущества, которые помогают достичь высокого уровня безопасности взаимодействия при низких затратах:
|
|
Централизованное администрирование политикой безопасности, что уменьшает затраты на административные издержки Политика IPSec может быть создана и назначена на уровне домена (при этом она хранится в Active Directory), что устраняет необходимость индивидуального конфигурирования каждого компьютера. Однако если компьютер имеет уникальные требования, или это автономный компьютер, политика может быть назначена непосредственно. |
|
|
Прозрачность безопасности IP для пользователей и прикладных программ Не нужно иметь отдельные программные средства безопасности для каждого протокола в стеке TCP/IP, поскольку приложения, использующие TCP/IP, передают данные уровню протокола IP, где они шифруются. Установленная и настроенная служба IPSec прозрачна для пользователя и не требует обучения. |
|
|
Гибкость конфигурирования политики безопасности, которая помогает решать задачи в различных конфигурациях Внутри каждой политики можно настроить службы безопасности, чтобы обеспечить потребности на всех уровнях, начиная с уровня индивидуального пользователя и заканчивая уровнем серверов или предприятия. Политику можно сконфигурировать в соответствии с экспортными правилами и ограничениями. |
|
|
Конфиденциальные службы, предотвращающие попытки несанкционированного доступа к важным данным во время передачи этих данных между поддерживающими связь сторонами. |
|
|
Туннелирование Данные могут быть посланы через безопасные туннели для обмена информацией в Интернете и корпоративных сетях. |
|
|
Усиленная служба аутентификации, которая предотвращает перехват данных путем подмены идентификаторов. |
|
|
Ключи большой длины и динамический повторный обмен ключами в течение текущих сеансов связи, что помогает защитить соединение против атак. |
|
|
Безопасная связь от начала до конца для частных пользователей сети внутри одного и того же домена или через любой доверенный (trusted) домен внутри корпоративной сети. |
|
|
Безопасная связь между пользователями в любом домене корпоративной сети, основанной на протоколе IP. |
|
|
Отраслевой стандарт IPSec открыт для реализации других технологий шифрования IP, что позволяет взаимодействовать с другими платформами и продуктами. |
|
|
Сертификаты с открытым ключом и поддержка ключей pre-shared Это требуется для разрешения установления безопасной связи с компьютерами, которые не являются частью доверенного домена. |
|
|
IPSec работает во взаимодействии с другими механизмами защиты, сетевыми протоколами и базовыми механизмами безопасности Windows 2000, |
|
|
Поддерживается шифрование сообщений RSVP для реализации QoS и ACS в Windows 2000, т. е. IPSec не мешает использовать все преимущества приоритетного управления шириной полосы пропускания, обеспечиваемые этими службами. |
Возможности стандарта IPSec и подробности реализации очень сложны и описаны подробно в ряде RFC и проектов IETF, а также в документах Microsoft. IPSec использует криптографическую защиту для обеспечения управления доступом, целостности без установления логического соединения, удостоверения подлинности данных, защиты от повторного использования, полной и ограниченной конфиденциальности потока данных. Поскольку протокол IPSec работает на уровне IP, его услуги доступны протоколам верхнего уровня в стеке и, очевидно, существующим приложениям. IPSec дает системе возможность выбрать протоколы защиты, решить, какой (какие) алгоритм(ы) использовать для служб(ы), а также устанавливать и поддерживать криптографические ключи для каждой защищенной связи.
IPSec может защищать пути между компьютерами, между шлюзами защиты или между шлюзами защиты и компьютерами. Услуги, доступные и требуемые для трафика, настраиваются с использованием политики IPSec. Политика IPSec может быть настроена локально на отдельном компьютере. или может быть назначена через механизмы групповой политики Windows 2000 в Active Directory. Политика IPSec определяет, как компьютеры доверяют друг другу. Самое простое — полагаться на применение доменов доверия Windows 2000, основанных на протоколе Kerberos. Для того чтобы доверять компьютерам в том же самом или в другом доверенном домене Windows 2000, задается предопределенная политика IPSec.
Каждая датаграмма на уровне протокола IP сравнивается с набором фильтров, предоставляемых политикой безопасности, которая поддерживается администратором для компьютера, пользователя, организационной единицы (OU) или всего домена. С любой датаграммой службы IP могут выполнить одно из трех действий:
|
|
Передать на обработку службам IPSec |
|
|
Передать ее без изменений |
|
|
Игнорировать ее |
Установка IPSec включает описание характеристик трафика для фильтрации (IP-адрес источника/адресата, протокол, порт и т. д.) и определение того, какие механизмы требуется применить для трафика, соответствующего фильтру (фильтрам). Например, в очень простом случае два автономных компьютера могут быть сконфигурированы для использования IPSec между ними в одном и том же домене Windows 2000 и активизации политики «закрытости» (lockdown). Если два компьютера — не элементы одного и того же или доверенного домена, то доверие должно быть сконфигурировано с использованием пароля или ключа pre-shared в режиме «закрытый»:
|
|
Установка фильтра, который определяет весь трафик между двумя компьютерами. |
|
|
Выбор метода опознавания (выбор ключа pre-shared или ввод пароля). |
|
|
Выбор политики переговоров (в режиме «закрытый», при этом весь трафик, соответствующий фильтру (фильтрам), должен использовать IPSec). |
|
|
Определение типа подключения (ЛВС, коммутируемое соединение или оба типа подключения). |
Применение политики «закрытости» также ограничит все другие типы трафика от достижимых адресатов, которые не понимают IPSec или не являются частью той же самой доверенной группы. Безопасная политика инициатора обеспечивает установки, применяемые лучше всего к тем серверам, для которых предпринята защита трафика, но если клиент «не понимает» IPSec, то результатом переговоров будет возобновление посылки «чистых» текстовых пакетов.
Когда IPSec применяется для шифрования данных, производительность сети понижается из-за непроизводительных затрат на обработку и шифрование. Один из возможных методов уменьшения воздействия этих непроизводительных затрат — обработка на аппаратном уровне. Поскольку NDIS 5.0 поддерживает такую функцию, можно включить аппаратные средства шифрования в сетевой адаптер. Адаптер, обеспечивающий перегрузку IPSec на аппаратные средства, скоро представят на рынке несколько поставщиков аппаратного обеспечения.
Протокол IPSec обещает быть очень популярным для защиты и корпоративного трафика, и внутреннего общего трафика, который требует конфиденциальности. Одним из вариантов реализации может быть применение политики «закрытости» протокола IPSec только к специфическим серверам, которые предназначены для сохранения и/или обслуживания конфиденциальной информации.
46. Базовые механизмы и концепции
Базовые механизмы и концепции
Алгоритмы шифрования
Для защиты данных применяются математические алгоритмы шифрования. Безопасность IP в Windows 2000 использует следующие стандартные криптографические алгоритмы:
|
|
Методика Diffie-Hellman (D-H) Алгоритм шифрования с открытым ключом (названный по имени изобретателей — Diffie и Hellman), который позволяет двум поддерживающим связь объектам договариваться об общедоступном ключе без требования шифрования во время порождения ключа. Процесс начинают два объекта, обменивающиеся общедоступной информацией. Затем каждый объект объединяет общую информацию другой стороны со своей собственной секретной информацией, чтобы сгенерировать секретное общедоступное значение. |
|
|
Код аутентификации хэшированного сообщения (НМАС, Hash Message Authentication Code) НМАС — алгоритм шифрования с закрытым ключом, обеспечивающий целостность сообщений, установление их подлинности и предотвращение повторного использования. Установление подлинности, использующее функции хэширования (перемешивания), объединено с методом закрытого ключа. Хэшированное значение, известное также как дайджест (digest), или выборка, сообщений, используется для создания и проверки цифровой подписи. Это уникальное значение намного меньше, чем первоначальное сообщение, созданное из цифровой копии кадра данных. Если передаваемое сообщение изменилось по пути следования, то хэши-рованное значение будет отличаться от оригинала, а IP-пакет будет отброшен. |
|
|
HMAC-MD5 Дайджест сообщений-5 (MD5, Message Digest) — функция хэширования, которая порождает 128-разрядное значение, являющееся подписью данного блока данных. Эта подпись служит для установления подлинности, целостности и предотвращения повторного использования. |
|
|
HMAC-SHA Безопасный алгоритм хэширования (SHA, Secure Hash Algorithm) — еще одна функция хэширования, которая порождает 160-разрядное значение подписи, необходимое для установления подлинности, целостности и предотвращения повторного использования. |
|
|
DES-CBC Стандарт шифрования данных (Data Encryption Standard, DES) — формирование цепочки шифрованных блоков (Cipher Block Chaining, СВС) — алгоритм шифрования с закрытым ключом, обеспечивающий конфиденциальность. Генерируется случайное число, которое используется совместно с закрытым ключом для-шифрования данных. |
47. Ключи
Ключи
Для обеспечения безопасности данных в криптографии совместно с алгоритмами используются ключи. Ключ — это некоторое значение, применяемое для шифрования или дешифрования информации. Для шифрования в системах безопасности могут использоваться как закрытые, так и открытые ключи. Даже если алгоритм известен, без ключа данные нельзя просмотреть или изменить. Возьмем, например, замок с секретом. Алгоритм открывания замка с секретом общеизвестен — чтобы открыть замок, необходимо установить диски в заданном порядке. Однако ключ к замку, число комбинаторного кода, является секретным и известно только хозяину замка. Безопасность IP в Windows 2000 использует ключи большой длины, чтобы обеспечить повышенную безопасность. Если длину ключа увеличить на один бит, число возможных комбинаций удваивается. Безопасность IP в Windows 2000 также применяет динамическое обновление ключей; это означает, что после определенного интервала для продолжения обмена данными генерируется новый ключ. Такое решение позволяет защититься от злоумышленника, который получил доступ к части информации во время ее передачи.
48. Протоколы безопасности
Протоколы безопасности
На базе протоколов безопасности реализуются различные службы, обеспечивающие безопасный обмен информацией по сети. Windows 2000 использует следующие протоколы безопасности:
| Протокол ассоциаций безопасности и управления ключами Internet (ISAKMP, Internet Security Association and Key Management Protocol) Прежде чем IP-пакеты будут переданы от одного компьютера другому, должна быть установлена ассоциация, или сопоставление, безопасности (Security Association, SA). SA — набор параметров, который определяет необходимые для защищенной связи услуги и механизмы, типа ключей для безопасных протоколов. SA должна существовать между двумя поддерживающими связь сторонами, использующими безопасность IP. ISAKMP определяет основу для поддержки и установления ассоциаций безопасности. Протокол ISAKMP не связан ни с одним конкретным алгоритмом, методом порождения ключей или протоколом безопасности. |
|
| Oakley Протокол определения ключей, который использует алгоритм обмена ключами Diffie-Hellman (D-H). Oakley генерирует ключи, необходимые для безопасного обмена информацией. |
|
| Заголовок аутентификации IP (АН, Authentication Header) АН обеспечивает целостность, установление подлинности и защиту от повторного использования. Также при помощи АН поддерживается конфиденциальность. АН основан на некотором алгоритме вычисления ключевого кэшированного значения сообщения (НМАС) для каждого IP-пакета (рис. 26.5). |
|
|
Рис 26.5. Заголовок аутентификации АН |
| Протокол инкапсуляции безопасности (ESP, Encapsulating Security Protocol) |
В дополнение к услугам АН, описанным выше, ESP обеспечивает конфиденциальность, используя алгоритм DES-CBC (рис. 26.6).
|
|
Рис 26.6. Протокол инкапсуляции безопасности ESP |
26.5.gif
Изображение:
26.6.gif
Изображение:
49. Архитектура безопасности IP
Архитектура безопасности IP
Механизм безопасности IP в Windows 2000 разработан для защиты любого сквозного соединения между двумя компьютерами (рис. 26.7). При сквозном соединении два осуществляющих связь компьютера (системы) поддерживают IP-безопасность на каждом конце соединения. Сделано предположение, что располагающаяся между ними среда, по которой передаются данные, небезопасна. Данные прикладной программы компьютера, начинающего связь, перед пересылкой по сети автоматически (прозрачно для прикладной программы) шифруются. На компьютере адресата данные так же автоматически дешифруются — прежде, чем они будут переданы приложению-получателю. Шифрование всего сетевого IP-трафика гарантирует, что любая связь с использованием TCP/IP защищена от подслушивания. Поскольку данные передаются и шифруются на уровне протокола IP, для каждого протокола в наборе протоколов TCP/IP не требуются отдельные пакеты, обеспечивающие безопасность.
|
|
Рис 26.7. Архитектура безопасности IP в Windows 2000 |
Безопасность IP в Windows 2000 объединяет методы шифрования с открытыми и закрытыми ключами для повышения уровня безопасности и большей производительности.
Управление безопасностью IP в Windows 2000 допускает создание политики, определяющей тип и уровень безопасности, необходимые во время обмена информации:
| Политика безопасности (security policy) Каждая конфигурация атрибутов безопасности IP называется политикой безопасности. Политика безопасности базируется на политиках установления соединений и IP-фильтрах. Политика безопасности связана с политикой контроллера домена. Политика безопасности IP может быть приписана к заданной по умолчанию политике домена, ^заданной по умолчанию локальной политике или созданной пользовательской политике домена. Во время регистрации компьютера в домене автоматически подбираются реквизиты заданной по умолчанию политики домена и заданной по умолчанию локальной политики, включая политику безопасности IP, приписанную к этой политик домена. |
|
| Политика переговоров (negotiation policy) Политика переговоров определяет службы безопасности, используемые во время связи. Можно выбрать услуги, включающие конфиденциальность (ESP) или не обеспечивающие конфиденциальность (АН), или можно определить, какой алгоритм нужно использовать для безопасности IP. Можно установить несколько методов безопасности для каждой политики переговоров. Если первый метод недопустим для ассоциации безопасности, служба ISAKMP/Oakley продолжит просмотр этого списка до тех пор, пока не будет найден тот алгоритм, который безопасность IP сможет использовать для установления ассоциации. Если переговоры не увенчались успехом, устанавливается соединение без безопасности IP. |
|
| IP-фильтры IP-фильтры определяют различные действия, зависящие от направления передачи IP-пакета, от типа применяемого IP-протокола (например, TCP или UDP) и от того, какие порты используются в соответствии с протоколом. Фильтр применяется непосредственно— как шаблон, с которым сравниваются IP-пакеты. Каждый IP-пакет сверяется с IP-фильтром и, если соответствие найдено, для посылки данных применяются реквизиты связанной политики безопасности. |
Для поддержки обмена информацией с использованием безопасности IP на каждом компьютере с Windows 2000 устанавливаются локальные службы и драйверы:
| Служба агента политики безопасности (Policy Agent Service) Агент политики — локальный, резидентный агент. Он отыскивает политику безопасности IP в Active Directory во время инициализации системы. Затем он передает информацию о политике сетевому драйверу безопасности IP (IPSec-драйверу) и службе ISAKMP/Oakley. Агент политики не хранит политику безопасности локально, а находит ее в Active Directory (рис. 26.8). |
|
| Служба управления ключами ISAKMP/Oakley Это локальный, резидентный агент, который получает политику безопасности от агента политики. При использовании политики безопасности служба ISAKMP устанавливает ассоциацию безопасности (SA) с компьютером-получателем (рис. 26.9). Тождество поддерживающих связь сторон опознается с помощью центра распределения ключей Kerberos. В заключение служба ISAKMP посылает SA и информацию о ключе драйверу IPSec. Служба ISAKMP/Oakley запускается агентом политики. |
|
|
Рис 26.8. Функционирование агента политики безопасности |
|
|
Рис 26.9. Функционирование службы ISAKMP/Oakley |
| Драйвер безопасности IP (IPSec-драйвер) Это локальный, резидентный агент, который просматривает все IP-пакеты на соответствие фильтру IP. Если он находит соответствие, то задерживает пакеты в очереди, в то время как служба ISAKMP/Oakley генерирует необходимую SA и ключ, чтобы защитить обмен информацией. Агент, получив эту информацию от службы ISAKMP, шифрует IP-пакеты и посылает их компьютеру-адресату (рис. 26.10). Драйвер IPSec запускается агентом политики. |
|
|
Рис 26.10. Функционирование драйвера IPSec |
Все три перечисленные компонента установлены в Windows 2000 по умолчанию и запускаются автоматически.
|
Примечание |
|
Рассмотрим пример, в котором пользователь Компьютера А (Пользователь 1) посылает данные пользователю Компьютера В (Пользователю 2). Безопасность IP установлена на обоих компьютерах.
На уровне пользователя процесс доставки IP-пакетов прозрачен. Пользователь 1 просто запускает приложение, которое использует протокол стека TCP/IP, например FTP, и посылает данные Пользователю 2. Политики безопасности, назначенные Компьютеру А и Компьютеру В администратором, определяют уровень безопасности взаимодействия. Они выбираются агентом политики и передаются службе ISAKMP/Oakley и драйверу IPSec. Служба ISAKMP/Oakley на каждом компьютере использует политику переговоров, связанную с назначенной политикой безопасности, чтобы установить ключ и общий метод переговоров (ассоциация безопасности). Результаты переговоров о политике ISAKMP между двумя компьютерами передаются драйверу IPSec, который использует ключ для шифрования данных. В заключение драйвер IPSec посылает шифрованные данные на Компьютер В. Драйвер IPSec на Компьютере В дешифрует данные и передает их приложению-получателю (см. описание процесса на рис. 26.11).
|
|
Рис 26.11. Пример реализации безопасности IP |
|
Примечание |
|
26.10.gif
Изображение:
26.11.gif
Изображение:
26.7.gif
Изображение:
26.8.gif
Изображение:
26.9.gif
Изображение:
50. Разработка плана безопасности
Разработка плана безопасности
Перед тем как реализовать безопасность 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-фильтр, Legal IP Filter 2. Он связан с политикой переговоров, Legal NP 2, а параметры фильтра установлены в соответствии со следующими значениями:
|
Когда пользователь в юридическом отделе посылает информацию любому другому пользователю, адреса источника и получателя IP-пакетов вверяются с IP-фильтрами политики безопасности Legal. Если адреса соответствуют одному из фильтров, связанная политика переговоров определяет уровень IP-безопасности для поддержания взаимодействия.
Например, если пользователь в юридическом отделе с адресом IP 157.55.2.1 посылает данные пользователю с адресом 147.20.4.5, это соответствует Legal IP Filter 1. Это означает, что связь будет организована на уровне безопасности, определенном политикой переговоров Legal NP 1, которая обеспечивает установление подлинности, защиту от изменений и конфиденциальность связи.
51. Администрирование безопасности IP
Администрирование безопасности IP
Управление безопасностью IP в Windows 2000 позволяет администраторам создавать настраиваемую политику безопасности с уникальной политикой переговоров и IP-фильтрами. Не требуются никакие изменения приклад ных программ. Также не требуется обучать конечных пользователей, поскольку администраторы конфигурируют всю политику безопасности в службе Active Directory, а действия шифрования прозрачны на уровне конечного пользователя.
Можно конфигурировать безопасность IP, используя оснастки Локальные параметры безопасности (на локальном компьютере, рис. 26.12) или Групповая политика (узел Конфигурация компьютера | Конфигурация Windows | Параметры безопасности | Политики безопасности IP (IP Security Policies)) (для компьютера или домена) или подключив к консоли ММС изолированную оснастку Управление политикой безопасности IP (IP Security Policy Management) (для компьютера или домена). Только администратор или пользователь, которому назначены права администратора на управление Active Directory (или администратор на локальной машине), могут создавать и конфигурировать политику безопасности IP.
|
|
Рис 26.12. Оснастка Локальные параметры безопасности (Local Security Policy), узел Политики безопасности IP на «Локальном компьютере» (IP Security Policies on Local Machine) |
26-12.jpg
Изображение:
52. Поиск неисправностей
Поиск неисправностей
Если сетевое взаимодействие с использованием безопасности IP не функционирует должным образом или невозможно создавать и конфигурировать политики:
| Убедитесь, что агент политики (Policy Agent) запущен на компьютере. Можно открыть оснастку Службы (Services) и просмотреть список служб и их состояние. Если агент не запущен, определите возможные причины отказа при помощи оснастки Просмотр событий (Event Viewer). | |
| Агент политики останавливается, если он не находит никакой политики безопасности в Active Directory. После того как политика безопасности была создана и назначена, необходимо перезагрузить компьютеры, которым эта политика была назначена. Это заставит агента политики снова обратиться к службе Active Directory. | |
| Убедитесь, что служба ISAKMP/Oakley работает на компьютере. Агент политики должен быть запущен до запуска службы ISAKMP. Можно просмотреть список служб и их состояние с помощью оснастки Службы. Если служба не запущена, используйте оснастку Просмотр событий, чтобы определить возможные причины отказа. | |
| Можно воспользоваться Сетевым монитором (Network Monitor), чтобы видеть пакеты, обработанные безопасностью IP. В качестве номера протокола для таких пакетов будет отображаться 50 (номер протокола ESP в десятичной форме), а для протокола АН ‘будет отображаться 51 (десятичное). Для ISAKMP/Oakley будет виден номер порта UDP = 500 (десятичное число). |
53. Взаимодействие безопасности IP с различными программными продуктами
Взаимодействие безопасности IP с различными программными продуктами
Следующие замечания относятся к текущей версии Windows 2000 Server:
| Для работы безопасности IP оба компьютера должны работать под управлением Windows 2000. | |
| Безопасность IP в Windows 2000 не будет функционировать с Microsoft Proxy Server или брандмауэрами третьих фирм, если не разрешена пересылка IP-пакетов. | |
| Сетевой монитор показывает пакеты, обработанные безопасностью IP, но не может отображать шифрованную информацию. |
54. Сертификаты
Сертификаты
Сертификаты с открытым ключом (public key certificate) представляют собой средство идентификации пользователей в незащищенных сетях (таких как Интернет), а также предоставляют информацию, необходимую для проведения защищенных частных коммуникаций.
Под незащищенными сетями понимаются компьютерные сети, к которым пользователи могут получить доступ без разрешений. Коммуникации в таких сетях открыты для просмотра другими пользователями. Также существует определенная опасность возникновения ложных коммуникаций, когда отправителями сообщений являются ложные пользователи.
Даже частные локальные сети подвержены нападениям взломщиков с целью получения физического доступа к сети. Совершенно защищенные сети практически невозможны. Тем не менее, в защищенных сетях большие бреши в системе безопасности возникают крайне редко. Поэтому, поскольку пользователи доверяют друг другу, в таких сетях можно обмениваться данными, не применяя средств безопасности.
В открытых сетях, таких как Интернет, информация может попасть в руки пользователей, намерения которых никому не известны. Информация, не представляющая особой ценности, не нуждается и в безопасности. Однако, если информация является ценной или конфиденциальной, необходимо предпринять соответствующие меры безопасности для ее защиты.
55. Использование сертификатов для обеспечения безопасности
Использование сертификатов для обеспечения безопасности
Сертификаты можно использовать для решения различных задач безопасности. В их число входят:
|
|
Аутентификация (authentication) или проверка подлинности. Проверка того, что объект, с которым вы взаимодействуете, является в ДействитеЛьнб;-сти авторизованным объектом. |
|
|
Конфиденциальность (privacy) или секретность. Обеспечение доступа к информации только авторизованным пользователям, даже если любой пользователь сети может перехватить сообщение. |
|
|
Шифрование (encryption). Обеспечивает доступ к информации только для того пользователя, кому она предназначена. |
|
|
Цифровые подписи (digital signatures). Обеспечение целостности и подлинности данных. |
56. Аутентификация
Аутентификация
|
|
Аутентификация является необходимым условием обеспечения секретности обмена данными. Пользователи должны иметь возможность подтвердить свою подлинность и проверить идентификацию других Пользователей, с которым они общаются. Цифровой сертификат является распространенным средством идентификации. |
|
|
Сертификаты служат для обеспечения аутентификации следующих случаях:
|
57. Конфиденциальность
Конфиденциальность
|
|
Для обеспечения конфиденциальности при передаче данных в незащищенных сетях или по частным локальным сетям применяется шифрование с секретным, или закрытым, ключом (secret key encryption). |
|
|
Сертификаты обеспечивают конфиденциальность передаваемых данных при помощи ряда методов. Протоколы, наиболее широко используемые для обеспечения секретности:
|
58. Центры сертификации
Центры сертификации
Центр сертификации (также встречается термин поставщик сертификатов) (Certification Authority, CA) представляет собой службу, которой доверен выпуск сертификатов, если индивидуальный пользователь или организация, которые запрашивают сертификат, удовлетворяют условиям установленной политики. Это осуществляется путем принятия запроса на получение сертификата, проверки и регистрации имени запрашивающего сертификат пользователя и открытого ключа в соответствии с политикой. Каждый ЦС должен получить от запрашивающей сертификат стороны подтверждение ее идентичности, такое как удостоверение личности или физический адрес. Затем производится подписание и назначение сертификата, подтверждающего выполнение пользователем критериев политики, которые были установлены для авторизации. Большинство используемых на сегодня сертификатов основаны на стандарте Х.509, эта фундаментальная технология применяется в инфраструктуре открытых ключей Windows 2000.
Центром сертификации может быть удаленная организация, такая как VeriSign, или локальная служба, созданная в вашей организации путем инсталляции Служб сертификации (Microsoft Certificate Services). Выбор ЦС основывается на доверительном отношении (trust). Вы доверяете, что ЦС использует правильную политику при рассмотрении запросов на подписание сертификатов. Кроме того, вы доверяете, что ЦС отзывает сертификаты с истекшим сроком действия путем публикации списка отозванных сертификатов (certificate revocation list).
Центры сертификации также имеют собственные сертификаты. Причем вышестоящий центр подписывает сертификаты для нижестоящих центров. Таким образом, формируется иерархия сертификатов (certificate hierarchy).
В системе Windows 2000 доверие центру сертификации устанавливается при наличии копии корневого сертификата в хранилище доверяемых корневых центров сертификации, а также действительного пути к сертификату. Это означает, что ни один из сертификатов иерархии (пути сертификатов) не был отозван и не имеет истекшего срока действия.
Если в вашей организации используется Active Directory, то доверие к центрам сертификации вашей организации устанавливается автоматически на основе решений и установок, выполненных системным администратором.
Сертификат удостоверяет, что индивидуальный пользователь или ЦС, представляющий сертификат, был авторизован в соответствии с политикой, которая была установлена для ЦС, выпустившего сертификат. Обычно сертификаты содержат следующую информацию:
|
|
Открытый ключ (public key) владельца сертификата |
|
|
Идентификационную информацию владельца сертификата |
|
|
Период действия сертификата |
|
|
Информацию о центре сертификации |
|
|
Цифровую подпись (digital signature) |
Все сертификаты имеют ограниченный срок действия. Даты начала и окончания срока действия сертификата указываются в сертификате. Для каждого ЦС устанавливается политика обновления сертификатов с истекшим сроком действия.
Если в вашей организации для запуска центра сертификации на Windows 2000 Server установлены службы сертификации, то используется один из двух типов ЦС:
|
|
Центр сертификации предприятия (enterprise certification authority). Требует наличия Active Directory. Использует информацию, доступную в Active Directory, для проверки идентификационной информации запрашивающего сертификат. Публикует списки отозванных сертификатов в Active Directory, а также в общей папке. |
|
|
Изолированный (автономный) центр сертификации (stand-alone certification authority). He зависит от Active Directory. По умолчанию пользователи могут запрашивать сертификаты у данного центра только с веб-страниц. Изолированный центр сертификации публикует списки отозванных сертификатов в общей папке или в Active Directory (если служба каталогов доступна). |
59. Использование сертификатов в Интернете
Использование сертификатов в Интернете
При работе в Интернете браузер Internet Explorer использует два типа сертификатов: персональный сертификат (personal certificate) и сертификат веб-узла (Web site certificate). Персональный сертификат удостоверяет личность пользователя. Информация сертификата используется при передаче личной информации через Интернет на веб-узел, который требует проверки пользователя посредством сертификата. Сертификат веб-узла подтверждает, что данный узел является безопасным и подлинным. При этом гарантируется, что никакой другой веб-узел не является идентичным оригинальному веб-узлу. Internet Explorer при подключении к веб-узлу проверяет, что Интернет-адрес в сертификате совпадает с действительным адресом и срок действия сертификата еще не истек
Для получения персонального сертификата зайдите на узел Microsoft Certification Authorities (http://www.microsoft.com/ca/ca.htm) и следуйте приведенным там инструкциям. Сертификат веб-узла можно получить при подключении к данному узлу или из базы данных центра сертификации узла. Использование сертификатов при работе с Internet Explorer и Outlook Express описано в главе 21.
60. Хранилища сертификатов
Хранилища сертификатов
Windows 2000 сохраняет сертификаты локально на том компьютере, с которого запрашивался сертификат для данного компьютера или для пользователя, работающего за данным компьютером. Место хранения сертификатов называется хранилищем сертификатов (certificate store). С помощью оснастки Сертификаты (Certificates) (рис. 26.13) можно просматривать хранилища сертификатов для пользователя, компьютера или сервиса, в которых сертификаты можно сортировать (переключатели в окне Параметры просмотра (View Options)) — вызывается из меню Вид (View)) по назначению (Purpose) или по логическим хранилищам (Logical Store) (табл. 26.2). При сортировке сертификатов по логическим хранилищам можно также отобразить физические хранилища с указанием их иерархии.
|
Примечание |
|
При наличии соответствующих прав вы можете импортировать или экспортировать сертификаты из любой папки в хранилище сертификатов. Если личный ключ, связанный с сертификатом, доступен для экспорта, то вы можете экспортировать сертификат и личный ключ в файл, соответствующий стандарту PKCS #12.
Оснастка Сертификаты также позволяет публиковать выпущенные сертификаты в Active Directory. Публикация сертификата в Active Directory дает возможность всем группам, которые имеют необходимые разрешения, извлекать сертификат при необходимости.
При наличии соответствующих прав можно запрашивать или импортировать сертификаты из любой папки в хранилище сертификатов. Однако вы можете экспортировать сертификаты из хранилищ сертификатов только при отображении физическогр хранилища.
Команда Поиск сертификатов (Find Certificates) (контекстного меню или меню Действие (Action)) помогает отыскать выпущенные сертификаты в хранилищах сертификатов. Вы можете провести поиск в определенном хранилище или во всех хранилищах и ограничить поиск на основании определенной информации сертификатов, например, искать сертификаты, выпущенные определенным центром сертификации.
|
|
|
Рис 26.13. Окно оснастки Сертификаты (Certificates) |
Таблица 26.2. Папки хранилища сертификатов
| Сортировка по | Папка | Содержит |
| Логическим хранилищам | Личные (Personal) | Сертификаты, связанные с личными, закрытыми ключами пользователя |
| Доверенные корневые центры сертификации (Trusted Root Certification Authorities) | Доверяемые корневые центры сертификации | |
| Доверительные отношения в предприятии (Enterprise Trust) | Список доверительных отношений сертификатов (certificate trust list). Обеспечивает механизм доверия к корневым сертификатам со стороны других организаций | |
| Промежуточные центры сертификации (Intermediate Certification Authorities) | Сертификаты, выпущенные для других пользователей и центров сертификации | |
| Объект пользователя Active Directory (Active Directory User Object) | Сертификаты, связанные с вашим пользовательским объектом и опубликованные в Active Directory | |
| REQUEST | Сертификаты, для которых запущен запрос, и отклоненные сертификаты | |
| Назначению (основные группы) | Проверка подлинности сервера (Server Authentication) | Сертификаты, которые используются серверными программами для аутентификации при обращении к клиентам |
| Проверка подлинности клиента (Client Authentication) | Сертификаты, которые используются клиентскими программами для аутентификации при обращении к серверам | |
| Подписывание кода (Code Signing) | Сертификаты, связанные с парами ключей, используемых для подписи активного содержания | |
| Защищенная электронная почта (Secure Email) | Сертификаты, связанные с парами ключей, используемых для подписи электронных сообщений | |
| Шифрованная файловая система (Encrypting File System) | Сертификаты, связанные с парами ключей, которые шифруют и дешифруют симметричный ключ, используемый для шифрования и дешифрования данных | |
| Восстановление файлов (File Recovery) | Сертификаты, связанные с парами ключей, которые шифруют и дешифруют симметричный ключ, используемый для восстановления зашифрованных данных |
26.12a.gif
Изображение:
26.12b.gif
Изображение:
61. Запрос сертификата
Запрос сертификата
Если ваш администратор создал политику открытого ключа для автоматизации запросов на получение сертификатов, то вам, возможно, никогда не придется запрашивать сертификаты самостоятельно, если только вы не работаете со смарт-картами. Пользователи смарт-карт должны запрашивать свои сертификаты.
Если вы пользуетесь смарт-картами, или в вашей организации не применяются автоматические запросы на получение сертификатов, то вы можете запросить новые сертификаты. Запросить новый сертификат можно с помощью Мастера запроса сертификата (Certificate Request Wizard) или на веб-страницах служб сертификации. При запросе сертификатов в центре сертификации предприятия Windows 2000 используется, как правило, Мастер запроса сертификата, вызываемый из оснастки Сертификаты. Кроме того, центр сертификации, установленный на Windows 2000 Server, имеет веб-страницу, на которой можно запрашивать базовые и расширенные сертификаты. По умолчанию эти сертификаты находятся по адресу http://servemame/certsrv, где servername — имя сервера Windows 2000, на котором находится ЦС.
Для того чтобы запросить сертификат в оснастке Сертификаты :
| 1. | Откройте окно оснастки Сертификаты. |
| 2. | На панели структуры (левое подокно) откройте нужный узел (для пользователя Сертификаты — текущий пользователь (Certificates | Current User), для компьютера — Сертификаты (локальный компьютер) (Certificates | Computer Name)). |
| 3. | Если вы находитесь в режиме просмотра «по логическим хранилищам», выберите папку Личные. Если вы в режиме «по назначению», выберите соответствующий режим (папку). |
| 4. | В меню Действие выберите команду Все задачи | Запросить новый сертификат (All Tasks | Request New Certificate). |
| 5. | В окне мастера запроса сертификата выберите:
|
| 6. | После выбора и проверки всех параметров нажмите кнопку Готово (Finish), а затем, после получения сертификата — кнопку Установить сертификат (Install Certificate). Перед установкой выданный сертификат можно просмотреть. |
62. Просмотр сертификатов
Просмотр сертификатов
С помощью оснастки Сертификаты можно просматривать информацию о выпущенных сертификатах. Для этого дважды щелкните на названии сертификата.
Откроется диалоговое окно Сертификат (Certificate) с тремя вкладками: Общие (General), Состав (Details) и Путь сертификации (Certification Path). На вкладке Общие приведена обзорная информация о сертификате: тип сертификата, выдавший сертификат ЦС, пользователь или ЦС, для которого выдан сертификат, и период действия сертификата.
На вкладке Состав (рис. 26.14) и в табл. 26.3 отображена информация о сертификате.
|
|
Рис 26.14. Полная информация о сертификате |
Таблица 26.3. Поля вкладки Состав (Details)
| Поле | Описание |
| Версия (Version) | Номер версии стандарта Х.509 |
| Серийный номер (Serial Number) | Уникальный серийный номер, который ЦС назначил сертификату. Серийный номер является уникальным для всех сертификатов, выпущенных данным центром сертификации |
| Алгоритм подписи (Signature Algorithm) | Алгоритм хэширования (hash algorithm), который ЦС использует для цифровой подписи сертификата |
| Поставщик (Issuer) | Информация о ЦС, который выпустил сертификат |
| Действителен с (Valid from) | Дата начала действия сертификата |
| Действителен по (Valid to) | Дата окончания действия сертификата |
| Субъект (Subject) | Имя индивидуального пользователя или ЦС, для которого выпущен сертификат. Если выпустивший сертификат ЦС находится на сервере — члене домена вашего предприятия, то данное имя является отличительным именем внутри вашей организации. В противном случае в этом поле будут записаны полное имя и адрес электронной почты |
| Открытый ключ (Public Key) | Тип и длина открытого ключа, связанного с сертификатом |
| Улучшенный ключ (Enhanced Key Usage) | Дополнительные задачи, для решения которых можно использовать открытый ключ, связанный с сертификатом |
| Алгоритм печати (Thumbprint Algorithm) | Алгоритм хэширования, который генерирует снимок или дайджест данных для цифровых подписей |
| Печать (Thumbprint) | Снимок или дайджест |
| Понятное имя (Friendly Name) | Дружественное или общее имя |
Вкладка Путь сертификации содержит путь выпустившего сертификат ЦС.
26-14.jpg
Изображение:
63. Импорт и экспорт сертификатов
Импорт и экспорт сертификатов
При импорте или экспорте сертификатов сертификат копируется в хранилище или из хранилища. Импорт или экспорт сертификата проводится при выполнении следующих задач:
|
|
Инсталляция сертификата, полученного вами от другого пользователя (импорт). |
|
|
Восстановление сертификата, который хранился в виде резервной копии (импорт). |
|
|
Создание резервной копии сертификата (экспорт). |
|
|
Копирование сертификата или ключа для использования на другом компьютере (экспорт). |
Передавать сертификаты можно в следующих форматах:
|
|
Personal Information Exchange (Обмен персональной информацией) (PKCS#l2). Данный формат (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 2000. Имена файлов сертификатов имеют расширение сеr. |
|
|
Base64 Encoded XJ09. Данный формат могут применять ЦС, находящиеся не на серверах Windows 2000, — например, ЦС, использующие программное обеспечение Netscape. Имена файлов сертификатов имеют расширение сеr. |
64. Обновление сертификатов
Обновление сертификатов
Каждый выпущенный сертификат имеет определенный срок действия, по истечении которого сертификат становится недействительным. В общем случае вы можете обновить сертификат с истекшим сроком действия. Если ваш администратор создал политику открытых ключей для автоматических запросов на получение сертификатов, то сертификаты будут обновляться автоматически.
Если вы пользуетесь смарт-картой, или в вашей организации не применяется политика автоматических запросов на получение сертификатов, то оснастка Сертификаты уведомит вас об истечении срока действия сертификата и при этом:
|
|
Сообщит вам информацию о центре сертификации, выпустившем сертификат. |
|
|
(необязательно) Предложит вам выбрать новую пару «открытый/личный ключи». Если вы хотите получить новую пару ключей, то вам будет предложено выбрать поставщика службы криптографии (CSP), используемого для генерации пары ключей. |
65. Установка центра сертификации
Установка центра сертификации
Центр сертификации (ЦС, СА) — важный элемент в системе безопасности организации, поэтому в большинстве организаций имеется собственный ЦС. В системе Windows 2000 есть два модуля политик, которые обеспечивают следующие два класса ЦС: ЦС предприятия (Enterprise СА) и изолированный ЦС (Stand-alone СА). Внутри каждого класса могут быть два типа ЦС: корневой (root) и подчиненный (subordinate). Модули политик определяют действия, которые должен выполнить ЦС при поступлении запроса на получение сертификата.
В большинстве случаев центры сертификации организованы в иерархическом порядке, где наиболее доверяемый или корневой центр находится на вершине иерархии. В корпоративной сети все остальные ЦС в иерархии являются подчиненными. В корпоративной сети ЦС предприятия имеет максимальное доверие. ЦС предприятия имеют специальный модуль политик, который определяет, как обрабатываются и выпускаются сертификаты. Информация политики из данного модуля хранится в Active Directory, поэтому для инсталляции ЦС предприятия сперва следует установить Active Directory и сервер DNS. Изолированные ЦС имеют очень простой модуль политик и не хранят никакой информации на удаленном сервере, поэтому для инсталляции данного центра не требуется наличие Active Directory.
Для инсталляции собственного ЦС:
| 1. | Выберите на панели управления значок Установка и удаление программ (Add/Remove Programs). |
| 2. | В открывшемся диалоговом окне нажмите кнопку Добавление и удаление компонентов Windows (Add/Remove Windows Components). Откроется диалоговое окно Мастер компонентов Windows (Windows Components Wizard). |
| 3. | Установите флажок Службы сертификации (Certificate Services) и нажмите кнопку Далее (Next). |
| 4. | В следующем диалоговом окне необходимо выбрать тип ЦС:
|
| 5. | Если вы собираетесь изменить установки шифрования, установите флажок Дополнительные возможности (Advanced Options). |
| 6. | Нажмите кнопку Далее. |
| 7. | В следующих диалоговых окнах вам будет предложено указать сведения о вас и о вашей компаний, которые будут занесены в сертификат, выбрать каталог, в котором будет находиться информация сертификатов. Введите необходимую информацию и нажмите кнопку Далее. |
| 8. | По окончании процедуры инсталляции нажмите кнопку Готово (Finish). |
66. Запуск оснастки Центр сертификации (Certification Authority)
Запуск оснастки Центр сертификации (Certification Authority)
После инсталляции центра сертификации выберите команду Пуск | Программы | Администрирование | Центр сертификации (Start | Programs | Administrative Tools | Certification Authority). Откроется окно оснастки (рис. 26.15), с помощью которой можно просматривать списки сертификатов и политики безопасности, а также управлять ими.
|
|
Рис 26.15. Окно оснастки Центр сертификации (Certification Authority) |
26.13.gif
Изображение:
8.6.1. Основные понятия
Операционная
система Windows
2000 обладает рядом достаточно совершенных
и эффективных свойств безопасности,
включая следующие:
1. Безопасная
регистрация в системе с мерами
предосторожности против попыток
применения фальшивой программы
регистрации.
2. Дискреционное
управление доступом.
3. Управление
привилегированным доступом.
4. Защита
адресного пространства для каждого
процесса.
5. Обнуление
страниц перед выделением их процессу.
6. Аудит
безопасности.
Безопасная
регистрация означает, что системный
администратор может потребовать ото
всех пользователей наличия пароля для
входа в систему. Дискреционное управление
доступом позволяет владельцу файла или
другого объекта указать, кто может
пользоваться объектом и каким образом.
Средства управления привилегированным
доступом позволяют системному
администратору (суперпользователю)
получать доступ к объекту, несмотря на
установленные его владельцем разрешения
доступа. Под защитой адресного пространства
имеется в виду лишь то, что у каждого
процесса есть собственное защищенное
виртуальное адресное пространство,
недоступное для любого неавторизованного
процесса. Следующий пункт означает, что
при увеличении стека выделяемые для
него страницы заранее обнуляются,
так что процесс не может обнаружить в
них информации, помещенной предыдущим
владельцем страницы памяти (страницы
подаются процессам из списка обнуленных
страниц). Наконец, аудит безопасности
следует понимать как регистрацию
системой в журнале определенных
событий, относящихся к безопасности.
Впоследствии этот журнал может
просматривать системный администратор.
У
каждого пользователя (и группы)
операционной системы Windows
2000 есть идентификатор безопасности SID
(Security
IDentifier),
по которому операционная система
отличает его от других пользователей.
Идентификаторы безопасности
представляют собой двоичные числа с
коротким заголовком, за которым следует
длинный случайный компонент. Каждый
SID
должен быть уникален в пределах всей
планеты. Когда пользователь запускает
процесс, этот процесс и его потоки
работают под идентификатором пользователя.
Большая часть системы безопасности
спроектирована так, чтобы гарантировать
предоставление доступа к каждому объекту
только потокам с авторизованными
идентификаторами безопасности.
У
каждого процесса есть маркер
доступа, в
котором указывается SID
и другие свойства. Как правило, он
назначается при регистрации в системе
процедурой winlogon.
Заголовок маркера содержит некоторую
административную информацию. По
значению поля срока действия можно
определить, когда маркер перестанет
быть действительным. Поле Groups
(группы) указывает группы, к которым
принадлежит процесс. Это поле необходимо
для соответствия требованиям стандарта
POSIX.
Поле Default
DACL
(Default
Discretionary
Access
Control
List
– список разграничительного контроля
доступа по умолчанию) представляет
собой список управления доступом,
назначаемый объектам, созданным
процессом, если не определены другие
списки ACL.
Идентификатор безопасности пользователя
указывает пользователя, владеющего
процессом. Ограниченные идентификаторы
SID
позволяют ненадежным процессам
принимать участие в заданиях вместе с
надежными процессами, но с меньшими
полномочиями и меньшими возможностями
причинения ущерба.
Наконец,
перечисленные в маркере привилегии
(если они перечислены) дают процессу
особые полномочия, такие как право
выключать компьютер или получать
доступ к файлам, к которым в противном
случае в этом доступе процессу было бы
отказано. Привилегии позволяют разбить
полномочия системного администратора
на отдельные права, которые могут
предоставляться процессам по отдельности.
Таким образом, пользователю может быть
предоставлена часть полномочий
суперпользователя, но не все его
полномочия. Итак, маркер доступа содержит
информацию о том, кто владеет процессом
и какие умолчания и полномочия
ассоциированы с ним.
Когда
пользователь регистрируется в системе,
процесс winlogon
назначает
маркер доступа начальному процессу.
Последующие процессы, как правило,
наследуют этот маркер. Маркер доступа
процесса изначально применяется ко
всем потокам процесса. Однако поток
во время исполнения может получить
другой маркер доступа. В этом случае
маркер доступа потока перекрывает
маркер доступа процесса. В частности,
клиентский поток может передать свой
маркер доступа серверному потоку,
чтобы сервер мог получить доступ к
защищенным файлам и другим объектам
клиента. Такой механизм называется
перевоплощением.
Другим
основным понятием является дескриптор
защиты. У
каждого объекта есть ассоциированный
с ним дескриптор защиты, содержащий
список пользователей и групп, имеющих
доступ к данному объекту. Дескриптор
защиты состоит из заголовка, за которым
следует список DACL
с одним или несколькими элементами
АСЕ
(Access
Control
Entry
– элемент списка контроля доступа ACL).
Два основных типа элементов списка –
это разрешение и запрет доступа.
Разрешающий элемент содержит SID
пользователя или группы и битовый
массив, определяющий набор операций,
которые процессы с данным идентификатором
SID
могут выполнять с определенным объектом.
Запрещающий элемент работает аналогично,
но совпадение идентификаторов означает,
что обращающийся процесс не может
выполнять перечисленные операции.
Кроме
списка DACL
у дескриптора защиты есть также список
SACL
(System
Access
Control
List
– системный список контроля доступа),
который похож на DACL,
только вместо пользователей и групп,
имеющих доступ к объекту, в нем
перечисляются операции с этим объектом,
регистрируемые в специальном журнале.
В операционной системе Windows
2000 также предоставляются дополнительные
возможности аудита для регистрации
доступа к объектам.
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
Опора на архитектуру системы безопасности Windows NT
Учитывая наличие в составе этой ОС таких компонентов, как Kerberos, Active Directory (AD) и встроенной поддержки шифрования по открытому ключу (Public Key Infrastructure, PKI), можно подумать, что разработчики Microsoft кардинально переделали архитектуру системы безопасности Windows NT. В действительности же, несмотря на столь существенные обновления, ядро системы безопасности Windows 2000 по-прежнему базируется на инфраструктуре Windows NT 4.0.
Разрабатывая архитектуру системы безопасности Windows NT 4.0, специалисты Microsoft заложили в нее возможность дальнейшего расширения. Архитектура построена на базе четко разграниченных модулей и включает несколько прикладных программных интерфейсов (API), обеспечивающих возможность добавления служб (например, шифрования и аутентификации), причем совершенно безболезненно для операционной системы.
Читателей наверняка интересует вопрос, в чем, собственно, заключается новизна архитектуры системы безопасности Windows 2000? Отвечая на него, сначала я расскажу о тех возможностях, которые демонстрирует система безопасности Windows 2000 по сравнению с аналогичной системой версии 4.0, а также о том, какие недостатки были устранены в процессе работы над ней. Затем я поясню, на основании каких новых функций Windows 2000 разработчики Microsoft намерены представить ее как операционную систему для решения задач электронной коммерции, и наконец, отдельно остановлюсь на каждом архитектурном компоненте и его функциях.
Стартовая площадка — Windows NT
Чтобы понять защитную архитектуру Windows 2000, нужно вспомнить особенности архитектуры Windows NT 4.0, которая разрабатывалась для решения ряда общих проблем, возникающих при работе в локальной сети. Так, она обеспечила возможность однократного входа в сеть (по крайней мере, для всех Windows-систем) и, в определенной степени, централизованное администрирование с помощью организации доменов.
Кроме того, в Microsoft были разработаны модуль идентификации и аутентификации (Graphical Identification and Authentication, GINA), модули уведомлений о смене пароля (notification packages) и модуль Cryptographic Service Provider (CSP), что обеспечило расширяемость системы NT. Модуль GINA отвечает за авторизацию пользователей в ходе начальной регистрации. Для выполнения дополнительных функций службы регистрации, например отображения времени последнего входа в сеть или поддержки однократного входа в сеть (Single Sign-On, SSO), допускается создание собственных вариантов GINA. В частности, в компании Novell такой модуль реализован для Windows NT-клиента операционной системы IntranetWare.
Модули уведомлений о смене пароля представляют собой встраиваемые DLL, которые позволяют определять изменение пароля и синхронизировать эту информацию с другими службами для проверки пароля на соответствие принятым правилам. Впервые библиотеки уведомлений были реализованы в службе File and Print Services for NetWare (FPNW) из состава Windows NT.
Модуль CSP позволяет приложениям перекладывать тяжесть решения задач шифрования на операционную среду. По мере появления новых стандартов шифрования или при использовании прикладной системы за пределами США, приложение может задействовать соответствующий метод шифрования безо всякой модификации. Благодаря четко определенным интерфейсам взаимодействия возможна даже замена компонентов ядра, таких, как SAM. Так, разработчики Novell замещают части ядра службами Novell Directory Services (NDS) for NT, что обеспечивает тесную интеграцию службы каталогов NDS с Windows NT.
Хотя в Windows NT 4.0 система безопасности была достаточно надежной, те администраторы, которые устанавливали NT как систему уровня предприятия, обнаружили ряд недостатков. Например, без подключения неуклюжих программных надстроек нельзя реализовать распределенную систему поддержки однократного входа в сеть (SSO). Кроме того, уязвимым местом в системе защиты NT стала обратная совместимость с LAN Manager. Возможности делегирования прав (т. е. присвоения пользователю ограниченных административных привилегий управления некоторым набором учетных записей) оказались удручающе слабыми. Так, невозможно предоставить сотрудникам службы технической поддержки право смены паролей пользователей, не наделив их правами администратора в полном объеме.
Нельзя также надлежащим образом смоделировать существующую организационную иерархию и административную структуру компании на основе плоской доменной модели Windows NT. Кроме того, NT 4.0 имеет ряд недостатков в плане масштабирования, например число пользователей в домене ограничено. Операционная система не позволяет хранить специфичную для приложений информацию в учетных записях пользователей. Функциональные возможности PKI, и без того весьма скромные, ограничены работой в Web-окружении и поддержкой соединений в Exchange Server, а функции NT PKI интегрированы в операционную систему не полностью.
Задачи новой системы безопасности
Поскольку при создании Windows 2000 разработчики Microsoft стремились устранить недостатки NT, руководство корпорации рассматривает новую ОС как наиболее подходящую для электронной коммерции.
Во-первых, в Windows 2000 заметно усовершенствована система безопасности. Для замены уязвимой системы сетевой аутентификации NT LAN Manager (NTLM) добавлен протокол Kerberos; для снижения уровня риска, связанного с парольной защитой, можно применять PKI и смарт-карты при использовании закрытого ключа. Защита от физического доступа к жесткому диску вырастала в проблему, учитывая возможность кражи ноутбука. Для ее решения в Microsoft была реализована технология шифрования данных на диске Encrypting File System (EFS).
Во-вторых, Windows 2000 базируется исключительно на промышленных стандартах и протоколах. Разработчикам Microsoft пришлось смириться с тем, что компании не могут и не будут поддерживать нестандартные технологии и что иногда лучшее решение уже реализовано другими. Так, в каждой области взаимодействия между частями системы применяются общепринятые стандарты или протоколы. В Windows 2000 реализованы LDAP, Kerberos, Public Key Cryptography Standards (PKCS), PC/CS, DNS и IPSec вместо собственных NTLM, SAM, WINS и PPTP (кое-что поддерживается для обратной совместимости). Такой подход к использованию стандартов позволяет при необходимости заменять компоненты производства Microsoft лучшими из имеющихся на рынке и расширяет возможности системы в плане взаимодействия.
В-третьих, компании потребовалась платформа, способная обеспечить снижение стоимости разработки приложений. Процесс создания такой платформы начался в NT с реализации Security Support Provider Interface (SSPI) и CryptoAPI. В Windows 2000 разработчики могут использовать предоставляемые операционной системой службы (например, службу криптографии). Независимость от поставщика услуг защищает приложения от устаревания. Компоненты, предоставляющие приложению услуги, можно модернизировать по мере развития технологий, не оказывая при этом влияния на само приложение. Например, приложение, использующее CSP, легко сможет работать с другим новым алгоритмом шифрования.
Парадигма API способствует также развертыванию приложений других разработчиков, что позволяет расширить сферу применения Windows 2000 в тех областях, которые пока не охвачены Microsoft. Кроме того, специалисты корпорации пытаются сделать свои серверные продукты более отказоустойчивыми и пригодными к работе в корпоративных сетях. Так, служба каталогов AD отличается повышенной масштабируемостью и надежностью за счет поддержки разделов каталогов и мультисерверной репликации (multimaster replication). В свою очередь, иерархическая структура каталога и редактор политик групп (Group Policy Editor, GPE) способны облегчить работу с учетными записями пользователей и настройками системы не только в рамках подразделения.
Наконец, в целях решения задач электронной коммерции, все компоненты Windows 2000 поддерживают инфраструктуру PKI, в том числе регистрацию посредством смарт-карт, базирующийся на PKI доступ к Web-серверам, технологию виртуальных частных сетей (Virtual Private Networking — VPN), систему EFS, электронную почту и Authenticode. Это осуществляется с помощью распределенных служб безопасности Windows 2000: Active Directory, служб шифрования, Certificate Services, служб аутентификации, защищенных транспортных протоколов, EFS и смарт-карт. Рассмотрим эти компоненты более подробно.
Active Directory
Active Directory (AD) — это ключевой компонент Windows 2000, позволяющий решить характерные для системы Windows NT 4.0 проблемы масштабируемости, расширяемости, администрирования и открытости. Windows NT 4.0 не приспособлена в полной мере для работы в крупных организациях, поскольку число пользователей домена не может превышать 20 000, а основные (PDC) и резервные (BDC) контроллеры домена используют схему репликации «один ко многим». Что касается Windows 2000, то здесь один домен AD способен содержать более миллиона объектов и, в большинстве случаев, не требует наличия PDC. Так, изменения, зарегистрированные на одном из контроллеров домена, реплицируются на все остальные. Надлежащая настройка мультисерверной репликации позволяет обеспечить требуемую производительность, а также гарантированную полосу пропускания для связи находящихся в разных географических зонах подразделений. Для решения этой задачи в операционной системе используются новые объекты типа сайт (site), которые описывают подсети IP. Благодаря таким объектам домены, которые обычно базируются на организационных подразделениях, не зависят от того, где эти подразделения расположены.
Служба AD существенно расширяет возможности администрирования. Теперь можно объединять пользователей и компьютеры в иерархию, соответствующую организационной структуре компании. Формирование такой структуры внутри домена обеспечивается с помощью организационных единиц (Organizational Unit, OU). Домены могут иметь родительские и дочерние домены (за исключением корневого, который не имеет родительского домена). Также разрешается назначать индивидуальные административные привилегии на любом уровне иерархии.
Windows 2000 позволяет заменить механизмы разрешения имен WINS и широковещательного NetBIOS динамическим DNS (DDNS). Базу данных DNS можно хранить в AD, увязывая ее с доменной иерархией Active Directory. Как известно, расширяемость Windows NT 4.0 не распространялась на службу каталога. Поэтому разработчики должны были самостоятельно заниматься атрибутами пользователей, специфичными для приложения, и размещать прикладные службы.
Благодаря AD разработчики могут формировать новые объекты, а также добавлять дополнительные свойства в уже существующие объекты, не занимаясь обслуживанием специального каталога приложений. (Однако AD не подходит для хранения часто изменяющихся данных.) Active Directory даже позволяет публиковать ресурсы, например общие папки, таким образом, что пользователям не нужно выяснять, где именно расположен сервер. Кроме того, в Windows 2000 предусмотрен незаметный для пользователей перенос приложений с одного сервера на другой. Дифференцированное управление и поддержка транзитивных доверительных отношений между доменами Windows 2000 (если домен А доверяет домену В, а домен В доверяет домену С, то домен А доверяет домену С) избавляют от необходимости использовать типовые доменные модели Windows NT 4.0 (в частности, модели с полностью доверительными отношениями или с одним главным доменом).
| Рисунок 1. Взаимодействие Active Directory с операционной системой. |
Методы доступа к данным в Active Directory, LDAP и Active Directory Service Interfaces (ADSI) и их иерархическая структура позволяют говорить о службе AD как об открытой архитектуре. Таким образом закладывается интеграция с операционными системами и приложениями, поддерживающими службы каталогов. Как показано на Рисунке 1, между AD и остальными компонентами операционной системы имеет место своеобразный симбиоз. В частности, Windows 2000 использует AD в качестве хранилища данных учетных записей и политик, а также управляет процессом наследования политик с помощью иерархической структуры службы каталогов. AD же доверяет операционной системе аутентификацию и контроль доступа к своим объектам.
CryptoAPI
| Рисунок 2. CryptoAPI: комплексное решение для поддержки служб шифрования. |
CryptoAPI — такой же базовый компонент защитной архитектуры Windows 2000, как и Active Directory. Задача CryptoAPI состоит в универсализации работы с низкоуровневыми службами шифрования для всех приложений и компонентов операционной системы. Как показано на Рисунке 2, это достигается путем установки программных модулей CSP — поставщиков услуг шифрования. С помощью стандартного интерфейса модули формируют ключи и цифровые подписи, предоставляют сервисы шифрования, хэширования, обслуживают сертификаты. По принципу работы CryptoAPI аналогичен интерфейсу ODBC, через который приложение может получить доступ к различным базам данных.
CryptoAPI позволяет снизить затраты на создание приложений Windows 2000 по трем направлениям. Во-первых, разработчикам не приходится изобретать системы шифрования. Во-вторых, они могут сразу выпустить приложение, способное поддерживать различные протоколы и стандарты шифрования. В-третьих, при изменении системы шифрования нет необходимости перерабатывать приложение.
Хотя CryptoAPI был реализован еще в Windows NT 4.0, теперь в него включен ряд важных дополнений в части поддержки PKI. Например, он позволяет запрашивать и публиковать сертификаты, списки недействительных сертификатов (Certificate Revocation Lists, CRL), а также дает возможность проследить историю сертификата, когда серверному приложению необходимо проверить его подлинность. Поскольку CryptoAPI работает со стандартами PKCS и X.509 версии 3, его можно использовать для управления сертификатами, размещаемыми в хранилище сертификатов Windows 2000, в Active Directory, а также в независимых сертификационных центрах (Certificate Authorities, CA).
Certificate Server
Приложение Certificate Server, также впервые реализованное в Windows NT 4.0, формирует базовые функции сертификационного центра в части запроса, выпуска, публикации и управления сертификатами. Certificate Server предоставлял средства аутентификации по Authenticode и обеспечивал возможность интеграции с Exchange Server через протокол Secure MIME (S/MIME). Вместе с тем он разрабатывался лишь как инструмент аутентификации клиентов с помощью открытого ключа в Internet Information Server (IIS). При этом управление настройками Cetrtificate Server производилось ручным редактированием текстовых файлов. Данному продукту явно не хватало функций управления, важных для применения PKI в корпорации, например средств настройки типов сертификата и параметров политик. Кроме того, он поддерживает только двухуровневые иерархии сертификационных центров (чего явно недостаточно для крупномасштабных систем).
В Windows 2000 название Certificate Server заменено на Certificate Services. При этом приложение стало более мощным и тесно интегрированным с операционной системой. Модули расширения в составе Microsoft Management Console (MMC) предоставляют графические инструменты настройки как на стороне клиента, так и на стороне сервера. Certificate Services может работать с собственным автономным хранилищем данных. Однако, в целях оптимального решения корпоративных задач, для хранения и публикаций сертификатов приложение использует Active Directory. С помощью AD можно связывать сертификаты и пользователей, а также посредством GPE контролировать, кому, от чьего имени и для каких целей Certificate Services выдала сертификаты. Наконец, данная служба теперь поддерживает многоуровневые иерархии.
На Рисунке 3 видно, как сильно «похудела» Certificate Services по сравнению с Certificate Server, чьи отдельные части были переданы другим компонентам операционной системы.
| Рисунок 3. Модульная структура Certificate Server в Windows 2000 |
Например, функции управления сертификатами теперь включены в состав CryptoAPI, а автономное хранилище информации о сертификатах размещено в Active Directory. Поскольку Certificate Services получает доступ к своему хранилищу сертификатов через CryptoAPI, то можно публиковать сертификаты в системах каталогов независимых компаний.
Службы аутентификации
| Рисунок 4. Роль SSPI в работе Authentication Services. |
SSPI — это еще один прикладной интерфейс для доступа к службам аутентификации. Клиент-серверные приложения должны выполнять аутентификацию клиента на сервере, а иногда сервера на клиенте. SSPI предоставляет таким приложениям необходимый уровень абстракции, аналогичный функциям интерфейса CSP. На Рисунке 4 показано, как SSPI изолирует приложения от деталей протоколов безопасности сети, тем самым уменьшая объем прикладного кода, необходимого для поддержки различных протоколов аутентификации. Интерфейс обеспечивает выполнение аутентификации, базирующейся на протоколах с секретным или открытым ключами.
Независимо от типа протокола, в основе этого процесса лежат хранящиеся в Active Directory защитные реквизиты. При этом нет никакой необходимости иметь отдельные учетные записи для NTLM и Kerberos. PKI-аутентификация выполняется Active Directory, связывающей элементы сертификата и соответствующий объект типа «пользователь». Приложения могут задействовать SSPI напрямую, а также либо через вызовы протокола RPC с аутентификацией (Authenticated RPC), либо через интерфейс распределенной модели DCOM.
К числу других существенных преобразований в процедуре аутентификации относится замена NTLM, весьма уязвимого протокола аутентификации в версии NT 4.0, который работает с хранящимися в SAM хэш-кодами паролей. Тем не менее, в целях совместимости c NT, Windows 2000 продолжает его поддерживать. Так, при включении систем Windows 2000 в рабочие группы Windows NT, NTLM-аутентификация по-прежнему будет использовать хранящиеся в SAM защитные реквизиты. В свою очередь, при подключении системы Windows NT к серверу Windows 2000 в домене Active Directory, SAM функционировать не будет, а Windows 2000 выполнит проверку аутентичности пользователя с помощью хэшированных паролей NTLM, которые хранятся в его личном объекте AD.
При обновлении версии NT и установке нового клиента AD для Windows 9x, можно избавиться от ненадежной NTLM-аутентификации, поскольку протоколом аутентификации для Windows 2000 по умолчанию является Kerberos. Этот протокол обеспечивает более высокий уровень защиты, чем NTLM. Кроме того, он представляет собой отраслевой стандарт, который позволит реализовать принцип однократной регистрации в системе (SSO). Наконец, Kerberos решает типичные для NTLM проблемы, такие, как низкая производительность и слабые возможности заимствования прав в многоуровневых серверных приложениях.
Шифрование
Единственный способ защиты размещенной на жестком диске или в сети конфиденциальной информации — шифрование. В случае Windows NT 4.0 данные ничего не стоит перехватить с помощью систем прослушивания сети или же скопировать с диска такими средствами прямого доступа, как утилита NTFSDOS производства Systems Internals. Разработанная же для Windows 2000 система EFS дает возможность шифровать файлы простой установкой соответствующего флажка. При этом кодирование и декодирование выполняются абсолютно прозрачно для пользователя и приложения, что позволяет защитить данные любой прикладной программы.
EFS интегрирована с PKI Windows 2000 и поддерживает восстановление данных в том случае, когда секретный ключ пользователя утерян или стал недоступен. EFS незаменима для мобильных пользователей, которые хотят обезопасить себя на случай кражи ноутбука. В то же время EFS — единственный компонент Windows 2000, в котором разработчики Microsoft, вероятно, не смогут реализовать в первой версии ОС все запланированные возможности. Так что следует ожидать весьма слабой поддержки алгоритмов шифрования, за исключением лишь Data Encryption Standard X (DESX), равно как и поддержки хранения секретных ключей EFS на смарт-картах (или вообще полное отсутствие таковой).
| Рисунок 5. Положение IPSec в архитектуре Windows 2000. |
Как показано на Рисунке 5, чтобы прозрачно для пользователя и приложения защитить сетевые данные, Windows 2000 использует протокол IPSec. Этот протокол обеспечивает аутентификацию, конфиденциальность, целостность данных и фильтрацию для TCP/IP трафика. IPSec реализован ниже протоколов прикладного уровня и позволяет защищать сеанс связи любого приложения без его модификации. IPSec — это надежный протокол Internet, имеющий сильную отраслевую поддержку.
IPSec входит в состав Windows 2000, что облегчает его развертывание и управление. Параметры политики IPSec хранятся в AD, а управлять протоколом можно с помощью GPE. Помимо известных возможностей работы с VPN здесь реализована защита сетевого трафика внутри предприятия. Например, могут потребоваться аутентификация трафика внутри отдела разработок, шифрование трафика, проходящего между этим и другими отделами, а также запрет на доступ в Internet из указанного отдела. При этом, хотя перечисленные требования влияют на работу многих систем, всем можно управлять централизованно через Active Directory.
Развитая система безопасности
При построении архитектуры системы безопасности Windows 2000 специалисты Microsoft использовали надежные отраслевые стандарты и протоколы в сочетании с модульностью и абстракцией. Благодаря этому в Windows 2000 удалось обеспечить высокий уровень безопасности, открытости, надежности, а также поддержку электронной коммерции и снизить стоимость разработки приложений.
Microsoft широко использует возможности AD в Windows 2000, а кроме того, планирует в следующих версиях BackOffice задействовать AD в качестве центрального хранилища данных каталога и информации о политиках. На мой взгляд, проект Windows 2000 — высшее достижение Microsoft в части анализа потребностей бизнеса и удовлетворения интересов пользователей. Хочется верить, что Windows 2000 на сегодня является образцом качества выпускаемых корпорацией программных продуктов.
Об авторе
Р. Франклин Смит — президент компании Monterey Technology Group, занимающейся обучением и консалтингом в области защиты Windows NT. Связаться с ним можно по адресу: rsmith@montereytechgroup.com.
Безопасность в современном мире является одним из ключевых приоритетов для любой компании или организации. Операционная система Windows 2000 предоставляет мощный набор инструментов и механизмов для обеспечения защиты данных и сетевых ресурсов. Глава 26 посвящена этой важной теме и охватывает все ключевые аспекты безопасности в Windows 2000.
В этой главе рассматриваются как базовые, так и более сложные аспекты безопасности. Мы углубимся в механизмы шифрования с открытым ключом, цифровые подписи, аутентификацию и сертификацию, а также подробно разберем, как эти элементы взаимодействуют для обеспечения конфиденциальности, целостности и доступности данных.
Особое внимание уделено внедрению и управлению средствами безопасности в рамках операционной системы, включая работу с файловой системой EFS, настройку и администрирование протокола аутентификации Kerberos, а также использование сертификатов для повышения уровня защиты.
Кроме того, глава затрагивает важные аспекты, такие как многослойная безопасность, мониторинг и управление инцидентами безопасности, а также процесс обновлений и патчей, обеспечивающий защиту системы от уязвимостей. Все эти темы помогут вам не только понять, но и эффективно реализовать механизмы защиты на вашем рабочем месте.
- Общие понятия и терминология
- Характеристики безопасности
- Шифрование с открытым ключом
- Цифровые (электронные) подписи
- Распределенная аутентификация
- Соглашение о секретном ключе, достигаемое с помощью открытого ключа
- Шифрование больших объемов данных
- Обеспечение истинности открытых ключей
- Что такое сертификат
- Центр сертификации
- Доверие и проверка
- Применение алгоритмов шифрования с открытым ключом в Windows 2000
- Компоненты Windows 2000, обеспечивающие шифрование
- Политики безопасности
- Протокол аутентификации Kerberos
- Взаимодействие с удаленными владениями
- Требования к рабочему окружению
- Флаги, используемые в запросах
- Протоколы обмена сообщениями
- База данных Kerberos
- Аутентификация Kerberos в доменах Windows 2000
- Модель распределенной безопасности Windows 2000
- Интегрированная аутентификация Kerberos
- Протокол Kerberos и авторизация Windows 2000
- Применение Kerberos в сетях Windows 2000
- Совместная работа средств обеспечения безопасности сети
- Взаимодействие Windows 2000 КDС и UNIX
- Шифрующая файловая система EFS
- Архитектура EFS
- Технологии шифрования EFS
- Принципы шифрования
- Операция шифрования
- Операция дешифрования
- Процесс восстановления файла после утраты секретной части ключа
- Место EFS в Windows 2000
- Работа с EFS. Управление сертификатами пользователей
- Утилита cipher
- Шифрование файлов и каталогов
- Дешифрование файлов и каталогов
- Копирование, перемещение, переименование и уничтожение зашифрованных файлов и папок
- Архивация зашифрованных файлов
- Восстановление зашифрованных файлов на другом компьютере
- Восстановление данных, зашифрованных с помощью неизвестного личного ключа
- Безопасность IP
- Достоинства безопасности IP
- Алгоритмы шифрования: базовые механизмы и концепции
- Ключи в криптографии
- Протоколы безопасности
- Архитектура безопасности IP
- Разработка плана безопасности
- Администрирование безопасности IP
- Поиск неисправностей
- Взаимодействие безопасности IP с различными программными продуктами
- Сертификаты
- Использование сертификатов для обеспечения безопасности
- Аутентификация
- Конфиденциальность
- Центры сертификации
- Использование сертификатов в Интернете
- Хранилища сертификатов
- Запрос сертификата
- Просмотр сертификатов
- Импорт и экспорт сертификатов
- Обновление сертификатов
- Установка центра сертификации
- Запуск оснастки Центр сертификации (Certification Authority)
- Реализация многослойной безопасности в Windows 2000
- Мониторинг безопасности и управление инцидентами
- Обновления безопасности и патчи для Windows 2000
