
742 Глава
11.
Распределенные системы документов
Аутентификация
Для аутентификации пользователей и серверов Notes использует криптографию
с открытым ключом. Аутентификация производится путем передачи сертифика-
тов,
содержащих открытый ключ. Основой этой схемы является доверие к серти-
фикатам. Другими словами, получатель сертификата должен быть уверен, что
открыты!! ключ, который
В
нсм содсржится, действительно принадлежит аутен-
тифицируемому отправителю. В Notes уделяется особое внимание подтвержде-
нию правильности сертификатов. Чтобы понять, как происходит подтверждение
правильности, рассмотрим, как эти сертификаты создаются.
С точки зрения за!циты Notes различает три типа сугцностей: пользователи,
серверы и сертифицирующие ор1^анизации. Каждая из этих сущностей известна
системе по ее
удостоверению
(identity), которое реализовано в виде файла, содер-
жащего ключи и сертификаты. Так, например, когда в системе регистрируется
новый пользователь, для него создается два набора пар
{открытый
ключ,
закры-
тый ключ). Одна пара, 512-битные ключи RSA, используется для шифрования
данных за пределами Соединенных Штатов; другая пара, 630-битные ключи, соз-
дается для шифрования данных в Соединенных Штатах, а также для аутентифи-
кации и подписания сообщен!4Й. Кроме того, создается сертификат, который
подписывается сертифицирующей организацией, известной в той системе Notes,
к которой подключается пользователь. Понятно, что использовать эту подпись
могут только авторизованные администраторы.
Вся эта информация хранится в файле удостоверения пользователя системы
Notes.
Конфиденциальная информация, такая как закрытые ключи, шифруется
с использованием ключа, генерируемого на основе пароля пользователя. Серве-
ры Domino также имеют похожие файлы удостоверений, которые хранятся где-то
внутри системы. Файлы удостоверений сертифицирующих организаций обычно
хранятся в физически защищенном месте.
Notes поддерживает иерархию сертификатов. Другими словами, при добавле-
нии пользователя в систему системный администратор может создать для него
новый сертификат, в котором содержится открыты!! ключ, соответствующий за-
крытому ключу администратора. Продолжая подобную линию рассуждений, для
подтверждения правильности сертификата системного администратора можно ис-
пользовать сертификат более высокого уровня полномочий и т. д.
Предположим теперь, что Алиса хочет аутентифицировать себя для Боба.
Давайте сначала рассмотрим вариант, когда Алиса и Боб работают в одной орга-
низации, скажем, в университете Franeker (FU), но Алиса
—
на факультете вы-
числительной техники (Department of Computer Science, CS), a Боб
—
на элек-
тротехническом факультете (Department of Electrical Engineering, ЕЕ). Алиса
и Боб имеют в своих файлах удостоверений открытый ключ университета
Franeker.
Алиса посылает свои сертификаты Бобу, а Боб проверяет открытые ключи,
содержащиеся в этих сертификатах, придерживаясь следующих правил:
-¥ все открытые ключи, хранящиеся в файле удостоверения Боба, являются
доверенными для Боба;