简介
本成果提供一种在TCP连接阶段传递客户端信息的方法,在兼容现有的TCP/IP规范、不影响上层应用开发的前提下改造协议栈的实现,通过在TCP的握手过程中附加交换客户端的应用程序信息,实现精细的访问控制,从而达到增强的网络安全效果,还可为服务质量保证(QoS)提供附加的支持。本成果提供的技术方案是:一种在TCP连接阶段传递客户端信息的方法,通过在TCP的握手过程中附加交换客户端的应用程序信息,实现精细的访问控制,从而达到增强的网络安全效果,并为服务质量保证(QoS)提供附加支持;通过改写TCP/IP协议栈驱动(针对开源系统)或过滤器(或挂钩)技术(不变更原有的协议栈),改造通讯双方的协议栈,对于客户端系统:在其传输层的上端接口处,过滤应用层发起的连接请求;在其下端与网络层之间的接口处,过滤网络包的发送与接收;对于TCP服务端系统:在其传输层与网络层之间的接口处,过滤网络包的接收。
在对TCP连接的握手过程处理中,本方法定义了两种工作模式以适应不同的应用场景:一、约定模式,在此模式下,客户端和服务方均假定对方能够处理握手报文中携带的客户端应用程序信息;二、协商模式,在此模式下,客户端假定服务方不需要或不能够处理握手报文中携带的客户端应用程序信息,直到服务端显式的回送客户端应用程序信息请求时,客户端才构造并发送携带客户端应用程序信息的握手报文。本方法在TCP连接阶段的处理包括如下步骤:步骤一,当客户端进程的连接请求送达协议栈时,开始采集客户端的进程信息,可包括进程的账号、名称、哈希值、代码签名状态及当前线程的调用栈信息,将此信息缓存起来。步骤二,当协议栈的传输层模块对TCP连接请求解析完成后,会构造SYN报文,发送到网络层,在约定模式下,将提取出步骤一中缓存的客户端进程信息,将其编码到SYN报文的载荷中;在协商模式下,则提取出SYN报文中的连接信息,在缓存中建立其与步骤一中提取到的客户端进程信息的映射,以便后续处理。
本成果具体实施中,采用本发明方法对客户端在约定模式下主动携带进程信息(三路握手)和客户端在协商模式下被动携带进程信息(五路握手)的情况进行处理,均在TCP连接阶段实现了客户端信息的传递。与现有技术相比,本发明的有益效果是:本发明提供一种在TCP连接阶段传递客户端信息的方法,通过在TCP的握手过程中附加交换客户端的应用程序信息,实现精细的访问控制,从而达到增强的网络安全效果,还可为服务质量保证(QoS)提供附加的支持。本发明是在兼容现有的TCP/IP规范、不影响上层应用开发的前提下改造协议栈的实现,由此实现以信息安全为目标的网络访问控制,同时也可为以服务保障为目标的包筛选提供依据。本发明在TCP连接报文中段传递客户端进程详细信息,该客户端进程详细信息可供TCP监听端进行访问授权,可广泛应用于网络安全中的访问控制。这种方法,不需要替换现有的TCP/IP网络协议栈,能在TCP连接阶段实现双方信息交换,这构建物联网信息网络安全(特别是身份鉴定)中具有非常大的意义。