Инфраструктуры открытых ключей
Сертификаты Notes
Аутентификация Lotus Notes основана по большому счету на сертификатах Notes, которые хранятся в идентификаторах Notes ID.
Вообще говоря, сертификат является электронной "печатью", которая отображает доверенные взаимоотношения между объектами в мире Notes.
Если более формально, то сертификат является уникальным, обладающим электронной подписью сообщением, добавленным источником сертификации в файл Notes ID, который идентифицирует пользователя или сервер. Наряду с тем что пользователь может хранить и работать как с сертификатами Notes, так и с интернет-сертификатами (в оставшейся части этого раздела упоминаются конкретно сертификаты Notes).
Когда пользователь Lotus Notes пытается соединиться с сервером Lotus Domino, будь то почтовый сервер или другой тип сервера Domino в организации, то для идентификации себя на этом сервере ему необходим сертификат, а серверу необходим сертификат для идентификации данного лица. Соответственно вовлеченные в процесс клиент Notes и сервер Domino представляют друг другу свои сертификаты. Путем проверки сертификатов клиент Notes проведет идентификацию и аутентификацию сервера Domino, а сервер Domino проведет идентификацию и аутентификацию пользователя.
В целях разрешения установления этих доверенных взаимоотношений в сертификатах должно присутствовать определенное число информационных элементов. Сертификат Notes, как и Notes ID, содержит такие элементы, как:
- Имя источника сертификации, выпустившего сертификат.
- Имя пользователя или сервера, для которого был выпущен сертификат.
- Открытый ключ, который хранится как в каталоге Domino, так и в файле ID. Notes использует открытый ключ для шифрования сообщений, которые посылаются владельцу открытого ключа, и для проверки достоверности подписи владельца ID.
- Цифровая подпись.
- Дата истечения срока действия сертификата.
Затем все это сертифицируется, что означает – сертификат подписывается цифровой подписью источника сертификации с использованием секретного ключа источника сертификации, в целях подтверждения его аутентичности.
Рис. 6.3 отображает структуру сертификата Notes в составе Notes ID.
Как уже упоминалось, сертификаты хранятся в файлах Notes ID. Они также хранятся в документах Person (Человек), Server (Сервер) и Certifier (Источник сертификации) каталога Domino (Domino Directory).
Представляя сущность содержимого файлов Notes ID, наилучшим вариантом будет думать о них, как о разновидности специализированной базы данных, которая хранит сертификаты Notes и пары ключей (секретный/открытый). Эта база данных затем шифруется с помощью пароля пользователя.
Когда серверы и пользователи зарегистрированы, Domino автоматически создает сертификат Notes для каждого файла ID сервера и пользователя. Эти сертификаты Notes имеют даты истечения срока действия, что означает необходимость повторного сертифицирования Notes ID по наступлению даты истечения его срока действия.
В дополнение к этому если изменилось имя сервера или пользователя, также должна быть осуществлена повторная сертификация соответствующего Notes ID таким образом, чтобы новый сертификат мог корректно связывать открытый ключ с новым именем.
Примечание. Изменение имени в ID пользователя может также оказать воздействие на представленные в данном файле Notes ID интернет-сертификаты. Мы расскажем об интернет-сертификатах немного позднее; однако заслуживает внимания то, что не только сертификат Notes связан с именем пользователя или сервера в файле Notes ID.
Типы сертификатов
Существует три типа сертификатов Notes, которые могут находиться в вашем ID пользователя:
- Многоцелевые сертификаты Notes. Используются для идентификации пользователей в большинстве случаев применения Notes, таких, как вход в систему Notes и доступ к базам данных Notes на серверах Domino. Многоцелевые сертификаты Notes позволяют выполнять "сильное" шифрование (к примеру, когда пользователь получает защищенную "сильным" шифрованием электронную почту, где многоцелевой сертификат Notes пользователя был применен другим пользователем для отправки данному пользователю зашифрованной почты). Большинство пользователей употребляет только многоцелевые сертификаты Notes.
- Интернациональные сертификаты Notes. Используются только для шифрования. Они предоставляют возможность любому, кто не может применять "сильное" шифрование, отправлять шифрованную электронную почту. Как правило, они не предназначены для персонального применения пользователем. Каждый пользователь имеет интернациональный сертификат в своем ID пользователя (User ID), даже если он не применяется.
- Линейные сертификаты. Использовались в версии Notes 4.6 и ранее, а теперь применяются для доступа к серверам вплоть до пятой версии, которые все еще используют линейные сертификаты для собственной идентификации. Линейные сертификаты не имеют иерархических имен. Начиная с версии 5 Notes и Domino невозможно создавать новые линейные сертификаты, а это означает следующее: чтобы пользователь имел линейный сертификат и был способен применять его как сертификат для входа в Notes в этом ID пользователя, он уже должен был иметь данный сертификат при модернизации до Notes 5 или выше.
Просмотр сертификатов Notes
Вы можете просмотреть все сертификаты, представленные в ID пользователя Notes путем выбора следующих пунктов меню: File (Файл) – Security (Безопасность) – User Security (Безопасность пользователя) [для пользователей Macintosh будет Notes – Security (Безопасность) – User Security (Безопасность пользователя)]. После этого введите защищающий Notes ID пароль и щелкните мышью на Your Identity (Ваша подлинность) – Your Certificates (Ваши сертификаты). Существует две опции для отображения сертификатов Notes. Выберите опцию "Your Notes Certificates (ваши сертификаты Notes), как показано на рис. 6.4, для просмотра сертификатов, которые могут быть использованы для входа в Notes, для доступа к базам данных Notes и для обмена безопасной почтой с другими пользователями Notes.
Для предоставления более полного списка сертификатов Notes выберите опцию All Notes Certificates (Все сертификаты Notes), как показано на рис. 6.5, которая отображает вам все представленные в вашем ID сертификаты Notes, включая ваши сертификаты Notes, а также сертификаты центров сертификации Notes (Notes CA), которые выпустили ваши сертификаты.
Это одно из диалоговых окон, которые значительно изменились со времен R5.0. Отображение информации в вашем Notes ID было значительно упрощено и стало более легким для прочтения. Несмотря на это, потратим некоторое время на обзор списка сертификатов Notes, которые отображены на рис. 6.5.
Два элемента, отмеченные как Frederic Dahm/Switzerland/IBM, являются двумя сертификатами человека по имени Frederic Dahm, причем оба из них подписаны источником сертификации Switzerland/IBM. Один из них является интернациональным ключом с ограниченным размером ключа; другой является полноценным североамериканским ключом. Элемент, отмеченный как /Switzerland/IBM, является источником сертификации швейцарского подразделения, который, в свою очередь, был сертифицирован источником сертификации компании IBM. Наконец, элемент /IBM является источником сертификации IBM (источником сертификации самого высшего уровня в домене).
Просмотр интернет-сертификатов
В сервере Domino и клиенте Notes версии 5.0 добавлена полная поддержка сертификатов x.509 v3. Это значит, что начиная с версии 5 и продолжая в версии 6, для клиента Notes существует возможность запрашивать сертификат у любого центра сертификации, включая центр сертификации Domino 6, и сохранять сертификат x.509 v3 в файле Notes ID. Для немедленного просмотра этих сертификатов просто выберите пункт Your Internet Certificates (Ваши интернет-сертификаты), а затем пункт All Internet Certificates (Все интернет-сертификаты). В качестве альтернативы вы можете выбрать пункт All Certificates (Все сертификаты) для просмотра сгруппированного списка сертификатов Notes и x.509.v3. (Мы вернемся к интернет-сертификатам позднее в этой лекции).
Открытые ключи
Повторно обращая ваше внимание на Notes ID, заметим, что открытый ключ упоминается также как сертифицированный открытый ключ Notes. Он хранится в сертификате Notes. Его дополнение, секретный ключ, хранится в другой части файла Notes ID (как показано на рис. 6.2) и может встречаться только в Notes ID.
Открытые ключи несекретны, отсюда и их название. Любой пользователь может найти открытый ключ другого пользователя и употребить его для отправки пользователю шифрованной почты или для его аутентификации.
Пользователи должны быть способны получить открытый ключ источника сертификации, который выпустил сертификат, еще перед тем, как они смогут провести аутентификацию владельца сертификата. Если пользователь имеет сертификат, выпущенный тем же источником сертификации, который применялся для другого пользователя или сервера, то он может проверить открытый ключ сертификата, после чего достоверно знать, что открытый ключ связан с именем сервера или пользователя. Если пользователь не имеет сертификата, выпущенного тем же источником сертификации, то пользователь нуждается в проведении перекрестной сертификации в целях аутентификации.
Присваивание альтернативных имен
Начиная с версии R5.0 существует возможность добавлять в файл Notes ID для пользователя Notes альтернативное имя или псевдоним. Это свойство позволяет обращаться к пользователю либо по его основному имени, либо по альтернативному имени. Оно может применяться в интернациональных организациях, где пользователи регистрируются с применением стандартного формата имени, но предпочтительнее осуществлять адресацию с применением более удобных в их родной стране имен.
Альтернативное имя может также быть использовано в целях почтовой адресации и в списках управления доступом (ACL) к базам данных. Альтернативное имя, как и основное, является иерархическим по формату и не должно быть аналогичным любому существующему основному или альтернативному имени. В процессе сетевой аутентификации как основное, так и альтернативное имя подвергаются аутентификации. Это означает, что пользователи могут быть перечислены в списках ACL либо в перечисленных в списках ACL группах с применением либо основного, либо альтернативного имени.
Альтернативные имена несовместимы с версиями Notes, выпущенными ранее версии 5. В частности, существуют следующие ограничения:
- более ранние версии серверов Notes/Domino не способны установить подлинность пользователя, заданного псевдонимом;
- более ранние версии серверов и рабочих станций Notes/Domino не способны проверить достоверность подписи пользователя, заданного псевдонимом;
- ранние версии рабочих станций Notes не способны использовать ID-файл, который содержит альтернативное имя или псевдоним.
6.1.4 Пароли Notes
Главной причиной наличия и использования Notes ID является аутентификация. Мы полностью опишем процесс аутентификации с использованием Notes ID в этой лекции позднее; а теперь обратим внимание на пароли.
Пароли пользователей
Пароль, заданный идентификатору ID пользователя Notes во время регистрации, является механизмом защиты файла Notes ID от неавторизованного использования. При попытке применения файла Notes ID пользователю будет нужно ввести пароль для этого файла.
Относительно пароля Notes ID существует некоторая путаница. Он используется исключительно для разблокировки самого файла ID пользователя Notes – и больше ни для чего. Фактически для идентификации пользователя применяется пара ключей, содержащаяся в ID.
Пользователи могут иметь более одной копии своего файла Notes ID, и эти различные копии могут иметь разные пароли. По существу, это означает, что для изменения пароля пользователь должен знать существующий пароль для каждой из копий ID.
Несмотря на то что еще в предыдущей версии Notes была (и остается доступной в версии 6) представлена функциональная возможность восстановления Notes ID, хорошим тоном все еще считается выполнение резервного копирования файлов ID и запоминание их паролей.
Диалоговое окно введения пароля с антиспуфинговой функцией
Для предотвращения атак методами "подбора по словарю" и "прямого подбора" на пароли файлов ID и для уменьшения риска перехвата пароля в Notes применяется диалоговое окно введения пароля с антиспуфинговой функцией (функцией предотвращения обмана). Данное окно было представлено в версии 4 и получило дальнейшую поддержку в версии 6 Notes.
Если пользователь вводит некорректный пароль, то перед разрешением ему повторной попытки введения пароля Notes несколько секунд ожидает. Эта задержка увеличивается с каждой неудачной попыткой ввода вплоть до своего максимума в 30 секунд. Функция задержки затрудняет попытки ввода множества паролей в быстрой очередности в надежде получить правильную комбинацию.
Антиспуфинговый аспект диалогового окна пароля Notes состоит в изменении шаблона слева от текстового поля ввода пароля.
В версиях 4 и 5 этот шаблон был представлен в виде набора из четырех иероглифических символов. В версии 6 эти иероглифы были заменены на изображение кольца для ключей, к которому прикреплены различные объекты (такие, как ключи, карманный фонарик, карманный нож и т. д.), изменяющиеся после набора пятого символа. Этот новый дизайн показан на рис. 6.6.
Данные динамические символы делают более затруднительной подмену на фальшивое диалоговое окно, которое перехватывает пароли, выдавая себя за диалоговое окно ввода паролей Notes. Пользователи должны быть осведомлены об особенностях данного окна и о факте изменения символов при вводе ими паролей. Если пользователи замечают, что символы не изменяются или вообще отсутствуют, они должны прекратить введение своих паролей и щелкнуть мышью на Cancel (Отмена). Также они должны запомнить последнее изображение после ввода своего пароля, потому что следующий после выведения символов алгоритм будет всегда вычислять один и тот же символ в конце. (Однако алгоритм достаточно сложен, и поэтому не так легко выяснить пароль, обращая внимание только на символы и на способ их изменения.)
Составные пароли
Для обеспечения устойчивой безопасности файлов ID серверов и источников сертификации существующим Notes ID можно задавать составные пароли. При реализации указанного существует возможность потребовать, чтобы при использовании Notes ID действовали совместно более одного человека (как правило, это администраторы).
Здесь важно избежать некоторой, обычно присутствующей, путаницы. Когда к Notes ID применяются составные пароли, исходный пароль для Notes ID (или предыдущий, если пароль отличается от исходного) не является более действительным. Эти составные пароли заменяют исходный пароль и не являются кумулятивными (значит, они не добавляют себя к исходному паролю).
Существует также возможность указать, что для доступа к Notes ID требуется только подмножество заданных паролей. К примеру, существует возможность назначить для доступа к указанному Notes ID четыре пароля, но определено, что для доступа к Notes ID требуются только любые два из четырех паролей. Это свойство полезно, когда должны быть отменены положения политики безопасности, дающие полномочия по работе с ID источника сертификации единственному человеку.
Примечание. Мы рекомендуем, чтобы составные пароли задавались только для идентификаторов ID серверов Notes и идентификаторов ID источников сертификации Notes. Идентификаторы ID пользователей Notes не должны иметь заданных им составных паролей. Для установки составных паролей на Notes ID необходимо присутствие всех людей, которые будут задавать пароль для Notes ID. Для установки составных паролей выполните следующие действия:
- В Domino Administrator щелкните мышью на пунктах Configuration (Конфигурация) – Certification (Сертификация).
- Выберите пункт Edit Multiple Passwords (Редактирование составных паролей).
- Выберите Notes ID, которому задаются составные пароли, и щелкните Open (Открыть).
- Введите пароль для Notes ID (если требуется).
- Каждое лицо, чей пароль применяется к Notes ID, должно выполнить следующие действия:
- Введите количество паролей, требуемых для доступа к Notes ID. Максимальное количество должно быть меньшим или равным количеству человек, которые задали пароли к Notes ID.
- Щелкните мышью на кнопке OK.