Характеристики информации с точки зрения ее защиты. Способы обеспечения защиты информации. Классификация алгоритмов шифрования. Современные алгоритмы шифрования. Режим сцепления блоков, страница 9

Структура сертификатов открытых ключей и протоколов аутентификации, определяемых в стандарте Х.509, используется во многих применяемых сетевых протоколах. Этот стандарт используется в протоколах защиты электронной почты, в защищенном IP-протоколе IPSec, в протоколах защиты WEB-серверов.

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

Процедуры аутентификации стандарта Х.509

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

Одношаговый протокол

По этому протоколу происходит просто передача сообщения от А к В. Действия стороны А:

1.  Сторона А генерирует оказию ZA – уникальную метку для данного сообщения.

2.  А создает сообщение  M = (TA, ZA, IB, D), где TA – метка даты-времени (она складывается из времени посылки сообщения и времени окончания срока действия данного сообщения), IB – идентификатор стороны В, D – содержимое сообщения. Для безопасности данные могут быть зашифрованы открытым ключом В.

3.  А посылает В свой сертификат открытого ключа и сообщение М, зашифрованное своим секретным ключом:  (CA, DA(M)),  где CA -  cертификат А,  DA – закрытый ключ А.

Действия стороны В:

4.  В проверяет сертификат CA и извлекает из него открытый ключ А. Этот открытый ключ сторона В использует для расшифровки DA(M). Этим проверяется и подпись А, и целостность сообщения.

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

Двухшаговый протокол

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

6.  Сторона В генерирует оказию ZB.

7.  Сторона В создает сообщение  M1 = (TB, ZB, IA, ZA, D), где TB - метка времени В, IA - идентификатор А, ZA - оказия А, присланная в сообщении, D - содержание сообщения.

8.  Сторона В посылает это сообщение, зашифровав его своим секретным ключом:  

DB(M1).

9.  Сторона А расшифровывает DB(M1) открытым ключом В, полученным из сертификата. Этим проверяется подпись В и целостность сообщения. Дополнительно А может проверить метку времени TB, свой идентификатор IA и новизну оказии RB.

Трехшаговый протокол

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

10. Сторона А проверяет подлинность своей оказии ZA.

11. Сторона А посылает В его оказию ZB, зашифрованную своим секретным ключом:

DA(ZB).

12. Сторона В расшифровывает сообщение открытым ключом А, проверяя при этом подпись А и целостность сообщения.

Сертификаты

Главный элемент схемы Х.509 – сертификаты открытых ключей, связываемые с каждым пользователем. Сертификат ключа удостоверяет открытый ключ пользователя, которому принадлежит соответствующий личный ключ. Сертификаты создаются надежным центром сертификации (CertificationAuthority, CA). Каждому пользователю СА присваивает уникальное имя и выдает подписанный сертификат, содержащий его имя и открытый ключ шифрования. Стандарт Х.509 определяет общий формат сертификата ключа. Этот формат включает следующие элементы:

·  Порядковый номер – целое значение, уникальное для данного центра сертификации, однозначно связываемое с данным сертификатом

·  Идентификатор алгоритма подписи сертификата– определяет алгоритм создания сертификата.

·  Имя объекта, выдавшего сертификат – имя по стандарту Х.500 центра сертификации, выдавшего сертификат

·  Срок действия – включает две даты: дату начала и дату окончания срока действия сертификата.

·  Имя субъекта – имя пользователя, которому направляется сертификат.

·  Информация об открытом ключе – открытый  ключ плюс идентификатор алгоритма, с которым этот ключ должен использоваться.

·  Уникальный идентификатор центра идентификации, выдавший сертификат

·  Подпись – содержит все остальные поля, зашифрованные с помощью личного ключа

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

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

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