Усовершенствования, связанные с ключами увеличенной длины в сертификатах и ID
В этой лекции мы обсудим усовершенствования, внесенные в инфраструктуру общих ключей (public key infrastructure, PKI) в Lotus Notes и Domino 7. Вы можете использовать личные ключи для того, чтобы сделать аутентификацию и шифрование, являющиеся основами безопасности Notes и Domino, еще более защищенными, чем они уже есть. Мы обсудим следующие темы:
- как используется PKI в Notes и Domino;
- каким образом более длинные ключи увеличивают безопасность;
- вопросы управления идентификаторами и ключами;
- смена ключей для клиентов и серверов в Notes и Domino 7.
5.1 Как в Notes и Domino используется инфраструктура общих ключей
Система Lotus Notes была разработана для того, чтобы пользователи могли вести совместную работу и обмениваться информацией. Одним из ключевых элементов, которые помогли Notes преуспеть в этой области, является безопасность. Чтобы люди могли доверять системе, которая была создана для совместного доступа к информации, пользователи должны быть уверены, что система может и будет ограничивать общий доступ к информации так, чтобы к ней не могли обращаться люди, не имеющие права видеть или изменять ее.
Обычно специалисты по компьютерной безопасности любят делить мир на "хороших парней", которые хотят защитить свои системы и информацию, и "плохих парней", которые хотят взломать и прочитать конфиденциальные данные. Одним из способов, которым "хорошие парни" защищают свои системы, является криптография, использующая математические методы преобразования свободно читаемых данных, которые называются открытым текстом (plaintext), в нечитаемые данные, называющиеся зашифрованным текстом (cryptotext). У криптографии есть две главных ветви - общие ключи (public keys) и секретные ключи (secret keys), которые также называются асимметричными и симметричными алгоритмами, соответственно. В Lotus Notes и Domino используются как общие, так и секретные ключи, и, как во многих других использующихся на практике системах безопасности, они объединены в гибридных методах, поскольку система, применяющая только общие ключи для обмена сообщениями, будет неэффективна.
Еще один термин, "ключ массива информации" (bulk data key), обозначает секретный ключ, который используется однократно для шифрования документа или сообщения. Для каждого получателя сообщения копия этого ключа шифруется при помощи общего ключа. Безопасность каждого сообщения, посланного таким образом, определяется надежностью ключа массива информации. Безопасность системы определяется надежностью общих ключей.
Краеугольным камнем надежной системы компьютерной безопасности является аутентификация - процесс определения подлинности пользователей, а также серверов, чтобы можно было применять имеющиеся ограничения доступа. Существует множество разных способов выполнения аутентификации, некоторые из которых сравнительно слабо защищенные, например приглашение ввести имя и пароль, а некоторые - гораздо надежнее. Компания Lotus решила реализовать более надежную систему аутентификации с помощью криптографии на основе общих ключей. Файлы сертификатов и ID, а также книга имен и адресов (которая теперь называется Domino Directory) в Notes обеспечивают безопасную аутентификацию в Notes и Domino с самой первой версии этой системы. В сочетании эти компоненты образуют инфраструктуру общих ключей Notes и Domino, или сокращенно PKI.
Краткое описание того, как в системе Notes и Domino используется PKI
Математика, лежащая в основе шифрования с использованием общих ключей, выходит за рамки данного курса, но мы перечислим основные принципы, на которых основывается PKI Domino.
- Существует 3 типа сущностей, для которых PKI осуществляет
аутентификацию и помогает защитить данные:
- сертификаторы;
- серверы;
- пользователи.
- Каждая сущность имеет 2 математически связанных друг с другом ключа, которые в действительности представляют собой очень большие числа:
- Хотя эти два ключа связаны математически, требуется очень много времени и вы числительных мощностей, чтобы вычислить один из них по другому. Чем больше цифр (или битов) в этих больших числах, тем больше требуется времени и вычислительных мощностей и тем надежнее аутентификация и защита.
- В Notes и Domino для всех операций с общими и личными ключами используется алгоритм RSA,
-
Личный ключ сущности надежно хранится в ее ID-файле и используется
для следующих целей:
- электронная подпись того, что сущность посылает другим сущностям;
- дешифрование ключей массивов информации, которыми шифруются сообщения, которые другие сущности посылают данной сущности.
- Общий ключ сущности хранится в Domino Directory, где к нему может
обратиться каждый. Он используется для следующих целей:
- шифрование массива данных, который другая сущность отправляет в сообщении для данной сущности;
- проверка подписи в сообщениях, полученных от других сущностей.
- Аутентификация, основанная на безопасности цифровых подписей:
- сертификаторы подписывают сертификаты, добавляемые в ID сервера и пользователя;
- серверы и пользователи обмениваются подписанными сертификатами для установления доверительных отношений, а затем они подписывают идентификационные данные, чтобы доказать, что они являются теми, за кого себя выдают.
- Шифрование представляет собой процесс, состоящий из четырех этапов:
- Создание ключа массива информации, который является гораздо более коротким, чем личный или общий ключ.
- Шифрование данных с помощью короткого ключа и алгоритма шифрования:
- RC2 - это блочный шифр, используемый для шифрования полей;
- RC4 - это потоковый шифр, применяемый для шифрования на сетевых портах.
- Шифрование короткого ключа при помощи общего ключа получателя в соответствии с алгоритмом RSA для шифрования общим ключом. Этот этап повторяется для каждого получателя зашифрованных данных.
- Объединение зашифрованных данных с зашифрованным ключом, чтобы можно было послать данные получателям.