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




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


Как и в случае RPC_C_AUTHN_LEVEL_PKT_INTEGRITY, каждый передаваемый байт должен обрабатываться SSP DLL, поэтому во избежание излишних издержек этот уровень аутентификации следует использовать только в особых с точки зрения безопасности ситуациях.

Наиболее важной API-функцией в службе безопасности COM является CoInitializeSecurity. Каждый процесс, использующий COM, вызывает CoInitializeSecurity ровно один раз, явно или неявно. Функция CoInitializeSecurity вводит автоматические установки по защите. Эти установки применяются ко всем импортируемым и экспортируемым ссылкам на объекты, за исключением явно переопределенных с использованием дополнительных вызовов API-функций. Чтобы использовать один или нескольких модулей защиты, CoInitializeSecurity конфигурирует используемый исполняемый слой RPC, а также устанавливает уровень аутентификации, принимаемый по умолчанию для процесса. Кроме того, CoInitializeSecurity позволяет вызывающей программе указать, каким пользователям разрешено делать ORPC-запросы на объекты, экспортируемые из текущего процесса. CoInitia1izeSecurity имеет довольно большое число параметров:

HRESULT CoInitializeSecurity( [in] PSECURITY_DESCRIPTOR pSecDesc, // access control // контроль за доступом [in] LONG cAuthSvc, // # of sec pkgs (-1 == use defaults) // количество модулей защиты (-1 == используем по умолчанию) [in] SOLE_AUTHENTICATION_SERVICE *rgsAuthSvc, // SSP array // массив SSP [in] void *pReserved1, // reserved MBZ // зарезервировано, должен быть О [in] DWORD dwAuthnLevel, // auto, AUTHN_LEVEL // аутентификация AUTHN_LEVEL [in] DWORD dwImpLevel, // auto. IMP_LEVEL // аутентификация IMP_LEVEL [in] void *pReserved2, // reserved MBZ // зарезервировано, должен быть О [in] DWORD dwCapabilities, // misc flags // различные флаги [in] void *pReserved3 // reserved MBZ // зарезервировано, должен быть О );

Некоторые из этих параметров применяются только в тех случаях, когда процесс выступает как экспортер/сервер. Другие — только если процесс действует как импортер/клиент.


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