SDP技术架构如何配合客户端进行身份认证
SDP是一套开放的技术架构,它的理念与零信任理念非常相似。国内外很多安全大厂都在推出基于SDP技术的零信任产品。可以说,SDP是目前最好的实现零信任理念的技术架构之一。
软件定义边界(SDP)架构
图片源自:《SDP标准规范1.0》
如图3所示,软件定义边界(SDP)架构由SDP客户端、SDP控制器、SDP网关三大组件组成:
1、SDP客户端(SDP Client):
每个用户的设备上运行的客户端。
2、SDP控制器(SDP Controller):
用户身份认证的组件(可选择地与用户身份管理系统集成),并在授予每个用户个性化的网络权限之前对其进行验证。
3、SDP网关(SDP Gateway):
网关代理访问受保护的资源。客户端的流量通过加密的通道发送到每个网关,在那里它被解密并发送到适当的应用程序(受保护的资源)。如图3所示,SDP体系结构支持多个分布式网关,每个网关保护一组应用程序或系统资源。
用SDP术语来说,客户端(用户设备)指的是发起主机(Initiating Host),网关指的是接收主机(Accepting Host)。在通过控制器进行身份验证后,客户端为每个网关建立加密的隧道(如上图3显示了两个分布式网关,每个网关保护一组不同的资源,由单个控制器管理)。
SDP架构提供的协议在网络所有层都对连接提供保护,其中关键的组成部分之一是要求并强制实施“先认证后连接”模型,该模型弥补了TCP/IP开放且不安全性质的不足。
SDP通过单包授权(SPA)实现这一点。SPA是一种轻量级安全协议,在允许访问控制器或网关等相关系统组件所在的网络之前先检查设备或用户身份。使用这种技术,客户端基于一个共享密钥(seed)创建一个基于消息认证码算法(HMAC)的一次性口令,并将其提交给SDP控制器和网关,作为连接建立过程发送的第一个网络数据包。(它也用于网关与控制器的连接建立)。
因为SDP控制器和网关拒绝无效的数据包(可能来自未经授权的用户),因此,它们可以防止未经授权的用户或设备建立TCP连接。由于非法客户端的识别可以通过分析单个数据包来区分,所以SDP控制器和网关所产生的计算负载是最小的,这极大降低了DDoS攻击的有效性,并使得SDP服务可以在面向公众的网络中可以更安全、更可靠地部署。在2014年-2016年间举办的四次SDP黑客大赛中,SDP架构均保持了零攻破的成绩。