Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
CA.pdf
Скачиваний:
457
Добавлен:
14.05.2015
Размер:
4 Mб
Скачать

200

Тема 8. СИСТЕМА БЕЗОПАСНОСТИ WINDOWS

В Microsoft Windows реализована полная инфраструктура открытого шифровального ключа (public key infrastructure, PKI). PKI расширяет возможности криптографических служб открытого ключа (public key, PK) для Windows, поставлявшихся в последние годы, предоставляя интегрированный набор служб и средств администрирования для создания, распространения и управления PK-приложениями.

8.1. Инфраструктура открытого ключа

Шифрование открытым ключом — технология, чрезвычайно важная для защиты электронной коммерции, внутренних и внешних сетей, а также Web-приложений. Чтобы задействовать преимущества шифрования открытым ключом, требуется соответствующая инфраструктура. Windows Server включает в себя собственную инфраструктуру открытого ключа (PKI), спроектированную с учетом всех преимуществ архитектуры защиты этой ОС.

8.1.1.Составляющие безопасности

Компьютерная безопасность включает все: от аппаратнотехнической части до ПО. В программной области система безопасности должна выполнять 4 функции: аутентификацию (authentication), проверку целостности (integrity), конфиденциаль-

ность (confidentiality) и предотвращение повторов (anti-replay).

Аутентификация

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

201

Целостность

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

Конфиденциальность

Гарантирует, что передаваемые данные будут доступны только уполномоченным адресатам.

Предотвращение повторов

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

8.1.2.Криптография

Это набор математических методов для шифрования и расшифровки данных. Шифрование позволяет надежно передавать конфиденциальные данные — они не будут доступны неуполномоченным лицам. В криптографии применяются ключи в сочетании с алгоритмами для защиты данных. Ключ (key) — это некое число, используемое в ходе шифрования и расшифровки информации. Даже если алгоритм известен, безопасность не ставится под угрозу, потому что прочитать данные без ключа невозможно. Иными словами, безопасность обеспечивается не алгоритмом, а ключом. Алгоритм создает инфраструктуру, в которой применяется ключ.

Системы безопасности основаны на шифровании открытым или закрытым ключами.

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

8.1.2.1. Шифрование с применением открытых ключей

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

202

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

Объекты получают открытые ключи одним из двух способов:

владелец закрытого ключа посылает адресату соответствующий открытый ключ;

адресат получает такой ключ из службы каталогов,

например из Active Directory или DNS.

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

Шифрование данных

Шифрование данных обеспечивает конфиденциальность,

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

Цифровая подпись

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

При отправлении сообщения создается его выборка — представление сообщения вроде контрольной суммы ( cyclic redundancy check, CRC). Для зашифровки выборки сообщения отправитель применяет свой закрытый ключ. Принимая сообще-

203

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

Рис. 8.1. Использование подписи сообщения, его выборки и PKI для проверки подлинности отправителя

8.1.2.2. Секретные ключи

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

204

третьей стороной является центр сертификации (Certificate Authority, CA).

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

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

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

Обмен секретным ключом

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

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

205

Рис. 8.2. Обмен секретным ключом, при котором Алексей и Максим генерируют каждый по половине секретного ключа для создания общего секретного ключа

Шифрование данных

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

8.1.3.Сертификаты

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

206

Например, если Алексей хочет послать заверенные данные Максиму, он посылает ему свой открытый ключ. Доверенный ЦС удостоверяет открытый ключ Алексея, подтверждая тем самым подлинность его личности. Поскольку Максим доверяет ЦС, он доверяет и Алексею.

Доверенный ЦС может быть сторонним поставщиком сер-

тификатов, таким как VeriSign или Microsoft Certificate Services.

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

Стандарт Х.509

Стандарт Х.509 определяет синтаксис и формат сертификата. В Windows процессы, связанные с сертификатами, опираются на стандарт Х.509. Так как сертификаты применяются в разных целях (например, для шифрования электронной почты или файловой системы), каждый сертификат заключает в себе разную информацию. При этом сертификат должен обязательно включать:

номер версии;

серийный номер;

идентификатор алгоритма подписи;

имя издателя;

срок действия;

имя субъекта (пользователя);

информацию об открытом ключе субъекта;

уникальный идентификатор издателя;

уникальный идентификатор субъекта;

расширения;

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

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]