Сущность технологии COM




COM и защита - часть 2


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

Защита COM использует основные средства RPC для аутентификации и заимствования прав (impersonation). Напомним, что RPC использует загружаемые транспортные модули для того, чтобы после их загрузки в систему были добавлены новые сетевые протоколы. Транспортные модули именуются при помощи последовательностей протоколов (protocol sequences) (например, "ncadg_ip_udp"), которые преобразуются в реестре в специальную транспортную библиотеку DLL. Это позволяет третьим участникам устанавливать поддержку новых транспортных протоколов без модифицирования библиотеки COM. Подобным же образом RPC поддерживает загружаемые модули защиты, позволяя добавлять в систему новые протоколы защиты. Модули защиты именуются при помощи целых чисел, которые преобразуются в реестре в специальные DLL модулей защиты. Эти DLL должны соответствовать требованиям SSPI (Security Support Provider Interface — интерфейс провайдера поддержки безопасности), который является производным от Internet Draft Standard GSSAPI.

В системных заголовочных файлах определено несколько констант для известных модулей защиты. Ниже приведен текущий список известных на момент написания этого текста модулей защиты:

enum { RPC_C_AUTHN_NONE = 0, // no authentication package // модуля аутентификации нет RPC_C_AUTHN_DCE_PRIVATE = 1, // DCE private key (not used) // закрытый ключ DCE (не используется) RPC_C_AUTHN_DCE_PUBLIC = 2, // DCE public key (not used) // открытый ключ DCE (не используется) RPC_C_AUTHN_DEC_PUBLIC = 4, // Digital Equip, (not used) // цифровое оборудование (не используется) RPC_C_AUTHN_WINNT = 10, // NT Lan Manager // администратор локальной сети NT RPC_C_AUTHN_GSS_KERBEROS, RPC_C_AUTHN_MQ = 100, // MS Message Queue package // модуль MS Message Queue (очереди сообщений Microsoft) RPC_C_AUTHN_DEFAULT = 0xFFFFFFFFL };




Содержание  Назад  Вперед