Книги, научные публикации Pages:     | 1 |   ...   | 12 | 13 | 14 | 15 | 16 |   ...   | 18 |

Distributed Systems Guide Microsoft Windows 2000 Server Microsoft Press Распределенные системы Книга 1 Microsof Windows 2000 ...

-- [ Страница 14 ] --

Конфиденциальность (confidentiality) это гарантия того, что только уполномо ченные пользователи смогут прочитать и использовать секретную информацию.

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

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

ЧАСТЬ 2 безопасность в распределенных системах Проверка подлинности, или аутентификация (authentication), одна из базовых функций криптографии, а именно Ч проверка аутентичности (подлинности) объек тов в сети. Если проверка подлинности не поддерживается, любое лицо, имеющее доступ к сети, способно средствами общедоступных программы фальсифицировать обратный адрес сообщений по протоколу IP и выдать себя за другого пользовате ля. Для предотвращения этого в криптосистемах применяются специальные техно логии и механизмы аутентификации как отправителей, так и получателей инфор мации. В частности, определение доверия (или его отсутствие) между объектами в сети и создание соединения выполняется на основе информации действительных цифровых реквизитов.

Целостность (integrity) Ч подразумевает проверку аутентичности и полноты ин формации, то есть обеспечивает неизменность данных при передаче и храпении, Когда пет контроля целостности, не удается установить факт изменения данных.

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

Невозможность отрицания авторства (nonrepudiation) Ч не позволяет участнику соединения ложно утверждать, что обмен сообщениями или соединение не состоя лось. В отсутствие такой функции участники могут обмениваться сообщениями, а потом отказаться от этого или утверждать, что сеанс состоялся в другое время. В частности, существует вероятность, что отправитель сообщения умышленно не при знает свое авторство, а ее получатель откажется от факта получения.

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

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

Что криптография не делает Очень важно понять реальные возможности криптографических технологий безопасности. При правильном использовании системы безопасности на ос нове криптографии обеспечивают достаточную защиту ресурсов, ограничен ную только возможностями криптографической технологии. Однако надо по мнить, что криптографические технологии являются лишь частью общей си Криптография в сетевых информационных системах ГЛАВА 14 стемы сетевой и информационной безопасности. Общая надежность систе мы безопасности зависит от многих факторов, в том числе правильного вы бора технологии, адекватности процедур и процессов обеспечения безопас ности, а также от того, насколько профессионально эти процедуры, процес сы и технологии применяются пользователями. Другими словами, надеж ность безопасности определяется самым слабым звеном общей системы бе зопасности.

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

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

Роль криптологического анализа С криптографией связан криптояошческий анализ (cryptarialysis) Ч наука о преоб разовании шифротекста в исходный открытый текст. Обе эти дисциплины являют ся составными частями криптологии (cryptology). Цель криптографии состоит в обеспечении информационной безопасности путем разработки надежных крипто систем, а цель криптологического анализа Ч обнаружение уязвимых мест и недо статков криптосистем и методов взлома защиты таких систем. Советы специалис тов в области криптологического анализа позволяют оценить и укрепить надеж ность любой криптосистемы. Как правило, криптосистема не считается безопасной, если она не выдержала тщательного криптологического анализа.

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

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

612 ЧАСТЬ 2 Безопасность в распределенных системах Основные компоненты современной криптографии Для обеспечения сетевой и информационной безопасности в современных элект ронных криптосистемах используются сложные математические алгоритмы, а так же иные способы:

Х алгоритмы шифрования;

Х функции выборки из сообщения, или хэш-функции;

Х алгоритм аутентификации сообщений НМЛС (Hashed Message Authentication Code);

Х алгоритмы обмена секретными ключами;

Х цифровые подписи.

В технологиях распределенной безопасности Windows 2000 эти криптологичсские компоненты применяются для реализации различных функций безопасности. Под робнее о применении этих компонентен совместно с технологиями безопасности Windows 2000 Ч в справочной системе Windows 2000 Server и в следующих мате риалах MSDN:

Х Microsoft Windows 2000 Professional Resource Kit;

Х Microsoft Windows 2000 Server Resource Kit;

Х Microsoft Platform Software Development Kit.

Шифрование Традиционно для шифрования и расшифровки сообщений используются секретные ключи. Процесс преобразования открытого текста в зашифрованный называется шифрованием (encryption), а обратный процесс преобразования зашифрованного текста в открытый расшифровкой (decryption). Для шифрования и расшифровки информации в современных электронных системах криптографии используются цифровые ключи (digital keys), представляющие собой двоичные строки, и алгорит мы шифрования (encryption algorithms) - математические алгоритмы, применяемые для преобразования данных.

Существуют две разновидности шифрования: симметричное (symmetric key encryption) и асимметричное (asymmetric encryption), или шифрование с примене нием открытых ключей (public key encryption). Обе разновидности применяются (зачастую совместно) для реализации разнообразных функций защиты сети.

Симметричное шифрование Алгоритмы шифрования, в которых один и тот же ключ применяется, как для шиф рования, так и для расшифровки даш-млх, называются алгоритмами симметричного ключа или просто симметричными, алгоритмами. Симметричный ключ также назы вают секретным, так как он известен голько отправителю и получателю данных.

Если ключ становится достоянием третьего лица, конфиденциальность зашифро ванной информации компрометируется. Схематично процесс шифрования и рас шифровки с применением симметричных ключей показан на рис. 14-1.

Симметричное шифрование значительно быстрее обычно в несколько сотен (до тысяч) раз Ч шифрования с применением открытых ключей. Так как нагрузка на процессоры компьютеров при шифровании открытым ключом намного выше, чем ГЛАВА 14 Криптография е сетевых информационных системах при симметричном шифровании, последнее обычно используется там, где требует ся массовое, или сплошное (bulk), шифрование данных.

Операции шифрования, выполняемые Алисой ПНДРТГ.-'. ХХ':Х'Х& Общий секретный ключ Алгоритм шифрования Открытый текст Зашифрованный текст Шифрование Операции расшифровки, выполняемые Бобом Общий секретный ключ Алгоритм шифрования Зашифрованный текст Открытый текст Расшифровка Рис. 14-1. Шифрование и расшифровка с применением симметричного ключа В протоколах безопасности симметричные ключи часто служат ключами сеансов (session key) защищенной связи в сети. Например, в протоколах TLS (Transport Layer Security) и IPScc (Internet Protocol Security) шифрование и расшифровка данных, пересылаемых по сети, выполняются с применением симметричных клю чей сеансов и стандартных алгоритмов шифрования. В каждом сеансе безопасной связи используется новый ключ сеанса. Иногда эти ключи обновляются через оп ределенное время в процессе самого сеанса.

Как правило, симметричные ключи применяют и в технологиях сплошного шиф рования постоянных данных, таких, как сообщения электронной почты и файлы документов. В частности, в S/MIME (Secure/Multipurpose Internet Mail Extensions) симметричные ключи используются для шифрования сообщений защищенной по чты, а в шифрованной файловой системе (Encrypting File System, EES) - для шиф рования файлов.

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

Шифрование с применением открытых ключей Алгоритмы шифрования, в которых для шифрования и расшифровки информации используются разные ключи, чаше всего называют алгоритмами с применением открытых ключей (public-key algorithms) или асимметричными алгоритмами (asymmetric algorithm). Здесь применяются пары взаимосвязанных ключей, состс ЧАСТЬ 2 Безопасность в распределенных системах ящие из закрытого ключа (private key), известного только его владельцу, и свобод но распространяемого в сети открытого ключа (public key), предоставляемого по тенциальным получателям информации- Например, чтобы обеспечить доступность открытого ключа пользователя всем сотрудникам организации, его публикуют в каталоге. Закрытый и открытый ключи функционально дополняют друг друга. За шифрованная открытым ключом информация расшифровывается только при по мощи парного закрытого ключа, и наоборот, зашифрованное закрытым ключом со общение расшифровывается открытым ключом. Схематически процесс шифрова ния и расшифровки с применением открытых ключей показан на рис. 14-2.

Закрытый ключ Алисы Открытый ключ Алисы Алиса Кришна Открытый Шифрование Зашифрованный Расшифровка Открытый текст 1 текст 1 текст Отправители Ч Мэри Алиса -Получатель Открытый Шифрование Зашифрованный Расшифровка Открытый текст 2 текст 2 текст Закрытый ключ Алисы Открытый ключ Алисы Питер Алиса Открытый Шифрование Зашифрованный Расшифровка Открытый текст 3 текст 3 текст Рис. 14-2. Шифрование и расшифровка с применением асимметричных ключей Закрытые ключи также применяются при создании цифровой подписи по алгорит му RSA. В технологии цифровой подписи RSA расшифровка информации, зашиф рованной закрытым ключом, возможна только парным ему открытым ключом.

В настоящее время шифрование с применением открытых ключей все чаще исполь зуют при создании надежных масштабируемых решении безопасности в интрасе тях и Интернете. Его обычно применяют для:

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

Х создания цифровых подписей для обеспечения проверки подлинности и невоз можности отрицания авторства объектов в сети;

Х создания цифровых подписей для обеспечения целостности данных в электрон ных файлах и документах.

Криптография в сетевых информационных системах ГЛАВА 14 Функции выборки из сообщения Функции выборки из сообщения (message digest functions), или хэш-функции (hash functions), используются для создания цифрового лотпечатка пальцев, который называется выборкой из сообщения (message digest) или хэшем (hash). Как правило, хэги (hash) Ч это значение длиной от 128 до 160 бит, предназначенное для цифро вой идентификации файла или документа. Хэш-функции Ч это математические функции, позволяющие создавать индивидуальные значения хеша на основе инфор мации документа. Хэши идентичных документов одинаковы, но при изменении хотя бы одного бита в документе, меняется и весь его хэш. Процесс создания xsina проиллюстрирован на рис. 14-3.

160-битный х э ш 160-битная 160-битный хэш хэш-функция 160-битный хэш Документ Рис. 14-3. Пример создания кэша Так как хэши значительно короче данных, на основе которых они созданы и длина хэша конечна, одному значению хэша могут соответствовать два или более различ ных наборов входных данных. Наличие двух (или более) исходных документов с одинаковым хэшем называется коллизией (collisions). Качественные хэши создают ся с применением необратимых математических функций, поэтому попытка полу чить исходные данные из такого хэша математическими или вычислительными ме тодами нецелесообразна. Также бессмысленно применять эти методы для поиска коллизий. Хотя их обнаружение теоретически возможно, на подбор потребуется слишком много времени и вычислительных ресурсов. Вместе с тем, даже если зло умышленник и обнаружит коллизию, она вряд ли ему пригодится. Предположим, что определенному сообщению на английском языке соответствует хэш п и зло умышленнику удалось подобрать второй набор данных, у которого значение хэша также равно п. Чтобы злоумышленнику удалось использовать этот набор в своих интересах, например заменить им оригинальное сообщение, этот набор данных дол жен представлять собой связное и осмысленное сообщение на английском (или на каком-то другом языке). Для лучших современных хэш-функций вероятность того, что в обнаруженной коллизии второй текст представляет собой внятное сообще ние на языке любого народа мира, а не абракадабру, ничтожно мала, Хэши обычно используются совместно с технологиями открытого ключа для созда ния цифровых подписей или цифровых лотпечатков пальцев текста, применяю щихся для проверки подлинности, обеспечения целостности и невозможности от рицания авторства. Хэши также необходимы для обеспечения целостности элект ронных файлов и документов при их подписании, Например, для обеспечения целостности сообщений электронной почты созданный на основе сообщения хэш подписывается (шифруется) закрытым ключом автора и передается вместе с почтовым сообщением. Получатель проверяет целостность со общения следующим образом:

21 Зак 402?

Безопасность в распределенных системах 616 ЧАСТЬ Х применяет идентичную хэш-функцию и вычисляется хэш сообщения;

Х открытым ключом отправителя расшифровывает подписанный хэш;

Х сравнивает вычисленное и расшифрованное значения хэша.

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

Пересылаемое сообщение Открытый текст Хэш-функция Закрытый ключ отправителя J Если оба хэша совпадают, Получатель целостность открытого текста сообщения считается подтвержденной Рис. 14-4. Пример проверки целостности сообщения при помощи подписанного хэша Так как хэш подписан закрытым ключом отправителя, бессмысленно перехватывать сообщение, чтобы, изменив его и создав для него новый действительный хэш, от править получателю. Другой способ обеспечения целостности данных - на основе хэшей с применением функции НМАС (Hashed Message Authentication Code) опи сан далее в этой главе.

В настоящее время наиболее популярны два алгоритма хэширования - MD5 (128 битный хэш), разработанный компанией RSA Data Security, Inc., и SHA-1 (160-бит ный хэш), разработанный National Security Agency. Считается, что алгоритм SHA- обеспечивает более надежную криптографическую безопасность, чем MD5, так как создает хэши большей длины, а также менее уязвим для атак некоторых типов, к которым чувствителен MD5.

Функции алгоритма НМАС НМАС (Hashed Message Authentication Code) Ч это алгоритм проверки подлинно сти сообщений, используемый для защиты связи через Интернет. Он описан в до ГЛАВА 14 Криптография в сетевых информационных системах кумепте RFC 2104 рабочей группы Network Working Group сообщества IETF (Internet Engineering Task Force). В НМАС используются такие стандартные хэш функции, как MD5 и SHA-1. Считается, что HMAC-MD5 обеспечивает более вы сокую производительность, а НМЛС-SHA-l Ч более надежную криптографическую безопасность.

НМАС широко применяется для обеспечения целостности данных, которые пере даются во время сеансов безопасной связи через Интернет, в частности по прото колам TLS и IPscc. НМАС создает хэш каждого блока передаваемых данных и шиф рует эти хэши случайным секретным ключом симметричного шифрования. Секрет ный ключ безопасным образом распространяется среди участников связи. Безопас ный обмен секретными ключами осуществляется посредством алгоритмов обмена ключами - о них чуть позже в этой главе, На принимающий стороне секретный ключ применяется для расшифровки хэша и проверки целостности данных, Криптографическая стойкость НМАС зависит от надежности используемой хэш функции и безопасности обмена секретными ключами. Злоумышленник, которому не известен секретный ключ, не в состоянии исказить передаваемые по сети дан ные или подделать хэши. Как и цифровые подписи, НМАС обеспечивает целост ность данных и защищает от подделки, не требуя при этом от сторон применения открытых и закрытых ключей. Кроме того, НМАС обеспечивает более высокую производительность сплошного шифрования пересылаемых по сети сообщений, чем технологии цифровой подписи с применением открытых ключей.

Обмен секретными ключами При использовании симметричных ключей для защиты пересылаемых по сети со общений необходимо, с одной стороны, безопасно распространить секретные клю чи среди уполномоченных сторон и, с другой, Ч предотвратить утечку этих клю чей. Безопасный обмен секретными ключами по сети часто осуществляется сред ствами технологии открытых ключей. Чаще всего применяют один из двух алго ритмов обмена ключами:

Х алгоритм обмена ключами Диффи - Хеллмапа (Diffie-Hellrnan);

Х обмен ключами RSA.

Оба метода обеспечивают высокую безопасность обмена ключами. Расшифровать перехваченные в сети данные посторонним не удастся: для этого требуется секрет ный ключ, который сложно угадать или расшифровать. Конкретные механизмы и алгоритмы, применяющиеся при обмене ключами, определяются используемой тех нологией безопасности. Обычно алгоритм обмена ключами Диффи Ч Хеллмана обеспечивает более высокую производительность, чем алгоритм RSA.

Алгоритм обмена ключами Диффи - Хеллмана В 1975 году исследователи Стэпдфордского университета Уитфилд Диффи (Whitfidd Diffie) и Мартин Хеллман (Martin rlellman) впервые предложили безо пасное решение конфиденциальности при (открытом) обмене информации в сети.

Схема работы алгоритма обмена ключами Диффи - Хеллмана проиллюстрирована на рис. 14-5.

В основе обмена ключами Диффи Хеллмана лежит пе шифрование и/или par шифровка, а математические функции, позволяющие двум сторонам создавать об щие секретные ключи для конфиденциального обмена информацией в сети. В об щих чертах процесс выглядит так: стороны оговаривают общее открытое число g и Безопасность в распределенных системах 618 ЧАСТЬ большое простое число р. Затем каждый выбирает собственное секретное число, к примеру, одна сторона - х, а другая - у. Далее обе стороны используют свои сек ретные числа для вычисления открытых значений Х mod р и g1" mod p соответствен но и обмениваются ими. Затем каждая сторона вычисляет при помощи предостав ленного противоположной стороной открытого значения общий секретный ключ, который и применяет в качестве ключа для конфиденциальной связи. Ключом яв ляется число gxy mod р;

первая сторона вычисляет его как (gy)*modp, а вторая (gy)xmod p. Посторонние не узнают общий секретный ключ, так как им неизвестно ни одно из секретных значений - х или у.

Алиса и Боб открыто договариваются о числе д и простом числе р Алиса выбирает Боб выбирает собственное собственное секретное число у секретное число х g^mod р д х mod p (д х mod p )(g y mod p) (Q Y mod р )|д* mod p ) Секретный ключ Рис. 14-5. Алгоритм обмена ключами Диффи Ч Хеллмана Например, Алиса выбирает секретное число х и направляет открытое значение g* mod p Бобу. Боб выбирает секретное число у и направляет открытое значение gv mod p Алисе, Алиса использует значение gv mod p в качестве секретного ключа для конфиденциальной связи с Бобом. Боб в качестве секретного ключа использу ет значение g- s mod р. Так как gs> mod p равно g>llc mod p, Аниса и Боб применяют эти секретные ключи в алгоритме симметричного шифрования, используемом для за щиты конфиденциальной связи в сети. Использование операции деления по моду лю (mod) гарантирует, что обе стороны получают одно и то же секретное значение, а злоумышленникам (или любым посторонним лицам) оно неизвестно. Даже если злоумышленник перехватит значения g и р, то, так как простое число р велико, ему будет чрезвычайно сложно вычислить секретные значения х и у. Секретный ключ известен обеим сторонам и никогда не передается по сети.

Алгоритм Диффи Ч Хеллмана широко применяется в технологиях безопасности Интернета (например, IPSec и TLS) для обмена секретными ключами при конфи денциальной связи по сети. Различаются только технические детали его реализа ции. Подробнее об алгоритме обмена ключами Диффи Ч Хеллмана и о его реали зациях в технологиях безопасности - в литературе по криптографии, список кото рой приведен в разделе Дополнительные материалы в конце этой главы.

Обмен ключами RSA Среди алгоритмов криптографии с применением открытых ключей наиболее широ ко используются алгоритмы Ривест --- Шамир Ч Эйдлмана (Rivest- Shamir- Adleman, Криптография в сетевых информационных системах ГЛАВА 14 RSA), запатентованные RSA Data Security, Inc. При обмене ключами RSA секрет ные ключи шифруются открытым ключом получателя и безопасно пересылаются по сети. Расшифровать секретный ключ может только сам получатель, так как для этого требуется его закрытый ключ. По этой причине общий секретный ключ недо ступен перехватившей его третьей стороной. Процесс обмена ключами RSA пока зан на рис. 14-6.

Открытый ключ Закрытый ключ получателя получателя Рис. 14-6. Обмен ключами RSA Процесс обмена ключами RSA применяется для защиты ключей шифрования в не которых технологиях безопасности. Например, в EPS (Encrypting File System шифрованная файловая система) используется процесс обмена ключами RSA для защиты ключей сплошного шифрования, служащих для шифрования и расшифров ки файлов.

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

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

Вместе с тем, шифрование всего сообщения для создания цифровой подписи не практично по трем причинам:

ЧАСТЬ 2 Безопасность в распределенных системах Х содержащийся в подписи зашифрованный текст занимает столько же места, сколько и исходный текст, что удваивается сетевой трафик и требует большей полосы пропускания и места для хранения информации;

Х шифрование с применением открытых ключей увеличивает вычислительную нагрузку на процессоры, что значительно снижает производительность компь ютеров и сети;

Х при шифровании всего сообщения злоумышленники получают большой объем зашифрованного текста, облегчающий криптологический анализ. Кроме того, в некоторых случаях злоумышленникам известен исходный текст (например, за головки сообщений электронной почты).

В алгоритмах цифровой подписи применяют более эффективные методы создания цифровых подписей. В настоящее время наиболее распространены цифровые под писи, создаваемые подписанием хэша сообщения закрытым ключом автора, Так как подписывается только хэш, подпись обычно гораздо короче самих данных. Поэто му создание цифровых подписей не перегружает процессор, Этот метод не требует увеличения полосы пропускания сети, кроме того, злоумышленникам не удастся по лучить большие объемы зашифрованного текста для криптологического анализа. В настоящее время наиболее распространены два алгоритма цифровой подписи цифровая подпись RSA и алгоритм DSA (Digital Signature Algorithm).

Алгоритм цифровой подписи RSA В алгоритме цифровой подписи RSA (Rivest-Shamir-Adleman) закрытым ключом шифруется только хэш сообщения. Зашифрованный хэш становится цифровой под писью и прикрепляется к оригинальным данным. Процесс создания цифровой под писи RSA показан на рис. 14-7.

Шифрование закрытым ключом Ожидаемый Настоящий хэш хэш Если оба хэша совпадают, целостность текста сообщения считается подтвержденной Рис. 14-7. Создание цифровой подписи RSA Криптография в сетевых информационных системах ГЛАВА Чтобы проверить целостность подписанных данных, получатель вычисляет хеш принятого сообщения и сравнивает его с исходным, расшифровав подпись откры тым ключом отправителя. Совпадение обоих хешей подтверждает целостность со общения. Более того, подтверждается и личность отправителя, так как этот откры тый ключ расшифровывает только данные, зашифрованные соответствующим зак рытым ключом.

Стандарт цифровых подписей DSS Еще одна распространенная технология создания цифровых подписей Ч DSS (Digital Signature Security Standard) - разработана Национальным агенством безо пасности (National Security Agency) и принята правительством США в качестве стандарта цифровой подписи. Б DSS определен алгоритм DSA (Digital Signature Algorithm), работающий сходным с RSA образом. В отличие от RSA, в алгоритме DSA хеш не шифруется закрытым ключом и не расшифровывается парным откры тым ключом. Вместо этого в DSA при помощи специальных математических функ ций создается цифровая подпись, состоящая из двух 160-битных чисел, получен ных из хэша и закрытого ключа. Для проверки подписи в DSA, как и в RSA, ис пользуется открытый ключ, но сам процесс проверки более сложен.

Считается, что надежность цифровой подписи по алгоритмам DSA и RSA практи чески одинакова. Вместе с тем, для обеспечения высокой надежности цифровых подписей в алгоритме DSA необходимо применять хэш-функцию SHA-1. Алгоритм RSA поддерживает и другие, отличные от SHA-1, хэш-функции. Обычно такие циф ровые подписи менее стойки. Так как проверка подписи по алгоритму DSA нагру жает процессор существенно больше, чем RSA (при всех прочих равных условиях), использование цифровой подписи RSA обычно обеспечивает более высокую про изводительность.

Алгоритм DSA используется только для создания цифровых подписей и не обеспе чивает шифрования данных (например, для безопасного обмена секретными клю чами), поэтому он обычно не подлежит ограничениям на экспорт или импорт, ко торые, как правило, налагаются на технологию шифрования RSA. По этой причине технология цифровой подписи DSS часто используется там, где из-за правитель ственных ограничений нельзя применять RSA.

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

Х проверки подлинности объектов сети;

Х подтверждения авторства или происхождения цифровых данных;

Х обеспечения целостности цифровых данных и защиты их от искажения.

Цифровые подписи применяются во многих технологиях защиты. Например, для цифрового подписания программного обеспечения по технологии Microsoft Authenticode. Она обеспечивает безопасное распространение программ в иптрасе тях и Интернете, помогает бороться с подделкой программ и предотвращает рас пространение вирусов и вредоносного кода иод видом полезных программ. Анало Безопасность в распределенных системах 622 ЧАСТЬ гично в протоколе S/MIME цифровое подписание сообщений электронной почты гарантирует их целостность при пересылке и хранении.

Основные компоненты инфраструктуры открытого ключа Инфраструктура открытого ключа (Public Key Infrastructure, PKI) в Windows предоставляет каркас, состоящий из служб, технологий, протоколов и стандартов, позволяющий развертывать и управлять системой стойкой информационной безо пасности на базе технологий открытого ключа. Основные компоненты инфраструк туры открытого ключа Ч это цифровые сертификаты, списки отзыва сертифика тов (certificate revocation list, CRL) и центры сертификации (certification authority, СА или ЦС). Инфраструктура открытого ключа необходима для реализации реше ний на основе технологии открытого ключа. Без нее, как правило, невозможно при менить технологии открытого ключа в масштабе предприятия, В этом разделе мы расскажем об основных понятиях и о компонентах инфраструк туры открытого ключа, построенных на основе открытых стандартов, рекомендован ных рабочей группой по инфраструктуре открытого ключа [Public-Key Infrastructure (Х.509) (PKIX)] сообщества IETF (Internet Engineering Task Force). Соответствую щая рекомендациям PKIX инфраструктура открытого ключа обеспечивает хорошую совместимость криптографических продуктов разных поставщиков, поддерживаю щих работу с открытыми ключами. Подробнее об использующихся в инфраструкту ре открытого ключа Windows 2000 компонентах и технологиях Ч в главе 16 Служ бы сертификации и инфраструктура открытого ключа в Windows 2000. Подробнее о рекомендациях рабочей группы PXIX относительно инфраструктуры открытого ключа Ч на Web-странице Web Resources по адресу win do ws2000/reskit/ web resources, ссылка Internet Engineering Task Force (IETF).

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

В открытой сети Алиса направляет Бобу вместе с сообщением, подписанным сво им закрытым ключом, парный открытый ключ. Получив такое сообщение, Боб про веряет его целостность при помощи открытого ключа. Но как Боб удостоверится, что отправитель и автор сообщения именно Алиса? Ведь не исключено, что некий злоумышленник перехватил исходное сообщение Алисы и подменил его поддель ным, которое направил Бобу, присоединив к посланию свой ключ. Этот же зло умышленник без особых усилий может выдать себя за Алису, подделав ее сетевой IP-адрес. Кроме того, у Боба нет никакой уверенности, что Алиса впоследствии не откажется от факта создания и отправки данного сообщения.

ГЛАВА 14 Криптография в сетевых информационных системах Доверие в среде равноправных участников Чтобы доверять паре ключей Алисы, Бобу необходимо достоверно знать, что от правитель Ч действительно Алиса и что представленный открытый ключ на самом деле принадлежит ей. Если Боб знает Алису лично и получил этот открытый ключ непосредственно из ее рук, он уверен в его подлинности и проверяет им цифровые подписи, сделанные закрытым ключом Алисы. В этом случае попытка злоумыш ленника выдать себя за Алису не увенчается успехом, так как Боб, обладая настоя щим открытым ключом, легко обнаружит подлог или изменение сообщения. Одна ко такой способ установления доверия пригоден только для небольших групп лю дей, рабочие места которых располагаются рядом и которые хорошо знают друг друга. Доверие в среде равноправных участников (peer-to-peer trust) эффективно в узком кругу сотрудников, доверяющих открытым ключам друг друга, но не годит ся для открытой среды Интернета или больших и географически распределенных предприятий.

Доверие центрам сертификации Для создания системы доверия к наборам ключей в открытых сетях необходимы доверенные учреждения, которые возьмут на себя аутентификацию людей, органи заций и компьютеров в сети, предоставляя подтверждение принадлежности откры тых и закрытых ключей. Такие доверенные учреждения, называются центрами сер тификации (certification authority, CA) или ЦС. Они однозначно идентифицируют сетевые объекты и предоставляют идентификационные удостоверения, на основе которых участники сетевого обмена проверяют аутентичность объектов сети.

Для установления доверия в Интернете, интрасетях и экстрасетях в инфраструкту ре открытого ключа используются электронные удостоверения, которые называют ся цифровыми сертификатами (digital certificates) и выпускаются ЦС. Цифровой сертификат подтверждает, что названный в нем объект является владельцем пары лоткрытый/закрытый ключи*. При наличии такого свидетельства другие объекты в сети могут быть уверены в принадлежности открытого ключа.

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

В совместимых с PKIX инфраструктурах открытого ключа, например в PKI Win dows 2000, схема среды равноправных участников не используется. Вместо этого для установления доверия к объектам сети и их наборам ключей применяются циф ровые сертификаты, выпускаемые доверенными ЦС.

Цифровые сертификаты Подобно удостоверениям личности цифровые сертификаты служат для идентифи кации людей, организаций и компьютеров в сети. Сертификаты выпускаются и сер тифицируются центрами сертификации. Совместимые со спецификацией PKIX инфраструктуры открытого ключа поддерживают сертификаты промышленного стандарта Х.509 v3.

Функции традиционных удостоверений личности Функции цифровых сертификатов подобны функциям удостоверений личности, таких, как паспорт или водительские права. Удостоверения личности выдаются при Безопасность в распределенных системах 624 ЧАСТЬ знанными государственными органами власти. Причем государственный орган про веряет, является ли лицо тем, за кого себя выдает, выясняет правомочность полу чениея им документа и только после этого выдает удостоверение. Удостоверение личности (например, водительские права) позволяет достоверно идентифицировать его владельца, так как оно соответствует определенным требованиям:

Х удостоверение содержит персональную информацию, помогающую идентифици ровать и найти владельца;

Х принадлежность удостоверения подтверждается фотографией и подписью вла дельца;

Х в удостоверении указано название органа, выдавшего удостоверение и его коор динаты;

Х содержащуюся в удостоверении информацию сложно изменить, а само удосто верение защищено от подделки.

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

Х факт отзыва легко обнаружить, обратившись в соответствующую организацию.

Выпуск сертификатов центрами сертификации Как выданный официальным органом паспорт позволяет достоверно идентифици ровать личность, гак выпущенные ЦС цифровые сертификаты предоставляют до казательства аутентичности объектов в сети. В цифровом сертификате нет фото графии и подписи владельца - он привязывает* открытый ключ владельца к его закрытому ключу В сертификате содержится информация, идентифицирующая его владельца (иног да его называют субъектом) как объект в сети. Сертификат также содержит откры тый ключ владельца и указывает на выпустивший его ЦС, называемый издателем (issuer) сертификата. Сертификат подписывается закрытым ключом ЦС. Для со здания этой подписи ЦС вычисляет хэш сертификата и шифрует его своим закры тым ключом. Созданная таким образом цифровая подпись включается в сертифи кат. Проверка целостности сертификата выполняется при помощи хэщ-функции и открытого ключа ЦС. Если сертификат поврежден или подменен, его хэш не со впадет с хэшем в цифровой подписи ЦС. Процесс подписания сертификата цент ром сертификации показан на рис. 14-8.

Сертификат Закрытый ключ Информация, це центра сертификации идентифицирующая субъект Хэш Открытый ключ субъекта Создание Имя центра цифровой сертификации подписи Цифровая сертификации Рис. 14-8. Цифровое подписание сертификата Криптография в сетевых информационных системах ГЛАВА 14 Сертификат Ч это открытая, доступная всем информация. Как правило, сертифи каты распространяют через каталоги, общие папки и Web-страницы, а также посред ством электронной почты. Распространение сертификатов подразумевает также распространение открытых ключей, ведь сертификаты содержат открытые ключи.

Доверие к закрытому ключу владельца сертификата основывается на репутации выпустившего сертификат ЦС и па уверенности в соблюдении им правил выпуска сертификатов.

Содержание сертификатов Х.509 v Совместимые со спецификацией PKIX инфраструктуры открытого ключа, в том числе и инфраструктура открытого ключа Windows 2000, поддерживают сертифи каты формата Х.509 v3. Содержание сертификата Х.509 v3 показано на рис. 14-9.

Сертификат Версия Серийный номер сертификата Идентификатор алгоритма подписи издателя сертификата Издатель Срок действия Субъект Информация Идентификатор алгоритма открытого ключа субъекта Открытый ключ Уникальный идентификатор издателя Уникальный идентификатор субъекта Необязательная Расширения информация Цифрован подпись центра сертификации Поля расширений (необязательные) Рис. 14-9. Структура сертификата формата Х.509 v Содержание полей сертификата Х.509 v3 описано в таблице 14-1.

Таблица 14-1. Описание содержания сертификата Х.509 v Поле сертификата Описание _^^ Версия (Version) Версия формата сертификата, например v Серийный номер сертификата Уникальный серийный номер, который присваивается цент (Certificate Serial Number) ром сертификации. ЦС ведет учет всех выпускаемых серти фикатов, и любой из них опознается по серийному номеру.

Кроме тото, серийные номера используются для идентифи кации отозванных сертификатов (см. след, стр.) Безопасность в распределенных системах 626 ЧАСТЬ Таблица 14-1. (продолжение) Поле сертификата Описание Идентификатор алгоритма Криптографические алгоритмы открытого ключа и хэширо сертификата (Certificate вания, использованные выпускающим ЦС при создании цифровой подписи для сертификата Algorithm Identifier) Имя центра сертификации, выпустившего сертификат. Имя Издатель (Issuer) приводится в одном или в нескольких форматах -- в имени каталога X.5D1, адресе электронной почты Интернета, пол ном имени узла (FQDN), адресе электронной почты Х. или URL-адресе Срок действия Даты начала и окончания срока действия сертификата. Оп ределяют период времени, в течение которого сертификат (Validity Period) действителен. Сертификат можно отозвать до окончания срока его действия Субъект (Subject) Имя субъекта (владельца) сертификата. Имя приводится в одном или нескольких форматах Ч в имени каталога Х.501, адресе электронной почты Интернета, полном имени узла (FQDN), адресе электронной почты Х.400 или URL-адресе Информация открытого Открытый ключ и список алгоритмов открытого ключа. В ключа субъекта (Subject списке перечислены алгоритмы для выполнения всех задач, Public-Key Information) в которых допускается использовать данную пару ключей, например цифровая подпись, шифрование секретного клю ча, проверка подлинности Уникальный идентификатор Дополнительная информация для уникальной идентифика издателя (Issuer Unique ции издателя. Указывается при необходимости Identifier) Уникальный идентификатор Дополнительная информация для уникальной идентифика субъекта (Subject Unique ции субъекта. Указывается при необходимости Identifier) Расширения (Extensions) Дополнительная информация, иногда необходимая для ра боты инфраструктур открытого ключа. Обычно в расшире ниях перечисляются специальные назначения сертификатов (например, защищенная почта S/MIME или проверка под линности IPSec), доверительные отношения ЦС и иерархи ческая информация, места публикации списков отзыва и списки дополнительных атрибутов издателя и субъекта Цифровая подпись центра Цифровая подпись ЦС, создаваемая на последнем этапе сертификации (Certification формирования сертификата Authority's Digital Signature) Назначения лары ключей В поле информации открытого ключа субъекта в сертификате Х.509 v3 содержатся сведения о криптографических операциях, в которых допускается использовать данную пару ключей. Как правило, системы безопасности на базе открытых клю чей поддерживают следующие основные криптографические операции:

Х подписание электронных данных для подтверждения их происхождения и це лостности;

Х проверку подлинности объектов сети;

Х шифрование секретного ключа симметричного шифрования для его защиты при передаче и распространении по сети.

Криптография в сетевых информационных системах ГЛАВА 14 Пары открытого и закрытого ключей применяются в технологиях информацион ной безопасности для выполнения самых различных назначений. Они перечисле ны в поле расширений. Далее приведены обычные назначения сертификата:

Х защищенная почта, обеспечивающая проверку подлинности, конфиденциаль ность, целостность и невозможность отрицания авторства сообщений;

Х безопасная связь через Интернет, обеспечивающая проверку подлинности, це лостность и конфиденциальность связи между Web-клиентами и серверами;

Х подписание кода, обеспечивающее целостность и невозможность отрицания ав торства исполняемого кода при его распространении в Интернете и интрасетях;

Х проверка подлинности пользователей ресурсов сети при локальном и удаленном входе в систему;

Х проверка подлинности средствами IPSec для клиентов, не использующих про токол Kerberos и общие секретные пароли при связи по протоколам IPSec.

Управление сертификатами Инфраструктура открытого ключа позволяет управлять сертификатами и закрыты ми ключами в течение всего цикла их жизни. Жизненный цикл сертификата состо ит из:

Х выпуска сертификата;

Х отзыва сертификата;

Х обновления сертификата;

Х окончания срока действия сертификата.

Управление жизненным циклом сертификатов подразумевает:

Х прием заявок на сертификаты от пользователей и компьютеров;

Х распространение сертификатов;

Х публикацию списков отзыва сертификатов;

Х обновление сертификатов;

Х ведение контрольного следа сертификата.

Регистрация сертификатов Чтобы получить сертификат в ЦС, пользователи и компьютеры должны подать в центр сертификации заявку на сертификат. Процесс подачи заявки зависит от реа лизации этой операции на конкретном ЦС и заданных в нем политик. Один из наи более распространенных методов запроса сертификатов Ч посредством специаль но созданных Web-страниц. Получив запрос на сертификат, ЦС проверяет, соответ ствует ли заявитель критериям для выдачи сертификата, и в зависимости от резул. татов проверки удовлетворяет или отклонят запрос.

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

Безопасность в распределенных системах 628 ЧАСТЬ Некоторые инфраструктуры открытого ключа, в том числе инфраструктура откры того ключа Windows 2000, позволяют автоматизировать регистрацию сертификатов определенных типов. Например, в Windows 2000 разрешается сконфигурировать групповую политику открытого ключа на автоматический выпуск сертификатов компьютеров под управлением Windows 2000.

Распространение сертификатов Выпушенные сертификаты передаются заявителю и в места распространения, где их могут при необходимости получить другие пользователи. Многие инфраструк туры открытого ключа, в их числе и инфраструктура Windows 2000, автоматически распространяют сертификаты через каталоги, Web-станицы, общие папки и элект ронную почту.

Списки отзыва сертификатов ЦС публикует списки отзыва сертификатов (certificate revocation list, CRL) -- спис ки сертификатов, объявленных недействительными (это происходит, например, когда пользователь сертификата увольняется или когда секретный ключ скомпро метирован). При проверке сертификата программа просматривает списки CRL, что бы установить, не отозван ли сертификат. В CRL публикуются недействительные сертификаты, которым нельзя доверять. По истечении срока действия сертификат исключается из списка CRL. Для предотвращения фальсификации ЦС подписыва ет CRL своим закрытым ключом.

Многие инфраструктуры открытого ключа, в том числе и инфраструктура откры того ключа Windows 2000, конфигурируются на периодическую публикацию CRL.

Списки CRL иногда распространяются через каталоги, Web-страницы, общие пап ки и электронную почту. В формате сертификатов Х.509 v3 предусмотрено поле, где перечислены места распространения CRL, опубликованных выпускающим ЦС.

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

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

Контрольный след необходим для обеспечения безопасности ЦС и организаций.

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

Кроме того, записи контрольного следа требуются для обнаружения брешей в сете вой безопасности. Так, администраторы просматривают контрольный след, чтобы Криптография в сетевых информационных системах ГЛАВА 14 обнаружить отклоненные запросы сертификатов или найти тех, кто получил сер тификаты с нарушением процедуры.

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

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

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

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

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

Восстановление ключей Иногда копии закрытых ключей, использующихся Fie для подписания, а для шиф рования данных, безопасно хранятся в базах данных или архивах восстановления ключей. Такой способ хранения поддерживается в протоколе S/MIME и шифро ванной файловой системе EFS. В S/MIME и EFS открытый ключ пользователя применяется для шифрования и защиты секретного симметричного ключа сплош ного шифрования данных. Для расшифровки ключа сплошного шифрования необ ходим закрытый ключ пользователя. При разрушении или утрате закрытый ключ восстанавливается из защищенной базы данных восстановления ключей.

ЧАСТЬ 2 Безопасность в распределенных системах Внимание! Закрытые ключи цифрового подписания, никогда не следует экспорти ровать или сохранять в файле или архиве, так как при этом они доступны не толь ко законному владельцу. Злоумышленники в состоянии получить доступ к дубли кату и выступать от лица владельца. Наличие копии ключа подписания компроме тирует проверку подлинности, целостность и невозможность отрицания авторства, обеспечиваемые этим ключом. Поэтому в Windows 2000 экспорт закрытых ключей, используемых для подписания, запрещен.

Правильная поддержка базы данных восстановления ключей подразумевает допуск к работе с ней и к восстановлению ключей только доверенных администраторов.

Для предотвращения компрометации необходимо обеспечивать конфиденциаль ность закрытых ключей при любых операциях восстановления ключей и данных.

Некоторые инфраструктуры открытого ключа и продукты на базе открытого клю ча поддерживают систему депонирования ключей (key escrow system), позволяющую другим уполномоченным пользователям получать доступ к закрытым ключам и применять их. Такая система обычно управляется независимой организацией. На личие системы депонирования ключей иногда является необходимым условием для получения лицензии на экспорт криптографической технологии. Как правило, сис темы депонирования ключей применяются в случаях, когда представителям госу дарства нужен доступ к определенным закрытым ключам.

В Windows 2000 отсутствуют службы восстановления или депонирования ключей, но они входят в состав некоторых других продуктов Microsoft и сторонних произ водителей. Например, в Microsoft Exchange Server встроены службы восстановле ния ключей для защищенной почты, позволяющие- восстанавливать зашифрован ные данные при утрате или повреждении ключа. Вместе с тем в Windows 2000 раз решается экспортировать не подписывающие закрытые ключи, применяемые в тех нологиях S/MIME и EFS. Это позволяет архивировать ключи и использовать их в дальнейшем для восстановления данных. Экспортированные ключи хранятся в за шифрованном файле, защищенном паролем.

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

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

Службы, предоставляемые центрами сертификации Роли и функции ЦС в интрасети и в Интернете в основном одинаковы. В течение жизненного цикла сертификата ЦС выполняет следующие основные функции:

Х обрабатывает запросы на сертификаты: идентифицирует заявителя и выпускает сертификат, подготовленный в соответствии с политикой данного ЦС;

Криптография в сетевых информационных системах ГЛАВА Х управляет регистрацией контрольного следа сертификата от момента подачи заявки на сертификат до его отзыва или окончания срока действия;

Х обновляет сертификаты до окончания срока действия;

Х при необходимости отзывает сертификаты;

Х поддерживает и публикует списки отзыва сертификатов (CRL).

Политики сертификатов и правила центров сертификации Политика сертификатов (certificate policy) устанавливает требования к сертифи катам в организации, например длину открытых ключей, время жизни сертифика тов и их назначения. В положении о правилах сертификации (Certificate Practice Statement, CPS) указаны правила, которыми руководствуется ЦС при выпуске и управлении сертификатами в соответствии с существующей политикой сертифи кации. Также в этом положении описаны критерии и процедуры для обработки за просов на сертификаты, отзыва сертификатов и публикации списков CRL.

Коммерческие ЦС обычно публикуют свои положении о правилах сертификации (иногда их называют заявление поставщика) на собственных открытых Web-узлах.

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

Политики сертификатов обычно содержат сведения о:

Х назначениях данного сертификата (например, проверка подлинности пользова телей, цифровое подписание программного обеспечения, защищенная электрон ная почта и т. д.);

Х требованиях к управлению закрытыми ключами, например обязательное хране ние на смарт-картах или других устройствах;

Х возможности экспорта закрытого ключа;

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

Х правилах запроса и обновления сертификатов;

Х жизненном цикле сертификатов;

Х применяемых криптографических алгоритмах;

Х минимальной длине открытого и закрытого ключей.

Положения о правилах сертификации обычно содержат:

Х точные исходные данные ЦС, в том числе имя ЦС, имя сервера и DNS-адрсс;

Х существующие на ЦС политики сертификатов и типы выпускаемых сертификатов;

Х описание политик, процедур и процессов выпуска и обновления сертификатов;

Безопасность в распределенных системах 632 ЧАСТЬ Х сведения о криптографических алгоритмах и длине ключа для сертификата ЦС;

Х информацию о жизненном цикле сертификата ЦС;

Х описание физической, сетевой и функциональной безопасности ЦС;

Х сведения о жизненных циклах сертификатов, выпускаемых ЦС;

Х описание политики отзыва сертификатов, в том числе условия отзыва сертифи катов, например увольнение сотрудника или злоупотребление привилегиями безопасности;

Х информацию о политиках епископ CRL, в том числе местах и периодах публи кации списков CRL;

Х сведения о политиках обновления сертификата ЦС до окончания срока его дей ствия.

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

Способы установления доверия к центрам сертификации Многие инфраструктуры открытого ключа, в том числе инфраструктура открытого ключа Windows 2000, поддерживают модель иерархически построенных довери тельных отношений, где доверие поддерживается корневым ЦС, который ручается за все дочерние или подчиненные (subordinate) ЦС. Корневой ЦС сам подписывает свой сертификат и является самым доверенным ЦС на предприятии. Корневой ЦС выпускает сертификаты для подчиненных ЦС, а те, в свою очередь, Ч для подчи ненных ЦС более низкого уровня. Таким образом, создаются многоуровневые иерархии сертификации. Обычно для определенных назначений доверяют серти фикатам, выпущенным центрами сертификации, относящимися к иерархии, на вершине которой расположен доверенный корневой ЦС. Цепь доверия сертифи катов Ч от ЦС, выпустившего сертификат, до корневого ЦС Ч называется путем сертификации (certification path). Подробнее об иерархии ЦС и доверительных от ношениях Ч в главе 16 Службы сертификации и инфраструктура открытого клю ча в Windows 2000.

Многие инфраструктуры открытого ключа, в том числе PKI в Windows 2000, со держат механизмы перекрестных доверительных отношений сертификации, кото рые позволяют устанавливать доверие к сертификатам, выпушенным ЦС, который не относится к иерархии сертификации Вашей организации. В Windows 2000 су ществует уникальный метод установления доверия к ЦС и сертификатам сторон них организаций Ч это списки доверия сертификатов (Certification Trust List, CTL).

Иерархии сертификации создают слишком общую систему доверия, в которой сер тификатам, выпущенным в этой иерархии сертификации, доверяют иногда слиш ком много назначений. Перекрестные доверительные отношения сертификации позволяют сузить область доверия, ограничив его несколькими специально выбран Криптография в сетевых информационных системах ГЛАВД 14 ными сертификатами. Например, в Windows 2000 списки CTL позволяют устано вить доверие к отдельным сертификатам, выпущенным ЦС делового партнера, что бы предоставить их обладателям возможность доступа к Web-ресурсам в экстрасе ти. Даже если эти сертификаты действительны для многих назначений, Вы вправе средствами списков CTL ограничить их применение, например только для прохож дения проверки подлинности пользователей Web-узлов.

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

Х длина ключа симметричного шифрования;

Х длина открытого ключа;

Х жизненные циклы ключей;

Х объем открытого текста, известного взломщикам;

Х надежность реализации технологии безопасности;

Х степень случайности при создании ключей;

Х надежность протоколов безопасности;

Х наличие системы безопасного хранения закрытых ключей.

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

Подробнее об оценке риска атак на системы безопасности Ч в главе 13 Обеспече ние безопасности средствами технологии открытого ключа.

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

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

Чем больше длина ключа, тем меньше вероятность успешных атак, так как число возможных комбинаций увеличивается. Так, для 40-битного ключа существует 2 i возможных значений. Если компьютер перебирает 1 000 000 ключей в секунду, для взлома потребуется не больше 13 дней. Для 128-битного ключа существует 212Я воз можных значений. Если в Вашем распоряжении окажутся 10 миллионов компью теров, способных перебирать 100 миллиардов ключей в секунду, на взлом потребу ется 10П лет. Таким образом, чем длиннее ключ, том лучше он защищен от атак.

При симметричном шифровании увеличение длины ключа на один бит удваивает Безопасность в распределенных системах 634 ЧАСТЬ время, необходимое для взлома перебором. При увеличении длины ключа в два раза время, необходимое для взлома, растет пропорционально квадрату длины.

Вместе с тем его потребуется тем меньше, чем выше вычислительные мощности, доступные злоумышленникам. Со снижением цен на высокопроизводительные ком пьютеры увеличилось число успешных лобовых атак. Взлом шифра с 40-битным ключом на самом быстром из доступных в настоящее время персональных компь ютеров занимает уже не дни, а часы. Некоторое время назад ведущие эксперты в области криптографии оценили стоимость создания компьютера, способного взло мать широко распространенный 56-битный алгоритм DES (Data Encryption Standard), в сумму более 7 миллионов долларов. Но в июле 1998 года в городе Сан Франциско штата Калифорния группа Electronic Frontier Foundation использовала собранный из общедоступных компонентов суперкомпьютер стоимостью около 250 000 долларов для взлома сообщения, зашифрованного этим алгоритмом. Ком пьютер перебирал 92 миллиарда ключей в секунду и, перебрав около 25% возмож ных ключей, за 56 часов расшифровал сообщение. В январе 1999 года та же группа, усовершенствовав свой суперкомпьютер, за 22 часа взломала сообщение, зашифро ванное 56-битным алгоритмом DES. Таким образом, за 6 месяцев время взлома уменьшилось более чем в два раза.

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

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

Несмотря на то, что 128-битный симметричный ключ считается в настоящее время неуязвимым, даже 256-битные открытые ключи не защитят Вас от опытных взлом щиков. С увеличением длины открытого и закрытого ключа для успешной атаки требуется существенно больше усилий, однако при этом сложность атаки (обычно под этим подразумевают вычислительное время, необходимое для исчерпывающе го перебора ключей) возрастает не экспоненциально, как в случае с симметричным ключом. Вот почему рекомендуемая ныне минимальная длина открытых ключей составляет 512 бит. Вместе с тем для защиты ценной информации и связи высокой секретности рекомендуются (если это действительно оправдано) открытые ключи длиной более 512 бит.

ГЛАВА 14 Криптография в сетевых информационных системах Примечание Длинные открытые и закрытые ключи существенно снижают произ водительность компьютеров. Прежде чем их применять, следует проверить работу системы в таком режиме в управляемом окружении.

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

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

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

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

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

Для атаки при наличии известного открытого текста (known plaintext attack) зло умышленник использует информацию, которая, как ему заведомо известно, содер жится в зашифрованных файлах (например, стандартные заголовки электронной почты), для взлома схемы шифрования. Так, ранние версии файла с паролями Microsoft Windows 95 содержали известный зашифрованный текст. Это позволяю легко расшифровывать хранящиеся в нем пользовательские пароли. После обнару жения этой бреши специалисты Microsoft создали программу, которая убирала из вестный отрывок текста из зашифрованной части файла с паролями Windows 95 и, таким образом, устраняла проблему.

Безопасность в распределенных системах 636 ЧАСТЬ Для шпаки при наличии открытого текста по выбору атакующего (chosen plaintext attack) злоумышленник выбирает отрывок открытого текста и предоставляет его для шифрования. Затем атакующий анализирует полученный шифротекст и на ос новании тонких различий и характерных структур достаточно быстро взламывает шифр. Реализовать этот способ весьма несложно злоумышленнику достаточно отправить выбранную информацию через шифруемый канал и средствами сетевого анализатора перехватить зашифрованный текст.

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

Во многих технологиях сплошного шифрования, таких, как защищенная почта S/MIME и шифрованная файловая система EFS, создается уникальный секретный ключ для шифрования каждого нового сообщения. Это позволяет ограничить объем зашифрованного текста, доступного для криптологического анализа данного сим метричного ключа. В таких технологиях безопасной связи по сети, как TLS и IPSec, чтобы снизить объем доступного для криптологического анализа зашифрованного текста, обычно применяют ключи сеанса с коротким временем жизни. Некоторые технологии, например IPSec и протокол проверки подлинности Kerberos, позволя ют устанавливать время жизни ключей сеанса и ограничивать объем доступного текста, зашифрованного каждым ключом сеанса.

Далее перечислены меры для снижения риска взлома при наличии известного от крытого текста.

Х Ограничивайте время жизни ключей. Это сокращает объем текста, зашифрован ного одним ключом и доступного для криптологического анализа. Чем меньше объем зашифрованного текста, тем меньше материала для криптологического анализа и, следовательно, ниже вероятность успеха такой атаки.

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

Х Минимизируйте объем открытого текста, шифруемого одним ключом сеанса.

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

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

Для максимальной защиты ключи шифрования следует создавать случайным об разом, однако некачественные генераторы случайных чисел создают предсказуемые ключи. Более тога, реализации технологий безопасности зачастую атакуются как на системном уровне, так и на уровне приложений. Злоумышленник способен за пустить компьютер с дискеты и средствами низкоуровневых дисковых утилит об наружить и извлечь хранящиеся на жестком диске ключи шифрования. Если опе рационная система кэширует секретные ключи в памяти, то для их извлечения применяется переполнение буфера или получение снимков памяти. Не исключе но также использование специальных приложений или вирусов, изменяющих сам ход шифрования (например, чтобы создавать известные атакующему ключи, кото рые выглядят, как случайные).

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

Итак, как же снизить риск приобретения некачественных продуктов обеспечения безопасности?

Х Устанавливайте криптографические продукты, тщательно проанализированные и проверенные в течение длительного времени, Х Для снижения вероятности использования возможных слабых мест Ваших крип тографических систем обеспечьте все возможные меры системной и сетевой бе зопасности. Например, сконфигурируйте задействованные в системах безопас ности серверы на обеспечение высокого уровня защиты и расположите их за брандмауэрами.

Х Обновляйте приложения и системы безопасности, применяя очередные пакеты исправлений.

Создание случайных ключей Чтобы ключи нельзя было узнать заранее, их надо создавать случайным образом.

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

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

Безопасность в распределенных системах 638 ЧАСТЬ Надежность протоколов безопасности Криптографические технологии реализуются в виде протоколов безопасности. На пример, защищенная почта реализована посредством протокола S/MIME, а безо пасная сетевая связь Ч на базе семейства протоколов IPSec. Аналогично для безо пасной связи через Интернет применяется протокол TLS, Стандарты протоколов обеспечения безопасности, независимо от того, являются ли они закрытыми или открытыми, часто не лишены недостатков и ограничений, ко торыми пользуются злоумышленники (например, для атак типа лотказ в обслужи вании). Даже лучшие реализации стандартных протоколов содержат присущие этим протоколам недостатки и ограничения. Кроме того, в стандартах обычно пред намеренно предусматривается возможность поддержки более слабой криптографии.

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

Перечисленные далее меры позволят Вам снизить риск, вызванный недостатками и ограничениями протоколов безопасности.

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

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

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

Х Не используйте для защиты ценной информации старые и ненадежные версии протоколов. Например, требуйте применения протоколов SSL версии 3 или TLS для безопасной связи через Интернет и не разрешайте использовать менее за щищенную версию 2 протокола SSL.

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

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

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

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

Перечисленные далее меры обеспечат дополнительную безопасность Ваших закры тых ключей.

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

Х Применяйте для хранения ключей аппаратные криптографические устройства.

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

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

Ограничения на экспорт криптографических технологий Экспорт криптографических технологий подлежит государственному регулированию.

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

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

Как правило, разрешенные к экспорту версии криптографических продуктов и техно логий, обеспечивают существенно менее стойкую защиту, чем запрещенные к эксп< >рту версии. Обычно разрешенные к экспорту технологии безопасности ограничены мень шей длиной ключей симметричного шифрования. Например, в не подлежащей к экс порту версии программы защищенной почты применяются 128-битные ключи сплош ного шифрования, а в разрешенной к экспорту версии длина ключа ограничена 40 или 56 битами. Аналогично в не подлежащей экспорту версии браузера для безопасной свя зи через Интернет используется шифрование 128-битным ключом, а в разрешенной к экспорту версия только 40- или 56-битным. Короткие ключи шифрования более уяз Безопасность в распределенных системах 640 ЧАСТЬ вимы для лобовых атак, чем длинные (надежно защищают в этом случае ключи дли ной более 64 бита). По этой причине использовать разрешенную к экспорту техноло гию имеет смысл только для защиты не очень ценной информации.

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

Таким образом, разрешенная к экспорту технология, как правило, ограничивает за щиту и снижает общую безопасность. Например, надежность шифрования сообще ний безопасной почты между клиентами, применяющими не подлежащую экспор ту технологию и клиентами, которые имеют право использовать разрешенную к экспорту технологию, ограничивается длиной ключа 40 или 56 бит. Разрешенные к экспорту технологии не годятся для чтения сообщений защищенной почты, зашиф рованных 128-битным ключом.

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

Подробнее о текущих ограничениях на экспорт технологий шифрования и полити ках для продуктов Microsoft -- на Web-странице Web Resources по адресу http,:// windows.inicrosoft.com/windows2000/reskit/webresources, ссылка Microsoft Security Advisor.

Дополнительные материалы Посвященные криптографии.

Х В. Schneier. Applied Cryptography: Protocols, Algorithms, and Source Code in C, 1995. New York: John Wiley & Sons.

R. E. Smith. Internet Cryptography, 1997, Reading: Addis on-Wesley.

Х Посвященные технологии открытого ключа и безопасности в интрасетях и Интер нете.

Х S. Gartmkel и G. Spafford. Web Security & Commerce*, 1997, Sebastopol: O'Reilly & Associates.

Х W Ford и M. S. Baum. Secure Electronic Commerce: Building the Infrastructure for Digital Signatures and Encryption, 1997, Upper Saddle River: Prentice Hall PTR.

Х G. L. Grant. Understanding Digital Signatures: Establishing Trust over the Internet and Other Networks, 1997, New York: McGraw-Hill.

Х Jalal Feghhi, Jalil Feghhi и Р. Williams. Digital Certificates: Applied Internet Security, 1998, Reading: Addison-Wesley.

Х Web-страница Web Resources по адресу win do \vs2000/reskit/web resources, ссылка Internet Engineering Task Force (IETF), ГЛАВА Шифрованная файловая система Шифрованная файловая система (Encrypting File System, EFS) Ч новинка Microsoft Windows 2000. EFS защищает конфиденциальные данные в файлах, расположенных на дисках (томах) с файловой системой NTFS. Для обеспечения конфиденциаль ности файлов используется симметричное шифрование совместно с алгоритмом открытого ключа. Реализация шифрованной файловой системы в виде встроенной системной службы сделало EFS простой в управлении, устойчивой к атакам и про зрачной для владельца файла и приложений. Только владелец защищенного файла может открыть файл и работать с ним, как с обычным документом. Другие пользо ватели лишены доступа к защищенному файлу, кроме агентов восстановления (recovery administrator), которых Вы назначаете и которые могут при необходимо сти восстанавливать шифрованные данные.

В этой главе Основы EFS Планирование внедрения EFS Политика восстановления Сертификаты Административные процедуры Использование системного ключа Печать файлов в EFS Устранение неполадок при использовании EFS См. также Х Подробнее о файловой системе NTFS Ч в книге Сопровождение сервера. Ре сурсы Microsoft Windows 2000 Server (Русская Редакция, 2001).

Х Подробнее о службах сертификации в Windows 2000 в главе 16 Службы сер тификации и инфраструктура открытого ключа в Windows 2000.

Х Подробнее об основных понятиях криптографии, в том числе терминах сим метричное шифрование* и лалгоритм открытого ключа, Ч в главе И Крип тография в сетевых информационных системах.

Безопасность в распределенных системах 642 ЧАСТЬ Основы EFS EFS используется для шифрования файлов на томах NTFS и обеспечения конфи денциальности их содержимого. Для защиты файлов в файловой системе EFS ис пользуется комбинация симметричного шифрования и алгоритмов открытого клю ча. Эти технологии гарантируют, что доступ к файлу получит только владелец фай ла. Пользователи EFS получают цифровой сертификат с парой лоткрытый/закры тый ключ*, которые необходимы для взаимодействия с шифрованной файловой системой. В файловых операциях EFS используется пара ключей текущего пользо вателя локального компьютера. На этом компьютере должен храниться секретный ключ. Использовать EFS на удаленных компьютерах разрешается, только если уда ленному компьютеру делегированы права представителя.

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

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

Конфиденциальность Основное назначение шифрованной файловой системы Ч защитить конфиденци альные данные. Кроме зашифровавшего файл пользователя расшифровать его спо собны только специально назначенные лица, обладающие полномочиями агента восстановления (recovery agent). Другие учетные записи, независимо от их разре шений [даже Take Ownership (Смена владельца)], не обладают доступом на откры тие файла без закрытого ключа шифрования.

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

Автоматическое шифрование при доступе к файлу В системе EFS владельцу файла не придется расшифровывать и вновь зашифро вывать файл при каждом к нему обращении Ч эти операции при чтении и записи файла на диск выполняются автоматически.

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

Шифрованная файловая система ГЛАВА 15 Интеграция с файловой системой Шифрованная файловая система тесно интегрирована с NTFS. Для шифрования Вам достаточно установить атрибут шифрования для папок или файлов так же, как устанавливаются другие атрибуты, например Read only (Только чтение), Hidden (Скрытый) или Compressed (Сжатый). При шифровании папки система EFS авто матически шифрует:

Х все новые файлы, создаваемые в ней;

Х все незашифрованные текстовые файлы, копируемые в нее;

Х по особому распоряжению пользователя, все уже существующие в ней файлы и вложенные панки, Если применить шифрование на уровне панки, временные копии зашифрованного файла, создаваемые в ней, например, при редактировании, тоже шифруются Ч гак же как и резервные копии, создаваемыми в той же папке. Файлы остаются зашиф рованными при перемещении и переименовании, по при одном условии: они долж ны обязательно размешаться на томах с файловой системой NTFS версии 5 для Windows 2000.

Примечание EFS доступна только на томах с файловой системой NTFS версии файловой системы Windows 2000. При копировании или перемещении файла или папки в другую файловую систему он расшифровывается. Единственное исключе ние Ч это файлы и пайки, сохраненные программой Windows 2000 Backup (Сред ства архивации и восстановления Windows 2000). На носителях архивных данных такие файлы и папки остаются зашифрованными.

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

Специально назначенным учетным записям пользователей, называемым учетными записями агента восстановления (recovery agent accounts), выдается сертификат агента восстановления с открытыми и закрытыми ключами, которые используются для восстановления данных EFS. Агенты восстановления назначаются в политике восстановления EFS. По умолчанию это учетная запись Administrator (Админист ратор) наивысшего уровня на изолированном компьютере это учетная запись Administrator (Администратор), а в домене - - учетная запись Administrator на пер вом установленном контроллере домена. При настройке политики восстановления допускается назначать несколько агентов восстановления, кроме того, можно созда вать индивидуальные политики восстановления в различных подразделениях пред приятия. Закрытый ключ агента восстановления должен размещаться на компью тере, на котором выполняются операции по восстановлению данных.

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

644 ЧАСТЬ 2 Безопасность в распределенных системах Разрешено экспортировать сертификат агента восстановления и закрытый ключ для хранения в архиве и/или передачи в другие учетные записи и компьютеры.

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

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

Что нужно помнить при работе с шифрованной файловой системой EFS доступна только на томах с файловой системой NTFS версии 5 фай ловой системой Windows 2000.

EFS не работает без сертификата агента восстановления. По умолчанию EFS автоматически назначает агента восстановления и выдает этой учетной за писи сертификат EFS.

Допускается использовать EFS для шифрования или расшифровки данных на удаленном компьютере, но она не шифрует данные, передаваемые по сети.

Шифрование системных файлов и папок невозможно.

Шифрование сжатых файлов и папок не разрешается.

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

При копировании файла в зашифрованную папку он шифруется автоматичес ки, но при перемещении файл остается в том же виде Ч зашифрованном или открытом, что и до перемещения.

При копировании или перемещении файлов в другую файловую систему шифрование отменяется, тем не менее при архивировании файлов шифрова ние сохраняется.

Другие разрешения для файла не изменяются. Администратор, например, имеет право стереть файл пользователя в системе EFS, хотя и не может от крыть сто.

Шифрованная файловая система с точки зрения пользователя Первая операция шифрования в EFS иногда длится достаточно долго: EFS прове ряет, есть ли у пользователя действительный сертификат пользователя EFS с его открытым ключом. Если такого сертификата нет, EFS запрашивает сертификат в центре сертификации (certification authority) предприятия [если центр сертифика ции (ЦС) доступен в интерактивном режиме (online)] или выдает его сама (если ЦС недоступен). В дальнейшем до истечения срока действия сертификата эта про цедура не выполняется, и EFS работает намного быстрее.

ГЛАВА 15 Шифрованная файловая система Далее мы рассмотрим некоторые сценарии работы пользователя с шифрованной файловой системой.

Поиск и обращение к зашифрованному файлу Состояние шифрования Ч это атрибут файла или панки, поэтому достаточно прове рить атрибуты файла или папки, чтобы узнать об их состоянии: зашифрованы или нет. При отображении файлов и панок в Windows Explorer (Проводник Windows) в режиме Large Icons (Крупные значки) или Small Icons (Мелкие значки), атрибуты выбранного элемента отображаются слева от значка файла или папки (рис. 15.1).

Я FJvdftes logls 9.в№ "0;

^Search igjFohfers 3 < X л Ires* JLJ Es5test Desktop :

lopres,lccj NeiwTerf flopies.txt Mew Test Docurnent.ti EFStest LaJ My Pictures ^ My Computer 7 ЗИ Floppy (A:) Л opp/res-tut Tett Document В ffij Local Disk (CO permb. Ы permi5s.txt permiss:.Ut permiss2.tst J CAConfig Modified: Х1/8/99 ]?:20PM ГЕ 1 Documents and Settings ^ :

- -Si EFStMt Size: 0,97J - butes: Encrypted IB iJJ Program Files perniissS.lst Disc (C:] Г 3LocalDisk(E;

) Control Panel |f My Network Places ';

- F^L-vcleBT, ХjB Internet Explorer Х Рис. 15-1. Отображение в Explorer (Проводник) объектов в режиме Large Icons (Крупные значки) Атрибуты можно посмотреть и при отображении объектов в Windows Explorer (Проводник Windows) в режиме Detail View (Таблица). Символ Е в столбце ат рибутов означает, что файл зашифрован. Вы можете настроить Windows Explorer на отображение не только атрибутов, но и владельцев файла - так Вы сразу узнае те, Ваш ли это файл и есть ли у Вас право его открыть (рис. 15-2).

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

Безопасность в распределенных системах 646 ЧАСТЬ Fte Edit View Favorites It** *b к л i О >8ack ' Х;

-ft] ig5earch |-ig).fJsJdets (JjHiStoty '' Х' 'Х Jdress |'_J ep^est "Х l_J Name '" j Modified das X TextD... 5/2^935:34 PI IKE A Desktop U Р6ГГП6Й t X t L _J Щ parrrdss2,txt TeXtD.., 5/26f99 5' 34 P" ^ My Document;

EFStest :slpermiлi.Ut TextD,.. 6/S/99 [0:14ДЧ M - -2S| * PidJ'es S ^E) ;

jg My Computer TeXtD,.

aer-nibs.tx: 5J26J99 5:34 F*l A f'^? 3V, Floppy (ft:) i=j DStmi54.txt TextD... 5/26/995:34 PM A fjerliii'isl.lHl Text Docur.ent ?: G3 Local Disk(C:) з PSrmS. tit TeXtD.., 5#6|99 S'.34 PM 1KB A Qj CAConfq Nsw Text Dccu.. Text D.. 5f26/945;

34PK Х A Modified: Toddy at 10:14 AM i LJ Documents and Settings *f TextD,. 5/26/99 5:34 PM A Size 2 bytes з -J '^;

.Ь:.: TextD... u flop res, txt 5/Z6J99 5:34 PM Ы Forts flopres.iog. 5J26J99 5:34 PM Attributes;

Encrypted 1 :

№ _J Program Files *|S/99 li'JCF^ TextD.,.

13 floppvres. txt ДЕ ;

;

(! Q Publfc VJ : л My Comf tf et -Х;

;

-_Д;

(, feytes.

lecife sdected ' ' Рис. 15-2. Отображение в Explorer (Проводник) объектов в режиме Detail View (Таблица) На рис, 15.2 в столбце Attributes (Атрибуты) для файла Permissl.txt указано АЕ, то есть у этого файла есть атрибуты Архивный (А) и Зашифрованный (Е).

Шифрование в системе EFS выполняется в автоматическом режиме, поэтому пользо ватель может работать с зашифрованным файлом так же, как и с обычным. Напри мер, Вы можете, как обычно, открывать и редактировать зашифрованные документы Microsoft Word или Notepad (Блокнот). Любой другой пользователь при попытке открыть Ваш файл получит сообщение об ошибке доступа.

Примечание Windows 2000 идентифицирует пользователей по имени их учетной записи и имени сервера. Например, если Алиса зашифрует файл, войдя в систему под доменной учетной записью Wonderland\Alice, доступ к файлу ей будет предос тавлен только при входе под этой учетной записью. Войдя иод локальной учетной записью MyLaptop\Alice, Алиса не получит доступ к файлу.

Шифрование файла или лапки Так как шифрование реализовано как атрибут, для шифрования файла или папки Вы должны обладать разрешением на запись. Но даже обладая таким разрешени ем, Вы не сможете зашифровать объекты в системном каталоте %Systemroot% (на пример, C:\WinNT\Notepad.exe или C:\WinNT\System32). Также не удастся зашиф ровать файлы или папки с системным атрибутом. Причина в том, что шифрование файлов и папок этого типа способно нарушить работу системы, так как многие из этих файлов необходимы для загрузки системы, во время которой ключи для рас шифровки еще недоступны. При попытке зашифровать файл или папку системно го типа или расположенную в каталоге %Systemroot% Вы получите отказ в выпол нении операции и сообщение об ошибке.

Шифрование рекомендуется выполнять на уровне папки. Воспользуйтесь одним из двух способов: в Windows Explorer (Проводник Windows) или из командной строки программой cipher. Эти же способы годятся для шифрования отдельных файлов.

Шифрование папки средствами Windows Explorer Чтобы зашифровать папку, выберите ее в Windows Explorer, щелкните в меню File (Файл) команду Properties (Свойства), в открывшемся окне свойств перейдите на ГЛАВА 15 Шифрованная файловая система вкладку General (Общие) и щелкните кнопку Advanced (Другие) (рис. 15-3). Под робнее о шифровании папок Ч в справочной системе Microsoft Windows 2000 Server или Microsoft Windows 2000 Professional.

i.л Рис. 15-3. Диалоговое окно Advanced Attributes (Дополнительные атрибуты) Установите флажок Encrypt contents to secure data (Шифровать содержимое для защиты данных) и щелкните кнопку ОК. На рис. 15-4 показано диалоговое окно, используемое для выбора файлов и панок, которые будут зашифрованы.

Рис. 15-4. Диалоговое окно Confirm Attribute Changes (Подтверждение изменения атрибутов) В таблице 15-1 описано влияние выбора переключателя Apply changes to this folder only (Применить эти атрибуты только к этой панке) на файлы в папке.

Таблица 15-1. Влияние выбора переключателя Apply changes to this folder only на файлы в папке Состояние шифрования Вид файла Не изменяются, то есть остаются в исходном Текущие файлы папки и ее подпапки виде Ч зашифрованными или незашифрованными Вновь создаваемые или копируемые Шифруется закрытым ключом текущего в папку файлы пользователя (см. след, стр.) Безопасность в распределенных системах 648 ЧАСТЬ Таблица 15-1. (продолжение) Вид файла Состояние шифрования Вновь создаваемые или копируемые Шифруется закрытым ключом соответствующего в папку файлы другими пользователя пользователями (для общих папок) Вновь создаваемые или копируемые Не изменяется в подпапку данной папки файлы Перемещаемые в данную папку или Не изменяется ее тюдпапки В таблице 15-2 описано влияние выбора переключателя Apply changes to this folder, subfolders, and files (Применить эти атрибуты к этой папке и ко всем вло женным папкам и файлам).

Таблица 15-2. Влияние выбора переключателя Apply changes to this folder, subfolders, and files Вид файла Состояние шифрования Текущие файлы папки и ее подпапки Шифруется закрытым ключом текущего пользо вателя, если есть разрешение Write (Запись);

если такого разрешения нет, файлы не изменяются Вновь создаваемые или копируемые Шифруется закрытым ключом текущего в папку файлы пользователя Файлы, вновь создаваемые или копируе- Шифруется закрытым ключом соответствующего мые в папку другими пользователями пользователя Файлы, перемещаемые в данную папку Не изменяется или ее подпапки В любом случае список файлов в папке остается в открытом виде, доступном для просмотра, как и при отсутствии шифрования (при условии наличия доступа к са мой папке).

В EFS разрешается шифровать файлы, владельцем которых Вы не являетесь, при условии наличия разрешений Write (Запись), Create Files/Write Data (Создание файлов/Запись данных) и List Folder/Read Data (Содержание папки/Чтение дан ных). Однако в этом случае файлы защищены Вашим ключом, а не ключом владель ца. Таким образом, зашифровав файл, Вы заблокируете доступ к нему его владельцу, Поэтому устанавливать переключатель Apply changes to this folder, subfolders, and files па обшей папке не корректно по отношению к другим пользователям Ч вла дельцам файлов или вложенных папок в ней.

Шифрование файла средствами Windows Explorer Шифровать рекомендуется целые папки, а не отдельные файлы: это проще и Вам не придется следить за шифрованием отдельных файлов. Такой способ шифрова ния гарантирует, что во время и пос.че редактирования данные остаются в зашиф рованном виде, конечно же, если приложение хранит временные копии в этой же папке. Прикладные программы не всегда используют текущую папку для хранения временных или резервных файлов. В частности, Microsoft Word размещает времен ные и резервные файлов в папке с редактируемым зашифрованным файлом. Дру гие прикладные программы часто хранят временные файлы в папке Temp. Поэтому такие папки рекомендуется шифровать, чтобы обеспечить защиту шифрованием временных и резервных файлов.

Шифрованная файловая система ГЛАВА 15 В Windows Explorer (Проводник Windows) отдельный файл шифруется точно так же, как и папка. Однако при шифровании файла система открывает окно с предуп реждением (рис. 15-5).

A VQU hare d"=cifsn to encrypS a file (trette not in ДР encrypted ' \:- ftJefer. т^еИесдаЬво(Ж1^гдеШ#ЕеГ[ Sis modified.

Because 4tes Х Х parent fi What dfryou want Ьэ*э?

. ff f nc'vpi" tht- 4't inJ t-ir- parent _foidef Г" A Рис. 15-5. Окно с предупреждением при шифровании файла Если установить флажок Always encrypt only the file (Всегда шифровать только файл), предупреждение больше появляться не будет, a EFS зашифрует только вы бранный(е) файл(ы).

Шифрование из командной строки Шифрование и расшифровка папки или файла выполняется также из командной строки программой cipher. На рис. 15-fi показан пример шифрования и расшифров ки файла Flopres.txt.

rtiei'osoft WindouE Z0№ EUes-Eion 5.вв. Cnijyi-iyiit 198E-I99V Mini-uiioft Cot-p.

С:Ч>1-ЛцЬвг /s ^d el'BtesfcM'!LOiifHr,.f,xl Fnci-ypt, i i i f f F i lex in C:\e-fstest-A 1 Fi.le iov dii'fic;

tofie ] w i t h i n 1 dipectai*ie<'j) Deti'ypKiitjf f i let in C:\efstest\ flnpres.txt EOK 1 fite lor c l i r e c t o r i e < s > J within 1 dii-eL-to[~ie Рис. 15-6. Протокол работы программы Cipher При шифровании или расшифровке файлов посредством cipher допускается ис пользовать знаки подстановки. Например, чтобы зашифровать вес файлы, в имени которых встречается последовательность символов cnfdl, следует ввести в команд ной строке:

C:\>cipher /e /a *cnfdl* Допускается задавать несколько имен папок и знаки подстановки. При этом пара метры разделяются пробелами.

Безопасность в распределенных системах 650 ЧАСТЬ Использованная без параметров, служебная программа cipher отображает состоя ние шифрования текущей папки и всех ее файлов. Для отображения всех парамет ров, доступных в программе cipher, введите в командной строке:

cipher П Подробнее о служебной программа cipher Ч в справочной системе Microsoft Win dows 2000 Professional или Windows 2000 Server.

Расшифровка папки или файла Расшифровка Ч это операция, противоположенная шифрованию, она возвращает зашифрованным данным исходный вид. Чтобы расшифровать данные, в Windows Explorer (Проводник Windows) щелкните правой кнопкой мыши файл или папку, в контекстном меню выберите команду Properties (Свойства), в открывшемся окне свойств щелкните кнопку Advanced (Другие) и сбросьте флажок Encrypt contents to secure data (Шифровать содержимое для защиты данных). Система предложит расшифровать все файлы и вложенные цапки данной папки, Для расшифровки файлов или папок также применяют программу cipher. Напри мер, чтобы расшифровать файл cnfdl.txt, введите в командной строке:

cipher /d /a cnfdl.txt Следует заметить, что при работе пользователям самим не придется расшифровы вать файлы или папки при каждом обращении к данным, так как EFS автоматичес ки шифрует и расшифровывает данные при операциях записи и чтения.

Переименование, копирование и перемещение зашифрованного файла или папки Зашифрованные файлы и папки разрешается переименовывать, копировать и пе ремещать. При правильном выполнении этих операций зашифрованные объекты не расшифровываются. Подробнее о переименовании, копировании или перемещении зашифрованных файлов и папок - в справочной системе Microsoft Windows Professional или Microsoft Windows 2000 Server. В таблице 15-3 описано влияние операций с зашифрованными файлами и папками па их состояние.

Таблица 15-3. Состояние шифрования файлов и папок после переименования, копирования или перемещения в EFS Операция Состояние шифрования Зашифрован Переименование зашифрованного файла или папки Зашифрован, если на томе-приемнике установле Перемещение зашифрованного файла или панки на файловая система NTFS версии 5 для Windows 2000;

в противном случае шифрование отменяется Копирование зашифрованного Зашифрован, если на томе-приемнике установле файла или папки на файловая система NTFS версии 5 для Windows 2000;

в противном случае шифрование гнимается Перемещение или восстановление Зашифрован, если используется мастер из архива на другой компьютер Windows 2000 Backup (Средства архивации и зашифрованных файлов и папок восстановления Windows 2000), независимо от файловой системы тома-приемника. Вы не откроете файл на другом компьютере, до тех пор, пока на нем нет Вашего закрытого ключа Шифрованная файловая система ГЛАВА 15 EES автоматически обнаруживает копирование или перемещение зашифрованного файла. Система EPS всегда пересылает данные в открытом виде. Файл шифруется заново, если на томе-приемнике есть шифрованная файловая система. Если же том приемник не поддерживает EFS (например, том с системой FAT), новая копия фай ла сохраняется в расшифрованном виде.

Примечание Большинство накопителей на гибких магнитных дисках Ч это тома с FAT, и поэтому, если не использовать программу Windows 2000 Backup (Средства архивации и восстановления Windows 2000) при размещении на них файлов, шиф рование отменяется.

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

^- Как проверить, доверен ли компьютер для делегирования 1. Найдите и выделите имя компьютера в оснастке Active Directory Users and Computers (Active Directory -- пользователи и компьютеры).

2. В диалоговом окне Properties (Свойства) перейдите на вкладку General (Об щие). Если компьютер доверен для делегирования, установлен флажок Trusted for Delegation (Доверять компьютеру права представителя), Разрешением устанавливать и сбрасывать этот флажок обладают администраторы домена. Подробнее о предоставлении компьютерам нрав представителя Ч в спра вочной системе Microsoft Windows 2000 Server.

Компьютер-приемник извлекает открытый ключ из профиля пользователя, выпол няющего операцию или, если это невозможно, создает для него новый сертификат и пару ключей.

При пересылке по сети (например, при копировании на другой компьютер) защи щенный системой EFS файл передается в открытом виде. Для передачи этих дан ных в зашифрованном виде следует воспользоваться безопасным сетевым протоко лом, например SSL (Secure Sockets Layer) или IPSec.

Архивирование зашифрованных файлов и папок Архивные копии зашифрованных файлов, созданные программой Windows Backup (Средства архивации и восстановления Windows 2000) или любого другого с-редстна архивирования, разработанного для Windows 2000, остаются зашифрован ными независимо от среды хранения. При архивировании зашифрованного файла или папки на дискету или другой носитель, информация остается зашифрованной Ч па ленте, на носителях с файловой системой, отличной от NTFS, или в почтовом вложении, Открыть файл в новом месте удастся только при наличии перемещаемого профиля пользователя или после перемещения сертификата и закрытого ключа в профиль пользователя на другом компьютере средствами мастеров Export Certificate (Мас тер экспорта сертификатов) и Import Certificate (Мастер импорта сертификате О Подробнее о перемещении и восстановлении зашифрованных файлов и папок на другом компьютере Ч в справочной системе Windows 2000 Professional или Windows 2000 Server.

Безопасность в распределенных системах 652 ЧАСТЬ При утере закрытого ключа пользователя программу Windows 2000 Backup приме няют для отправки файла агенту восстановления. Для выполнения простого пере мещения или копирования требуется закрытый ключ Ч чтобы расшифровать файл при передаче данных. Программе Windows 2000 Backup (Средства архивации и вос становления Windows 2000) закрытый ключ пользователя не требуется, так как она сохраняет первоначальное шифрование файла и при пересылке файл расшифровке не подвергается. Подробнее о восстановлении файлов Ч в справочной системе Windows 2000 Server.

Шифрование файлов и папок на другом компьютере Если удаленный компьютер доверен для делегирования, EFS использует открытый ключ из профилей пользователей для создания полей DDF (data decryption field Ч поле расшифровки данных) и DRF (data recovery field Ч поле восстановления дан ных) файла. Подробнее о шифровании файла или папки на другом компьютере Ч в справочной системе Windows 2000 Professional или Windows 2000 Server.

Если удаленный компьютер не доверен для делегирования, администратор домена должен предоставить ему такие нрава. Подробнее о доверии делегирования удален ному серверу Ч в справочной системе Windows 2000 Server.

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

Создание шифрованной общей папки следует начать с создания новой пустой пап ки. Создав ее, разрешите шифрование, как указанно в инструкциях в разделе Шифрование папки средствами Windows Explorer* ранее в этой главе. После это го настройте разрешения для этой папки, как показано в таблице 15-4.

Таблица 15-4. Разрешения на доступ к общей шифрованной папке Учетная запись или группа Разрешение Область применения Creator/Owner Full control Эта папка, вложенные папки и файлы (Создателъ-Владелец) (Полный доступ) Everyone (Все) Traverse Folder/Exe- Только данная папка cute File (Обзор папок/ Выполнение файлов) Everyone (Все) List Folder/Read Data Только данная папка (Содержание папки / Чтение данных) Everyone (Все) Create Files/Write Только данная папка Data (Создание фай лов / Запись данных) ГЛАВА 15 Шифрованная файловая система Принципы работы шифрованной файловой системы Технология открытого ключа В EFS для обеспечения конфиденциальности файлов используется комбинация симметричного и асимметричного шифрования, позволяющая противостоять боль шинству атак. Файл сначала шифруется симметричным ключом шифрования файла (file encryption key, FEK), а затем этот ключ шифруется открытым ключом серти фиката пользователя. Сертификат извлекается из профиля пользователя, Зашиф рованный FEK хранится вместе с шифрованным файлом и уникален для каждого файла. Для расшифровки ключа шифрования файла в EFS применяется закрытый ключ зашифровавшего файл пользователя, доступ к которому есть только у этого пользователя.

В алгоритмах шифрования с открытым ключом для шифрования и расшифровки применяются асимметричные ключи. Асимметричными они называются, потому что для шифрования и расшифровки одних и тех же данных используются различные ключи. В технологии открытого ключа применяется пара ключей: закрытый ключ (доступен только его владельцу) и открытый ключ (доступен другим объектам в сети). Открытый ключ разрешается разместить (опубликовать) в службе каталогов Active Directory, чтобы обеспечить его доступность другим пользователям. Эти два различных ключа дополняют друг друга. Информация, зашифрованная открытым ключом, расшифровывается только парным закрытым ключом. Совместно пару лот крытый/закрытый ключи называют парой ключей или набором ключей.

Недостаток шифрования с открытым ключом - требуется много вычислительного времени на выполнение математических операций. Шифрование симметричным ключом (то есть когда для шифрования и расшифровки используется один и тот же ключ) обычно выполняется в 100 1000 раз быстрее. Поэтому во многих реше ниях безопасности сети и информации, доступной через сеть, применяют комбина цию алгоритмов шифрования с открытым ключом и шифрование симметричным ключом. Итак, в EFS используется симметричное шифрование ключом FEK для шифрования данных файла, а шифрование и расшифровка FEK выполняется асим метрично - открытым и закрытым ключами.

Структура зашифрованного файла При сохранении шифруемого файла криптографический генератор случайных чи сел создает уникальный ключ шифрования файла (FEK). Этот симметричный ключ предназначен для быстрого сплошного блочного шифрования. Далее EFS создает в файле специальный заголовок и добавляет в него зашифрованный FEK. Заголовок состоит но меньшей мере из двух частей (рис. 1 5-7).

Х Поле расшифровки данных (DDF) содержит ключ шифрования файла, зашиф рованный открытым ключом пользователя.

Х Поле восстановления данных DRF содержит ключ шифрования файла, зашиф рованный открытым ключом из сертификата соответствующего агента восста новления. Если существует несколько сертификатов агентов восстановления, в файле создается несколько полей восстановления данных Ч по числу агентов.

Безопасность в распределенных системах 654 ЧАСТЬ Ключ шифрования файла Поле Зашифрован открытым расшифровки ключом владельца файла данных (DDF) :

-а Ключ шифрования файла Зашифрован открытым ключом агента восстановления 1 Поля Заголовок Ч восстановления данных (DRF) Ключ шифрования файла Зашифэован открытым ключом агента восстановления 2 (необязательно] Зашифрованные данные Рис. 15-7. Структура зашифрованного файла данных Компоненты EFS Основными компонентами шифрованной файловой системы в Windows 2000 счи таются: CryptoAPI (Microsoft Cryptographic Application Programming Interface криптографический интерфейс прикладного программирования), служба EFS, драй веры EFS и библиотеки времени выполнения EPS (File System Run-Time Library, FSRTL). На рис. 15-8 показана архитектура EFS.

Связь LPC для поддержки и управления всеми ключами Библиотека FSRTL и драйвер EFS Вызовы библиотеки FSRTL NTFS :

Ж е с т к и й диск Рис. 15-8. Архитектура EFS Шифрованная файловая система ГЛАВА 15 CryptoAPI CryptoAPI это интерфейс для криптографических операций, реализованный в Windows 2000. Он используется для генерации FEK и пары лоткрытый/закрытый ключ, необходимой для шифрования и расшифровки ключа шифрования файла, EFS получаст РЕК от статически подключаемой библиотеки, не подлежащей заме не изделием стороннего поставщика. Для операций шифрования файла и генера ции РЕК в шифрованной файловой системе применяется алгоритм DESX разно видность стандартного алгоритма DES (Data Encryption Standard). Открытые и закрытые ключи для пользователей EPS и агентов восстановления предоставляет по ставщик службы криптографии Microsoft Base CSP. Он поставляется в Windows Professional и Windows 2000 Server и разрешен для экспорта на общих основаниях практически во все страны. Никакой другой поставщик службы криптографии в EFS не используется.

Служба EFS Чтобы получить FEK для файла данных, служба EFS обращается к CryptoAPT.

Средствами этого же интерфейса создаются поля расшифровки данных (data dec ryption field, DDF) и поля восстановления данных (data recovery field, DRF). Служ ба EFS также возвращает FEK, DRF и DDF в драйвер шифрованной файловой си стемы средствами библиотеки FSRTL.

Драйвер EFS Драйвер EFS обращается к службе EFS для запроса в CryptoAPI о выполнении та ких операций по управлению ключами, как вычисление FEK, DDF и DRF. После втого драйвер EPS возвращает вычисленные поля и ключ в FSRTL для автомати ческого выполнения операций файловой системы (открытия, чтения, записи и до бавления), Библиотека EFS FSRTL При обращении драйвера EFS к FSRTL эта библиотека времени выполнения осу ществляет операции чтения, шифрования и сохранения файла на диск. Ключ РЕК никогда не попадает в страничные файлы, так как библиотека FSRTL постоянно расположена Б ядре операционной системы Windows, а эти ключи - в невыгружае мом пуле. Тем не менее при работе приложений с шифрованными файлами содер жимое шифрованного файла в открытом виде часто попадает в виртуальную па мять, страничные файлы которой не шифруются. В этом случае данные остаются в страничном файле в открытом виде до замены их новыми данными. Таким обра зом, данные в незашифрованном виде способны оставаться в файлах постраничной подкачки даже после окончания работы приложения с зашифрованными файлами.

Страничный один из системных файлов, шифрование которого запрещено. (В Windows 2000 имя страничного файла но умолчанию - Pagefile.sys,) Политика за щиты файловой системы по отношению к страничным файлам запрещает чтение и доступ к ним любому пользователю, и изменить этот порядок невозможно. Однако доступ к страничным файлам Windows 2000 открывается, если на компьютере ус тановить другую операционную систему и запустить ее. Чтобы этого не смог осу ществить злоумышленник, следует сконфигурировать политику безопасности на очистку содержимого страничных файлов при выключении компьютера, Существует возможность сконфигурировать групповую политику на очистку содер жимого страничных файлов при выключении компьютеров во всей области дей Безопасность в распределенных системах 656 ЧАСТЬ ствия этой политики. Для этого откройте оснастку Group Policy (Групповая поли тика), перейдите к требуемому объекту групповой политики (домену, подразделе нию или изолированному компьютеру) и далее выполните указанные инструкции.

^ Настройка групповой политики для принудительной очистки страничных файлов при завершении работы компьютеров 1. Щелкните требуемый узел групповой политики и последовательно раскройте узлы Computer Configuration (Конфигурация компьютера), Windows Setting (Конфигурация Windows), Security Setting (Параметры безопасности), Local Policies (Локальные политики) и затем выделите Security Options (Параметры безопасности).

2. Щелкните дважды значок Clear virtual memory page file when system shuts down (Очистка страничного файла виртуальной памяти при завершении рабо ты).

Откроется диалоговое окно Template Security Policy Setting (Параметр поли тики безопасности).

3. В диалоговом окне Template Security Policy Setting установите флажок Define this policy setting in the template (Определить следующий параметр политики) и установите переключатель в положение Enabled (включить). Щелкните ОК.

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

Порядок шифрования файлов Как показано на рис. 15-9, для выполнения шифрования в EFS необходимо нали чие по крайней мере двух сертификатов в хранилище сертификатов локального компьютера: пользователя (владельца файла) и агента восстановления. Если при сетевом входе пользователя в систему таких сертификатов нет, EFS создает их ав томатически.

Создание нового файла с предустановленным атрибутом шифрования Есть два способа создать файл с уже установленным атрибутом шифрования. Пер вый Ч использование Windows Explorer (Проводник Windows) для создания фай ла в уже зашифрованной папке. Выделите в Windows Explorer зашифрованную пап ку, в меню File (Файл) перейдите к подменю New (Создать) и затем щелкните ко манду Text Document (Текстовый документ). Все вновь создаваемые в шифрован ной папке файлы шифруются автоматически. Второй метод должен поддерживать ся самими приложениями. Автоматически шифруемые файлы создаются при вызо ве API-функции CreateFile<) с флагом FILE_ATTRIBUTE^ENCRYPTED - фла гом шифрования файла. В зависимости от метода NTFS проверяет состояние шиф рования родительской папки или состояние указанного флага. Обнаружив, что файл должен создаваться в шифрованном виде, NTFS обращается к библиотеке EFS FSRTL, которая в свою очередь запрашивает службу EFS для генерации метадан ных этого файла (ключа РЕК и полей DDF и DRF). Служба EFS получает мета данные от CryptoAPI и возвращает их посредством EFS FSRTL в драйвер EFS.

Когда служба EFS возвращает метаданные, драйвер EFS устанавливает для файло вого объекта контекст шифрованной файловой системы и создаст поток SEFS дан ных, содержащих метаданные. При записи в файл NTFS обращается к библиотеке FSRTL для шифрования данных.

Шифрованная файловая система ГЛАВА 15 Сертификат Сертификат агента пользователя восстановления ~С помощью Открытые ключи применяются алгоритма DESX для шифрования ключа РЕК генерируется ключ шифрования файла -Поле DDF Заголовок Пользователь -Поле DRF устанавливает - Зашифрованные для файла данные атрибут шифрования Незашифрованные Данные данные Рис. 15-9. Порядок шифрования файла Шифрование существующего нешифрованного файла При установке атрибута шифрования файла, то есть флажка Encrypt contents (Шифровать содержимое) в диалоговом окне Advanced Attributes (Дополнитель ные атрибуты), вызывается функция EncryptFile(). Эта API-функция создает ре зервную копию файла и запрашивает в службе EFS данные FEK, DRF и DDF, пос ле чего передает их через систему NTFS библиотеке FSRTL. FSRTL устанавливает контекст EFS файлового объекта и создает поток SEFS, содержащий DDF, DRF и другие данные для этого объекта. Затем EncryptFile() считывает данные из резерв ной копии и записывает их в файл. Во время записи NTFS обращается к библиоте ке FSRTL для шифрования данных перед записью на диск. По завершении записи резервная копия автоматически уничтожается.

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

Pages:     | 1 |   ...   | 12 | 13 | 14 | 15 | 16 |   ...   | 18 |    Книги, научные публикации