Операционная система

Защищенная работа в сети на основе службы распределенной безопасности Windows® 2000

Информационный документ

Аннотация

Сегодня операционная система Microsoft Windows NT Server предлагает замечательный набор служб безопасности для управления учетными записями и аутентификации в сети масштаба предприятия. Большие организации нуждаются в гибкой системе, позволяющей наделять учетные записи правами администрирования и управлять доменами сложных структур. Вопросы безопасности работы в Интернете способствуют развитию технологии защиты на основе открытых ключей, которая просто обязана стать компонентом системы безопасности Windows® 2000. Чтобы удовлетворить этот растущий поток запросов, Microsoft разработала Windows 2000 Distributed Security Services — службы распределенной безопасности Windows 2000.

В этом документе дается анализ компонентов этой службы и детально рассказывается о ее реализации.

 


© 1999 Microsoft Corporation. Все права защищены.

Содержащаяся в документе информация соответствует точке зрения корпорации Microsoft на обсуждаемые здесь вопросы только к моменту публикации. Ввиду необходимости реагировать на требования рынка, изложенное здесь не должно рассматриваться как обязательства корпорации. Microsoft также не может гарантировать точность представленной информации после даты публикации.

Документ носит исключительно информационный характер. MICROSOFT НЕ ПРЕДОСТАВЛЯЕТ В ЭТОМ ДОКУМЕНТЕ НИ ЯВНЫХ, НИ ПОДРАЗУМЕВАЕМЫХ ГАРАНТИЙ

Microsoft, BackOffice, логотип BackOffice, Visual Basic, Win32, Windows и Windows NT являются зарегистрированными товарными знаками, а ActiveX и Authenticode — товарные знаки корпорации Microsoft.

Java — товарный знак корпорации Sun Microsystems.

Другие, упомянутые в этом документе, продукты или имена компаний могут являться товарными знаками соответствующих владельцев.

Microsoft Corporation • One Microsoft Way • Redmond, WA 98052-6399 • USA

0399 


содержание


введение. 1

Основные особенности. 1

Распределенная система защиты Windows 2000. 3

Active Directory и система безопасности. 6

Преимущества Active Directory в части управления учетными записями  7

Взаимодействие служб каталога и системы защиты.. 8

Доверительные отношения доменов. 9

Делегирование прав администрирования. 11

Уточненные привилегии доступа. 11

Наследование привилегий доступа. 13

различные протоколы защиты.. 14

интерфейс SSPI 17

аутентификационный Протокол kerberos. 18

Основы Kerberos. 19

Интеграция Kerberos. 20

Универсальность услуг Kerberos. 21

Расширения Kerberos для систем шифрования
с открытым ключом
.. 23

Безопасность работы с Windows 2000 через интернет. 25

Аутентификация клиента с помощью SSL 3.0. 26

Аутентификация внешних клиентов. 28

Microsoft Certificate Server 29

CryptoAPI 30

получение деловой информации
через партнерскую сеть. 31

однократный вход в интернет и корпоративную сеть. 33

Защитные реквизиты NTLM.. 33

Защитные реквизиты Kerberos. 33

Сертификаты и пары ключей “личный/открытый”. 34

Безболезненный переход. 35

обеспечение легкого перехода к следующему поколению доменов  36

Заключение. 38

дополнительная информация. 39


введение


Операционная система Windows NT имеет замечательный набор средств защиты корпоративного уровня. Однократный вход в домен Windows NT дает возможность пользователю получить доступ к любому ресурсу сети предприятия. Простые средства управления политикой безопасности и учетными записями снижают стоимость развертывания Windows NT. Гибкая доменная модель Windows NT поддерживает широкий диапазон сетевых конфигураций, начиная с локальной однодоменной системы и заканчивая охватывающими весь земной шар моделями с несколькими главными доменами.

Windows NT также является фундаментом интегрированной безопасности семейства BackOffice, включая Microsoft Exchange, SQL Server, SNA Server и Microsoft Systems Management Server. Модель безопасности Windows NT создает прочную основу для развертывания клиент-серверных корпоративных приложений. Сегодня предприятия выходят в Интернет. Предпринимателям необходимо взаимодействовать с партнерами, поставщиками и потребителями, пользуясь технологиями World Wide Web. Поэтому очень важно иметь систему безопасности, которая контролирует доступ к ресурсам корпоративной сети, интрасетей и серверов Интернета.

Интрасети быстро становятся наиболее эффективным средством совместного доступа к информации в процессе различных деловых операций. Сегодня доступ внешних лиц к конфиденциальной рабочей информации контролируется путем создания учетных записей пользователей для членов расширенного делового сообщества. Партнерские связи помогают определить доверительные отношения, которые ранее устанавливались лишь для имеющих доступ к корпоративным ресурсам служащих, но теперь охватывают гораздо большее число людей.

Технологии защиты также быстро меняются. Сертификаты открытых ключей и динамически меняющиеся пароли — вот две активно развивающиеся технологические области, позволяющие решить вопросы высокоуровневой защиты в современных сетях. Развитию технологий защиты способствует потребность в развитии удаленного доступа через общедоступные сети и Интернет. Архитектура безопасности Windows NT как никакая другая способна реализовать преимущества упомянутых технологических новшеств и иных прогрессивных решений. Windows NT сочетает простоту использования, совершенные средства администрирования и надежную инфраструктуру безопасности, которая обеспечивает работу предприятия и Интернета.

Основные особенности

Большое число новых функций службы распределенной безопасности Windows 2000 (Distributed Security Services, DSS) позволяет упростить администрирование домена, улучшить производительность, интегрировать базирующуюся на шифровании по открытому ключу защитную технологию Интернета. Среди основных особенностей DSS следует назвать:

·         Интеграция с Windows 2000 Active Directory, обеспечивающая масштабируемое и гибкое управление учетными записями больших доменов с уточненным контролем доступа и делегированием прав администрирования.

·         Протокол аутентификации Kerberos версии 5.0 — хорошо известный в Интернете стандарт безопасности, который реализован как протокол сетевой аутентификации по умолчанию; он является основой для обеспечения универсальности системы аутентификации.

·         Строгая аутентификация с использованием сертификатов открытых ключей, основанные на протоколе Secure Sockets Layer (SSL) 3.0 защищенные каналы, а также интерфейс CryptoAPI — все это позволяет на основе стандартных отраслевых протоколов обеспечить секретность и целостность передаваемых по общедоступным сетям данных.

В данном документе описывается встроенная в Windows 2000 служба распределенной безопасности следующего поколения, которая решает задачи работающих через Интернет компаний. Большая часть изложенного материала относится к Windows 2000, хотя, как оговорено в тексте, ряд функций уже был реализован в Windows NT 4.0.

служба Распределенной безопасности Windows 2000


В системе безопасности Windows 2000 существует большое число областей, которые адаптированы к обслуживанию компаний, работающих через Интернет. Часть выполненных доработок отражает новые подходы к обслуживанию крупных организаций, основанные на использовании иерархической системы каталогов Windows 2000 Active Directory. Другие нововведения, базируясь на преимуществах гибкой архитектуры безопасности Windows 2000, обеспечивают интеграцию процедур аутентификации на основе сертификатов открытых ключей Интернета.

Ниже перечислены новые возможности системы безопасности Windows 2000:

·         Служба каталогов Active Directory формирует хранилище всей информации о доменной политике безопасности и учетных записях. Active Directory обеспечивает тиражирование (репликацию) информации об учетных записях на большое число контроллеров доменов и ее доступность, а также предусматривает свое удаленное администрирование.

·         Active Directory поддерживает иерархическое пространство имен учетных записей пользователей, групп и компьютеров. Учетные записи могут группироваться в организационные единицы (organizational units), что отличается от плоского пространства имен доменных учетных записей в предыдущих версиях Windows NT.

·         Привилегии администратора на создание учетных записей и управление ими разрешено делегировать на уровень организационных единиц. Могут предоставляться привилегии доступа к определенным свойствам (properties) объектов пользователей. В результате, пользователь или группа может, например, обладать привилегией замены пароля, не имея при этом возможности скорректировать другую информацию учетной записи.

·         Процедура тиражирования Active Directory дает возможность разослать изменения учетных записей на любой контроллер домена, а не только на основной (PDC). Многочисленные главные копии Active Directory на других контроллерах домена, которые были объявлены как резервные (BDC), обновляются и синхронизируются автоматически.

·         Windows 2000 реализует новую доменную модель, которая использует Active Directory для поддержки многоуровневой иерархии дерева доменов. Управление доверительными отношениями доменов упрощено, благодаря их транзитивности в рамках всего дерева доменов.

·         Система безопасности Windows включает новые процедуры аутентификации, базирующихся на стандартных защитных протоколах Интернета, включая Kerberos 5.0 и средство поддержки протоколов распределенной безопасности — Transport Layer Security (TLS), а также в целях совместимости поддерживает протоколы аутентификации Windows NT LAN Manager.

·         Реализация протоколов защищенных каналов (SSL 3.0/TLS) обеспечивает поддержку строгой аутентификации клиента путем соотнесения (отображения) защитных реквизитов пользователя в виде сертификатов открытых ключей с существующими учетными записями Windows NT. Для управления информацией учетных записей и контроля за доступом применяется один и тот же инструментарий, вне зависимости от того, какая схема аутентификации используется — по открытому (public) или секретному (shared secret) ключу.

·         Windows 2000, в дополнение к паролям, поддерживает вариант интерактивного входа в систему с помощью смарт-карт, которые поддерживают шифрование и защищенное хранилище открытых ключей и сертификатов. Это обеспечивает строгую аутентификацию в домене пользователя настольной системы.

·         Для корпоративных пользователей, Windows 2000 включает сервер сертификатов – Microsoft Certificate Server, который позволяет выписывать служащим компании или деловым партнерам сертификаты стандарта X.509 версии 3.0. Продукт вводит использование CryptoAPI для управления сертификатами и модулей для работы с сертификатами открытых ключей, включая сертификаты стандартного формата, выпущенные коммерческими сертификационными центрами (Certificate Authority, CA), CA третьих фирм или Microsoft Certificate Server в составе Windows. Перечень доверяемых (trusted) CA, то есть центров, чьи сертификаты можно использовать при аутентификации клиента и доступе к ресурсам, определяют системные администраторы.

·         Внешние пользователи, не имеющие учетных записей Windows 2000, могут быть аутентифицированы с помощью сертификатов открытых ключей и отображены на уже существующую учетную запись Windows. Привилегии доступа, которые определены в учетной записи, задают список открытых для внешних пользователей ресурсов системы. Аутентификация клиента с помощью сертификата открытого ключа дает возможность Windows 2000 выполнить аутентификацию внешних пользователей, основываясь на выпущенных доверенными СА сертификатах.

·         Пользователям Windows 2000 предоставлен простой инструментарий и общие диалоговые окна интерфейса, с помощью которых можно управлять парами ключей “личный/общий” и сертификатами, которые применяются для доступа к размещенным в Интернете ресурсам. Передача пакета личных защитных реквизитов, которые содержатся в защищенном хранилище на диске, легко осуществляется с помощью недавно предложенного отраслевого стандарта Personal Information Exchange. Windows 2000 также предусматривает поддержку устройств считывания смарт-карт.

·         Технология шифрования использована в Windows 2000 для решения большого числа задач, что дает возможность на основе цифровых подписей формировать аутентифицируемые потоки данных. В дополнение к подписываемым элементам управления ActiveX и классам Java для Internet Explorer, Windows 2000 применяет цифровые подписи для обеспечения целостности загрузочных модулей самых разных программных компонентов. Самостоятельные разработчики могут создавать подписанное программное обеспечение для дистрибуции и защиты от вирусов.

В дополнение к перечисленным нововведениям, третьи фирмы должны поставить для Windows 2000 Server службы аутентификации по динамическому паролю и выполнить их интеграцию с системой доменной аутентификации Windows 2000. Прикладные программные интерфейсы (API) и документация на эти продукты включены в состав Microsoft Platform SDK.

Каждая из перечисленных новых возможностей системы безопасности Windows 2000 описывается более подробно в следующих разделах.

 


Active Directory и система безопасности


Информация учетных записей Windows NT ежедневно обновляется в защищенных разделах реестра контроллеров домена. Благодаря доверительным отношениям домена и сквозной аутентификации, двухуровневая доменная иерархия имеет определенную гибкость в управлении учетными записями и серверами ресурсов. Что касается самого домена, то здесь учетные записи размещены в линейном (плоском) пространстве имен и не имеют никакой внутренней организации.

Служба распределенной безопасности Windows 2000 использует Active Directory в качестве хранилища информации учетных записей. Active Directory обеспечивает существенное повышение производительности и масштабируемости в сравнении с базирующейся на реестре реализации каталога, а также предоставляет многофункциональную среду управления.

На приведенном ниже рисунке показана иерархическая структура дерева доменов Windows 2000 и иерархическое пространство имен внутри каждого домена, которое использует организационные единицы (Organizational Unit, OU) в качестве контейнеров объектов каталога.

Рис. 1. Иерархическая структура Active Directory

Преимущества Active Directory в части управления учетными записями

Преимущества интеграции защищенной системы управления учетными записями в Active Directory заключаются в следующем:

·         Учетные записи пользователей, групп и компьютеров могут быть размещены внутри контейнеров каталога, получивших название организационных единиц (Organizational Unit, OU). При этом домену разрешено иметь любое число OU, которые образуют дерево пространства имен. Это дает возможность руководителю систематизировать все учетные записи внутри пространства имен по подразделениям и компаниям. Учетные записи пользователей, как и организационные единицы, являются объектами каталога. Эти объекты, в случае изменений внутри компании, могут быть легко переименованы в рамках дерева доменов.

·         Active Directory поддерживает намного большее число объектов пользователей (более миллиона) и обеспечивает более высокую производительность в сравнении с реестром. Размер домена больше не лимитирован производительностью защищенного хранилища учетных записей. Дерево объединенных доменов способно обслуживать гораздо более крупные и сложные организационные структуры.

·         Администрирование учетных записей стало более совершенным благодаря графическим средствам управления Active Directory, а также вследствие поддержки сценарных языков через OLE DB. Общие задачи могут быть реализованы путем автоматизации администрирования с помощью пакетных сценариев.

·         Службы тиражирования каталогов поддерживают большое число копий информации об учетных записях, при этом может быть произведено обновление любой копии, а не только экземпляра главного контроллера домена. Поддержка протокола LDAP (Lightweight Directory Access Protocol) и синхронизация каталогов формируют механизмы связи каталога Windows с другими каталогами предприятия.

Хранение защищенной информации учетных записей в Active Directory означает, что пользователи и группы представлены объектами каталога. Права доступа к объектам каталога Read (Чтение) и Write (Запись) могут предоставляться как для всего объекта в целом, так и для его отдельных свойств. Администраторы получают средства уточненного контроля за тем, кто может менять информацию о пользователе или группе. Например, группе операторов Telecom может быть предоставлено право Write только по отношению к тем свойствам учетных записей, которые касаются офисного телефонного оборудования. При этом она не будет иметь всех прав группы Account Operator или Administrator.

Концепция группы также упрощена, поскольку локальные и глобальные группы представлены в каталоге объектами группы (group object). Для полной обратной совместимости поддерживаются прежние программные интерфейсы доступа к локальным группам. Однако определенные в каталоге группы могут использоваться как для контроля доступа к ресурсам всего домена, так и лишь для целей локального администрирования на контроллере домена.

Взаимодействие служб каталога и системы безопасности

Между Active Directory и интегрированными в состав операционной системы Windows 2000 службами безопасности (Security Services) существует фундаментальная связь. Active Directory хранит информацию о доменной политике безопасности — ограничения на пароли в домене и системные привилегии доступа — которая непосредственно определяет характер использования системы. Управление объектами каталога, которые имеют отношение к безопасности, должно быть защищено во избежание неавторизованных изменений, оказывающих влияние на общую безопасность системы. Поэтому операционная система Windows 2000 реализует объектную модель безопасности и контроль доступа ко всем объектам Active Directory. Каждый объект Active Directory имеет уникальный дескриптор безопасности, который определяет права доступа, необходимые для чтения или обновления свойств этого объекта.

На показанном ниже рисунке изображена связь между Active Directory и службами безопасности Windows 2000

Рис. 2. Взаимодействие между Active Directory и службами безопасности

Для определения того, может ли клиент Active Directory читать или обновлять необходимый ему объект, Active Directory использует процедуру олицетворения (impersonation) и систему контроля доступа Windows 2000. По сути, это означает, что клиентские LDAP-запросы к каталогу заставляют выполнять контроль доступа саму операционную систему, а не Active Directory.

Модель безопасности Windows 2000 предоставляет унифицированную и последовательную реализацию контроля доступа ко всем ресурсам домена, которая основана на членстве в группах. Компоненты системы безопасности Windows 2000 могут доверять содержащейся в каталоге информации безопасности. Например, служба аутентификации Windows 2000 хранит зашифрованные пароли в защищенной области пользовательских объектов каталога. Операционная система полагает, что сведения о политике безопасности защищены, и ограничения учетных записей или членство в группах никем не менялись иначе как авторизованным способом. Кроме того, в каталоге хранится информация о политике безопасности, используемой при управлении доменом.

Эта фундаментальная связь системы безопасности и Active Directory достигается исключительно путем полной интеграции службы каталога с операционной системой Windows 2000 и никак иначе.

Доверительные отношения доменов

Домены Windows 2000 могут объединяться в иерархическую структуру доменного дерева. Доверительные отношения между доменами дают возможность пользователям, имеющим учетные записи в одном домене, проходить аутентификацию на ресурсных серверах другого домена. В Windows NT 4.0 и более ранних ее версиях, междоменные доверительные отношения определялись между контроллерами доменов с помощью односторонне доверяемых учетных записей доменов. Управление доверительными отношениями между доменами учетных записей и ресурсными доменами большой сети — сложная задача.

Active Directory поддерживает две формы доверительных отношений:

·         Прямые односторонние доверительные отношения с доменами Windows NT 4.0.

·         Двухсторонние транзитивные доверительные отношения между доменами, входящими в дерево доменов Windows 2000.

На приведенном ниже рисунке представлены два типа доверительных отношений.

Рис. 3. Доверительные отношения между доменами

Транзитивные доверительные отношения между доменами упрощают управление учетными записями, на которых эти отношения базируются. Входящие в доменное дерево домены определяют двухсторонние доверительные отношения с родительским доменом этого дерева. Все домены по умолчанию доверяют остальным доменам дерева. Если есть домены, которые не желают вступать в двухсторонние доверительные отношения, то могут быть определены учетные записи прямых односторонних доверительных отношений. Организации, в которых используется большое число доменов, должны знать, что общее число прямых односторонних доверительных отношений значительно сокращено.

Делегирование прав администрирования

Делегирование прав администрирования — ценный инструмент для тех компаний, которые хотят ограничить управление системой безопасности своего домена рамками его заданных областей. Важным требованием является предоставление привилегий на управление небольшим числом пользователей или групп в зоне их ответственности и одновременный запрет на управление учетными записями других подразделений компании.

Делегирование ответственности на создание новых учетных записей пользователей или групп определяется на уровне организационной единицы (OU) или контейнера, где создаются учетные записи. Администраторы групп одной организационной единицы не обязательно должны иметь возможность создания учетных записей в других OU этого домена и управления ими. Однако определенные на более высоких уровнях дерева каталогов параметры политики домена и привилегии доступа могут распространяться по дереву на основе принципа наследования привилегий доступа.

Существует три способа делегирования административной ответственности:

·         Делегирование прав на изменение свойств конкретного контейнера, таких как LocalDomainPolicies объекта самого домена.

·         Делегирование прав на создание и удаление дочерних объектов конкретного типа внутри OU, таких как User, Group или Printer.

·         Делегирование прав на обновление заданных свойств дочерних объектов конкретного типа внутри OU, например привилегии установки паролей для объектов User.

Пользовательский интерфейс модуля расширения Directory Service Administration облегчает просмотр информации о делегировании прав на уровне контейнеров. Произвести дополнительное делегирование также просто. Для этого сначала нужно выбрать того, кому делегируются права, а затем — сами делегируемые права.

Интеграция защищенного хранилища учетных записей с Active Directory дает реальные выгоды при управлении предприятием. Это производительность, простота администрирования и масштабируемость создаваемых большими компаниями структур. Работающие через Интернет предприятия могут использовать доменные деревья и иерархию организационных единиц для создания своим деловым партнерам, постоянным клиентам или поставщикам учетных записей с конкретными привилегиями доступа к системе.

Уточненные привилегии доступа

Порядок защиты сетевой инфраструктуры учетных записей и управления ею в крупных организациях обычно зависит от большого числа отдельных пользователей и их групп. Некоторым группам необходимо предоставить привилегии на выполнение определенных операций, например смену пользовательского пароля или отключение учетных записей, одновременно запрещая создавать новые учетные записи или менять другие их свойства.

Для контроля доступа к своим объектам, архитектура защиты объектов Active Directory использует дескрипторы безопасности Windows 2000. Каждый объект каталога имеет уникальный дескриптор безопасности. Список контроля доступа ACL (Access Control List) — это часть дескриптора безопасности, представляющая собой список элементов, который разрешает или отменяет конкретные привилегии доступа пользователей или групп. Привилегии доступа могут быть предоставлены или отменены для различных уровней охвата объекта. Привилегии доступа могут быть определены для любого из указанных уровней:

·         На объект в целом, включая все его свойства.

·         На группу свойств, определяемую установленными атрибутами объекта.

·         На отдельный атрибут объекта.

По умолчанию, создатель объекта получает универсальный доступ типа “чтение/запись” ко всем свойствам объекта. Предоставление или отмена прав доступа к набору атрибутов (property set) — обычный способ определения прав для группы связанных свойств. Группирование свойств задается атрибутом группы свойств из свойства схемы объекта. Отношения свойств группы могут настраиваться путем изменения схемы. Наконец, самый высокий уровень уточнения привилегий доступа обеспечивается за счет их определения на уровне отдельных атрибутов. Формировать доступ на уровне атрибутов можно для всех объектов Active Directory.

Объекты контейнеров каталога также поддерживают уточненный тип доступа, который устанавливает, кто имеет права на создание дочерних объектов и какой тип дочерних объектов ему позволено создавать. Например, один из определенных на уровне организационной единицы (OU) элементов контроля доступа (ACE, Access Control Entry) может предписывать, кому разрешено в этом контейнере создавать объекты User (учетные записи). Другой — кому разрешено создавать объекты Printer. Уточненный контроль доступа к контейнерам каталога — эффективный способ контроля за состоянием пространства имен каталога.

Новая реализация редактора Access Control List (ACL) Editor — единого диалогового управляющего средства просмотра или изменения защитных прав доступа, предоставляет простой в использовании интерфейс определения привилегий доступа к объектам Active Directory на уровне группы свойств или отдельных атрибутов. ACL Editor также поддерживает определение наследуемых привилегий доступа к объектам контейнера, которые распространяются на все объекты нижнего уровня заданной области дерева каталогов.

Наследование привилегий доступа

Под наследованием привилегий доступа понимается то, каким образом информация о контроле доступа, определенная для контейнеров самого высокого уровня внутри каталога, распространяется на контейнеры нижних уровней и оконечные объекты-листья. Обычно реализуется две модели наследования привилегий доступа: динамическое и статическое наследование. Динамическое наследование вычисляет действующие привилегии доступа к объекту путем оценки явно определенных прав на объект и тех прав, которые заданы для всех родительских объектов каталога. Это дает возможность гибкого изменения порядка контроля доступа к разделам дерева каталога путем внесения корректировок в свойства нужного контейнера, которые автоматически распространяются на все контейнеры нижнего уровня и объекты-листья. Цена этой гибкости — издержки производительности, связанные с необходимостью расчета текущих привилегий доступа в момент получения клиентского запроса на чтение/запись конкретного объекта каталога.

Windows 2000 также реализует статическую форму наследования привилегий доступа, которая известна под именем Create Time-наследования (первичного наследования) . В этом случае также может быть определена информация о контроле доступа, которая распространяется на дочерние объекты. При создании дочернего объекта, наследуемые привилегии контейнера объединяются с заданными по умолчанию привилегиями доступа нового объекта. Любые изменения в наследуемых привилегиях доступа на более высоких уровнях дерева должны быть распространены на все подчиненные дочерние объекты. Новые наследуемые привилегии доступа присваиваются Active Directory соответствующим объектам, основываясь на параметрах, которые задают порядок определения новых привилегий.

При использовании статической модели наследования, скорость проверки параметров контроля доступа очень высока. Проверки доступа — часто выполняемые и необходимые процедуры операционной системы, порядок исполнения которых оптимизирован, причем не только для случая доступа к объектам каталога, но и объектам файловой системы и всем другим системным объектам Windows 2000.

различные протоколы защиты


Windows 2000 поддерживает работу с большим числом сетевых протоколов защиты, поскольку каждый — основа совместимости с существующими клиентами, более эффективными механизмами обеспечения безопасности, а также средствами взаимодействия для гетерогенных сетей типа Интернет. Сегодня в корпоративных сетях существует большое число протоколов аутентификации, и архитектура Windows 2000 не ограничивает число поддерживаемых протоколов. Конечно, было бы проще использовать один защитный протокол для решения всех задач, но сетевые системы, начиная с небольших офисных сетей и заканчивая сетями крупнейших поставщиков информации через Интернет, не формируются по единым требованиям безопасности. Потребителю приходится выбирать, каким образом интегрировать в свою сеть новую технологию безопасности, например динамические пароли или криптографию открытых ключей.

В Windows 2000 заложена поддержка большого числа защитных протоколов — существенного элемента современных систем распределенной компьютерной обработки. С помощью предоставляемых в Win32 общецелевых защитных API, операционная система изолирует поддерживаемые приложения от деталей реализации различных протоколов безопасности. Благодаря высокоуровневым прикладным интерфейсам, которые предоставляют Authenticated RPC и DCOM, службы безопасности вызываются через абстрактные функции, базирующиеся на интерфейсных параметрах.

Инфраструктура безопасности Windows 2000 поддерживает основные защитные протоколы:

·         Протокол аутентификации Windows NT LAN Manager (NTLM), который используется Windows NT 4.0 и ее предыдущими версиями. Поддержка NTLM будет продолжена, а сам протокол будет применяться для сквозной сетевой аутентификации, удаленного доступа к файлам и аутентифицируемых RPC-соединений (authenticated RPC connections) с ранними версиями Windows NT.

·         Аутентификационный протокол Kerberos версии 5.0 заменяет NTLM в роли основного защитного протокола доступа к ресурсам в пределах и между доменов Windows 2000. Kerberos — широко известный отраслевой стандарт, что делает его предпочтительным для задач сетевой аутентификации в Windows. Среди его преимуществ — взаимная аутентификация клиента и сервера, пониженная нагрузка на сервер в ходе установления соединения, поддержка делегирования проверки полномочий (авторизации) с клиентов на серверы за счет использования прокси-механизмов.

·         Distributed Password Authentication (DPA) — протокол аутентификации по секретному ключу, который использует ряд крупнейших организованных сообществ Интернета, таких как MSN и CompuServe. Протокол является частью служб MCIS (Microsoft Commercial Internet System) и специально разработан для пользователей, которые хотят применять единый пароль для подключения к любому числу узлов Интернета, входящих в состав одного сетевого сообщества. Когда информационные серверы Интернета задействуют службу аутентификации MCIS в качестве единой серверной службы, пользователи могут подключаться к многочисленным узлам без повторного ввода пароля.

·         Протоколы, основанные на технологии открытых ключей, обеспечивают секретность и надежность работы в Интернете. SSL — это современный стандарт де-факто для соединений между обозревателями Интернета и информационными серверами Сети. (Планируемый IETF к выпуску стандартный протокол базируется на SSL3 и известен под именем Transport Layer Security или TLS). Для широкого применения этих протоколов, использующих для аутентификации клиентов и серверов сертификаты открытых ключей, необходима целая инфраструктура обслуживания открытых ключей. Windows NT 4.0 предоставляет службы формирования защищенных каналов, которые реализуют протоколы SSL/PCT. Система безопасности Windows 2000 обеспечивает более развитую поддержку протоколов с открытым ключом, о чем здесь будет рассказано немного позднее.

Уровень корпоративной безопасности определяется гибкостью применения в случае необходимости надлежащих защитных механизмов. Качество компьютерной обработки информации предприятия по-прежнему зависит от диапазона сетевых служб, предоставляемых удаленными файловыми серверами и серверами печати, серверами данных и деловых приложений, системами хранилищ данных и обработки транзакций. Именно поддержка многочисленных сетевых защитных протоколов дает возможность Windows 2000 Professional и Windows 2000 Server дополнить технологии Интернета большим числом различных сетевых служб.

На приведенном рисунке показана архитектура системы поддержки различных сетевых протоколов, реализованная в Windows 2000 с помощью интерфейса Security Support Provider Interface (SSPI).

Рис. 4. Архитектура поддержки различных служб аутентификации

Интерфейс SSPI применяется в системном API Win32 многими приложениями и системными службами, например, в Internet Explorer (IE) и Internet Information Server (IIS) для изоляции протоколов прикладного уровня от используемых в ходе сетевой аутентификации защитных протоколов. Специальные программные компоненты — поставщики услуг безопасности (Security Service Providers, SSP) — используют для аутентификации пользователя различные реквизиты — секретные ключи (shared secret) или сертификаты открытых ключей. Защитные протоколы взаимодействуют со службами аутентификации разных типов и хранилищами информации учетных записей.

·         Для аутентификации клиента и получения информации о полномочиях, поставщик услуг безопасности NTLM задействует работающие на контроллере домена службу аутентификации MSV1_0 и службу NetLogon.

·         Для работы с сеансными мандатами (session ticket), поставщик услуг безопасности Kerberos подключается к сетевому центру распределения ключей – KDC (Key Distribution Center) — и хранилищу учетных записей в Active Directory.

·         Для аутентификации членства в сообществе и получения информации о доступе к серверу, DPA использует службы безопасности MCIS.

·         Для работы служб защищенных каналов не требуется сервер сетевой аутентификации; их функционирование основано на сертификатах открытых ключей, выпущенных доверяемыми сертификационными центрами (Certificate Authorities, CA).

интерфейс SSPI


Защитные интерфейсы прикладного программирования (API) сетевой аутентификации Windows определены интерфейсом SSPI (Security Support Provider Interface), документация на который включена в Platform SDK. SSPI связывается с Win32 API, базируясь на интерфейсе GSS-API (Generic Security Service Application Program Interface), и формирует аналогичные интерфейсные абстракции для управления контекстом системы безопасности.[1] Приложения и службы Windows 2000 используют SSPI для изоляции протоколов прикладного уровня от деталей защитных сетевых протоколов. Windows 2000 поддерживает интерфейс SSPI в целях сокращения кода уровня приложений, необходимого для работы с многочисленными протоколами аутентификации. Интерфейс SSPI формирует базовый уровень абстракции, позволяющий поддерживать различные механизмы аутентификации, базирующиеся на протоколах с секретным или открытым ключом. Приложения, использующие встроенную систему безопасности Windows 2000, выигрывают благодаря модульной архитектуре SSPI, поскольку обращаются к каталогу утилит SSPI или применяют, предоставляемые через Authenticated RPC или DCOM, сетевые протоколы управления соединением высокого уровня.

Протокол аутентификации kerberos


Протокол аутентификации Kerberos определяет взаимодействия между клиентом и сетевой службой аутентификации, известной как Центр распределения ключей (Key Distribution Center, KDC). Windows 2000 реализует KDC как службу аутентификации на каждом контроллере домена. Хотя домен Windows 2000 — это эквивалент области (realm) Kerberos, мы будем продолжать ссылаться на него как на домен. Реализация Kerberos в Windows 2000 основана на определении протокола Kerberos в RFC 1510.[2] Клиент Kerberos времени исполнения (client run time) реализован как поставщик услуг безопасности (SSP) Windows 2000, работающий на базе SSPI. Процедура исходной Kerberos-аутентификации интегрирована с архитектурой однократного входа WinLogon. Сервер Kerberos (KDC), который объединен с работающими на контроллере домена службами безопасности Windows, использует Active Directory как базу данных учетных записей пользователей (в стандарте Kerberosprincipals) и групп.

Протокол аутентификации Kerberos расширяет базовые функции безопасности Windows 2000 и предоставляет следующие возможности:

·         Повышенная скорость аутентификации на сервере в ходе установления начального соединения. При аутентификации клиента, сервер приложений не должен подключаться к контроллеру домена. Это позволяет серверам приложений увеличить степень своей доступности при обработке большого числа клиентских запросов на подключение.

·         Делегирование прав на аутентификацию для многоуровневых клиент-серверных прикладных архитектур. Когда клиент соединяется с сервером, последний олицетворяет его при работе в системе. Однако, если серверу необходимо установить сетевое соединение с другим внутренним сервером системы для осуществления клиентской транзакции, то Kerberos допускает делегирование прав на аутентификацию первому серверу, чтобы тот соединился от имени клиента со вторым сервером. Такое делегирование позволяет второму серверу также произвести процедуру олицетворения клиента.

·         Транзитивные доверительные отношения и междоменная аутентификация. Пользователи могут пройти аутентификацию из любого места доменного дерева, поскольку службы аутентификации (центры KDC) каждого домена доверяют мандатам, переданным другими KDC доменного дерева. Транзитивные доверительные отношения упрощают управление доменами больших многодоменных сетей.

Аутентификационный протокол Kerberos 5.0, который определен в RFC 1510, прошел всестороннюю отраслевую проверку и хорошо известен среди специалистов по системам безопасности.

Основы Kerberos

Kerberos — это протокол аутентификации по секретному ключу, поскольку пользователю и KDC известен пользовательский пароль, или, если говорить о KDC, односторонне зашифрованный пароль. Протокол Kerberos определяет серию обменов данными между клиентами, KDC и серверами для получения и использования мандатов Kerberos (tickets). Когда пользователь инициирует вход в Windows, поставщик услуг безопасности Kerberos получает мандат на выдачу мандата Kerberos (ticket-granting ticket, TGT), сформированный на основе шифрования пользовательского пароля хэш-функцией. Windows 2000 сохраняет TGT в кэше мандатов рабочей станции, увязанной с контекстом регистрации пользователя. Когда клиентская программа попытается получить доступ к сетевой службе, Kerberos в режиме исполнения проверит наличие в кэше мандатов действительного сеансного мандата (session ticket) для захода на сервер. Если мандат отсутствует, TGT передается в ответ на сделанный в KDC запрос на отправку сеансного мандата, разрешающего доступ к серверу.

Сеансный мандат добавляется в кэш мандатов и может использоваться повторно для последующих соединений с тем же сервером до исчерпания срока действия мандата. Срок действия мандата определяется политикой безопасности домена и обычно устанавливается равным 8 часам. Если срок действия мандата закончится во время сеанса, то поставщик услуг безопасности Kerberos вернет соответствующие значения ошибок, что даст возможность клиенту и серверу обновить мандат, сгенерировать новый сеансный ключ и восстановить соединение.

На приведенном рисунке показаны связи между клиентом, KDC и сервером приложений, которые используют аутентификационный протокол Kerberos.

Рис. 5. Схема работы аутентификационного протокола Kerberos

Сеансный мандат Kerberos предъявляется удаленной службе в процессе передачи кадров установления соединения. Разделы сеансного мандата зашифрованы с помощью секретного ключа, известного этой службе и KDC. Сервер может быстро аутентифицировать клиента, не обращаясь к службе аутентификации, путем проверки сеансного мандата, поскольку его служба Kerberos времени исполнения располагает кэшированной копией секретного ключа сервера. Установление сеанса на стороне сервера происходит намного быстрее, чем при NTLM-аутентификации. Используя NTLM, сервер должен получить реквизиты пользователя, а затем повторно его аутентифицировать на контроллере домена в рамках процедуры установления соединения.

Сеансные мандаты Kerberos содержат уникальный сеансный ключ, который создается KDC для использования в процедуре симметричного шифрования аутентификационной информации и данных, передаваемых между клиентом и сервером. В модели Kerberos, KDC выступает в роли третьей, доступной через сеть, доверенной стороны, которая генерирует сеансный ключ. Сетевая аутентификация служб очень эффективна для работы с распределенными прикладными службами, размещенными в сети масштаба предприятия.

Интеграция Kerberos

Протокол Kerberos полностью интегрирован в архитектуру системы безопасности Windows 2000 для выполнения задач аутентификации и контроля доступа. Первоначальный вход в домен Windows обеспечивается службой WinLogon. Служба использует поставщика услуг безопасности Kerberos (Kerberos SSP) для получения начального мандата Kerberos. Другие компоненты операционной системы, такие как редиректор, для того чтобы получить сеансный мандат для подключения к серверу SMB в целях удаленного доступа к файлам, обращаются к Kerberos SSP через интерфейс SSPI.

Протокол Kerberos 5.0 определяет в сеансных мандатах зашифрованное поле для передачи данных об авторизации (полномочиях) (Authorization Data), оставляя порядок его применения за приложениями. Windows 2000 использует поле Authorization-Data для передачи идентификаторов безопасности (SID), идентифицирующих пользователя и членство в группах. Kerberos SSP на стороне сервера с помощью данного поля формирует маркер доступа (security access token), который идентифицирует пользователя данной системы. Перед тем, как попробовать получить доступ к локальным ресурсам, которые защищены с помощью списков контроля доступа (Access Control List, ACL), сервер следует модели безопасности Windows по олицетворению клиента — разбирает идентифицирующий пользователя маркер доступа.

Kerberos 5.0 поддерживает делегирование прав на аутентификацию, что реализовано с помощью флагов proxy и forwarding сеансных мандатов. Windows 2000 использует делегирование, чтобы дать возможность серверам получить другой сеансный мандат для связи с удаленным сервером от имени клиента.

Универсальность услуг Kerberos

Протокол Kerberos 5.0 реализован во множестве систем и является основой формирования единой службы аутентификации в распределенной сети. Универсальность Kerberos заключается в том, что он предоставляет единый протокол, который дает возможность получить доступ ко всем службам гетерогенной сети, используя единственную (возможно тиражируемую) базу данных учетных записей. Эта база данных применяется для аутентификации пользователей, работающих на всех видах компьютерных платформ корпорации. Универсальность Kerberos основана на следующих его характеристиках:

·         Для идентификации конечного пользователя или службы по сеансному имени (principal name) в ходе сетевого соединения, применяется общий аутентификационный протокол.

·         Способность к установлению доверительных отношений между областями управления Kerberos (realms) и генерации запросов на направление мандатов между областями (ticket referral request).

·         Наличие реализаций протокола, которые поддерживают определенные в RFC 1510 требования к универсальности услуг (Interoperability Requirements), касающиеся шифрования, алгоритмов вычисления контрольных сумм, взаимной аутентификации и других аспектов работы с мандатами.

·         Поддержка в Kerberos 5.0 форматов маркера безопасности в целях установления контекста и процедур обмена по каждому сообщению, как это определено рабочей группой IETF Common Authentication Technology (CAT).

Сеансное имя в мандате Kerberos используется в целях аутентификации идентичности пользователя, хотя для контроля доступа в локальной системе может задействоваться и дополнительная информация о полномочиях. Базирующаяся на понятии идентичности (identity) аутентификация гарантирует высокую степень универсальности тем системам, которые поддерживают работу с Kerberos 5.0. Однако она не обеспечивает проверки полномочий пользователя. Протокол Kerberos формирует транспорт для данных авторизации, но содержимое соответствующего поля (authorization-data) является специфичным для каждой прикладной службы.

Созданная Microsoft реализация Kerberos поддерживает характеристики универсальности, достаточные для аутентификации идентичности. Кроме того, Microsoft включила в мандаты Kerberos сведения о полномочиях (authorization data) в виде информации о членстве в группах Windows 2000, что позволяет передавать службам Windows 2000 сведения о контроле доступа. Исходным поставщиком данных авторизации являются идентификаторы безопасности Windows.

Службам Windows 2000 соответствуют учетные записи служб, которые определены в Active Directory, где также задаются секретные ключи, используемые KDC для шифрования сеансных мандатов. Клиенты, которые пытаются подключиться к службам Windows 2000, получают сеансные мандаты на связь с нужным сервером от KDC того домена, где определена учетная запись службы. Поддерживающий службу Windows поставщик услуг безопасности Kerberos должен извлечь содержимое поля Authorization-Data из сеансного мандата, которое используется для построения маркера доступа. Служба Windows 2000 олицетворяет защитный контекст клиента, основываясь на данных авторизации сеансного мандата.

Клиенты, нуждающиеся в передаче начальных TGT-мандатов Kerberos из отличных от Windows 2000 систем, используют механизм межобластной адресации (referral mechanism) Kerberos для запроса сеансного мандата из KDC в домене Windows 2000 Server. Межобластной мандат (referral ticket) создается c помощью межобластных доверительных отношений (realm trust relationship) между KDC. Те запросы на мандаты, которые инициализированы службой аутентификации Kerberos версии Массачусетского технологического института (MIT Kerberos), не предусматривают каких-либо данных авторизации. Если в сеансных мандатах нет информации о полномочиях (поле “authorization-data”), то поставщик услуг безопасности Kerberos Windows 2000 пытается на основе сеансного имени в мандате создать маркер доступа для указанной учетной записи пользователя или задействовать, определенную по умолчанию для этой цели, учетную запись. Корпорация Microsoft продолжает анализировать вопросы взаимодействия с различными конфигурациями Kerberos и намерена дальше работать над достижением полной универсальности протокола.

На протоколе Kerberos также основываются службы безопасности стандарта DCE (Distributed Computing Environment). Службы аутентификации DCE используют RPC-реализацию сообщений протокола Kerberos. Кроме того, DCE задействует поле “authorization-data” мандатов Kerberos для доставки сертификатов EPAC (Extended Privilege Attribute Certificate), которые определяют идентичность пользователей и членство в группе. Службы DCE EPAC используются аналогично идентификаторам безопасности Windows для проверки полномочий пользователя и контроля доступа. Службы Windows 2000 не могут преобразовывать сертификаты DCE EPAC в идентификаторы пользователей и групп Windows 2000. Это не является проблемой универсальности Kerberos, но затрагивает сферу взаимодействия DCE и Windows 2000 в части работы с информацией контроля доступа. Корпорация Microsoft планирует рассмотреть варианты отображения системы авторизации DCE на модель безопасности Windows 2000.

Расширения Kerberos для систем шифрования с открытым ключом

В дополнение к поддержке аутентификации по секретному ключу, Windows 2000 реализует расширения протокола Kerberos, которые обеспечивают аутентификацию с помощью пар ключей “личный/открытый”. Расширения для аутентификации по открытому ключу позволяют клиентам с помощью личного ключа выполнять запрос начального TGT, в то время как KDC расшифровывает запрос открытым ключом, полученным из сертификата X.509, который хранится в объекте User каталога Active Directory. Пользовательский сертификат может быть выпущен любым сертификационным центром, включая цифровые сертификаты VeriSigh или Microsoft Certificate Server в составе Windows 2000. После начальной аутентификации с личным ключом, для подключения к сетевым службам используются стандартные процедуры получения сеансных мандатов Kerberos.

На рассмотрение рабочей группы IETF было направлено предложение о расширении спецификации Kerberos, которое бы формировало процедуру использования криптографии открытого ключа для начальной аутентификации. Корпорация Microsoft участвует в разработке стандартов IETF и намерена поддерживать расширения стандартного протокола, предусматривающие использование открытых ключей.

Расширения протокола Kerberos в части аутентификации по открытому ключу формируют базу для сетевой аутентификации на основе технологии смарт-карт. Именно таким образом сможет зарегистрироваться на рабочей станции пользователь Windows 2000. В будущем будет создано много вариантов получения сертификатов для конечных пользователей, в зависимости от их служебного положения или вида выполняемой работы. Для тех организаций, которые хотят самостоятельно выписывать своим пользователям сертификаты на открытые ключи и не желают зависеть от коммерческих сертификационных центров, в Windows 2000 включен специальный продукт — Certificate Server. Сертификационная политика проста: сертификаты выписываются тем пользователям, которые были аутентифицированы на основе реквизитов существующей учетной записи домена. В следующем разделе описывается, каким образом эти сертификаты могут использоваться для доступа к ресурсам Windows 2000 через интрасети и Интернет.

Безопасность работы с Windows 2000 через интернет


В целях интеграции защиты на основе открытых ключей в систему безопасности Windows 2000, Microsoft разрабатывает инфраструктуру реализации этой технологии. Криптография открытых ключей — это технология, которая обеспечивает строгую защиту при работе в корпоративных сетях и Интернете. К числу защитных технологий Microsoft относятся: Certificate Server; поставщик защищенных каналов, реализующий протоколы SSL/TLS; протокол безопасных платежей SET, поддерживающий транзакции по кредитным карточкам; компоненты CryptoAPI, используемые для управления сертификатами и их администрирования.

Ниже показаны компоненты защитной инфраструктуры Microsoft, обеспечивающей работу с открытыми ключами.

Рис. 6. Компоненты защитной инфраструктуры, обеспечивающей работу с открытыми ключами

Созданная Microsoft инфраструктура безопасной работы в Интернете базируется на отраслевых стандартах по системам безопасности с открытым ключом, включая алгоритм шифрования RSA, форматы сертификатов X.509 и стандарты PKCS (Public-Key Cryptography Standards).

В Windows NT 4.0 были включены первые компоненты системы безопасности с открытым ключом:

·         CryptoAPI, с использованием архитектуры поставщиков служб для поддержки устанавливаемых поставщиков служб криптозащиты (Cryptographic Service Providers), а также с предоставлением программных функций цифровых подписей, шифрования данных, генерации ключей и обмена ими.

·         Версия CryptoAPI из Service Pack 3 for Windows NT 4.0, а также используемая в Internet Explorer 4.0 и Windows 2000, которая обеспечивает поддержку сертификатов X.509 и стандартов PKCS.

·         Протоколы поддержки аутентификации с открытым ключом — Secure Sockets Layer (SSL) версии 2.0 с реализацией защищенного канала, SSL 3.0 с поддержкой клиента, Private Communications Technology (PCT) версии 1.0.

·         Authenticode — стандартизованное отраслевое решение, в котором для проверки целостности загруженного из Интернет программного обеспечения и идентификации его распространителя, используется система цифровых подписей.

Защитная инфраструктура Microsoft для Интернета построена на указанных компонентах и формирует дополнительную функциональность, позволяющую на основе технологии открытых ключей поддерживать безопасность платформ Windows, включая Windows 2000. Многие из компонентов системы безопасности для Интернет используются в Microsoft Internet Explorer и Internet Information Server. К числу новых возможностей этой инфраструктуры, обеспечивающей работу Windows 2000 Distributed Security Services, следует отнести:

·         Аутентификацию клиента с помощью SSL 3.0, базирующуюся на сертификатах открытых ключей.

·         Certificate Server, выпускающий сертификаты для учетных записей доменов Windows 2000.

Система безопасности Windows 2000 использует стандарты Интернета на технологии открытых ключей, основываясь на встроенных в операционную систему возможностях.

Аутентификация клиента с помощью SSL 3.0

Протоколы Secure Socket Layer и Transport Layer Security — основанные на работе с открытыми ключами защитные протоколы, реализованные с помощью поставщика услуг безопасности защитного канала Secure Channel (модуль Schannel). Эти протоколы используются обозревателями Интернета и серверами для взаимной аутентификации, обеспечения целостности сообщений и конфиденциальности. Аутентификация сервера Интернета выполняется с помощью Internet Explorer (клиент), когда сертификат сервера предъявляется в рамках процедуры установления защищенного канала SSL/TLS. Клиентская программа подтверждает сертификат сервера, проверяя его зашифрованные подписи, как и подписи любых промежуточных сертификатов, на соответствие одному из известных или сконфигурированных как первичные (root CA), сертификационных центров.

С помощью SSL 3.0 и TLS может быть выполнена аутентификация клиента на основе его сертификата открытого ключа. Она также проходит в рамках установления сеанса связи по защищенному каналу.

Ниже, на Рисунке 7, показано прохождение между клиентом и сервером квитирующих сообщений SSL 3.0, с помощью которых устанавливается защищенное соединение.

Рис. 7. Процедура установления защищенного канала связи по протоколу SSL 3.0

Аутентификация клиента на сервере — тот же процесс, что и аутентификация сервера. Сервер проверяет зашифрованные подписи клиентского сертификата и любых промежуточных сертификатов, на соответствие известному или доверяемому первичному сертификационному центру. Однако, как только идентичность клиента будет проверена путем контроля сертификата (аутентификация клиента), серверу приложений необходимо установить защищенный контекст с соответствующими, установленными для клиента, привилегиями доступа. Для этого необходима информация контроля доступа, определяющая какими серверными ресурсами клиенту разрешено пользоваться. В защитной архитектуре Windows 2000 параметры контроля доступа определяются членством в группах и указанными в маркере доступа привилегиями.

Процедура аутентификации клиента с помощью открытого ключа использует информацию из клиентского сертификата для ее соотнесения (mapping) с локальной информацией контроля доступа. Это определяет, какие полномочия (authorization) клиент имеет для доступа к ресурсам сервера. Microsoft Internet Information Server обеспечивает начальную поддержку аутентификации клиента, за счет управления базой данных авторизации (authorization database). Это позволяет соотнести информацию о владельце или издателе сертификата с данными существующих учетных записей Windows 2000. Степень сложности базы данных полномочий определяется требованиями конкретного приложения.

Благодаря реализации службы безопасности, которая использует Active Directory для соотнесения информации сертификата с существующими учетными записями, Windows 2000 обеспечивает широкую поддержку аутентификации клиента. Соотнесение может быть выполнено путем поиска имени владельца сертификата в каталоге Windows или свойств каталога, которые идентифицируют сертификат клиента.

Система поддержки аутентификации клиента Windows 2000 объединяет сертификаты открытых ключей с архитектурой безопасности Windows 2000. Для определения привилегий доступа, которые увязаны с сертификатами открытых ключей, не требуется никакой специальной базы данных. Информация контроля доступа формируется данными о членстве в группах, которые хранятся в каталоге Windows. Для предоставления привилегий доступа путем включения пользователей Windows в группы, используется единый инструментарий службы каталога Windows.

Аутентификация внешних клиентов

Наличие в Windows 2000 поддержки аутентификации на основе сертификатов открытых ключей позволяет клиентским приложениям связываться с службами безопасности от имени пользователей, не имеющих учетной записи в домене Windows 2000. Таким образом, пользователи, которые проходят аутентификацию с помощью сертификатов открытых ключей, выпущенных доверяемым сертификационным центром, могут получить доступ к ресурсам Windows 2000. Средства администрирования службы каталогов (Directory Service) дают возможность администраторам или специалистам с делегированными правами прикреплять, в целях контроля доступа, одного или нескольких внешних пользователей к существующей учетной записи Windows. Для идентификации внешнего пользователя, который прикреплен к учетной записи, применяется имя Subject сертификата стандарта X.509 версии 3.0.

Предприниматели могут предоставлять защищенный доступ к информации отдельным представителям других организаций, не создавая большого числа индивидуальных учетных записей Windows 2000. Для формирования строгой аутентификации, которая базируется на сертификатах открытых ключей и общих атрибутах контроля доступа, применяется отображение сертификатов по схеме "многие-к-одному" (many-to-one) на объекты пользователей Windows 2000. Аутентификация внешних клиентов по-прежнему требует участия системного администратора, который должен сконфигурировать сертификационный центр, выдавший сертификаты внешним пользователям, в качестве доверяемого сертификационного центра. Это предотвратит выполнение подложной аутентификации по сертификату, выданному неизвестным центром.

Microsoft Certificate Server

Microsoft Certificate Server, включенный в состав Windows 2000 и Internet Information Server 4.0, предоставляет тем приложениям, которые используют криптографию открытого ключа, настраиваемые службы выпуска сертификатов и управления ими. Certificate Server может играть центральную роль в управлении такими системами, обеспечивая защищенную связь через Интернет, корпоративные интрасети и различные незащищенные сети. Microsoft Certificate Server поддается настройке, что позволяет выполнить требования по работе приложений самых разных организаций.

Certificate Server получает запросы на новые сертификаты через такие транспортные протоколы как RPC, HTTP, или по электронной почте. Он сличает каждый запрос с политикой узла или клиента, формирует дополнительные атрибуты сертификата, а затем выпускает его. Сервер также дает возможность администраторам расширять список недействительных сертификатов (Certificate Revocation List, CRL) и регулярно публиковать его подписанную версию. Разработчикам предоставляются программные интерфейсы, с помощью которых создаются дополнительные средства транспортного уровня, политики, атрибуты сертификатов и форматы.

Для выпуска сертификатов пользователям, имеющим учетные записи в домене Windows 2000, модуль политики Certificate Server применяет сетевую аутентификацию запросов на выдачу сертификата. Модуль политики можно настроить в соответствии с требованиями выпускающей сертификаты компании. Certificate Server создает сертификаты в стандартном формате X.509. Такие сертификаты повсеместно используются для аутентификации поддерживающих защищенную связь серверов и клиентов с помощью протоколов TLS или SSL. В последующих разделах описывается порядок использования некоторых ключевых функций Certificate Server.

В корпоративной интрасети или Интернете, серверы типа Microsoft Internet Information Server (IIS) могут выполнять аутентификацию клиента защищенного сеанса связи с помощью выданных Certificate Server сертификатов. Certificate Server также выпускает сертификаты, используемые IIS или другими веб-серверами для аутентификации сервера, тем самым позволяя гарантировать клиентам (обозревателям), что они подключились к нужному сетевому объекту.

CryptoAPI

Включенный в состав Windows NT 4.0 интерфейс CryptoAPI предоставляет низкоуровневую поддержку систем шифрования и модульных компонентов Cryptographic Service Provider (CSS). Windows 2000, в свою очередь, расширила этот интерфейс системой управления сертификатами (CryptoAPI Certificate Management), позволив формировать защиту на основе открытых ключей.

К числу новых основных возможностей CryptoAPI относятся:

·         Поддержка сертификатов стандарта X.509 версии 3.0 и списков недействительных сертификатов версии 2.0 этого же стандарта за счет общих функций кодирования/декодирования, разбора и контроля сертификатов.

·         Поддержка запросов на сертификаты в соответствии с PKCS #10 и PKCS #7 для подписанных и вложенных данных.

·         Добавление сертификатов и списков CRL в хранилища сертификатов и извлечение их оттуда, размещение сертификатов по атрибутам и связанным с ними личным ключам.

·         Поддержка цифровой подписи, проверки и шифрования данных с помощью высокоуровневых функций, доступных для приложений HTML, Java, Visual Basic Scripting Edition (VBScript), C/C++.

Функции CryptoAPI используются компонентами операционной системы Windows 2000, такими как Software Publisher Trust Provider, для проверки по Authenticode. Другие приложения и системные службы применяют CryptoAPI версии 2.0 для формирования общего набора функций, позволяющего реализовать технологию защиты на базе открытых ключей.

получение деловой информации через партнерскую сеть


Работающие через Интернет предприятия поддерживают с помощью Сети деловые контакты с заказчиками и партнерами. Реселлеры, поставщики, дистрибьюторы, а также все, кто входит в сферу деловой активности такой компании, могут соединиться с ее интрасетью и получить доступ к важной корпоративной информации. Командированные служащие и представители таких фирм все чаще подключаются к удаленным источникам корпоративных данных путем локального доступа к общедоступным сетям. Именно поэтому существующая система безопасности Windows NT движется по пути поддержки меняющихся потребностей распределенной обработки данных через Интернет.

Распределенная обработка деловой коллективной информации не зажата рамками единственной архитектуры, а технология защиты не должна ограничивать предпринимателя единственным способом доступа к данным. Быстрое развитие технологий защиты обуславливает наличие большого числа подходов к безопасности. Windows 2000 включает поддержку защитных протоколов и пользовательских моделей, которые способны удовлетворить требования приложений или деловой практики. Что более важно, Windows 2000 обеспечивает переход с нынешних систем корпоративной безопасности, давая возможность, по мере становления инфраструктуры, целиком задействовать применяемую в Интернете технологию защиты на основе открытых ключей.

Ниже перечислен ряд особенностей системы безопасности Windows 2000, которые обеспечивают управление и поддержку делового взаимодействия по сети:

·         Наиболее широко используемый сегодня базовый подход, обеспечивающий доступ деловых партнеров к информационным службам корпорации — создание для них учетных записей пользователя. Управление этими учетными записями сильно упрощается, благодаря интеграции системы безопасности Windows 2000 со службой каталогов Active Directory. Чтобы разделить по группам учетные записи различных партнеров, поставщиков и иных взаимодействующих сторон, могут использоваться организационные единицы в составе каталога. Администрирование этих учетных записей может быть делегировано специалистам подразделения, которое курирует эти связи. Для того, чтобы зашифровать сетевой трафик, передаваемый между компаниями по общедоступной сети, формируются виртуальные частные сети (Virtual Private Network, VPN). Основываясь на таком подходе, деловые партнеры могут с помощью служб удаленного доступа получать корпоративную информацию так же, как это делает любой, находящийся в командировке, работник компании. Доступ к базам данных или хранилищам информации может контролироваться с помощью системы контроля доступа Windows 2000.

·         Междоменные доверительные отношения — другой инструмент для установления деловых связей. При этом Active Directory обеспечивает намного более гибкое управление иерархическим деревом доменов. Конфигурирование междоменной маршрутизации передаваемых через Интернет данных упрощено, благодаря интеграции системы именования DNS и формата имен доменов. Если этого требует характер делового общения, то доверительные отношения могут использоваться как единственный способ конфигурирования клиент/серверных приложений, которые также имеют необходимые при связи через Интернет функции обеспечения целостности и секретности данных. Для доступа к разделяемым ресурсам удаленных доменов пользователи могут применять протоколы аутентификации Kerberos или открытого ключа.

·         Организациям предоставлена возможность решать свои проблемы защиты с помощью созданной Microsoft инфраструктуры безопасной работы в Интернете. Они могут выпускать сертификаты открытых ключей для тех партнеров, которым необходим доступ к конкретным информационным ресурсам. Сертификаты — это средство идентификации и проверки полномочий пользователя, заменяющее процедуры создания учетной записи пользователя или определения междоменных доверительных отношений. Сертификаты открытых ключей, наряду с необходимой для их выпуска инфраструктурой, являются наиболее эффективным средством поддержки межкорпоративного взаимодействия через Интернет. Windows 2000 поддерживает сертификаты X.509 версии 3.0, выпущенные любым сертификационным центром. При этом доверенные сертификационные центры определяют системные администраторы Windows 2000. Они также могут прикрепить внешних пользователей, проходящих аутентификацию в Windows 2000 с помощью сертификата открытого ключа, к учетной записи пользователя. Это дает возможность определить для этих пользователей привилегии доступа.

однократный вход в интернет и корпоративную сеть


Windows 2000 обеспечивает прозрачное управление реквизитами безопасности сетевого пользователя после его однократного входа в сеть. Пользователю нет необходимости знать, какой защитный протокол — NTLM, Kerberos или технология открытого ключа — используется при соединении с сетевым сервером. Его важно лишь то, что он зарегистрировался в системе и имеет доступ к широкому спектру сетевых служб.

Доступ к ресурсам внутри предприятия определяется привилегиями, предоставленными учетным записям пользователей или членам групп. При работе в Интернете, право доступа основано на проверке идентичности пользователя, выполняемой по зашифрованной личным ключом подписи и соответствующему сертификату открытого ключа. Работа всех защитных протоколов основана на использовании определенных реквизитов пользователя, которые предъявляются серверу при установлении соединения. Windows 2000 управляет этими реквизитами и автоматически использует соответствующий их набор, в зависимости от применяемого защитного протокола.

Windows 2000 Active Directory поддерживает большой набор реквизитов безопасности, входящих в блок закрытой информации учетных записей пользователей. Эти реквизиты применяются для работы с корпоративными службами аутентификации, которые используют контроллер домена для сетевой аутентификации пользователя. Передовые версии серверов приложений способны поддерживать интегрированную в Windows 2000 систему аутентификации через интерфейс SSPI.

Реквизиты безопасности NTLM

Аутентификационный протокол NTLM используется клиентами Windows 2000 для подключения к серверам, работающим под управлением предыдущих версий Windows NT. Например, NTLM-аутентификация применяется для доступа к удаленным сетевым файлам, размещенным на сервере Windows NT 4.0 или для доступа клиента Windows NT 4.0 к файловому ресурсу Windows 2000. Реквизиты безопасности NTLM включают имя домена, имя пользователя и зашифрованный пароль, которые вводятся один раз при первоначальном входе в систему.

Службы безопасности контроллера домена управляют хранящейся в Active Directory защищенной копией NTLM-реквизитов пользователя и задействуют ее при NTLM-аутентификации. Клиент Windows 2000 работает с реквизитами NTLM, которые вводятся им при входе в систему, когда он подключается к серверам Windows NT 4.0 посредством NTLM-аутентификации. В целях совместимости, система безопасности Windows 2000 обеспечивает поддержку реквизитов NTLM в том же объеме, что и Windows NT 4.0.

Реквизиты безопасности Kerberos

Основным аутентификационным протоколом домена Windows 2000 является Kerberos. Реквизиты безопасности Kerberos состоят из имен домена и пользователя (которое может иметь формат имени Интернета, например BobbyB@microsoft.com), а также зашифрованного, в соответствии с требованиями Kerberos, пароля. Когда пользователь входит в систему, то для его подключения к сетевым службам, Windows 2000 получает один или несколько мандатов Kerberos. Мандаты Kerberos предъявляют сетевые реквизиты пользователя для выполнения его аутентификации в рамках данного протокола.

Для формирования соединений со всеми сетевыми службами, Windows 2000 автоматически управляет кэшем мандатов Kerberos. Мандаты имеют срок действия, а обновление производится поставщиком услуг безопасности Kerberos и связанными с ним прикладными службами. Большинство служб, например, редиректор файловой системы, обновляют сеансные мандаты автоматически. Регулярное обновление мандатов позволяет усилить защиту сеанса связи за счет периодической замены сеансных ключей.

Сертификаты и пары ключей “личный/открытый”

Контроль за реквизитами безопасности Интернета — сертификатами и парой ключей “личный/открытый” — осуществляет пользователь. Active Directory применяется для публикации сертификатов открытых ключей, а стандартные протоколы доступа — для их обнаружения. Личные ключи и сертификаты, которые были предоставлены конечным пользователям, содержатся в защищенной области хранения, либо в локальной системе, либо на смарт-карте. Защищенная область хранения формируется защитными технологиями Интернета и известна под именем Protected Store (Защищенное хранилище).

Реализация защищенного хранилища основана на архитектуре CryptoAPI Windows NT. Для его построения CryptoAPI предоставляет функции управления ключами и различные средства криптозащиты. Хранение сертификатов при этом осуществляется в хранилище Certificate Store (Хранилище сертификатов). Осуществляя доступ к серверам Интернета, реализованные в Windows 2000 защитные протоколы поддержки открытых ключей используют в качестве реквизитов пользователя те ключи и сертификаты, которые они извлекают из хранилищ Protected Store и Certificate Store. Во многих случаях, определенные пользователем в Certificate Store атрибуты сертификатов дают возможность защитным протоколам автоматически выбрать и задействовать правильные сертификат и ключ к подписи. Усовершенствования защитных протоколов Интернета (SSL3/TLS) позволяют серверу запросить у клиента конкретные реквизиты, которые, при их наличии, автоматически извлекаются из Certificate Store.

Содержащаяся в Protected Store и Certificate Store информация также доступна и мобильным пользователям, поскольку схема безопасности хранилищ предусматривает их реализацию в виде компонента профилей пользователя. Когда пользователь первый раз регистрируется на клиенте Windows, то на этот компьютер копируется информация из его профиля. Если в ходе сеанса связи пользователь получил новые ключи и сертификаты, то после того как он выйдет из системы, его размещенный на центральном сервере профиль будет обновлен.

Безболезненный переход

Переход от используемой в Windows NT 4.0 (и более ранних ее версиях) NTLM-аутентификации к доменной аутентификации на основе протокола Kerberos окажется очень легким. Службы Windows 2000 поддерживают соединения с клиентом или сервером с помощью каждого из этих двух протоколов. Другую возможность выбора наиболее подходящей конфигурации защитного протокола предоставляет согласование защитных функций — либо через слой SSPI, либо через протокол уровня приложений.

Переход от чисто корпоративных служб с аутентификацией по Kerberos к службам Интернета, которые используют аутентификацию по открытому ключу, полностью прозрачен для пользователя. Windows 2000 поддерживает различные реквизиты пользователя, делая возможным применение аутентификационной технологии с секретным ключом для высокопроизводительных прикладных корпоративных служб и технологии защиты с открытым ключом при подключении с серверам Интернета. Большинство протоколов прикладного уровня, такие как LDAP, HTTP/HTTPS или RPC, поддерживают аутентификацию, могут взаимодействовать с различными аутентификационными службами и выбирать эти службы в процессе установления соединения.

Не ограничивая себя единственной технологией аутентификации и единственным аутентификационным протоколом, Windows 2000, для того чтобы удовлетворить требования сообщества пользователей и нужды приложений в части защищенной сетевой обработки данных, использует самые различные протоколы.

обеспечение легкого перехода к следующему поколению доменов


Переход от операционного окружения Windows NT 4.0 к доменам Windows 2000 окажется легким, благодаря обратной совместимости с существующей системой безопасности Windows и протоколами тиражирования (репликации) учетных записей. Простота такого перехода обеспечивается следующими возможностями Windows 2000 по взаимодействию с Windows NT 4.0:

·         Контроллер домена Windows 2000 может играть роль резервного контроллера (BDC) домена Windows NT 4.0 и получать реплицируемые копии информации об учетных записях с главного контроллера домена Windows NT 4.0.

·         Рабочие станции Windows NT 4.0 могут, с помощью аутентификационного протокола NTLM, отправлять на контроллер домена Windows 2000, который играет роль BDC домена Windows NT 4.0, запросы на сетевую аутентификацию.

·         Контроллеры доменов Windows 2000 могут устанавливать доверительные отношения с доменами Windows NT 4.0 и поддерживать сквозную аутентификацию между доменами. Это означает, что нет необходимости единовременно переводить все имеющиеся на предприятии домены на систему безопасности доменов Windows 2000.

За счет постепенного перевода резервных контроллеров домена Windows NT 4.0 в ранг контроллеров доменов Windows 2000, можно со временем заменить все контроллеры доменов Windows NT 4.0. Пока главный контроллер домена работает под управлением Windows NT 4.0, на нем будут использоваться средства управления учетными записями этой операционной системы. В конечном счете могут быть модернизированы все контроллеры доменов и, таким образом, переведены на использование Active Directory для управления учетными записями и многоадресное (multimaster) тиражирование учетных записей.

Поддержка в Windows 2000 различных протоколов аутентификации означает, что с помощью однократного входа в домен со своего компьютера, пользователь может получить доступ к службам Windows 2000 смешанного доменного окружения в любом месте, включая:

·         сервер Windows 2000 в домашнем домене или домене регистрации, с помощью сеансных мандатов Kerberos, выпущенных центром распределения ключей (KDC) на контроллере домена;

·         сервер Windows 2000 доверяемого домена, с помощью обращения Kerberos на KDC доверяемого домена для передачи сеансного мандата на удаленный сервер;

·         сервер Windows NT 4.0 доверяемого домена, с помощью сквозной NTLM-аутентификации между клиентом, сервером Windows NT 4.0 и контроллером доверяемого домена.

Поскольку Windows 2000 продолжает поддерживать NTLM-аутентификацию, клиенты Windows NT 4.0, которые не используют аутентификацию с помощью протокола Kerberos, также смогут подключаться к серверам приложений Windows 2000.

Данные возможности взаимодействия предоставляют организациям шанс разработать и реализовать гибкую стратегию перехода на операционную систему Windows 2000 Server, что позволит удовлетворить растущие потребности их бизнеса.

Заключение


Служба распределенной безопасности Windows 2000 (Distributed Security Services) предоставляет гибкие решения по построению защищенных и масштабируемых распределенных приложений. Средства администрирования системы безопасности и ее управления включают большое число возможностей по делегированию прав и уточненному контролю привилегий учетных записей. Active Directory поддерживает работу с доменами, которые имеют намного большее число учетных записей, включаемых в структурированное пространство имен организационных единиц. Управление междоменными доверительными отношениями упрощено, что повышает гибкость работы с доменами, позволяя проводить ее в необходимом предприятию направлении.

Включенные в Windows защитные API сетевой аутентификации, обеспечения секретности данных, цифровых подписей и шифрования позволяют разрабатывать защищенные приложения для Интернета и решения корпоративных задач. Интерфейсы SSPI и CryptoAPI, а также высокоуровневые интерфейсные абстракции COM и DCOM, делают доступными для приложений все встроенные в Windows 2000 функции безопасности. Надежная архитектура безопасности Windows NT последовательно реализована во всех системных компонентах и будет расширяться в целях поддержки режима строгой аутентификации и защиты с помощью открытых ключей. Таких возможностей не предоставляет сегодня ни одна из современных платформ распределенных приложений.

Служба распределенной безопасности Windows 2000 решает задачи аутентификации с помощью интеграции апробированных стандартов Интернета и одновременно вводит новую защитную технологию открытых ключей, основанную на известных стандартах и отраслевых решениях. Многие стандарты Интернета на защиту с помощью открытых ключей пока находятся на этапе становления. Хотя Microsoft и участвует с разработке этих стандартов, корпорация понимает возможность их последующего изменения. Поэтому защитная архитектура Windows 2000 разработана таким образом, что позволяет интегрировать новые защитные технологии, будь то протоколы, модули поставщиков служб шифрования архитектуры CSS (Cryptographic Service Provider), или технологии аутентификации третьих фирм. Развертывающие у себя сети Windows 2000 потребители могут выбрать, какую технологию защиты использовать, как с минимальными издержками интегрировать средства безопасности в свои прикладные системы, а также определить сроки перехода на новую технологию в случае ее появления.

Все вместе это делает Windows 2000 Distributed Security Services наилучшим фундаментом для осуществления защищенной распределенной компьютерной обработки данных через Интернет.

дополнительная информация


Самую свежую информацию о Windows 2000 и Windows NT Server можно найти по адресу http://www.microsoft.com/ntserevr, а также на форуме Windows NT Server Forum в Microsoft Network (GO MSNTS).

Более полно с возможностями Windows 2000 Active Directory можно познакомиться в документе Microsoft Windows NT Active Directory Technical Summary.

Дополнительную информацию по системам безопасности Microsoft для Интернета можно найти по адресу: http://www.microsoft.com/security.

Дополнительные сведения о архитектуре безопасности Windows NT, интерфейсам SSPI и CryptoAPI, защитным API в составе Windows NT можно найти в Microsoft Platform SDK.



[1] “Generic Security Services Application Program Interface”, J. Linn, Internet RFC 1508, September, 1993.

[2] “The Kerberos Network Authentication Service (V5)”, J. Kohl and C. Neumann, Internet RFC 1510, September, 1993.