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

Смарт-карты

< Лекция 3 || Лекция 4: 1234 || Лекция 5 >

4.3.3 Перенос длинного ключа Notes на смарт-карту

В Notes 7 появилась поддержка в ID более длинных ключей в паре асимметричных ключей (см "Усовершенствования, связанные с ключами увеличенной длины в сертификатах и ID" , "Усовершенствования, связанные с более длинными ключами и сертификатами в ID"). Такие ключи Notes, длиной 1024 бит и более, хранятся и обрабатываются внутри Notes с использованием более современных и общепринятых криптографических стандартов, чем это было в начале истории Notes (где использовалась одна из самых ранних PKI, оказавшаяся самой долгоживущей). Одним из преимуществ современных длинных ключей Notes является совместимость с устройствами, соответствующими стандарту PKCS#11, а это означает, что длинные ключи Notes можно переносить на смарт-карту при помощи практически тех же методов, которые описаны в подразделе 4.3.2, "Связывание с ключом Х.509 на смарт-карте" для ключей X.509, и с тем же самым результатом - все операции с личным ключом производит микропроцессор смарт-карты. После того как ID-файл создан или переведен на длинные ключи Notes, пользователю нужно только перенести ключ на смарт-карту, применяя обычный пункт меню Other Actions (Другие действия) \to Move Private Key to Smartcard (Перенести личный ключ на смарт-карту), как показано на рис. 4.7.

Move Private Key to Smartcard (Перенос личного ключа на смарт-карту)

увеличить изображение
Рис. 4.7. Move Private Key to Smartcard (Перенос личного ключа на смарт-карту)

В настоящее время в Notes 7 значок в столбце Туре (Тип) для связанного со смарт-картой сертификата Notes не имеет небольшого элемента, обозначающего "на смарт-карте", как показано на рис. 4.5, относящемся к связанным со смарт-картой сертификатам X.509. Кроме того, исходно клиент Notes 7 не поддерживает защиту смарт-картой ID-файла с находящимся на смарт-карте ключом Notes так, как это описано для ключей X.509 в подразделе 4.3.3, "Обеспечение безопасности Notes ID при помощи смарт-карты". Однако вы можете использовать для этого программу с применением Notes С API, как описано в подразделе 4.4.1, "Поддержка Notes С API"

4.4 Дополнительные возможности

В этом разделе рассматриваются дополнительные возможности Lotus Notes и смарт-карт: поддержка Notes С API, защита сервера Domino при помощи смарт-карты и поддержка криптографических ускорителей, предлагаемых интерфейсом PKCS #11.

4.4.1 Поддержка Notes C API

В этом подразделе описывается поддержка Notes С API.

SECManipulateSC()

Функция Notes С API SECManipulateSCO (типа "все в одном"), появившаяся в Notes 6.0.2, позволяет программно выполнять все функции, описанные выше, и даже больше: становится возможной автоматизация работы со смарт-картами через Notes ID.

За подробным описанием этой функции обращайтесь к справочной базе данных, входящей в Notes/Domino 7 С API Toolkit. Данный инструментарий доступен через Lotus Developer Domain. Посетите указанный ниже сайт и выберите ссылку Toolkits and drivers в разделе Downloads and CDs: http://www.lotus.com/ldd

Помимо возможностей, которые есть в клиенте Notes, при помощи функции SECManipulateSC() вы можете защитить смарт-картой файл кольца для ключей (key ring) Domino (раздел "Защита сервера смарт-картой") или защитить ID длинным ключом Notes, перенесенным на смарт-карту. Последняя возможность реализуется при помощи следующих кодов вызова:

  • SC_manip_FindAllKeys. Определяется количество ключей на смарт-карте.
  • SC_manip_GetMatchedCert. В цикле подсчета обнаруживается интересующий нас длинный ключ Notes (или любой другой ключ RSA), и определяется тип ключа путем изучения выходных данных в структуре SC_MANIP_IMPORTABLE_CERT.
  • SC_manip_LockIDWithKeyRO. Защита Notes ID указанным ключом, расположенным на смарт-карте.
EM_GETPASSWORD

Когда смарт-карта производит запрос PIN-кода, поддерживается срабатывание перехватчика Notes EM_GETPASSWORD Extension Manager. Следовательно, использованием смарт-карт не должно нарушить работу решений, где применяется этот перехватчик. Этот перехватчик особенно полезен, например, в качестве способа автоматической перезагрузки системы, хотя очевидно, что этот способ следует применять осторожно.

4.4.2 Поддержка сервера Domino

В этом подразделе описывается поддержка сервера Domino.

Защита сервера при помощи смарт-карты

ID сервера Domino можно защитить смарт-картой примерно так же, как пользовательский ID. Однако в этом случае для запуска сервера необходимо будет выполнить PIN-аутентификацию. Следовательно, если необходимым требованием является автоматическая перезагрузка, этот подход будет работать только при использовании перехватчика Notes С API Extension Manager (см. предыдущий подраздел). В справке Lotus Domino 7 Administrator Help подробно рассказывается о том, как применять клиент Notes для обеспечения безопасности ID-файла сервера, и указывается на необходимость указать переменную PKCS11_Library в файле NOTES.INI. См. тему "Physically securing the Domino server" (Физическая защита сервера Domino).

Обратите внимание, что, если ID сервера включает пару длинных ключей Notes (1024 и более бит), мы не рекомендуем переносить личный ключ на обычную смарт-карту (метод, описанный в подразделе 4.3.3, "Перенос длинного ключа Notes на смарт-карту"), поскольку это значительно замедляет многие криптографические операции, для которых требуется этот ключ (например, аутентификацию клиента Notes и дешифровка базы данных). Мы не рекомендуем этого, если только ключ не перемещается в криптографический ускоритель.

Domino и криптографические ускорители (SSL)

Компания Lotus ввела в Notes и Domino 7 поддержку криптографических ускорителей, соответствующих интерфейсу PKCS #11. Криптографические ускорители традиционно используются для уменьшения падения производительности, связанного с шифрованием сетевого SSL-трафика. Эти продукты, оптимизированные для выполнения криптографических операций и имеющие параллельные микропроцессоры, позволяют значительно увеличить возможности масштабирования при интенсивном шифрованном трафике. Исторически система Domino не поддерживала напрямую эти устройства. В Domino 7 данное положение изменилось.

В Domino 7 появилась поддержка многопоточной, многоканальной потоковой криптографии, а также поддержка хранения и доступа к личным ключам SSL на PKCS #11 -совместимых устройствах. Собственный формат Domino для файлов колец для ключей (key ring) (*.kyr) продолжает использоваться в реализации SSL, но Domino 7 теперь поддерживает непрямой доступ к личному ключу X.509, сходный с непрямым доступом к личному ключу, о котором мы рассказывали ранее применительно к Notes ID. Однако пока нет возможностей пользовательского интерфейса, позволяющих выполнить перемещение личного ключа из файла кольца для ключей в хранилище с интерфейсом PKCS #11. Тем не менее на момент написания этого текста функция Notes С API SECManipulateSCO (см. подраздел 4.4.1, "Поддержка Notes С API") была дополнена кодом SC_manip_PushKyrKey, а это означает, что нужно создать короткую простую программу Notes С API для подготовки файлов колец для ключей и ID сервера к непрямому использованию личного ключа.

Как уже говорилось ранее, если ID сервера основывается на паре длинных ключей Notes, личный ключ можно перенести в хранилище с ускорителем, совместимое с PKCS #11, получив все преимущества, которые дают криптографические операции на серве ре, использующие данный ключ (аутентификацию клиентов и дешифрование базы данных). Шифрование портов не использует асимметричные личные ключи RSA на прямую, поэтому выигрыш производительности на этот контекст не распространяется.

4.5 Соображения и предупреждения

В основном защита ID смарт-картой заменяет собой другие, основанные на паролях возможности Notes и Domino, и ответственность за эту функциональность передается от уровня приложений (Notes) к уровню безопасного устройства (смарт-карты). В частности, включайте восстановление Notes ID (которое подробно описывалось в разделе 3.3, "Как работает восстановление ID") дo того, как файл будет защищен смарт-картой, поскольку это позволяет вернуть ID к первоначальному состоянию защиты паролем, если смарт-карта будет потеряна или повреждена (включая все личные ключи, перемещенные на смарт-карту). Если организация регистрирует идентификаторы при помощи сертификатора, в котором уже записана информация для восстановления ID, никаких дополнительных шагов перед защитой ID смарт-картой не требуется.

Добавление новой информации для восстановления ID или ее изменение после включения защиты смарт-картой по-прежнему может работать, хотя и не идеально, за исключением того, что личные ключи, переданные до включения защиты смарт-картой, нельзя будет восстановить напрямую, а только при представлении смарт-карты, содержащей эти ключи. Иными словами, если смарт-карта была потеряна или повреждена, эти личные ключи также оказываются потерянными. Единственной альтернативой является возможность повторной генерации смарт-карты, описанной в подразделе 4.3.1, "Обеспечение безопасности Notes ID при помощи смарт-карты".

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

Отключите единый вход в Notes, очистив значение опции Login to Notes using your operating system login (Вход в Notes при помощи входа в операционную систему) на панели Security Basics (Основные параметры безопасности) диалогового окна User Security (Безопасность пользователя). Все возможные функции единого входа будут управляться через смарт-карту и ее программные драйверы. В PKCS #11 намеренно не включена поддержка единого входа (single sign-on, SSO) для нескольких приложений Notes не вносит сюда ничего нового.

Серверный срок действия пароля необходимо отключить в документах Person пользователей, применяющих смарт-карты. В противном случае пользователи не смогут обращаться к своим серверам Domino. Чтобы отключить срок действия пароля, в документе Person пользователя в Domino Directory установите в поле Required change interval (Интервал обязательной смены) равным нулю [Представление Person \to редактирование документа Person \to закладка Administration (Администрирование) \to раздел Password Management (Управление паролями)].

Серверная проверка паролей поддерживается при работе со смарт-картами, если все существующие ID-файлы являются файлами-копиями ID, защищенного смарт-картой (не обращайте внимания на противоположные утверждения в онлайновой справке Notes). Так же, как и в случае срока действия пароля, проверка пароля управляется через пользовательский документ Person в Domino Directory [опция Check password (Проверять пароль) в разделе Password Management (Управление паролями)].

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

< Лекция 3 || Лекция 4: 1234 || Лекция 5 >