Теоретические сведения

Лабораторная работа

Цифровые сертификаты. Инфраструктура открытого ключа (PKI)

Цель работы: знакомство с использованием сертификатов в автономном компьютере. Получение навыка в управлении сертификатами.

Теоретические сведения

В Windows существует мощный инструмент — инфраструктура открытого ключа (public-keyinfrostructure, PKI). Эта инфраструктура представляет собой набор криптографических служб и инструментов, встроенных в операционную систему и существенно повышающих её безопасность. Криптографический метод, основанный на применении открытого ключа, позволяет решить проблему пересылки секретного ключа. И является, таким образом, очень удобным и применимым для пересылки секретной информации. С другой стороны тот же метод может применяться для аутентификации. Тоже очень важной с точки зрения безопасности функции.

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

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

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

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

 

Цифровой сертификат является своего рода паспортом в цифровом мире. В нём хранится следующая информация:

  • ключи шифрования
  • личные данные субъекта, такие как имя, электронный адрес, название организации
  • область применения
  • срок действия сертификата
  • наименование Центра Сертификации ЦС (Certificationauthority, CA), выдавшего сертификат
  • цифровую подпись ЦС, выдавшего сертификат

Этот документ используется в инфраструктуре открытых ключей в следующих случаях:

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

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

Область применения Описание
Проверка подлинности сервера Применяется серверами (например, защищёнными web-серверами, использующими протокол SecureSocketsLayer) для аутентификации самих себя по отношению к клиентам
Проверка подлинности клиента Применяется клиентами (например, пользователями Web) для аутентификации самих себя по отношению к серверам
Подписывание кода Используется производителями программных средств для аутентификации пользователями программ (например, элементов управления ActiveX)
Защищённая электронная почта Применяется для подписывания и кодирования электронных сообщений с помощью протокола Secure/MultipurposeInternetMailExtensions (S/MIME)
Подписывание документа Применяется, например, для подписывания документов MS Office
Файловая система EFS Применяется с симметричным ключом для кодирования/декодирования файлов и папок
Восстановление файлов Применяется с симметричным ключом для восстановления закодированных файлов и папок

Это, конечно, только самые часто употребляемые.

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

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

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

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

Логические хранилища:

Название Описание
Личное Любые ваши сертификаты, используемые вами и связанные с вашими закрытыми ключами.
Доверенные корневые центры сертификации Автоматически подписанные сертификаты от ЦС, которые неявным образом являются доверенными. Здесь хранятся сертификаты, изданные сторонними ЦС, Microsoft, а также вашей организацией (если организация располагает собственным сервером сертификатов)
Доверительные отношения в предприятии Помещая сюда сертификаты, изданные другими организациями, вы делаете доверенными корневые сертификаты этих организаций. Что влечёт за собой автоматическое доверие любым сертификатам, изданными ими.
Промежуточные центры сертификации Сертификаты, изданные другими ЦС
Сертификаты, к которым нет доверия Сертификаты, которым вы явно не доверяете. Здесь обязательно находятся два сертификата выданных VeriSign, которая в марте 2001 года объявила о выдаче этих сертификатов лицу, сумевшему "войти в доверие". Также здесь хранятся сертификаты, когда вы выбираете опцию не доверять сертификату.
Сторонние корневые центры сертификации Та часть основных доверенных ЦС, которые отличны от Microsoft и вашей организации.
Доверенные лица Сертификаты, изданные доверенными людьми
Другие пользователи Сертификаты людей, которым вы посылаете шифрованные сообщения или документы
Запросы заявок на сертификаты Отложенные запросы на регистрацию сертификата

Из хранилища Windows сертификаты можно экспортировать в любой из следующих форматов:

  • DER encodedbinary X.509. Аббревиатура от слов DistinguishedEncodingRules (Превосходные правила кодирования), DER X509 платформенно-независимый метод хранения сертификатов. Может использоваться для их передачи между компьютерами. Имеет расширение.cer и.crt.
  • Base-64 encoded X.509. Вариант кодирования, разработанный для использования совместно с S/MIME (безопасным протоколом электронной почты). Файл использует ASCII-символы, благодаря чему может пройти неповрежденным через все почтовые шлюзы. Имеет расширение.cer и.crt.
  • Cryptographic Message Syntax Standard — сертификаты PKCS #7. В отличие от формата X509 сертификаты стандарта PKCS #7 (PublicKeyCryptographyStandard — криптографический стандарт открытого ключа) позволяет сохранить не только сам сертификат, но и все сертификаты в пути сертификации. Это позволяет сохранить доверие к сертификату на другом компьютере. Имеет расширение.p7b и.spc.
  • Файлобменаличнойинформации (Personal Information Exchange) — PKCS #12. Единственный формат, который может включать закрытые ключи. Непременным условием разрешения на включение закрытого ключа является то, что ключ помещается как разрешённый к экспорту. Этот формат надо использовать очень осторожно. Ни в коем случае ваш секретный ключ не должен попасть в руки к кому-нибудь. Файлы в этом формате предназначены только для вас лично. Имеет расширение.pfx и.p12.
  • MicrosoftSerializedCertificateStore. Этот формат используется только в том случае, если вы экспортируете сразу несколько сертификатов (для этого необходимо выделить желаемые сертификаты перед экспортом). Имеет расширение.sst.

Сертификаты следует экспортировать в следующих случаях:

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

 

Задание 1.

Посмотрите, какие сертификаты находятся в вашем хранилище. Это можно сделать двумя путями:
  • Открыть InternetExplorer, меню Сервис Свойства обозревателя... Содержание Сертификаты...
  • Через консоль. Для её вызова надо набрать в командной строке certmgr.msc.
Двойной щелчёк на сертификате выводит его свойства. Посмотрите их. Экспортируйте какой-нибудь сертификат в файл. Потом найдите этот файл и щёлкните по нему. Установите сертификат.

 

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

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

Если в сертификационном пути присутствует только один сертификат, то такие сертификаты называют сертификатами самовыпуска. Все корневые ЦС имеют такие сертификаты. Для сертификатов самовыпуска не установлены отношения доверия, так как они не были выпущены доверенными корневыми ЦС. Они вполне могут оказаться подлинными, но в этом нельзя быть уверенными на 100%. Если вы доверяете такому сертификату (к примеру, это сертификат друга), то вы можете поместить его в хранилище доверенных корневых ЦС. Это даст возможность, например, шифровать сообщения в OutlookExpress.

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

Вот некоторые наиболее известные ЦС:

  • GlobalSign
  • Thawte
  • VeriSign

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

Для получения сертификата необходимо сообщить правильный e-mail адрес и страну. Всё остальное (имя, фамилия, страна, номер паспорта) не играет роли при получении сертификата для подписи и шифрования электронных сообщений. При желании их всегда можно подправить.

Данный документ имеет ЭЦП и демонстрирует ее использование.

 

 

Задание 2.

В поставку MicrosoftOffice (начиная с Office 2000) входит программа выдачи сертификатов для личного использования.
  • Создайте сертификат на своё имя. Он появится в хранилище сертификатов — личные. Посмотрите его свойства и определите его назначения.
  • На вкладке общие будет написано, что вашему сертификату нет доверия, поскольку он не найден в хранилище доверенных корневых сертификатов.
  • Создайте документ Word и подпишите его своим сертификатом. Внесите изменения в документ и попробуйте его сохранить.

Порядок выполнения задания.

1. Создайте и сохраните документ офиса на компьютере. В качестве примера будет использоваться приложение MicrosoftWord 2010.

2. Добавьте ЭЦП в состав документа с помощью следующего меню:

3. Пропускаем информационное сообщение

4. Приступаем к этапу создания сертификата пользователя

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

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

5. Применяем сертификат в документе с указанием поясняющей информации.

 

 

6. Получаем подтверждение о применении сертификата в качестве ЭЦП в документе.

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

7. Изучаем информацию о документе, просматриваем сертификат и информацию об авторе документа.

 

8. Любые попытки редактирования документа сопровождаются удалением ЭЦП.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: