В системах, основанных на идентификации, каждый пользователь должен иметь уникальную учетную запись и ни одна учетная запись никогда не может быть использована более чем одним лицом.
Windows 2000 Advanced Server (в дальнейшем - Windows 2000) использует ряд механизмов для обеспечения безопасности локального компьютера от злоумышленных программ, идентификации пользователей и обеспечения безопасности передачи данных по сети. Основные механизмы безопасности Windows 2000 перечислены ниже. В их числе:
• тотальный контроль за доступом предотвращает подключение ненадежных компьютеров к безопасным системам при помощи фильтрации пакетов и трансляции сетевых адресов, гарантируя что разрешенные сеансы пользователей не могут быть сфальсифицированы, украдены или мистифицированы, при помощи Kerberos и IPSec, и предотвращает нарушение программой адресного пространства другой программы при помощи защиты памяти;
• определение личности пользователя при помощи методов аутентификации, таких как Kerberos, Message Digest Authentication, смарт-карты, аутентификация RADIUS или протоколы аутентификации третьих фирм, например те, в которых реализованы биометрические способы;
• запрет или разрешение доступа на основе личности пользователя, при помощи списков контроля доступа для объектов с управляемой безопасностью, таких как принтеры, службы и хранимые на NTFS файлы и каталоги; посредством шифрования файлов при помощи Encrypting File System (шифрованной файловой системы, EFS); путем ограничения доступа к возможностям операционной системы, которые могут быть использованы неправильно, при помощи групповой политики и путем авторизации удаленных пользователей, подключенных через Интернет или удаленное соединение, при помощи политики RRAS;
• запись деятельности пользователя посредством журналов аудита особенно значимой информации и журналов соединений для публичных служб, таких как Web и FTP;
• закрытая передача данных между компьютерами, с использованием IPSec, PPTP или L2TP для шифрования потока данных между компьютерами. РРТР и L2TP позволяют пользователям инициировать безопасные потоки передачи данных, в то время как IPSec используется для того, чтобы позволить двум компьютерам безопасно передавать данные через публичный канал передачи данных независимо от личности пользователя;
• минимизация риска неправильной конфигурации путем группировки похожих механизмов безопасности в политики и последующего применения этих политик к группам похожих пользователей или компьютеров. Средства управления групповыми политиками, политиками RRAS и политиками IPSec в Windows 2000 позволяют администраторам осуществлять сквозные изменения в больших частях системы безопасности, не заботясь об отдельных ошибках.
Управление безопасностью должно осуществляться с учетом всей системы сети. Включение индивидуальных средств обеспечения безопасности не дает полной безопасности, потому что существует неисчислимое количество способов обойти индивидуальные средства безопасности.
Windows 2000 в своем состоянии по умолчанию сконфигурирована как удобная, а не безопасная система. Жесткие диски создаются по умолчанию с полным доступом для всех, никаких групповых политик по умолчанию не установлено, и большая часть межкомпьютерных взаимодействий небезопасна. По умолчанию никакие файлы не шифруются, и не включены никакие фильтры пакетов.
Для создания безопасной системы необходимо установить все важные средства обеспечения безопасности и затем ослаблять эти установки для обеспечения доступа имеющим на это право пользователям и повышения производительности.
Несмотря на большое продвижение в области целостного управления, в Windows 2000, еще многое можно сделать для обеспечения безопасности конфигурации по умолчанию. Тем не менее, инструментальные средства легко найти и они прекрасно работают вместе, предоставляя управляемый интерфейс для настройки характеристик безопасности.
3.1.1. Криптография.
Криптография (cryptography) — это наука о кодах и шифрах. Windows 2000 использует повсеместно применяющуюся криптографию для засекречивания всего, начиная от хранимых файлов и потоков передачи данных до паролей пользователей и аутентификации домена.
Криптография и шифрование играют важную роль в безопасности Windows 2000.
Все новые возможности обеспечения безопасности Windows 2000 основаны на криптографии. В отличие от этого, в первом выпуске Windows NT криптография использовалась только для хэширования паролей. В течение периода использования Windows NT 4 в операционную систему были добавлены разнообразные элементы крипографии, но они не обрабатывались согласованно и безопасно. Windows 2000 меняет такое положение дел, используя Active Directory как контейнер практически для всей конфигурации, связанной с безопасностью, и применения политик.
Windows 2000 использует шифрование (encryption) в трех жизненно важных целях:
• для подтверждения идентичности принципала безопасности;
• для подтверждения достоверности содержимого сообщения или файла;
• чтобы скрыть содержимое хранилища или потока данных.
Шифр (cipher) — это алгоритм шифрования, он защищает сообщение, переупорядочивая его или осуществляя изменения в кодировании, но не в смысловом значении сообщения. Код (code) — это согласованный способ сохранения тайны сообщений между двумя или более личностями. Ключ (key) — это небольшая порция информации, которая необходима для расшифровки сообщения, обычно в виде значения, используемого в шифре для зашифровки сообщения. Ключ должен держаться в секрете, для того чтобы сообщение оставалось закрытым.
3.1.2. Алгоритмы шифрования
Один из алгоритмов, который был разработан в секрете, но потом стал доступен для общественного использования, так же как и для государственного (но только для информации «Unclassified but Sensitive», несекретной, но важной), — это алгоритм Data Encryption Standard (стандарт) шифрования данных), или DES. Это симметричный алгоритм, что значит, что один и тот же ключ используется и для шифрования, и для расшифровки; он был предназначен для использования 56-разрядно-З го ключа. DES широко используется в коммерческом программном обеспечении и в устройствах связи, поддерживающих шифрование.
RSA (названный по именам своих создателей, Rivest, Shamir и Adleman) — это алгоритм, который не был разработан правительственным агентством. Его создатели воспользовались вычислительно-затратной проблемой разложения на простые числа для создания асимметричного (asymmetric) алгоритма, или алгоритма открытого ключа (public key), который может быть использован и для шифрования, и для цифровых подписей. RSA с тех пор стал очень популярной альтернативой DES. RSA используется рядом компаний по производству программного обеспечения, чьи продукты должны осуществлять безопасные соединения через небезопасный Интернет (такие, как web-браузеры), в числе которых Microsoft, Digital, Sun, Netscape и IBM.
Эти шифры не единственно возможные для использования в компьютерах и сетях. Правительства разных стран США и бывшего СССР активно разрабатывали коды и шифры, много частных лиц (особенно за последнее десятилетие) внесли вклад в развитие криптографии. GOST (ГОСТ) был разработан в бывшем СССР, FEAL был разработан NTT в Японии, LOKI был разработан в Австралии и IDEA — в Европе. Большинство этих шифров используют запатентованные алгоритмы, которые должны быть лицензированы для коммерческого использования, но не все (например, Blowfish). Каждый шифр обладает достоинствами и недостатками.
Все эти шифры обладают одним слабым местом: если известен шифр, который использовался для зашифровки сообщения, но не известен ключ, можно использовать ряд атак для того, чтобы попытаться декодировать сообщение, в том числе и метод «грубой силы», пытаясь перепробовать все возможные ключи.
Назначение шифров, в конечном итоге, — скрывать информацию. Противоположностью сокрытия информации являются попытки раскрыть, что же было засекречено, и прогресс в области взлома (breaking) кодов (или расшифровки кодов без ключа) идет в ногу с разработками в области создания кодов. Деятельность по осуществлению попыток взлома кодов называется криптоанализом (cryptanalysis), а люди, которые взламывают коды, называются криптоаналитиками (cryptanalyst). На системы безопасности может быть произведен ряд криптоаналитических атак различных типов.
Атака перебором ключей. Перебор пространства ключей (keyspace search) подразумевает проверку всех возможных ключей, которые могли использоваться для зашифровки сообщения.
Известный исходный текст. Для многих шифров криптоаналитик может сократить число перебираемых возможных ключей, если уже известен исходный текст зашифрованного сообщения.
Линейный и дифференциальный криптоанализ. Криптоаналитик может также искать математические совпадения во всех собранных зашифрованных текстах, которые были зашифрованы при помощи одного ключа.
Существует один шифр — одноразовая подстановка (one-time pad) — который нельзя разгадать, если нет ключа, даже имея в распоряжении все оставшееся время существования вселенной и все теоретически возможные вычислительные возможности. К сожалению, требования этого шифра делают его непригодным к использованию, за исключением определенных видов коммуникаций, не требующих высокой пропускной способности.
3.1.3. Симметрические функции
Если один и тот же ключ может быть использован для зашифровки или расшифровки сообщения, то такой шифр использует симметрическую функцию (symmetric function). Один ключ должен быть и у отправителя, и у получателя. Ряд симметричных шифров используется и в программном, и в аппаратном обеспечении. Получить представление о возможных шифрах можно, сравнив следующие три.
• DES. IBM и американское Управление национальной безопасности (National Security Agency, NSA) объединили усилия для разработки этого шифра. Он устойчив к дифференциальному криптоанализу, но поддается линейному криптоанализу. Длина ключа составляет только 56 бит, что сильно облегчает возможность попробовать все возможные ключи методом грубой силы для зашифрованного, текста. DES широко применяется в программном и аппаратном обеспечении шифрования. Это стандарт ANSI. Windows 2000 peaлизует и 40-битный DES, и 168-битный DES1 (triple-DES (тройной DES) — DES с тремя непрерывными ключами).