论文部分内容阅读
针对大多现有软件无法通过修改编译后的二进制代码来实现通信保护的问题,提出一种基于LSP通用的保密通信模型。通过分析分层服务提供者(LayeredService Provider,缩写LSP)的实现原理,该设计需分成两个模块去实现通信保护,一个是LSP安装模块,另一个是LSP通信保护模块。LSP安装模块实现了分层协议和协议链的安装,并对Winsock目录进行重新排序,本文将重点介绍如何实现LSP通信保护模块。
通过分析对称和非对称密钥加密算法的特性,提出采用RSA算法来分配会话密钥,使用对称加密算法来加密传输数据,以防止会话密钥被窃听。并利用openssl提供的API接口函数来实现RSA加密和解密算法。结合LSP实现原理和TCP通信机制,在TCP建立连接后(三次握手),增加会话密钥协商过程,优化TCP通信过程。会话密钥协商过程:服务器端产生公钥和私钥,并发送公钥给客户端,客户端接收公钥后,随机产生会话密钥,并使用服务器的公钥加密此会话密钥,并发送给服务端,服务端接收后,使用私钥进行解密,得到会话密钥。
回顾线性哈希表结构,对其查询过程进行分析;提供在哈希表结构中记录与索引值同余个数的方法,根据Windows系统中Socket句柄产生的特性,设置哈希表最大容量为奇数;实验验证结果表明优化方法能够提高哈希表的查询效率,降低冲突发生的概率。
分析多种Winsock套接字通信原理,通过转换Winsock网络模型及劫持系统函数的方式,在LSP层上实现通信保护功能。实验结果表明,该模型能够实现服务端与客户端之间的保密通信。