Winsock 安全套接字扩展

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 安全套接字扩展的基本体系结构

关于 Windows 筛选平台

使用安全套接字扩展 高级 Winsock 示例

应用程序层强制实施(ALE)

IPsec 配置

IPsec 函数

安全 Winsock 编程

安全支持提供程序接口 (SSPI)

使用安全套接字扩展

Windows 筛选平台

Windows 筛选平台 API 函数