Компания IBM
Опубликован: 04.07.2008 | Доступ: свободный | Студентов: 448 / 54 | Оценка: 4.48 / 3.95 | Длительность: 13:58:00
Дополнительный материал 1:

Усовершенствования, связанные с безопасностью, в Notes C API

< Лекция 8 || Дополнительный материал 1 || Дополнительный материал 2 >

В Lotus Notes/Domino 7 была обнародована серия новых вызовов Lotus Notes C API, с помощью которых можно манипулировать различными аспектами распространения файлов Notes ID и их использованием для обеспечения безопасности документов Notes, например почтовых сообщений. В Lotus Developer Domain есть статья, посвященная подробному обсуждению этих API и возможностей их функциональной реализации. Эта статья называется "Security APIs in Notes/Domino 7.0" и ее можно найти в Lotus Technical Library на сайте http://www.lotus.com/ldd

Мы обсудим этот вопрос на общем уровне и предложим сценарии, в которых использование API может оказаться полезным.

Имена API указывают на их назначение:

  • SECKFMOpen(), SECKFMClose();
  • SECAttachIdFileToDB(), SECExtractIdFileFromDB();
  • SECRefreshIDFile();
  • NSFNoteSignExt3(), NSFNoteCopyAndEncryptExt2(), NSFNoteDecryptExt2()1Префикс SEC является сокращением от "security" (безопасность); KFM – это сокращение от "Key File Management" (Управление файлами ключей), а NSF – это, конечно, "Notes Storage Facility". Примеч. авт..

Вызов SECKFMOpen(), в отличие от SECKFMSwitchToIDFile(), появившегося в Notes 5, позволяет разблокировать ID при помощи пароля, без использования применительно к этому ID всего контекста выполнения Notes. Вызов создает контекст, применяемый с ранее упомянутыми вызовами, обеспечивающими безопасность содержания (контента) (шифрование, электронная подпись, дешифрование). Следовательно, теперь программа, использующая Notes C API, может свободно выполнять криптографические операции с идентификационными данными, отличными от тех, которые управляют текущим контекстом выполнения Notes.

Вызов SECAttachIdFileToDB(), наряду со своей противоположностью, позволяют распространять ID-файлы за пределы непосредственно связанной с ними файловой системы. Данные вызовы производят это со всей осторожностью, используя вариант протокола Белловина–Меррита для шифрованного обмена ключами (Bellovin-Merritt Encrypted Key Exchange), который обеспечивает безопасную передачу ключей на сервер и от него. На практике используется двойное шифрование для того, чтобы база данных Domino, в которой хранится вложение – ID, не содержала секретного пароля, необходимого для перевода вложения в активное состояние.

Вызов SECRefreshIDFile() приводит к тому, что ID-файл дополняется всеми автоматическими обновлениями, запланированными для него сервером Domino. Сюда могут входить обновления сертификатов X.509, повторная Notes-сертификация (изменение имени, расширение срока действия), а также смена ключей. Следовательно, ID, хранящийся отдельно, можно программно сделать соответствующим всем последним изменениям.

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

  • Приложения, которые обрабатывают для пользователей безопасное содержимое новыми методами, например подготавливая его к передаче и к обработке другими системами и приложениями, к примеру к передаче на портативный компьютер (PDA). Иллюстрацией служит клиент Domino Web Access, который производит криптографические операции над почтой, используя импортированные ID-файлы (см. раздел 7.5, "Безопасный обмен сообщениями при помощи Domino Web Access").
  • Приложения, позволяющие выполнять распределенное индексирование и архивирование защищенной почты Notes.
  • Приложения, управляющие Notes ID методами, отличными от тех, которые использует система восстановления ID Domino (например, другое централизованное хранилище).
  • Приложения, используемые в специфических ситуациях, когда полезным оказывается криптографическое обеспечение безопасности и соответствующие манипуляции.
< Лекция 8 || Дополнительный материал 1 || Дополнительный материал 2 >
Сергей Смирнов
Сергей Смирнов
Россия, Нижний Новгород, ННГАСУ, 2007
Олег Корсак
Олег Корсак
Латвия, Рига