Компьютер-Информ || Архив || Рубрики || Поиск || Подписка || Работа || О "КИ" || Карта
Отчет об эксперименте с 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).
Продолжение следует
Анкета || Рубрики || Работа || Услуги || Поиск || Архив || Дни рождения
О "КИ" || График выхода || Карта сайта || Подписка
Главная страница
Сайт газеты "Компьютер-Информ" является зарегистрированным электронным СМИ.
Свидетельство Эл ╧ 77-4461 от 2 апреля 2021 г.
Перепечатка материалов без письменного согласия редакции запрещена.
При использовании материалов газеты в Интернет гиперссылка обязательна.
Телефон редакции (812) 118-6666, 118-6555.
Адрес: 196084, СПб, ул. Коли Томчака, д. 9
e-mail:
Для пресс-релизов и новостей