Расширения Winsock Secure Socket

Безопасные расширения сокетов для Winsock позволяют приложению сокета управлять безопасностью трафика по сети. Эти расширения позволяют приложению предоставлять политику безопасности и требования к сетевому трафику, а также запрашивать примененные параметры безопасности. Например, приложение может использовать эти расширения для запроса маркера безопасности однорангового узла, который можно использовать для выполнения проверок доступа на уровне приложения.

Расширения безопасных сокетов предназначены для интеграции служб, предоставляемых IPsec и другими протоколами безопасности, с платформой Winsock. До windows Vista в Windows Server 2003 и Windows XP IPsec настраивался администратором с помощью локальных политик и политик домена. В Windows Vista расширения безопасных сокетов позволяют приложениям полностью или частично настраивать и контролировать безопасность своего сетевого трафика на уровне сокетов.

Приложения уже могут защищать сетевой трафик с помощью общедоступных API, таких как управление IPsec, платформа фильтрации Windows и интерфейс поставщика поддержки безопасности (SSPI). Однако использование этих API может усложнить разработку приложения, а также усложнить настройку и развертывание. Расширения безопасных сокетов Winsock были разработаны для упрощения разработки сетевых приложений, требующих безопасного сетевого трафика, позволяя Winsock обрабатывать большую часть сложности.

Эти расширения безопасных сокетов доступны в Windows Vista и более поздних версиях.

Функции безопасных сокетов

Ниже перечислены функции расширения безопасных сокетов.

Примечание

Функции безопасных сокетов в настоящее время поддерживают только протокол IPsec и доступны в Windows Vista и более поздних версиях.

 

Ниже перечислены структуры и перечисления, используемые функциями безопасных сокетов.

Функции безопасных сокетов просты в использовании для обычных приложений и достаточно гибки для приложений, которым требуется высокий уровень контроля над безопасностью. Эти функции позволяют скрыть базовый механизм безопасности от приложения. Приложение может указать общие требования к безопасности и позволить администратору управлять протоколом безопасности, который используется для поддержки требований. Хотя эти функции можно расширить для добавления других протоколов безопасности, в настоящее время только IPsec интегрируется с функциями безопасных сокетов.

Функция WSASetSocketSecurity позволяет приложению включить безопасность и применить параметры безопасности перед установкой подключения.

Функция WSASetSocketPeerTargetName позволяет приложению указать целевое имя, соответствующее одноранговой сущности. Выбранный протокол безопасности будет использовать эти сведения при проверке подлинности однорангового узла. Эта функция устраняет проблемы, связанные с атаками "доверенный человек в середине".

Функция WSADeleteSocketPeerTargetName используется для удаления ранее указанного имени однорангового узла для сокета.

После установки подключения функция WSAQuerySocketSecurity позволяет приложению запрашивать свойства безопасности подключения, которые могут включать одноранговый доступ или маркер доступа к компьютеру.

После установки подключения функция WSAImpersonateSocketPeer позволяет приложению олицетворять субъект безопасности, соответствующий одноранговой системе сокета, для выполнения авторизации на уровне приложения.

WSARevertImpersonation позволяет приложению завершить олицетворение однорангового узла сокета.

Архитектура безопасных сокетов

базовая архитектура расширений безопасных сокетов Winsock

  • Приложение вызывает функции защищенного сокета для установки или запроса параметров безопасности для сокета.
  • Функции безопасных сокетов — это набор типобезопасных функций расширения, которые упаковывают вызовы функции WSAIoctl с использованием новых значений для параметра dwIoControlCode , доступного в Windows Vista и более поздних версий. Эти ioCTL обрабатываются сетевым стеком.
  • Сетевой стек будет направлять вызов принудительного применения прикладного уровня (ALE) вместе с дескриптором конечной точки. Для функций WSADeleteSocketPeerTargetName, WSASetSocketPeerTargetName и WSASetSocketSecurity ALE настроит параметры приложения в локальной конечной точке. Для функции WSAQuerySocketSecurity ALE считывает запрошенные сведения из применимых локальных и удаленных конечных точек.
  • На основе событий сокета принудительное применение прикладного уровня (ALE) применяет политики для архитектуры безопасных сокетов с помощью платформы фильтрации Windows. Дополнительные сведения см. в разделе Сведения о платформе фильтрации Windows и принудительном применении прикладного уровня (ALE).

Сведения о платформе фильтрации Windows

Расширенные примеры Winsock с использованием расширений Secure Socket

Применение прикладного уровня (ALE)

Конфигурация IPsec

Функции IPsec

Безопасное программирование Winsock

интерфейс поставщика поддержки безопасности (SSPI)

Использование расширений secure socket

Платформа фильтрации Windows

Функции API платформы фильтрации Windows