Компьютер-Информ || Архив || Рубрики || Поиск || Подписка || Работа || О "КИ" || Карта

ЗАО "Техно-СПб" Системная интеграция

Microsoft Special Interest Group "Neva"

Отчет об эксперименте с Certificate Services


Сергей Нестеров


Данная статья посвящена результатам эксперимента по использованию служб сертификации Microsoft Certificate Services, которые входят в состав серверных операционных систем семейства Windows 2000. Рассматривалась задача организации обмена защищенной электронной почтой при использовании цифровых сертификатов стандарта X.509 для распределения ключей.

Вместо вступления

Использование зашифрованной и подписанной электронной почты может оказаться весьма желательным для самых разнообразных приложений. Сейчас используются два основных стандарта на защиту электронной почты ≈ S/MIME и PGP. Оба они могут использоваться как для шифрования, так и для электронной подписи отправляемых сообщений. PGP тесно связан с одноименной программой (и ее клонами), созданной Филиппом Циммерманном. А S/MIME разработан группой компаний и поддерживается многими почтовыми клиентами, будь то продукты Microsoft, Netscape или других производителей. В эксперименте использовались реализации S/MIME v.2 в MS Outlook и Outlook Express.

Не вдаваясь глубоко в вопросы криптографии, можно отметить, что S/MIME использует комбинацию симметричных и асимметричных алгоритмов шифрования. При шифровании сообщения, как и в других гибридных схемах, основная часть письма преобразуется с помощью более быстрых симметричных алгоритмов. Для этой цели могут использоваться криптоалгоритмы RC2, DES или TripleDES с ключами длиной 40, 56 и 168═бит соответственно. Сам ключ, на котором шифруется письмо, защищается с помощью асимметричных преобразований (алгоритм RSA длиной ключа от 512 до 2048 бит). А для распределения отрытых ключей асимметричного шифрования используются сертификаты, соответствующие стандарту X.509. Дайджесты сообщений формируются с помощью алгоритмов SHA-1 или MD5.

Таким образом, для работы с защищенной почтой нужно сгенерировать пару криптографических ключей ╚открытый/секретный╩ и удостоверить открытый ключ с помощью цифрового сертификата. Выдается он центром сертификации (ЦС, английское обозначение CA ≈ Certificate Authority). Сертификат содержит, кроме удостоверяемого открытого ключа, номер сертификата, информацию о пользователе, центре сертификации, даты выдачи и окончания срока действия, назначение удостоверяемого ключа (для защиты почты, для использования в SSL-соединениях, шифрования файлов и т.═п.), а также некоторые дополнительные поля. Все это дополняется открытым ключом ЦС и подписывается им.

Центры сертификации обычно образуют древовидную структуру, пример которой представлен на схеме 1. Стрелками показано, кто чью подлинность удостоверяет. Особое место занимает корневой центр сертификации. Он удостоверяет сам себя. А его подлинность проверяется каким-либо особым способом. Например, сертификаты, удостоверяющие ЦС-компании VeriSign, ╚зашиты╩ в продуктах Microsoft.

Если пользователь получает с письмом сертификат, выданный ╚незнакомым╩ ему ЦС (например, в соответствии со схемой 1, ╚Клиент 1╩ получил от ╚Клиента═2╩ сертификат, выданный CA2), то он имеет возможность отследить всю цепочку центров сертификации вплоть до корневого и, таким образом, проверить подлинность.

Кроме выдачи сертификатов ЦС обеспечивает возможность проверки их подлинности, а также периодически выпускает списки отозванных сертификатов (английской название CRL ≈ Certificate Revocation List). В CRL заносятся сертификаты, аннулированные по каким-то причинам: например, выяснилось, что скомпрометирован секретный ключ, соответствующий удостоверяемому открытому ключу.

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

Если был сделан выбор в пользу S/MIME, то нужно сгенерировать и удостоверить используемые открытые ключи. В принципе, можно поступить следующим образом. У специализированной организации, например, той же VeriSign, приобрести цифровые сертификаты для всех сотрудников, которые по статусу могут участвовать в подобной переписке. А можно поступить иначе ≈ организовать в каждой организации свой корпоративный центр сертификации. Если раньше для этого требовалось специальное ПО, то сейчас это можно сделать с помощью службы Certificate Services из состава серверных ОС семейства Windows 2000.

В чем была проблема

Если внимательно посмотреть на схему 1, то видно, что центры сертификации должны быть постоянно доступны, для того чтобы клиент мог удостовериться в подлинности сертификатов. Кроме того, нужно обзавестись еще сертификатом для самого ЦС. Как это ни прискорбно, и то, и другое требует дополнительных затрат, причем достаточно существенных. Кроме того, ЦС ≈ достаточно привлекательная цель для атаки взломщиков компьютерных сетей. Делая его доступным ╚извне╩, придется еще и немало сил и средств затратить на защиту. Для нашей задачи (защиты обмена электронной почтой между относительно небольшим числом организаций) вовсе не обязательно, чтобы центры сертификации были постоянно доступны. Достаточно и той структуры, которая изображена на схеме 2.

Достоинства очевидны: можно держать внутренние корпоративные центры сертификации в защищенной сети, а обмениваться только сертификатами. Для своей сети внутренние ЦС будут корневыми, и не нужно приобретать для них никаких дополнительных сертификатов. Теперь задача администратора настроить систему таким образом, чтобы она доверяла сертификатам, выпущенным ЦС из второй сети. Кроме того, надо как-то оповещать своих пользователей об отозванных сертификатах, которые попадают в CRL ╚чужого╩ ЦС. Также придется дополнить чисто технические способы защиты взаимными обязательствами сторон немедленно передавать друг другу списки отозванных сертификатов (например, администратор может по выпуску нового CRL шифровать его, подписывать и отправлять электронной почтой). Сертификаты самих ЦС можно также дополнительно удостоверить, распечатав их и заверив тексты ╚обычными╩ методами.

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

Эксперимент

Эксперимент проводился на стенде компании Эврика. Были задействованы 3 компьютера ≈ два сервера и рабочая станция. Они составили два домена с вымышленными именами test1.ru и test2.ru. На серверах (CA1 и CA2) была установлена ОС Windows 2000 Server. Для своих доменов они выполняли функции контроллеров. Также на них были запущены службы Certificate Services. На COMP1.test1.ru была установлена Windows 2000 Professional.

Существует 4 режима, в которых может функционировать ЦС на базе Windows 2000: корневой ЦС предприятия (Enterprise root CA), подчиненный ЦС предприятия (Enterprise subordinate CA), изолированный корневой ЦС (Stand-alone root CA) и изолированный подчиненный ЦС (Stand-alone subordinate CA).

Продолжение следует

 


       КОМПЬЮТЕР-ИНФОРМ 
          Главная страница || Статьи ╧ 13'2001 || Новости СПб || Новости России || Новости мира

Анкета || Рубрики || Работа || Услуги || Поиск || Архив || Дни рождения
О "КИ" || График выхода || Карта сайта || Подписка

Главная страница

Сайт газеты "Компьютер-Информ" является зарегистрированным электронным СМИ.
Свидетельство Эл ╧ 77-4461 от 2 апреля 2021 г.
Перепечатка материалов без письменного согласия редакции запрещена.
При использовании материалов газеты в Интернет гиперссылка обязательна.

Телефон редакции (812) 118-6666, 118-6555.
Адрес: 196084, СПб, ул. Коли Томчака, д. 9
e-mail:
Для пресс-релизов и новостей